mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-29 16:25:42 +00:00
Merge pull request #1037 from Azaezel/alpha41/localizationUtils
localization utility methods
This commit is contained in:
commit
7f18baa345
2 changed files with 38 additions and 1 deletions
|
|
@ -14,6 +14,14 @@
|
||||||
|
|
||||||
function UI::onCreate( %this )
|
function UI::onCreate( %this )
|
||||||
{
|
{
|
||||||
|
exec("./scripts/utility");
|
||||||
|
// create and set as core a defaultTable LanguageTable for localization purposes
|
||||||
|
// example usage for quick language appending
|
||||||
|
// addLanguage("defaultTable","check","ch");
|
||||||
|
// addLanguage("defaultTable","try","tr");
|
||||||
|
createLangTable("defaultTable");
|
||||||
|
setCoreLangTable("defaultTable");
|
||||||
|
exec("./langs/languageMap");
|
||||||
}
|
}
|
||||||
|
|
||||||
function UI::onDestroy( %this )
|
function UI::onDestroy( %this )
|
||||||
|
|
@ -81,7 +89,6 @@ function UI::initClient(%this)
|
||||||
%this.queueExec("./scripts/messageBoxes");
|
%this.queueExec("./scripts/messageBoxes");
|
||||||
%this.queueExec("./scripts/help");
|
%this.queueExec("./scripts/help");
|
||||||
%this.queueExec("./scripts/cursors");
|
%this.queueExec("./scripts/cursors");
|
||||||
%this.queueExec("./scripts/utility");
|
|
||||||
|
|
||||||
if(isToolBuild())
|
if(isToolBuild())
|
||||||
%this.queueExec("./tools/creator.tscript");
|
%this.queueExec("./tools/creator.tscript");
|
||||||
|
|
|
||||||
|
|
@ -130,3 +130,33 @@ function getButtonBitmap(%device, %button)
|
||||||
|
|
||||||
return %assetId;
|
return %assetId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createLangTable(%name)
|
||||||
|
{
|
||||||
|
// create a langtable, and global variable to be referenced by GUI elements
|
||||||
|
// opeates as follows:
|
||||||
|
// root gui element contains langTableMod = mylang;
|
||||||
|
// subelements inherit or override
|
||||||
|
// langTableMod then informs the underlying system to look for a $I18N::mylang
|
||||||
|
// this holds a reference to a table defined in .lso files, using data/UI/langs/languageMap global defines as a key
|
||||||
|
new LangTable(%name){};
|
||||||
|
eval("$I18N::"@ %name @"="@ %name @".getId();");
|
||||||
|
}
|
||||||
|
|
||||||
|
function addLanguage(%langTable, %filename, %alias)
|
||||||
|
{
|
||||||
|
// generate an .lso file and if a languageMap file does not exist, it as well
|
||||||
|
%needLangMap = true;
|
||||||
|
if(isFile("data/UI/langs/languageMap"))
|
||||||
|
%needLangMap = false;
|
||||||
|
|
||||||
|
CompileLanguage("data/UI/langs/"@ %filename @".txt", %needLangMap);
|
||||||
|
%langTable.addLanguage("data/UI/langs/"@ %filename @".lso", %alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
function switchLanguage(%language) //use here the #n as it's the order of inclusion
|
||||||
|
{
|
||||||
|
// swap existing language from the current core langtable and refresh the gui contents
|
||||||
|
getCoreLangTable().setCurrentLanguage(%language);
|
||||||
|
Canvas.setContent(Canvas.getContent());
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue