| Suppose you have found these strings nested in a .js file: if ( password ==
userPassword ) {
oPrefs.setBoolPref("access.authenticated", true); } else { alert ("Invalid password"); ...... function clear() { sure = confirm("Are you sure?"); |
| First,
you have
to find or create a myextension.properties
file in
your locale folder. Then you simply write variable
names
and the sentences or words that should appear to the
final user. Something like : WrongPassMessage=Invalid
password
AreYouSureMessage=Are
you sure?
(where
Invalid password and Are you sure?
are the
strings to be displayed to the final user)
Notice
: a simple = sign
is enough
|
| Now you go back
to the .js file where the strings to be localized are nested. At the very beginning of the file you create one string bundle with the address of the properties file where to find strings. var gBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService); var mystrings = gBundle.createBundle("chrome://myextension/locale/myextension.properties"); Then you list immediately below every variable you need for the .js file you are managing : var wrongpassalert = mystrings.GetStringFromName("WrongPassMessage"); var confirmmessage=mystrings.GetStringFromName("AreYouSureMessage"); |
| You can
now
use your variables in the .js where they needed: see examples
below if
( password == userPassword ) {
oPrefs.setBoolPref("access.authenticated", true); } else { alert (wrongpassalert); function clear() { sure = confirm(confirmmessage); |