Локализация
Для того, чтобы включить в приложении поддержку нескольких языков необходимо в файле проекта
project.yaml указать в секции l10n, какие языки будет поддерживать приложение.
Например, для поддержки русского, английского и китайского языков
app-name:
features:
- beSqlQueries
- eventDbLogging
l10n: [en,ru,zh]
...
Далее необходимо создать индивидуальный файл с локализацией под каждый язык в папке src/l10n
📁 app-name
├── 📁 src
│ ├── 📄 security.yaml
│ ├── 📄 connectionProfiles.local.yaml
│ ├── 📄 connectionProfiles.remote.yaml
│ └── 📁 l10n
│ ├── 📄 en.yaml
│ ├── 📄 ru.yaml
│ └── 📄 zh.yaml
├── 📄 README.md
├── 📄 package.json
└── 📄 .gitignore
Файл локализации имеет следующую структуру. Все элементы внутри entities являются опциональными
ru:
entities:
- index:
- topics: page
entries:
- title: Наименование приложения
- description: Описание приложения
- topics: viewName
entries:
- All records: Все записи
- frontend.l10n:
- topics: page
entries:
- fio: Ф.И.О.
- messages.l10n:
- topics: exception
entries:
- 'Internal error occurred: $1': 'Произошла внутренняя ошибка: $1'
- topics: validation
entries:
- Please enter only digits.: Здесь должны быть только цифры.
- topics: info
entries:
- '$1 record will be deleted': '$1 запись будет удалена'
- query.jsp:
- topics: page
entries:
- Active To: Дата окончания
- Active From: Дата начала
- operation.jsp:
- topics: page
entries:
- activeFrom: Дата окончания
- activeTo: Дата начала
- index:
- topics: operationName
entries:
- Insert: Добавить
- Edit: Редактировать
- Delete: Удалить
- Filter: Фильтр
- default:
- topics: operationName
entries:
- Insert: Добавить
- Edit: Редактировать
- Delete: Удалить
- Filter: Фильтр
- _system_:
- topics: viewName
entries:
- Entities: Сущности
- topics: Entities
entries:
- Name: Название
- Type: Тип
- someEntity1:
- topics: displayName
entries:
- displayName: Отображаемое имя сущности 1
- topics: viewName
entries:
- Query Name 1: Имя представления 1
- topics: operationName
entries:
- Operation name 1: Имя операции 1
- topics: '@AllQueries'
entries:
- Column 1: Колонка 1
- topics: 'All records'
entries:
- Column 2: Колонка 2
- topics:
- 'All records'
- 'Some Other Query'
entries:
- Column 3: Колонка 3
- topics:
- Insert
- Edit
- Filter
entries:
- field1: Строка ввода 1
- field2: Строка ввода 2