本地化
Dreame 吸塵器卡片原生支持多種語言。它動態使用後端 dreame_vacuum 集成提供的語言文件,而不是維護單獨的本地化文件。
該卡片從 dreame_vacuum 集成翻譯文件 中的 entity_component 部分檢索本地化文本值。
翻譯鍵
在語言文件中,卡片主要使用幾個以 frontend_ 開頭的鍵類別來顯示其界面:
frontend_action:此部分包含卡片主控制面板上操作按鈕內使用的所有文本,例如 開始、暫停 或 返回充電座。frontend_config:此部分包含在可視化卡片配置界面 UI 中使用的所有文本標籤、描述和設置。frontend_message:包含卡片上顯示的狀態消息、警報、錯誤報告和警告。frontend_title:涵蓋卡片菜單中使用的標題和部分標題,如 地圖管理 或 清潔設置。entity:此區塊涵蓋 Home Assistant 實體領域,例如select、sensor、switch、number、time和input。卡片會動態提取這些實體的名稱與狀態,例如 吸力等級 或 安靜,直接從整合中獲取以確保一致性。- 卡片專用狀態:提供僅在卡片 UI 中使用的內部狀態翻譯,而非 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。
- 卡片專用狀態:提供僅在卡片 UI 中使用的內部狀態翻譯,而非 Home Assistant 實體。這包括房間名稱(來源於
日期、時間與單位格式
除文字翻譯之外,卡片會自動適應本地格式偏好,不需要任何手動配置:
- 語言與地區設定:卡片會優先使用 Home Assistant 個人資料中選擇的語言。如果那裡未明確設定語言,則會自動回退至網頁瀏覽器的預設語言。
- 12/24小時格式:該卡片會遵循在 Home Assistant 配置檔中設定的時間格式。如果未指定,將自動採用裝置所在區域的標準時間格式。
- 一周的第一天:該卡片會直接讀取 Home Assistant 的一周第一天設定。如果未定義,則會根據當地區域動態判斷日曆應從星期日還是星期一開始。
- 單位系統:該卡片會持續檢查 Home Assistant 的全局配置。如果系統使用英制單位,卡片會自動重新計算面積和距離,並以英尺、平方英尺或碼為單位顯示。
- 原生單位翻譯:常見的單位後綴和縮寫,例如 米、公里、英尺、碼、分鐘 以及 小時,不需要任何手動翻譯。卡片會利用針對當前語言專門設計的內建瀏覽器功能即時翻譯它們。
修正或改進翻譯
如果發現拼寫錯誤或翻譯不正確,或需要支持新的語言,貢獻將提交至主要的 dreame_vacuum 集成庫。
翻譯的一般化
官方應用在不同設備世代之間,對相同參數經常使用不同術語。翻譯必須使用邏輯且一般化的名稱,而非嚴格複製 APP 的原文。這可以防止針對特定世代的修正,被使用不同設備世代的用戶覆蓋。
更新流程包括以下步驟:
- 分叉倉庫:在 GitHub 上分叉 Dreame Vacuum Home Assistant 整合倉庫。
- 找到翻譯文件:在分叉的倉庫中導航到
custom_components/dreame_vacuum/translations/目錄以找到與語言代碼匹配的翻譯文件,例如de.json或it.json。 - 進行更改:更新不正確的文字。
frontend_action、frontend_config、frontend_message和frontend_title模塊管理與 UI 相關的文字。entity模塊管理感測器名稱、選項和它們的狀態。 - 提交拉取請求:向主倉庫打開拉取請求。在拉取請求被審查並合併到整合的新版本後,Dreame Vacuum Card 會自動獲取更新的翻譯。