locomotivemtl / charcoal-translation
Charcoal Translations & Languages
Installs: 6 019
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 15
Forks: 0
Open Issues: 0
Requires
- php: >=5.6.0
- locomotivemtl/charcoal-config: ~0.6
- locomotivemtl/charcoal-core: ~0.1
- psr/http-message: ^1.0
- psr/log: ^1.0
Requires (Dev)
- cache/void-adapter: ^0.3.1
- monolog/monolog: ^1.17
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ~1.0.1
- squizlabs/php_codesniffer: ^2.4
This package is not auto-updated.
Last update: 2022-02-01 12:55:42 UTC
README
Charcoal provides a comprehensive solution for handling localisation, internationalization, and translation for a multi-lingual Charcoal project.
Usage
Setting the default language / setting the current language:
use \Charcoal\Translation\TranslationConfig; $translation_config = TranslationConfig::instance(); // Set the list of available languages $translation_config->set_available_langs([ 'en' => [], 'fr' => [] ]); // Set the default language to "English" ("en") $translation_config->set_default_lang('en'); // Set the current language to French $translation_config->set_lang('fr');
Loading a (translated) string from the catalog:
use \Charcoal\Translation\Catalog; $catalog = Catalog::instance(); $catalog->add_resource('myproject.csv'); echo $catalog->tr('my string'); // Add a custom string.. $catalog->add_translation('custom string', [ 'en' => 'Custom string', 'fr' => 'Chaîne aléatoire' ]); ech $catalog->tr('custom string');
Using the TranslationString
object directly:
// Let's assume the default language has been set to 'en'... use \Charcoal\Translation\TranslationString; $str = new TranslationString([ 'fr' => 'foo', 'en' => 'bar' ]); // All the following examples output "bar" echo $str; echo $str->en(); echo $str->val('en'); // All the following examples output "foo" echo $str->fr(); echo $str->set_lang('fr')->val(); echo $str->val('fr'); //
With Mustache Templates
By default, all call to the {{# _t }}
mustache helper in Charcoal Templates will try to translate a string using the default Charcoal Catalog.
For example:
- Assuming the "my string" has been added to the main catalog, as in the previous example
Dependencies
Charcoal\Config
required byTranslationConfig