Модуль "Переводы"

Модуль позволяет создавать приложения на разных языках. По умолчанию в системе предусмотрен “Русский язык”. Если перевод для него не задан, то система отобразит английский язык.

Тексты, которые расположены в представлениях самих приложений, размещаем следующим образом: {application_id}/messages/{language}/{category}.php

Использование:

Yii::t('category', 'key'); - на основе официальной докуменации Yii 2 https://www.yiiframework.com/doc/guide/2.0/ru/tutorial-i18n

key - ключ текста в “змеиной нотации” (snake_case).

  1. return [
  2. 'search' => 'Search',
  3. 'reset' => 'Reset',
  4. 'filter' => 'Filter',
  5. 'add' => 'Add',
  6. 'save' => 'Save',
  7. 'cancel' => 'Cancel',
  8. 'created_at' => 'Date of creation',
  9. 'updated_at' => 'Date of update',
  10. 'status' => 'Status',
  11. 'not_found' => 'Search did not produce results...',
  12. 'user' => 'User',
  13. 'close' => 'Close',
  14. 'replace' => 'Replace',
  15. 'update_title' => 'Edit',
  16. 'settings_save_success_message' => 'Settings saved successfuly',
  17. 'settings' => 'Settings',
  18. 'delete_item_confirm_message' => 'Are you sure you want to delete item?',
  19. 'file' => 'File',
  20. 'success' => 'Success',
  21. 'error' => 'Error',
  22. 'create' => 'Create',
  23. 'language' => 'Language',
  24. 'name' => 'Name',
  25. 'image' => 'Image',
  26. 'url' => 'Url',
  27. 'title' => 'Title',
  28. 'content' => 'Content',
  29. 'footer_privacy_message' => 'PRIVACY NOTIFICATION: This webpage and any documents available for download on this page contain confidential information. We hereby inform you that if the content on this web page is not intended for you, the use, copying, distribution of the information contained on this web page, as well as the implementation of any actions based on this information, is strictly prohibited. If you mistakenly hit this web page, please inform the resource administrator about this.',
  30. 'users' => 'Users',
  31. 'tiny_mce_filemanager' => 'File manager'
  32. ];

Для того, чтобы переводы модуля оставались с модулем при использовании его в стороннем проекте, тексты размещаем следующим образом: common/modules/{module_id}/messages/{language}/index.php.

Для использования переводов внутри модуля используем основной класс модуля, в котором используется перевод: Module::t('key').

По умолчанию категория в модуле определена как ‘index’, для использования другой категории передаем ее 3 параметром в функции t().

  1. Module::t('key', $params, 'category');

Убедитесь, что категория перевода $translationCategory в классе модуля указана верно.

  1. /**
  2. * Категория перевода
  3. * @var string
  4. */
  5. public static $translationCategory = 'modules/users/';