Saturday, 27 July 2024
 
 
Hogyan honosítsunk szöveget a .js fájlban Print
Written by Cashman   
Wednesday, 27 June 2007

Szöveg honosítása a  .js fájlban     

Probléma :  a kiterjesztések olyan mappákat tartalmaznak, amelyekben különbözÅ‘ nyelvi fájlok találhatóak. Néha viszont maradnak nem lefordított szavak esetleg mondatok, melyeket nem lehet entitásokká alakítani a megszokott módon, mert egy .js fájlban találhatóak.
 
Tételezzük fel, hogy a .js fájlban a következÅ‘ szöveget találta:

if ( password == userPassword ) {
      oPrefs.setBoolPref("access.authenticated", true);  
   }
   else {
      alert ("Invalid password");
......
function clear()
{
 sure = confirm("Are you sure?");
ElÅ‘ször a nyelvi mappában egy myextension.properties fájlt  kell kialakítania, majd egyszerűen írja bele a  változók neveit és a szavakat vagy szövegeket, amelyek a felhasználónak megjelennek.

Példa :

WrongPassMessage=Helytelen jelszó
AreYouSureMessage=Biztos benne?

(ahol a Helytelen jelszó és a Biztos benne?  lesznek azok a szövegek, amelyek megjelennek a felhasználónak)
Megjegyzés : aelegendÅ‘ az = jel

Most térjen vissza a .js fájlhoz, ahol a fordítani kívánt szövegek találhatóak.
A fájl legelején alakítson ki egy  karakterláncot (bundle) a properties fájl címével, amelyben a lefordított szövegek találhatóak.

var gBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService);
var mystrings = gBundle.createBundle("chrome://myextension/locale/myextension.properties");

Ezután következik az összes olyan változó listája, amelyeket az adott  .js fájlban kezelni kell:

var wrongpassalert = mystrings.GetStringFromName("WrongPassMessage");
var confirmmessage=mystrings.GetStringFromName("AreYouSureMessage");
Ezután már a .js fájlban használhatja azokat a változókat, amelyekre éppen szüksége van.
Figyelje meg a példát:


if ( password == userPassword ) {
      oPrefs.setBoolPref("access.authenticated", true);   
   }
   else {
      alert (wrongpassalert);

function clear()
{
 sure = confirm(confirmmessage);


Last Updated ( Sunday, 02 September 2007 )
 
 
Top! Top!
'; ?>