Mathew Robertson > Locale-MakePhrase-0.5 > Locale::MakePhrase::BackingStore::File

Download:
Locale-MakePhrase-0.5.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.3   Source  

NAME ^

Locale::MakePhrase::BackingStore::File - Retrieve language translations for all supported languages, from a single file.

DESCRIPTION ^

This backing store is capable of loading language rules from a single translation file.

The file must be formatted as shown in the example.txt file (which can be located in the same directories that these modules are are installed in). The important points to note are that the file is broken into groups containing:

key
language/dialect
expression
priority
translation

Where expression & priority are optional. However, if you specify the priority and/or expression, make sure the translation key is the last entry in the group - this is necessary, as we dont know when the the block is finished.

API ^

The following methods are implemented:

$self new([...])

We support loading text/translations (from the translation file) which may be encoded using any character encoding. Since we need to know something about the file we are trying to load, we expect this object to be constructed with the following options:

file

The full path to the file containing the translations. eg:

  /usr/local/myapp/translations.mpt

Default: none; you must specify a filename

encoding

We can load translations from any enocding supported by the Encode module. Upon load, this module will convert the translations from the specified encoding, into the interal encoding of UTF-8.

Default: load UTF-8 encoded text translations.

reload

It is handy for the language module to be able to dynamically reload its known translations, if the file gets updated. You can set this to avoid reloading the file if it changes.

Default: reload if file changes

\@rule_objs get_rules($context,$key,\@languages)

Retrieve the translations (that have been previously loaded), using the selected languages. This implementation will reload the language file if it changes (unless it has been told not to).

NOTES ^

line-ending

We automatically handle the Unix/MS-DOS line-ending difference.

multi-line

Strings can be spanned over multiple lines, if the end of the line is backslash-escaped.

syntax highlighting: