Javascript 在Angular JS上使用$translateProvider在JSON文件中的语言之间进行动态切换
我有一个包含6个不同JSON文件的文件夹Javascript 在Angular JS上使用$translateProvider在JSON文件中的语言之间进行动态切换,javascript,json,angularjs,angular-translate,Javascript,Json,Angularjs,Angular Translate,我有一个包含6个不同JSON文件的文件夹 en.json es.json fr.json it.json ja.json zh.json 每个文件中的内容示例如下(本例适用于en.json): 我目前正在我的配置文件中使用它 $translateProvider.translations ( 'en', { SomeText: 'Test in English' } ) .translations ( 'zh', { So
en.json
es.json
fr.json
it.json
ja.json
zh.json
每个文件中的内容示例如下(本例适用于en.json):
我目前正在我的配置文件中使用它
$translateProvider.translations
(
'en',
{
SomeText: 'Test in English'
}
)
.translations
(
'zh',
{
SomeText: 'Test in Chinese'
}
)
.translations
(
'it',
{
SomeText: 'Test in Italian'
}
)
.translations
(
'fr',
{
SomeText: 'Test in French'
}
)
.translations
(
'ja',
{
SomeText: 'Test in Japanese'
}
)
.translations
(
'es',
{
SomeText: 'Test in Spanish'
}
);
最后一个例子非常适合我想要完成的任务,即完成英语的初始加载,然后如果我切换语言,它将自动刷新它
var example = 'ja';
$translate.use(example);
然而,现在我想使用JSON文件来获得更好的结构,但我认为我不能使用相同的语法
如何将所有6个文件添加到配置中,并使它们从上述示例中的任何函数切换过来?将其视为数组(javascript中的示例):
那么它会是这样的:
var language = "en";
var translations[language].SomeText;
这将提供“英语测试”
我不是100%确定应用程序的结构,但我认为它提供了基本概念
javascript示例
这样就很容易在不同语言之间进行更改,比如说您有两个短语,这是jQuery和javascript中的一个示例。使用Angualar,可以以不同的方式绑定事件和值 你能举一个JSON文件中内容的例子吗?您想加载所有文件并将内容添加到$translationProvider.translations?我更新了帖子,展示了文件的外观示例。您是否尝试使用$http获取文件$然后(函数(数据){//addcontents},函数(error){alert(error);});顺便说一句,您使用的是什么后端?请查看这个公认的答案:(在AngularJS中加载带$http的.json)。
var translations =
{
"en" : { "SomeText" : "Test in English" },
"zh" : { "SomeText" : "Test in Chinese" },
"it" : { "SomeText" : "Test in Italian" },
"fr" : { "SomeText" : "Test in French" },
"ja" : { "SomeText" : "Test in Japanese" },
"es" : { "SomeText" : "Test in Spanish" }
});
var language = "en";
var translations[language].SomeText;