=======, (*1)
Route Package
, (*2)
Route Services supporting translations for the User Interface for PHP applications using Adapters for different
implementation types (ex., Database, *.ini files, etc.)., (*3)
System Requirements
- PHP 5.3.3, or above
- PSR-0 compliant Autoloader
- PHP Framework independent
- [optional] PHPUnit 3.5+ to execute the test suite (phpunit --version)
How to specify Route
Route strings are loaded in startup for language determined in this order (and installed):, (*4)
- Injected value during class instantiation
- Session
- User Data
- Client Route
- Application Configuration
- Defaults to en-GB
Instantiation
To instantiate the Route Class:, (*5)
php
$language = new Route($language);
, (*6)
Once instantiated, all calls to the class can be made using the $language instance., (*7)
Route Properties
To retrieve the key value (ex. 'en-GB') for the language which is loaded:
php
$language->get('language');
, (*8)
Retrieve Route Strings
To retrieve all language strings and translations for the loaded language:
php
$language->get('strings');
, (*9)
Retrieve List of all installed Routes
To retrieve a list of all languages installed in this application:
php
$language->get('installed');
, (*10)
Retrieve Route Attribute
To retrieve a registry attribute value (id, name, rtl, local, first_day) for the loaded language:
php
$language->get('name-of-attribute');
, (*11)
Retrieve all Route Attributes
To retrieve all registry attribute values as an array for the loaded language:, (*12)
php
$language->get('registry');
, (*13)
Translate
To translate the string $xyz:
php
$language->translate($xyz);
, (*14)
To retrieve a list of language strings and translations matching a wildcard value:
php
$language->translate($xyz, 1);
, (*15)
Identify Untranslated Strings
To insert strings found in code but are not already in database:, (*16)
- If an administrator is logged on, the primary language services automatically insert untranslated strings
- To avoid doing so, override the
RoutePlugin
and set insert_missing_strings
to 0
- For instances you define, set the
insert_missing_strings
, as needed.
To log strings found in code, but are not already in database:, (*17)
- Set the Application configuration option
profile_missing_strings
to 1
and turn on profiling