gpt4 book ai didi

internationalization - 如何在多种语言中重复使用语言文件,而无需使用 Titanium 将文件加倍

转载 作者:行者123 更新时间:2023-12-03 00:06:40 25 4
gpt4 key购买 nike

因此,我使用 Titanium 中的语言文件来提供 TSS 属性,我希望在整个应用程序的不同位置重复使用这些属性。这些语言文件变量应该在主题文件夹(或与此相关的任何其他 TSS 文件)中使用。

目前它适用于单一语言,但我的应用程序有多种语言。但我不想复制所有语言的语言文件。我可以在多种语言中重复使用同一个文件,而不必将文件复制到某个地方吗?

最佳答案

使用 ISO 639-1 处的 i18n 文件 代表。

该文件允许您使用任何语言并使用 Ti.Locale.getString() 的每个“标签” .

此外,您可以在 app.js 中使用文件的 require 并将此变量设置为全局变量。

语言.js(例如):

var language = (function() {

var self = {
currentLanguage: 'en' // by default
};

var labels = {
msgHello: {
en: 'Hello World',
es: 'Hola Mundo'
}
};

self.changeLanguage = function changeLanguage(newLanguage){
self.currentLanguage = newLanguage;
};

self.getLabel = function getLabel(key, language){
if(typeof language !== 'undefined') {
return labels[key][language];
}
else return labels[key][self.currentLanguage];
};

return self;

}());

module.exports = language;

app.js(例如):

var appLanguage = require('language.js');

(function() {

Ti.API.info("Language: "+appLanguage.currentLanguage);
Ti.API.info("MSG Hello World (English): "+appLanguage.getLabel(msgHello));
Ti.API.info("MSG Hello World (Spanish): "+appLanguage.getLabel(msgHello, es));

}());

您可以直接在任何文件上使用 appLanguage 变量。

关于internationalization - 如何在多种语言中重复使用语言文件,而无需使用 Titanium 将文件加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25488383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com