Sunday, 22 December 2024
 
 
Ako lokalizovať reťazce v súbore .js Print
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)
Poznámka: stačí znak =

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 )
 
 
Top! Top!
'; ?>