This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Translation
Nicolas Grekas 72365716c2 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/Http/Tests/RememberMe/TokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/composer.json
2015-10-06 19:12:59 +02:00
..
Catalogue [translation][framework-bundle] Deprecated DiffOperation 2015-09-03 14:49:29 +08:00
DataCollector Merge branch '2.7' into 2.8 2015-08-24 09:18:02 +02:00
Dumper fixed typo. 2015-09-21 10:22:36 +00:00
Exception remove api tags from code 2015-09-28 19:11:22 +02:00
Extractor [Translation][Extractor] Allow extracting an array of files besides extracting a directory 2015-03-27 07:53:09 +01:00
Loader Merge branch '2.7' into 2.8 2015-09-29 14:32:55 +02:00
Tests feature #15738 Implement service-based Resource (cache) validation (mpdude) 2015-09-25 08:33:07 +02:00
Util [Translation] add options 'as_tree', 'inline' to YamlFileDumper to dump messages as tree instead of simple list. 2015-05-20 12:35:10 +03:00
Writer Merge branch '2.3' into 2.5 2014-12-22 17:16:14 +01:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md [Translation][File dumper] allow get file content without writing in file. 2015-09-21 10:16:40 +00:00
composer.json Implement service-based Resource (cache) validation 2015-09-25 08:31:17 +02:00
DataCollectorTranslator.php Merge branch '2.7' into 2.8 2015-09-29 14:32:55 +02:00
IdentityTranslator.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
Interval.php Docblock fixes 2014-11-30 13:33:44 +00:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
LoggingTranslator.php remove api tags that are new in 2.7 2015-09-29 14:08:33 +02:00
MessageCatalogue.php remove api tags from code 2015-09-28 19:11:22 +02:00
MessageCatalogueInterface.php remove api tags from code 2015-09-28 19:11:22 +02:00
MessageSelector.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
MetadataAwareInterface.php Fix doc blocks 2014-04-18 22:17:16 +02:00
phpunit.xml.dist [2.3] require-dev PHPUnit bridge 2015-02-24 11:24:26 +01:00
PluralizationRules.php Merge branch '2.3' into 2.7 2015-10-06 10:31:51 +02:00
README.md Merge branch '2.7' into 2.8 2015-09-06 10:37:06 +02:00
Translator.php Merge branch '2.7' into 2.8 2015-09-29 14:32:55 +02:00
TranslatorBagInterface.php [2.6][Translation] remove duplicate code for loading catalogue. 2015-04-16 11:17:38 +01:00
TranslatorInterface.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00

Translation Component

Translation provides tools for loading translation files and generating translated strings from these including support for pluralization.

use Symfony\Component\Translation\Translator;
use Symfony\Component\Translation\MessageSelector;
use Symfony\Component\Translation\Loader\ArrayLoader;

$translator = new Translator('fr_FR', new MessageSelector());
$translator->setFallbackLocales(array('fr'));
$translator->addLoader('array', new ArrayLoader());
$translator->addResource('array', array(
    'Hello World!' => 'Bonjour',
), 'fr');

echo $translator->trans('Hello World!')."\n";

Resources

Silex integration:

https://github.com/silexphp/Silex/blob/master/src/Silex/Provider/TranslationServiceProvider.php

Documentation:

https://symfony.com/doc/2.8/book/translation.html

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/Translation/
$ composer install
$ phpunit