我目前正在使用带有静态文件加载器的angular translate。我目前正在实现至少3种语言,但是,我注意到,通常当它试图加载语言文件时,有时加载语言文件需要的时间比视图本身要长 - 这会导致部分翻译的UI 。屏幕上的大多数项目将保持未翻译,但某些项目将是。
我尝试了以下内容,没有任何变化:
目前在视图中完成了99.9%的翻译,例如:{{::'我的翻译密钥'|翻译}}
在尝试解决此问题时我错过了什么?我应该尝试手动加载这些语言文件并在早期加载时设置它们吗?如果是这样,我如何在配置中设置它们的使用?
我正在使用Angular 1.5.0和Angular Translate 2.11.1。
TIA!
答案 0 :(得分:0)
所以这实际上是一种竞争条件,其中最初加载语言文件所花费的时间有时(并非总是)长于将angular-translate转换为静态文件加载语言文件。
据我所知,有两(2)个选项可用 - 手动加载和设置语言文件,或者将语言文件移动到单独的较小文件中。但是,我希望始终保证向前发展,这不会成为一个问题,所以我选择手动加载和设置语言文件。这实际上非常简单,需要以下内容:
1)语言文件将加载到index.html文件中项目的顶部。
2)语言文件本身会被分配一个变量 - 即var enUS = {' LOGIN':'登录'用户' :'用户' }
3)语言将在app.config中手动设置:
app.config(['$translateProvider', function($translateProvider){
$translateProvider.translations('en_US', enUS); // this is the variable we assigned to the language json in step 2
$translateProvider.preferredLanguage('en_US');
$translateProvider.useSanitizeValueStrategy('sanitize');
}]);
这完全解决了所有客户的所有问题。