Skip to content

Локализация ​

Картата на Dreame Vacuum поддържа няколко езика по подразбиране. Тя динамично използва езиковите файлове, предоставени от интеграцията на бекенда dreame_vacuum, вместо да поддържа отделни файлове за локализация.

Картата извлича локализирани текстови стойности от секцията entity_component в dreame_vacuum файлове за превод на интеграция.

Ключове за превод ​

В езиковите файлове картата основно използва няколко категории ключове, започващи с frontend_, за да показва интерфейса си:

  • frontend_action: Тази секция съдържа целия текст, използван вътре в бутоните за действие на главния контролен панел на картата, като Старт, Пауза или Док.

  • frontend_config: Тази секция съдържа всички текстови етикети, описания и настройки, използвани във визуалния конфигуратор на картата.

  • frontend_message: Съдържа съобщения за статус, предупреждения, отчети за грешки и сигнали, показвани на картата.

  • frontend_title: Обхваща заглавията и имената на секциите, използвани в менюта на картата, като Управление на карта или Настройки за почистване.

  • entity: Този блок обхваща домейни на Home Assistant като select, sensor, switch, number, time и input. Картата динамично извлича имената и състоянията на тези обекти, като Ниво на засмукване или Тихо, директно от интеграцията, за да се гарантира съгласуваност.

    • Състояния, специфични за картата: Осигурява преводи за вътрешни състояния, използвани изключително от потребителския интерфейс на картата, а не от обектите на Home Assistant. Това включва имена на стаи (извлечени от обекта segment_name), заедно с конкретни идентификатори като task_type, edit_type, map_type, object_type, furniture_type, obstacle_type, obstacle_reason, task_end_type, task_interrupt_reason, startup_method, cleanup_method и recovery_map_type.

Форматиране на дата, час и единици ​

Освен превода на текст, картата автоматично се адаптира към местните предпочитания за форматиране, без да е необходима ръчна конфигурация:

  • Език и локализация: Картата дава приоритет на езика, избран в профила на Home Assistant. Ако там не е зададен конкретен език, автоматично се използва езикът по подразбиране на уеб браузъра.
  • Формат на времето 12/24 часа: Картата следва формата на времето, конфигуриран в профила на Home Assistant. Ако не е посочен, автоматично приема стандартния формат на времето за региона на устройството.
  • Първи ден от седмицата: Картата чете настройката за първия ден от седмицата директно от Home Assistant. Ако не е дефинирана, динамично определя дали календарът трябва да започва в неделя или понеделник, в зависимост от местния регион.
  • Система за мерни единици: Картата постоянно проверява глобалната конфигурация на Home Assistant. Ако системата използва имперската система за единици, картата автоматично преизчислява площите и разстоянията, като ги показва на естествено в футове, квадратни футове или ярдове.
  • Преводи на местни единици: Обичайни суфикси и съкращения на единици, като метър, километър, фут, ярд, минута и час, не изискват ръчен превод. Картата ги превежда автоматично, като използва вградените функции на браузъра, създадени специално за активния език.

Поправете или подобрете преводите ​

Ако бъде открита печатна грешка или неправилен превод, или е необходима поддръжка за нов език, приносът се изпраща в основното dreame_vacuum хранилище за интеграция.

Обобщаване на преводите

Официалното приложение често използва различна терминология за идентични параметри в различните поколения устройства. Преводите трябва да използват логични, обобщени имена, а не да копират строго точните думи от приложението. Това предотвратява конфликти при превода, при които корекция, предназначена за конкретно поколение, бива презаписана от потребители с различни поколения устройства.

Процесът на актуализация включва следните стъпки:

  1. Разклонете хранилището: Разклоняване на хранилището за интеграция на Dreame Vacuum Home Assistant в GitHub.
  2. Намерете файла за превод: Навигиране до директорията custom_components/dreame_vacuum/translations/ в разклоненото хранилище, за да намерите файла за превод, съответстващ на езиковия код, като de.json или it.json.
  3. Направете промените: Актуализиране на некоректния текст. Блоковете frontend_action, frontend_config, frontend_message и frontend_title управляват текстове, свързани с потребителския интерфейс. Блокът entity управлява имената на сензорите, опциите за избор и техните състояния.
  4. Изпратете Pull Request: Създаване на Pull Request към основното хранилище. След като Pull Request бъде прегледан и обединен в ново издание на интеграцията, картата Dreame Vacuum автоматично ще вземе актуализираните преводи.