Skip to content

Lokalizacja ​

Karta Dreame Vacuum natywnie obsługuje wiele języków. Dynamicznie korzysta z plików językowych dostarczanych przez integrację backend dreame_vacuum, zamiast utrzymywać oddzielne pliki lokalizacyjne.

Karta pobiera zlokalizowane wartości tekstowe z sekcji entity_component w dreame_vacuum pliki tłumaczeń integracji.

Klucze tłumaczeń ​

W plikach językowych karta głównie używa kilku kategorii kluczy rozpoczynających się od frontend_, aby wyświetlać swój interfejs:

  • frontend_action: Ta sekcja zawiera wszystkie teksty używane wewnątrz przycisków akcji na głównym panelu sterowania karty, takie jak Start, Pauza lub Dokowanie.

  • frontend_config: Ta sekcja zawiera wszystkie etykiety tekstowe, opisy i ustawienia używane wewnątrz wizualnego interfejsu konfiguracyjnego karty.

  • frontend_message: Zawiera komunikaty statusu, alerty, raporty błędów i ostrzeżenia wyświetlane na karcie.

  • frontend_title: Obejmuje nagłówki i tytuły sekcji używane w menu karty, takie jak Zarządzanie mapą lub Ustawienia czyszczenia.

  • entity: Ten blok obejmuje domeny encji Home Assistant, takie jak select, sensor, switch, number, time i input. Karta dynamicznie pobiera nazwy i stany tych encji, takie jak Poziom ssania lub Cichy, bezpośrednio z integracji, aby zapewnić spójność.

    • Stany specyficzne dla karty: Zapewnia tłumaczenia dla wewnętrznych stanów używanych wyłącznie przez interfejs użytkownika karty, a nie encje Home Assistant. Obejmuje to nazwy pomieszczeń (pochodzące z encji segment_name), wraz z konkretnymi identyfikatorami takimi jak task_type, edit_type, map_type, object_type, furniture_type, obstacle_type, obstacle_reason, task_end_type, task_interrupt_reason, startup_method, cleanup_method i recovery_map_type.

Formatowanie daty, czasu i jednostek ​

Oprócz tłumaczeń tekstu, karta automatycznie dostosowuje się do lokalnych preferencji formatowania, bez konieczności ręcznej konfiguracji:

  • Język i lokalizacja: Karta priorytetowo traktuje język wybrany w profilu Home Assistant. Jeśli nie wybrano tam żadnego języka, automatycznie wraca do domyślnego języka przeglądarki internetowej.
  • Format czasu 12/24-godzinny: Karta respektuje format czasu skonfigurowany w profilu Home Assistant. Jeśli nie jest określony, automatycznie przyjmuje standardowy format czasu obowiązujący w regionie urządzenia.
  • Pierwszy dzień tygodnia: Karta odczytuje ustawienie pierwszego dnia tygodnia bezpośrednio z Home Assistant. Jeśli nie jest zdefiniowane, dynamicznie ustala, czy kalendarz powinien rozpoczynać się od niedzieli czy poniedziałku w zależności od lokalnego regionu.
  • System jednostek: Karta ciągle sprawdza globalną konfigurację Home Assistant. Jeśli system używa jednostek imperialnych, karta automatycznie przelicza powierzchnie i odległości, wyświetlając je natywnie w stopach, stopach kwadratowych lub jardach.
  • Tłumaczenia Jednostek Rodzimych: Typowe sufiksy jednostek i skróty, takie jak metr, kilometr, stopa, jard, minuta i godzina, nie wymagają ręcznego tłumaczenia. Karta tłumaczy je automatycznie, korzystając z wbudowanych funkcji przeglądarki, dostosowanych specjalnie do aktywnego języka.

Napraw lub popraw tłumaczenia ​

Jeśli zostanie wykryty błąd literowy lub niepoprawne tłumaczenie, albo jeśli potrzebne jest wsparcie dla nowego języka, wkład należy kierować do głównego dreame_vacuum repozytorium integracyjnego.

Uogólnienie tłumaczenia

Oficjalna aplikacja często używa różnych terminów dla tych samych parametrów w różnych generacjach urządzeń. Tłumaczenia muszą wykorzystywać logiczne, uogólnione nazwy, zamiast kopiować dokładne sformułowania z aplikacji. Zapobiega to konfliktom tłumaczeniowym, gdy poprawka dostosowana do jednej konkretnej generacji jest później nadpisywana przez użytkowników z innymi generacjami urządzeń.

Proces aktualizacji obejmuje następujące kroki:

  1. Rozdziel Repozytorium: Rozdzielanie repozytorium integracji Dreame Vacuum Home Assistant na GitHub.
  2. Znajdź Plik Tłumaczenia: Przejście do katalogu custom_components/dreame_vacuum/translations/ w rozdzielonym repozytorium, aby znaleźć plik tłumaczenia odpowiadający kodowi języka, takiemu jak de.json lub it.json.
  3. Wprowadź Zmiany: Aktualizacja niepoprawnego tekstu. Bloki frontend_action, frontend_config, frontend_message i frontend_title zarządzają tekstem związanym z interfejsem użytkownika. Blok entity zarządza nazwami czujników, opcjami wyboru i ich stanami.
  4. Zgłoś Pull Request: Otwarcie Pull Request do głównego repozytorium. Po przejrzeniu Pull Request i jego scaleniu w nową wersję integracji, Dreame Vacuum Card automatycznie pobiera zaktualizowane tłumaczenia.