AngularJS:处理语言文件的最佳方式

时间:2014-01-13 18:53:00

标签: angularjs

我有一堆静态内容,标签,错误消息,我想从应用程序中获取它,因为它们目前是硬编码的。这样做的最佳做法是什么?

我不需要一个完整的i8n解决方案,只需一个语言文件,比将其硬编码到应用程序中更容易编辑。

1 个答案:

答案 0 :(得分:2)

有一个名为angular-translate的单独模块,它允许您定义可本地化的字符串和过滤器,以从当前区域设置中检索正确的字符串以在视图中显示。我不确定“单一语言文件”是什么意思,但这支持通过表格在config中输入字符串或从文件中加载语言环境的字符串。

指南中的简单示例(从表中加载字符串):

var app = angular.module('myApp', ['pascalprecht.translate']);
app.config(['$translateProvider', function ($translateProvider) {
  $translateProvider.translations('en', {
    'TITLE': 'Hello',
    'FOO': 'This is a paragraph',
  });

  $translateProvider.translations('de', {
    'TITLE': 'Hallo',
    'FOO': 'Dies ist ein Paragraph'
  });

  $translateProvider.preferredLanguage('en');
}]);

在您看来,只需使用过滤器语法:

<h1>{{ 'TITLE' | translate }}</h1>
<p>{{ 'FOO' | translate }}</p>