0

我正在为 i18n 使用角度翻译

我正在开发的特定功能是更新一本书的状态。在服务回调中,如果成功,我会将我的图书状态从 更新OpenClosed。如果我查看范围(使用 Batarang),我可以看到我的 DOM 元素:

<span translate="Closed" class="ng-scope">Open</span>

如您所见,翻译值正在更新,但翻译本身并不是单独发生的。我已阅读文档并了解这是预期的行为。不过,我想知道的是,我应该如何刷新翻译后的值?

目前,每次更新需要重新翻译的范围值时,我都会注入$translate服务并执行。$translate.refresh()我觉得这很笨拙,可能不是我应该这样做的方式。

有什么想法吗?

4

2 回答 2

0

你绝对不应该为此发出刷新。

做这样的事情:

<span> {book.state | translate} </span> 

鉴于您的图书模型有一个成员状态来反映它的状态。每当模型发生变化时,状态的值都会被重新转换。

于 2014-09-03T13:09:14.120 回答
0

创建一个通用的翻译服务,这将配置我们的翻译代码,特别是它将配置我们的翻译文件的位置。创建一个目录 src/common/translation,和一个文件 src/common/translation/translation.js: http ://technpol.wordpress.com/2013/11/02/adding-translation-using-angular-translate-to- an-angularjs-app/

angular.module('angularTranslateApp', ['pascalprecht.translate'])
  .config(function($translateProvider, $translatePartialLoaderProvider) {
    $translateProvider.useLoader('$translatePartialLoader', {
      urlTemplate: '/UI/assets/translation/{lang}/{part}.json'
    }
  });

$translateProvider.preferredLanguage('en-AU'); });
于 2014-05-20T23:00:04.783 回答