Локализация Report Manager

По умолчанию все ярлыки Report Manager на английском языке. Некоторые из них можно перевести на желаемый язык:

  • названия операций (edit, create a copy, delete, и др.);
  • ярлыки кнопок;
  • сообщения о подтверждении;
  • ярлыки выпадающих опций (Sum, Count, Average, и др.)

В пакете Report Manager присутствует только en-US локаль. Ознакомьтесь с нашим репозиторием. Здесь вы можете найти интересующую вас локаль или же создать свою.

Структура локалей

Названия ярлыков хранятся в объекте:

export default {
  "Add column": "Add column",
  "All reports": "All reports",
  "Are you sure to delete this report?": "Are you sure to delete this report?",
  "Are you sure to delete this query?": "Are you sure to delete this query?",
  Average: "Average",
  Cancel: "Cancel",
  Chart: "Chart",
  Column: "Column",
  Columns: "Columns",
  "Color column": "Color column",
  Common: "Common",
  "Copy of": "Copy of",
  Count: "Count",
  "Created on": "Created on",
  Data: "Data",
  "Data source": "Data source",
  Day: "Day",
  Delete: "Delete",
  "Delete report": "Delete report",
  Description: "Description",
  Query: "Query",
  Edit: "Edit",
  "Enter query name": "Enter query name",
  Export: "Export",
  "To Excel": "To Excel",
  "To CSV": "To CSV",
  "To PNG": "To PNG",
  "To PDF": "To PDF",
  Filter: "Filter",
  "Filtering query": "Filtering query",
  "Frozen columns above": "Frozen columns above",
  Function: "Function",
  Group: "Group",
  "Group summaries": "Group summaries",
  "Join data": "Join data",
  Heatmap: "Heatmap",
  "Labels column": "Labels column",
  Max: "Max",
  Min: "Min",
  Month: "Month",
  New: "New",
  "Click 'New' button to add a new report":
      "Click 'New' button to add a new report",
  "Select any report from the list": "Select any report from the list",
  "No reports": "No reports",
  "No saved queries": "No saved queries",
  "Last modified": "Last modified",
  "New column name": "New column name",
  "New report": "New report",
  "Please delete the related query filter first":
      "Please delete the related query filter first",
  "Please delete the related group rule first":
      "Please delete the related group rule first",
  Rename: "Rename",
  "Report name": "Report name",
  Reports: "Reports",
  Save: "Save",
  "Save query": "Save query",
  Sort: "Sort",
  "Specify columns to group by and output(s)":
      "Specify columns to group by and output(s)",
  "Specify columns to sort by": "Specify columns to sort by",
  Sum: "Sum",
  Table: "Table",
  Title: "Title",
  "Type to search": "Type to search",
  View: "View",
  Year: "Year",
  //chart
  Axes: "Axes",
  "X Axis": "X Axis",
  "Y Axis": "Y Axis",
  columns: "columns",
  rows: "rows",
  "Data series": "Data series",
  "Chart type": "Chart type",
  "Keys column": "Keys column",
  "X axis column": "X axis column",
  "Values column": "Values column",
  Color: "Color",
  "Marker type": "Marker type",
  "Fill marker": "Fill marker",
  Legend: "Legend",
  "Logarithmic scale": "Logarithmic scale",
  Gridlines: "Gridlines",
  Bottom: "Bottom",
  None: "None",
  Right: "Right",
  Line: "Line",
  Spline: "Spline",
  Area: "Area",
  "Stacked area": "Stacked area",
  "Spline area": "Spline area",
  Bar: "Bar",
  "Stacked bar": "Stacked bar",
  Radar: "Radar",
  Pie: "Pie",
  Donut: "Donut",
  "Create copy": "Create copy",
  circle: "circle",
  square: "square",
  triangle: "triangle",
  diamond: "diamond",
  "no markers": "no markers",
  "Vertical labels": "Vertical labels",
  "Extract series from": "Extract series from",
  True: "True",
  False: "False",
  "Save filter to use it in other reports":
      "Save filter to use it in other reports",
  "No filter": "No filter",
  Text: "Text",
  Select: "Select",
};

Как задать свою локаль

Чтобы изменить локаль по умолчанию, необходимо:

  • создать локаль с переводами внутри объекта reports.locales следующим образом (пример русской локали ниже):
// Перевод на русский
reports.locales.ru = {
    "Add column": "Добавить колонку",
    "All reports": "Все отчеты",
};
  • задать текущую локаль для Report Manager с помощью свойства locale внутри конструктора.

Обратите внимание, что вам также потребуется задать локаль для внутреннего инструмента Query:

 
// произвольная локаль для report manager
reports.locales.ru = ruLocale;
//  произвольная локаль для внутреннего query:
query.locales.ru = ruQueryLocale;
 
// кастомный скролл; необязательно
if (!webix.env.touch && webix.env.scrollSize) 
  webix.CustomScroll.init();
 
webix.ui({
  view: "reports",
  locale: {
    lang: "ru",
    webix: {
      // переводим все виджеты Webix в данную локаль
      ru: "ru-RU"
    },
  },
  url:"https://docs.webix.com/reports-backend/"
});

Related sample:  Report Manager: Custom Locale

Как менять локали динамически

Вы можете менять языки динамически, например, при клике по соответствующим кнопкам на панели инструментов.

  • создайте локали с переводом желаемых ярлыков:
reports.locales.ru = {  
  // локали для русского языка
};
 
// другие языки
  • меняйте языки с помощью метода setLang сервиса "locale":
{
  view: "segmented",
  options: ["en", "ru"],
  width: 250,
  click: function() {
    const locale = $$("myReports").getService("locale");
    locale.setLang(this.getValue());
  }
}

Related sample:  Report Manager: Switching Locales

Как синхронизировать Report Manager и Webix локали

Маркеры Webix компонентов внутри Report Manager, а также локализация дат и чисел зависят от текущей локали Webix. Чтобы синхронизировать локализацию Report Manager и Webix, создайте объект webix внутри свойства locale:

{
  view:"reports",
  url:"https://docs.webix.com/reports-backend/",
  locale: {
    lang: "en",
    webix: {
      // переводим Webix в выбранную локаль
      en: "en-US",
      ru: "ru-RU"
    }
  }
}
Наверх