我有一堆静态内容,标签,错误消息,我想从应用程序中获取它,因为它们目前是硬编码的。这样做的最佳做法是什么?
我不需要一个完整的i8n解决方案,只需一个语言文件,比将其硬编码到应用程序中更容易编辑。
答案 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>