Localization
Localization – это класс для управления локализацией компонентов. Компоненты PilotWeb3D и PilotWeb2D используют библиотеку i18next для поддержки локализации. На данный момент поддерживаются 2 языка: ru
и en
.
Методы
initialize()
Инициализировать локализацию компонента.
static initialize(options: any): Promise<void>
где:
options
: - опции для указания какой язык использовать.
Пример:
const options = {
language: "ru"
}
translate()
Получить переведенный текст на заданном языке.
static translate(stringToTrans: string): string;
где:
stringToTrans
: - ключ указанный в translation.json
. Подробнее: i18next documentation.
setLanguage()
Изменить текущий язык для компонентов.
static setLanguage(language: string): Promise<void>;
где:
language
: - новый язык. Например: ru
или en
.
extendLocalization()
Добавить дополнительную локализацию.
static extendLocalization(locales: any): boolean;
где:
locales
: - дополнительная локализация для модуля расширения.
Пример использования:
Файл /assets/locales/en/translation.json
{
"Extension": {
"title": "Properties"
}
}
Файл ExtensionLocales.js
import json_en from '/assets/locales/en/translation.json';
import json_ru from '/assets/locales/ru/translation.json';
export const locales = {
en: json_en,
ru: json_ru
};
Файл Extension.js
import { locales } from './ExtensionLocales';
export class Extension extends PilotWeb3D.Extension {
constructor(viewer: PilotWeb3D.Viewer3D, options?: object) {
super(viewer, options);
// Добавляем локализацию для нашего расширения
PilotWeb3D.Localization.extendLocalization(locales);
// ...
// Получить локализованную строку
const title = PilotWeb3D.Localization.translate('Extension.title');
}
}