Language Services supporting translations for the User Interface for PHP applications using Adapters for different implementation types.
Language strings are loaded in startup for language determined in this order (and installed):
- Injected value during class instantiation
- Session
- User Data
- Client Language
- Application Configuration
- Defaults to en-GB
To instantiate the Language Class:
$language = new Language($language);Once instantiated, all calls to the class can be made using the $language instance.
To retrieve the key value (ex. 'en-GB') for the language which is loaded:
$language->get('language');To retrieve all language strings and translations for the loaded language:
$language->get('strings');To retrieve a list of all languages installed in this application:
$language->get('installed');To retrieve a registry attribute value (id, name, rtl, local, first_day) for the loaded language:
$language->get('name-of-attribute');To retrieve all registry attribute values as an array for the loaded language:
$language->get('registry');To translate the string $xyz:
$language->translate($xyz);To retrieve a list of language strings and translations matching a wildcard value:
$language->translate($xyz, 1);To insert strings found in code but are not already in database:
- If an administrator is logged on, the primary language services automatically insert untranslated strings
- To avoid doing so, override the
LanguagePluginand setinsert_missing_stringsto0 - For instances you define, set the
insert_missing_strings, as needed.
To log strings found in code, but are not already in database:
- Set the Application configuration option
profile_missing_stringsto1and turn onprofiling
- PHP framework independent, no dependencies
- Requires PHP 5.4, or above
- Semantic Versioning
- Compliant with:
- [phpDocumentor2] (https://github.com/phpDocumentor/phpDocumentor2)
- [phpUnit Testing] (https://github.com/sebastianbergmann/phpunit)
- Author AmyStephen
- [Travis Continuous Improvement] (https://travis-ci.org/profile/Molajo)
- Listed on [Packagist] (http://packagist.org) and installed using [Composer] (http://getcomposer.org/)
- Use github to submit pull requests and features
- Licensed under the MIT License - see the
LICENSEfile for details
