首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果首选语言加载失败,angular-translate不会尝试使用备用语言

如果首选语言加载失败,angular-translate不会尝试使用备用语言
EN

Stack Overflow用户
提问于 2014-04-05 21:57:40
回答 2查看 2.4K关注 0票数 4

当使用angular-translate本地化我的Angular应用程序时,如果首选语言(通过静态文件加载器)无法加载或由于任何原因不存在,则不会尝试后备语言。

代码语言:javascript
复制
$translateProvider.useStaticFilesLoader({
    prefix: 'locale-',
    suffix: '.json'
});
$translateProvider
    .preferredLanguage('ja')
    .fallbackLanguage('en');

可以使用plnkr:http://plnkr.co/edit/tHrBeY0Ur0rhp0xNuWpA?p=preview

如果存在空的locale-ja.json文件,则回退加载正确。正如所指出的,这可能是一个库错误。有人找到解决办法了吗?

EN

回答 2

Stack Overflow用户

发布于 2015-09-28 15:36:00

FallbackLanguge函数还有另一个用途-如果转换表没有特定的键,则将使用从备用语言转换而来的转换。如果要指定默认语言,可以在registerAvailableLanguageKeys函数中使用通配符:

代码语言:javascript
复制
.registerAvailableLanguageKeys(['en, da'], {
    'en_US': 'en',
    'en_UK': 'en',
    'da_DK': 'da',
    '*': 'en'
})

在本例中,'en‘是默认语言。如果首选语言不存在,它将加载。

票数 3
EN

Stack Overflow用户

发布于 2016-01-28 21:31:28

最近偶然发现了同样的问题,唯一能解决这个问题的方法就是添加$translateProvider.use()选项。所以它看起来像这样:

代码语言:javascript
复制
 $translateProvider
    .preferredLanguage('ja')
    .use('ja')
    .fallbackLanguage('en');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22881840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档