internal package
Foswiki::I18N
internal package
Foswiki::I18N
Support for strings translation and language detection.
ClassMethod
available_languages
Lists languages tags for languages available at Foswiki installation. Returns a
list containing the tags of the available languages.
Note: the languages available to users are determined in the
configure
interface.
ClassMethod
new ( $session )
Constructor. Gets the language object corresponding to the current users
language. If $session is not a Foswiki object reference, just calls
Local::Maketext::new (the superclass constructor)
ObjectMethod
finish()
Break circular references.
ObjectMethod
maketext( $text ) → $translation
Translates the given string (assumed to be written in English) into the
current language, as detected in the constructor, and converts it into
the site charset.
Wraps around Locale::Maketext's maketext method, adding charset conversion and checking
Return value: translated string, or the argument itself if no translation is
found for thet argument.
ObjectMethod
language() → $language_tag
Indicates the language tag of the current user's language, as detected from the
information sent by the browser. Returns the empty string if the language
could not be determined.
ObjectMethod
enabled_languages() → %languages
Returns an array with language tags as keys and language (native) names as
values, for all the languages enabled in this site. Useful for
listing available languages to the user.
ObjectMethod
fromSiteCharSet ( $text ) → $encoded
This method receives
$text
, assumed to be encoded in {Site}{CharSet}, and
converts it to a internal representation.
Currently this representation will be a UTF-8 string, but this may change in
the future. This way, you can't assume any property on the returned value, and
should only use the returned value of this function as input to toSiteCharSet.
If you change the returnd value, either by removing, updating or appending
characters, be sure to touch only ASCII characters (i.e., characters that have
ord() less than 128).
ObjectMethod
toSiteCharSet ( $encoded ) → $text
This method receives a string, assumed to be encoded in Foswiki's internal string
representation (as generated by the fromSiteCharSet method, and converts it
into {Site}{CharSet}.
When converting into {Site}{CharSet}, characters that are not present at that
charset are represented as HTML numerical character entities (NCR's), in the
format
&#NNNN;
, where NNNN is the character's Unicode
codepoint.
See also: the
fromSiteCharSet
method.