Локалізація
Порядок перекладу
- Налаштовуємо
- Автоперекладаємо модулі
- MLS, VUE
- Тест
Налаштування
- :project/config.json - {"langs":["ua","en","de"]}
- admin -
vs-menu-bar
або просто href -> /en /ua - site - просто href -> /en /ua
Автопереклад
- /api-user/dev-locale/:module/ua - формує файл локалізації
- /api-user/dev-locale/:module/ua/en - перекладає
Для перекладу треба ключ прописати в configServer
{
"api_keys": {
"google_cloud_translate": "key"
}
}
/* Функції funcs*/
funcs.locale('test', { lang, prefix: 'menu' }) // вернути локалізовану назву
funcs.translate(['phrase 1','phrase 2'], targetLocale, sourceLocale); // вернути переклад
funcs.translate(['phrase 1','phrase 2'], 'en', 'ua');
Переклад програми
модуль - i18n
складові i18n - в кожному модулі :module/i18n/ua.yml - автоматом шаблони
???+info "Структура yaml"
Структура файлу yaml
```yaml
# menu
menu.site.news: Новини
menu.site.mail_subscribe: Підписка на новини
# form
form.add_charg_contract.charge_num: "Номер рахунку"
form.add_charg_contract.charge_date: "Дата нарахування"
# table
data_destruction.account_user.table.user_id: Користувачі
data_destruction.account_user.table.region: Доступ до області
# cls
cls.air_conditioning_sys_type.1: Однозональна
cls.air_conditioning_sys_type.2: Багатозональна
# setting
# dashboard
```
MLS - template
для текстових в шаблонах
{{mls data prefix="contract.table"}} - візьме переклад з колонки
{{mls ua="зберегти" en="save"}} - візьме переклад з колонки
vue - i18n
???info "Vue i18n example"
Vue i18n example
```js
const i18n = new VueI18n({
locale: window.lang || "ua",
messages: {
ua:{
},
en: {
interface: {
home: "Home",
close: "Close",
community_title: "Community code",
community_name: "Community name",
},
list: {
title: "Table list",
},
},
```
Переклад даних та сайту
- табличка з колонкою
lang
site.page_node - в формі має бути lang:true
config:{"langs":["ua","en"]}
- в налаштуваннях декілька мов- Дані сайту підтягуються автоматично через lang='en'
- ContentList використовувати query lang=''
Seo
- Головна мова db.lang або ua - посилання без мови. Головна - / , /contact , /map
- Для мов /en/home, /en/map
- в посиланнях треба використовувати {{prefix}}