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');
  }
}