当使用angular-translate本地化我的Angular应用程序时,如果首选语言(通过静态文件加载器)无法加载或由于任何原因不存在,则不会尝试后备语言。
$translateProvider.useStaticFilesLoader({
prefix: 'locale-',
suffix: '.json'
});
$translateProvider
.preferredLanguage('ja')
.fallbackLanguage('en');可以使用plnkr:http://plnkr.co/edit/tHrBeY0Ur0rhp0xNuWpA?p=preview
如果存在空的locale-ja.json文件,则回退加载正确。正如所指出的,这可能是一个库错误。有人找到解决办法了吗?
发布于 2015-09-28 15:36:00
FallbackLanguge函数还有另一个用途-如果转换表没有特定的键,则将使用从备用语言转换而来的转换。如果要指定默认语言,可以在registerAvailableLanguageKeys函数中使用通配符:
.registerAvailableLanguageKeys(['en, da'], {
'en_US': 'en',
'en_UK': 'en',
'da_DK': 'da',
'*': 'en'
})在本例中,'en‘是默认语言。如果首选语言不存在,它将加载。
发布于 2016-01-28 21:31:28
最近偶然发现了同样的问题,唯一能解决这个问题的方法就是添加$translateProvider.use()选项。所以它看起来像这样:
$translateProvider
.preferredLanguage('ja')
.use('ja')
.fallbackLanguage('en');https://stackoverflow.com/questions/22881840
复制相似问题