|
Ako lokalizovať reťazce v súbore .js |
|
|
|
Written by SlovakSoft
|
|
Wednesday, 20 June 2007 |
Ako lokalizovať reťazce v súbore .js Problém: rozšírenia majú jazykové priečinky s lokalizovanými reťazcami, ale niekedy zostávajú nejaké slová a vety nepreložené a nemožno ich previesť na entity ako zvyčajne, pretože sa nachádzajú v súbore .js. Predpokladajme, že ste v súbore .js našli tieto reťazce: if ( password == userPassword ) { oPrefs.setBoolPref("access.authenticated", true); } else { alert ("Invalid password"); ...... function clear() { sure = confirm("Are you sure?"); | Najprv je potrebné vyhľadať alebo vytvoriť v jazykovom priečinku súbor myextension.properties. Potom jednoducho do neho zapíšte názvy premenných vety alebo slová, ktoré sa objavia používateľovi. Príklad: WrongPassMessage=Neplatné heslo AreYouSureMessage=Naozaj to chcete? (kde Neplatné heslo a Naozaj to chcete? sú reťazce, ktoré sa zobrazia používateľovi) | Teraz sa vráťte naspäť do súboru .js, kde sa nachádzajú reťazce, ktoré budú lokalizované. Na samom začiatku súboru vytvorte jeden reťazec (bundle) s adresou súboru properties, v ktorom sa majú hľadať reťazce. var gBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService); var mystrings = gBundle.createBundle("chrome://myextension/locale/myextension.properties"); Potom nasleduje zoznam všetkých premenných, ktoré je potrebné v danom súbore .js spravovať: var wrongpassalert = mystrings.GetStringFromName("WrongPassMessage"); var confirmmessage=mystrings.GetStringFromName("AreYouSureMessage"); | Teraz môžete v súbore .js použiť premenné, ktoré potrebujete. Pozrite príklad: if ( password == userPassword ) { oPrefs.setBoolPref("access.authenticated", true); } else { alert (wrongpassalert); function clear() { sure = confirm(confirmmessage); |
|
|
Last Updated ( Thursday, 28 June 2007 )
|