Перевод ключевого слова Locale на английском языке

Я прочитал учебник, и перевод работает нормально. Моя проблема заключается в обработке ключевых слов. Здесь вы можете увидеть пример:

http://symfony.com/doc/current/book/translation.html # создание-переводы

I can run the keyword symfony.is.great -> J'aime Symfony2, when my language is French. But how can I translate symfony.is.great -> Symfony2 is great? Translate it to English. I miss that part in the docs or I don't really get it! My default language is Englisch!

У меня есть message.fr.xliff и messages.en.xliff.

Часть моих сообщений.en.xliff:

<?xml version="1.0" encoding="UTF-8" ?>
    
        
            <trans-unit id="3">
                symfony2.is.great
                Symfony is great
            
...
0
nl ja de

2 ответы

раздел документа , который вы поделили, просто показывает вам разные способы вы можете определить свои ключи перевода (реальные сообщения или ключевые слова).

Взгляните на эту часть документа. Для процесса перевода , чтобы отлично работать, вы должны используйте один и тот же ключ в двух файлах каталога сообщений. Затем правильный перевод загружается в соответствии с _locale , хранящимся в сеансе.

Кроме того, каждый раз, когда вы создаете новый ресурс перевода, обязательно очищайте свой кеш, чтобы новый файл учитывался.

2
добавлено
Да, я это видел, но это не так. Как перевести symfony.is.great -> Symfony2 отлично. У меня есть message.en.xliff. Да, я очищаю кеш.
добавлено автор craphunter, источник
Хорошо, я попробовал это сделать на французском и Englisch. Я думаю, symfony не загружает файл messages.en.xliff. Но я очистил кеш командой rm. Думаю, это еще одна проблема. Я получаю сообщение об ошибке, когда я делаю кеш: очистить ... vendor/twig/twig/lib/Twig/Lexer.php ... потерял память объемом 33554432 байт. Есть идеи?
добавлено автор craphunter, источник
Когда для параметра _locale установлено значение «en_XX», Symfony затем загрузит сообщения перевода из нужного каталога «messages.en.xliff». Проверьте свой язык? Вы также можете заставить его .
добавлено автор Ahmed Siouani, источник
Повторите попытку --no-debug mode ...
добавлено автор Ahmed Siouani, источник

Попробуйте установить услугу переводчика

$translatИли = $this->get('translatИли');

Затем установите локаль пользователя ($ language = 'en' или 'fr')

$translatИли->setLocale($language);

Или

$translatИли->setFallbackLocales(array($language));

После этого вы можете вызвать функцию перевода

$translatИли->trans('symfony.is.great');

Be sure that you are using the same keywИлиd in both french and english catalog and try also to clear cache

php bin/console cache:clear --no-warmup
0
добавлено
symfony
symfony
1 045 участник(ов)

Сообщество Symfony, Symfony Components, Symfony Framework. Вакансии: https://t.me/symfony_careers Официальный slack: https://symfony.com/slack-invite

symfony
symfony
354 участник(ов)