i18n 在字符串中间附加变量

问题描述 投票:0回答:1

我有这样一句话:

{{ __("counter.description:This promotion is limited to X participants") }}

我想用变量改变X

我的钥匙是

counter.description

我尝试以我的奇异价值来做到这一点:

This promotion is limited to {{totalParticipation}} participants

但它不起作用。

你知道如何做到这一点吗?

internationalization apostrophe-cms
1个回答
0
投票

这是获得您正在寻找的结果的正确方法:

  1. 以这种方式在页面模板中插入短语。请注意,键名中没有句点。另请注意,插值变量作为对象的一部分传递。
{{ __t('promotionDescription', { n: 5 }) }}
  1. 将该短语添加到 Apostrope 项目的
    any module
    内的 i18n/en.json 文件中。 重要提示:这必须位于模块中名为
    i18n
    inside 的子目录中。否则将无法为您找到并加载。
{
  "promotionDescription": "This promotion is limited to {{ n }} participants"
}
  1. 当您准备好实际翻译时,将

    en.json
    复制到
    fr.json
    es.json
    等(或您配置的任何语言环境)在同一目录中并翻译内容,保留键名称和内插变量名称相同,只需翻译文字即可。

  2. 不要忘记在

    @apostrophecms/i18n
    模块中实际配置这些相同的区域设置,否则它们将不会被选中。

请参阅下面的文档链接:

https://docs.apostropecms.org/guide/localization/static.html https://docs.apostropecms.org/guide/localization/overview.html#configuring-locales

© www.soinside.com 2019 - 2024. All rights reserved.