ex。 res.de.js,res.fr.js,res.en.js,res.js(默認語言)
問題:每一頁的資源文件應該被分開,所以我們只得到了我們的數據需要
解決方案:我們可以使用一些工具已經存在像 https://github.com/rgrove/lazyload
問題:我們需要一個鍵/值對結構保存我們的數據
解決方案:我建議JavaScript對象而不是字符串/字符串空氣。 我們可以從智能感知受益於IDE
問題:一般成員應存放在一個公共文件和所有網頁應該訪問這些
解決方案:爲此,我做一個文件夾中的根Web應用程序名爲Global_Resources和存儲全局文件爲每個子文件夾的文件夾中,我們把它命名爲「Local_Resources」
問題:每個子系統/子文件夾/模塊成員應覆蓋其範圍
的Global_Resources成員解決方案:我認爲是文件的每個
應用程序結構
root/
Global_Resources/
default.js
default.fr.js
UserManagementSystem/
Local_Resources/
default.js
default.fr.js
createUser.js
Login.htm
CreateUser.htm
的文件中的相應代碼:
Global_Resources/default.js
var res = {
Create : "Create",
Update : "Save Changes",
Delete : "Delete"
};
Global_Resources/default.fr.js
var res = {
Create : "créer",
Update : "Enregistrer les modifications",
Delete : "effacer"
};
所需語言的資源文件應該從Global_Resource選擇在網頁加載 - 這應該是對所有加載的第一個文件頁面。
UserManagementSystem/Local_Resources/default。JS
res.Name = "Name";
res.UserName = "UserName";
res.Password = "Password";
UserManagementSystem/Local_Resources/default.fr.js
res.Name = "nom";
res.UserName = "Nom d'utilisateur";
res.Password = "Mot de passe";
UserManagementSystem/Local_Resources/createUser.js
// Override res.Create on Global_Resources/default.js
res.Create = "Create User";
UserManagementSystem/Local_Resources /的createUser。 fr.js
// Override Global_Resources/default.fr.js
res.Create = "Créer un utilisateur";
manager.js文件(最後這個文件應該是負載)
res.lang = "fr";
var globalResourcePath = "Global_Resources";
var resourceFiles = [];
var currentFile = globalResourcePath + "\\default" + res.lang + ".js" ;
if(!IsFileExist(currentFile))
currentFile = globalResourcePath + "\\default.js" ;
if(!IsFileExist(currentFile)) throw new Exception("File Not Found");
resourceFiles.push(currentFile);
// Push parent folder on folder into folder
foreach(var folder in parent folder of current page)
{
currentFile = folder + "\\Local_Resource\\default." + res.lang + ".js";
if(!IsExist(currentFile))
currentFile = folder + "\\Local_Resource\\default.js";
if(!IsExist(currentFile)) throw new Exception("File Not Found");
resourceFiles.push(currentFile);
}
for(int i = 0; i < resourceFiles.length; i++) { Load.js(resourceFiles[i]); }
// Get current page name
var pageNameWithoutExtension = "SomePage";
currentFile = currentPageFolderPath + pageNameWithoutExtension + res.lang + ".js" ;
if(!IsExist(currentFile))
currentFile = currentPageFolderPath + pageNameWithoutExtension + ".js" ;
if(!IsExist(currentFile)) throw new Exception("File Not Found");
希望它能幫助:)
的[雜談](http://www.youtube。 com/watch?v = uXS_-JRsB8M)[Alex Sexton](http://alexsexton.com/),主題爲[客戶端國際化](http://www.youtube.com/watch?v=uXS_-JRsB8M) )來自JS歐盟會議是一個好的開始。 –