【问题标题】:Angular translate provider - Is there a way to replace general variables?Angular translate provider - 有没有办法替换一般变量?
【发布时间】:2018-02-19 19:13:06
【问题描述】:

在我的应用程序中,我的许多翻译字符串都需要在其中包含用户名。 例如:Hello {{user_name}}! (用户名必须是翻译字符串的一部分,因为名称在字符串中的位置取决于语言))

设置属性的方式是{{"TRANSLATE_ID" | translate:{user_name:myUserName}}}

由于{{user_name}}出现在100多个翻译字符串中,我不想发送user_name参数这么多次。我想有办法只设置一个这个参数。

我无法替换配置中的 {{user_name}} 字符串,因为 user_name 是异步设置的(从服务器获取)并且在 translateProvider 设置字符串时不可用。

谢谢

【问题讨论】:

    标签: javascript angularjs angular angular-translate


    【解决方案1】:

    AngularTranslate 允许您通过承诺从 html 本身或控制器内部翻译标签。我相信做你想做的事情的优雅方法是在你的控制器中创建一个方法/函数,以你想要的方式处理翻译,然后在你的 html 中调用这个方法/函数,传递用户名作为参数。

    例如,将 JSON 翻译文件中的用户名地址设置为“USERNAME”,例如“Hello, USERNAME!”,在控制器中使用 AngularTranslate 创建的方法中进行翻译,然后进行字符串替换,将单词 USERNAME 更改为方法参数(真正的用户名)并使用该字符串作为方法的返回值,将在您的 html 中调用。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-19
      • 2021-09-29
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 2017-10-10
      • 1970-01-01
      相关资源
      最近更新 更多