Я создаю сайт администратора i18n с пакетом админов сонаты. Теперь я хочу изменить свой язык и перевод с помощью набора локали администратора. Например, у меня есть два администратора, один из которых - en (userA), а другой - zh (UserB). локаль пользователя устанавливается ан/гк в пользователя админ панели управления соответственноИзменение локали администратора сонаты с администратором Локаль пользователя
Мой администратор службы:.
services:
sonata.admin.post:
class: Acme\StoreBundle\Admin\PostAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "Content", label: "Project", label_translator_strategy: sonata.admin.label.strategy.underscore }
arguments:
- ~
- Acme\StoreBundle\Entity\Product
- ~
calls:
- [ setTranslationDomain, [AcmeStoreBundle]]
- [ setLabelTranslatorStrategy, [ @sonata.admin.label.strategy.native ]]
Тогда мои ресурсы/переводы/AcmeStoreBundle.en.xliff и ресурсы/переводы/AcmeStoreBundle.zh.xliff просто например:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>label.product.name</source>
<target>Product Name</target> ##---> zh is diffrent here!!!
</trans-unit>
</body>
</file>
</xliff>
Затем, я loggin admin от UserA, сообщение (название продукта) в порядке. Но я loggin UserB это сообщение по-прежнему en locale (название продукта). Конечно, я могу изменить глобальную локаль в параметрах.yml (% locale%) для userB, но это не хорошо для userA.
Итак, как я могу изменить языковой стандарт моего сайта (сообщение или перевод) с помощью пользовательской локализации пользователя? Спасибо заранее.
Где вы храните локал пользователя в базе? –
Извините, не забывайте об этом. Я использовал сонату [user bundle] (http://sonata-project.org/bundles/user/2-2/doc/index.html), чтобы добавить моего администратора сайта, а затем изменить профиль пользователя (локаль) в панели управления пользователя sonata admin. И я также вижу, что результат изменения в таблице базы данных (fos_user_user) в порядке. – pysome