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 )
|