Локализация 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",
    column: "column",
    "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",
    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",
    buckets: "buckets",
    "Data buckets": "Data buckets",
    "Bucket name": "Bucket name",
    "Bucket values": "Bucket values",
    "Add bucket": "Add bucket",
    "Specify columns and their data buckets":
        "Specify columns and their data buckets",
    Search: "Search",
    Other: "Other",
    "Other values": "Other values",
    "Are you sure to delete?": "Are you sure to delete?",
};

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

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

1. Создать локаль с переводами внутри объекта reports.locales следующим образом (пример русской локали ниже):

// Перевод на русский
reports.locales.ru = {
    "Add column": "Добавить колонку",
    "All reports": "Все отчеты",
};

2. Задать текущую локаль для Report Manager с помощью свойства locale внутри конструктора.

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

 
// произвольная локаль для report manager
reports.locales.ru = ruLocale;
//  произвольная локаль для внутреннего query:
query.locales.ru = ruQueryLocale;
 
// кастомный скролл; необязательно
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

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

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

1. Создайте локали с переводом желаемых ярлыков:

reports.locales.ru = {  
  // локали для русского языка
};
 
// другие языки

2. Меняйте языки с помощью метода 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"
    }
  }
}
Наверх