Skip to content

بومی‌سازی ​

کارت جاروبرقی Dreame به طور بومی از چندین زبان پشتیبانی می‌کند. این کارت به‌صورت پویا از فایل‌های زبانی که توسط یکپارچه‌سازی 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 ادغام می‌شوند.

تعمیم ترجمه

اپ رسمی اغلب از اصطلاحات مختلف برای پارامترهای یکسان در نسل‌های مختلف دستگاه استفاده می‌کند. ترجمه‌ها باید از نام‌های منطقی و تعمیم‌یافته استفاده کنند و نه صرفاً کپی دقیق کلمات APP. این مانع از بروز تضاد ترجمه می‌شود، جایی که اصلاحی که برای یک نسل خاص تهیه شده، توسط کاربران با نسل‌های مختلف دستگاه بازنویسی شود.

فرایند به‌روزرسانی شامل مراحل زیر است:

  1. کپی کردن مخزن: کپی کردن مخزن یکپارچه‌سازی Dreame Vacuum Home Assistant در گیت‌هاب.
  2. یافتن فایل ترجمه: رفتن به دایرکتوری custom_components/dreame_vacuum/translations/ در مخزن کپی شده برای یافتن فایل ترجمه مطابق با کد زبان، مانند de.json یا it.json.
  3. اعمال تغییرات: به‌روزرسانی متن نادرست. بلوک‌های frontend_action، frontend_config، frontend_message و frontend_title متن‌های مربوط به رابط کاربری را مدیریت می‌کنند. بلوک entity نام سنسورها، گزینه‌های انتخاب و وضعیت آن‌ها را مدیریت می‌کند.
  4. ارسال درخواست Pull: باز کردن یک Pull Request به مخزن اصلی. پس از بررسی و ادغام Pull Request در نسخه جدید یکپارچه‌سازی، Dreame Vacuum Card به‌طور خودکار ترجمه‌های به‌روزشده را دریافت می‌کند.