【问题标题】:Supplemental string resource files in Angular i18nAngular i18n 中的补充字符串资源文件
【发布时间】:2022-01-18 18:17:46
【问题描述】:

我正在开发一个应用程序,该应用程序需要能够根据管理员标志切换特定实体的名称。这不会因语言环境而异,而只是那个标志。例如,假设网站有小部件。更名后,我们决定称它们为小玩意儿。客户可以选择加入新品牌(doodad)或保留旧品牌(小部件)。每种语言都需要本地化包含该术语的短语,根据该标志使用正确的“小部件”与“装饰物”选择。我们在很多地方都使用特定名称。

对我们来说,第一步是将字符串提取到资源文件中。我曾考虑过我们会在选择时执行类似“en-us-doodad”与“en-us”之类的子区域设置来覆盖单词。看起来假的语言环境实际上并不支持(更新:这可能是一个选项,但它需要用不理想的词完全覆盖资源)。

有没有办法为此使用 ICU?有没有办法拦截字符串查找以执行自定义处理(比如我们自己在查找的字符串上替换值)?我需要创建自定义指令吗?我真的希望本地化系统能够轻松实现这一点。

【问题讨论】:

    标签: angular localization internationalization angular-localize


    【解决方案1】:

    使用 ICU 格式,您只需一个本地化文件即可执行此操作,并使用 select 语句有条件地执行该格式(其工作方式类似于 Java 中的开关)。

    <span i18n>
        You call widgets: {customizedName, select, doodad 
    {Doodads} widget {Widgets}}
    </span>
    

    customizedName 是您的 components 变量。如果其值为 doodad,则字符串将包含 Doodads,... {}大括号中的Text是要在ui中显示的值,infront是需要匹配变量值的值。

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多