packages.html
All Packages
tree.html
Class Hierarchy
Package-gnu.gettext.html
This Package
Package-gnu.gettext.html
Previous
Package-gnu.gettext.html
Next
AllNames.html
Index
Class gnu.gettext.GettextResource
java.lang.Object
|
+----java.util.ResourceBundle
|
+----gnu.gettext.GettextResource
public abstract class
GettextResource
extends ResourceBundle
This class implements the main GNU libintl functions in Java.
Using the GNU gettext approach, compiled message catalogs are normal
Java ResourceBundle classes and are thus interoperable with standard
ResourceBundle based code.
The main differences between the Sun ResourceBundle approach and the
GNU gettext approach are:
In the Sun approach, the keys are abstract textual shortcuts.
In the GNU gettext approach, the keys are the English/ASCII version
of the messages.
In the Sun approach, the translation files are called
"
Resource
_
locale
.properties" and have non-ASCII
characters encoded in the Java
\
u
nnnn
syntax. Very few editors
can natively display international characters in this format. In the
GNU gettext approach, the translation files are called
"
Resource
.
locale
.po"
and are in the encoding the translator has chosen. Many editors
can be used. There are at least three GUI translating tools
(Emacs PO mode, KDE KBabel, GNOME gtranslator).
In the Sun approach, the function
ResourceBundle.getString
throws a
MissingResourceException
when no translation is found.
In the GNU gettext approach, the
gettext
function
returns the (English) message key in that case.
In the Sun approach, there is no support for plural handling.
Even the most elaborate MessageFormat strings cannot provide decent
plural handling. In the GNU gettext approach, we have the
ngettext
function.
To compile GNU gettext message catalogs into Java ResourceBundle classes,
the
msgfmt
program can be used.
Variable Index
o
#verbose
verbose
Constructor Index
o
#GettextResource()
GettextResource
()
Method Index
o
#gettext(java.util.ResourceBundle, java.lang.String)
gettext
(ResourceBundle, String)
Returns the translation of
msgid
.
o
#ngettext(java.util.ResourceBundle, java.lang.String, java.lang.String, long)
ngettext
(ResourceBundle, String, String, long)
Returns the plural form for
n
of the translation of
msgid
.
Variables
o
verbose
public static boolean verbose
Constructors
o
GettextResource
public GettextResource()
Methods
o
gettext
public static String gettext(ResourceBundle catalog,
String msgid)
Returns the translation of
msgid
.
Parameters:
catalog - a ResourceBundle
msgid - the key string to be translated, an ASCII string
Returns:
the translation of
msgid
, or
msgid
if
none is found
o
ngettext
public static String ngettext(ResourceBundle catalog,
String msgid,
String msgid_plural,
long n)
Returns the plural form for
n
of the translation of
msgid
.
Parameters:
catalog - a ResourceBundle
msgid - the key string to be translated, an ASCII string
msgid_plural - its English plural form
Returns:
the translation of
msgid
depending on
n
,
or
msgid
or
msgid_plural
if none is found
packages.html
All Packages
tree.html
Class Hierarchy
Package-gnu.gettext.html
This Package
Package-gnu.gettext.html
Previous
Package-gnu.gettext.html
Next
AllNames.html
Index
