2017-02-02 13 views
0

Я использую функцию локализации для перевода моего приложения на французский язык, но я сталкиваюсь с некоторыми ограничениями, которых я не ожидал.Cakephp 3 Проблема локализации

В файле default.po, когда я установил:

msgid "MainLoginAccountLocked" 
msgstr "Votre compte a été verrouillé." 

Он отлично работает. Я вижу сообщение переведенное.

Но когда я установил:

msgid "Main Login Account Locked" 
msgstr "Votre compte a été verrouillé." 

Это не работает. Вместо перевода вы получаете ключ «Main Login Account Locked».

Есть ли ограничения в значении msgid? Или ограниченные значения? Я ничего не нашел в документе, который мог мне помочь.

+0

Нет таких ограничений. Не забудьте очистить кеш после внесения изменений ('tmp/cache/persistent'). – ndm

ответ

0

Нет ограничений на наличие пробелов в msgid, я использую его все время.

@ Совет Nds уместен: очистите кэш.

В прошлом я также столкнулся с проблемой в файле компиляции файла .po, который необходимо было восстановить.

Осторожно проверьте пробелы в конце и начале строки.

Возможно, вам также необходимо проверить кодировки. Если вы используете UTF-8 всюду (как я надеюсь), это не должно быть проблемой.

+0

Кодирование - UTF-8. – LuTo

+0

Похоже на проблему с кешем. Я очищаю кеш каждый раз, удаляя файлы в/tmp/cache/persistent, но есть своего рода отставание. Это может быть проблема с кешем на стороне сервера. (Я не могу трогать конфигурацию сервера, потому что я на общем сервере). – LuTo