Skip to content

ローカライズ ​

Dreameバキュームカードは複数の言語をネイティブにサポートしています。個別のローカリゼーションファイルを管理するのではなく、バックエンドdreame_vacuum統合によって提供される言語ファイルを動的に使用します。

カードはdreame_vacuum 統合翻訳ファイル内のentity_componentセクションからローカライズされたテキスト値を取得します。

翻訳キー ​

言語ファイル内で、カードは主にfrontend_で始まるいくつかのキーカテゴリを使用してインターフェースを表示します:

  • frontend_action:このセクションには、カードのメインコントロールパネルのアクションボタン内で使用されるすべてのテキストが含まれています。例えば、開始、一時停止、またはドックなどです。

  • frontend_config:このセクションには、ビジュアルカードコンフィギュレーターUIで使用されるすべてのテキストラベル、説明、および設定が含まれています。

  • frontend_message:カードに表示されるステータスメッセージ、アラート、エラーレポート、および警告が含まれています。

  • frontend_title:カードのメニュー内で使用される見出しやセクションタイトルをカバーしています。例えば、マップ管理や清掃設定などです。

  • entity:このブロックは、select、sensor、switch、number、time、input などの Home Assistant エンティティドメインをカバーします。カードは、統合からこれらのエンティティの名前や状態(例:吸引レベル や 静音)を動的に取得し、一貫性を確保します。

    • カード固有の状態:Home Assistant エンティティではなく、カードの UI 専用に使用される内部状態の翻訳を提供します。これには、部屋の名前(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統合リポジトリに行われます。

翻訳の一般化

公式アプリは、異なるデバイス世代間で同じパラメータに対して異なる用語を頻繁に使用します。翻訳は、APPの正確な文言を単にコピーするのではなく、論理的で一般化された名前を使用する必要があります。これにより、特定の世代向けに調整された修正が、異なるデバイス世代を持つユーザーによって上書きされる翻訳の競合を防ぐことができます。

更新プロセスは以下の手順で行われます:

  1. リポジトリをフォークする: GitHub上のDreame Vacuum Home Assistant統合リポジトリをフォークする。
  2. 翻訳ファイルを見つける: フォークしたリポジトリ内のcustom_components/dreame_vacuum/translations/ディレクトリに移動して、言語コードに対応する翻訳ファイル(例えばde.jsonやit.json)を見つける。
  3. 変更を加える: 間違っているテキストを更新する。frontend_action、frontend_config、frontend_message、frontend_titleブロックはUI関連のテキストを管理する。entityブロックはセンサー名、選択オプション、およびその状態を管理する。
  4. プルリクエストを提出する: メインリポジトリにプルリクエストを作成する。プルリクエストがレビューされ、統合の新しいリリースにマージされると、Dreame Vacuum Cardは自動的に更新された翻訳を取り込む。