Skip to content

feat(i18n): Add Turkish translations for viomi.vacuum.v38#1726

Open
muminkoykiran wants to merge 3 commits into
XiaoMi:mainfrom
muminkoykiran:feat/tr-viomi-v38-translations
Open

feat(i18n): Add Turkish translations for viomi.vacuum.v38#1726
muminkoykiran wants to merge 3 commits into
XiaoMi:mainfrom
muminkoykiran:feat/tr-viomi-v38-translations

Conversation

@muminkoykiran

@muminkoykiran muminkoykiran commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix `service:002`/`service:003` swap: Battery and Robot Cleaner service names were reversed in the existing `tr` entry
  • Add complete Turkish translations for all 8 services (227 keys total), replacing the previous incomplete/incorrect 50-key entry
  • Services covered: Device Info (svc 1), Robot Cleaner (svc 2), Battery (svc 3), and all 5 proprietary services: Sweeper/svc 4, Scheduling+DND/svc 5, Point+Zone Cleaning/svc 6, Map Management/svc 7, Sound/svc 8

Changed file

`custom_components/xiaomi_home/miot/specs/multi_lang.json` — `urn:miot-spec-v2:device:vacuum:0000A006:viomi-v38` entry, `tr` language only

What was translated (227 keys)

Service Turkish name Keys
svc 2 — Robot Cleaner Robot Süpürge status values, fault codes (27 errors), sweep types, 8 actions, 1 event
svc 3 — Battery Pil battery level
svc 4 — 扫地机 (proprietary) Süpürge brush/filter/mop life sensors, suction/water/mop-route selects, cleaning stats, map count, direction control, room ops, 4 actions, 4 events
svc 5 — 预约勿扰 (proprietary) Zamanlama ve Rahatsız Etme all scheduling + DND properties incl. boolean value lists
svc 6 — 指哪扫那 (proprietary) Nokta/Bölge Temizleme point/zone/virtual-wall properties, 4 actions
svc 7 — 地图 (proprietary) Harita map id/name/list, map type valuelist, 9 actions
svc 8 — 声音 (proprietary) Ses voice pack properties, download status, 3 actions

Test plan

  • Tested on Home Assistant 2026.5.x with `xiaomi_home` v0.4.7 on a live `viomi.vacuum.v38` device
  • All 128 entities now show Turkish names (0 remaining Chinese names)
  • Service names fixed: `Robot Süpürge` (svc 2), `Pil` (svc 3)
  • Proprietary service names: `Süpürge`, `Zamanlama ve Rahatsız Etme`, `Nokta/Bölge Temizleme`, `Harita`, `Ses`
  • Value lists translated: suction grades (Sessiz/Standart/Orta/Güçlü), water levels (Düşük/Orta/Yüksek), mop routes (Paralel/Y Şekli), sweep types, cleaning modes/methods, consumable names, fault codes, status values, map upload types
  • No other languages affected

🤖 Generated with Claude Code

Complete Turkish (tr) translation for the viomi.vacuum.v38 robot
vacuum device, covering all 8 services (128 entities):

- Fix service:002/003 swap (Battery and Robot Cleaner were reversed)
- Add service:002 (Robot Cleaner): status values, fault codes,
  sweep types, actions
- Add service:004 (proprietary): brush/filter/mop life sensors,
  suction/water/mop-route selects, cleaning stats, map count
- Add service:005 (scheduling/DND): all scheduling and do-not-disturb
  properties
- Add service:006 (spot/zone): point and zone cleaning controls
- Add service:007 (map): map management actions and properties
- Add service:008 (sound): voice pack properties and find-robot action

Tested on Home Assistant 2026.5.x with xiaomi_home v0.4.7.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 5, 2026 06:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates Turkish (tr) MIoT localization strings for the viomi-v38 vacuum device to provide more complete/structured labels (including value lists, actions, and events).

Changes:

  • Replaces the prior tr translation block for viomi-v38 with a significantly expanded set of service/property/action/event labels.
  • Adds many valuelist entries for operational states, error codes, cleaning types, and related options.
  • Adjusts/extends naming for map, scheduling, and voice related capabilities.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +663 to +693
"service:008": "Ses",
"service:008:property:003": "Hedef Ses Paketi",
"service:008:property:004": "Mevcut Ses Paketi",
"service:008:action:002": "Robotu Bul (Ses)",
"service:004:action:010": "Kalibrasyon",
"service:004:property:024": "Cihaz Saat Dilimi",
"service:004:property:028": "Temizlik Haritası URL",
"service:004:property:032": "Mevcut Harita ID",
"service:005:property:001": "Zamanlama ID",
"service:005:property:002": "Zamanlama Aktif",
"service:005:property:003": "Zamanlama Günleri",
"service:005:property:004": "Zamanlama Saati",
"service:005:property:005": "Zamanlama Dakikası",
"service:005:property:006": "Tekrar Et",
"service:005:property:008": "Zamanlama Modu",
"service:005:property:009": "Zamanlama Emme Gücü",
"service:005:property:010": "Zamanlama Su Akış Düzeyi",
"service:005:property:011": "İkinci Geçiş",
"service:005:property:012": "Zamanlama Harita ID",
"service:005:property:013": "Oda Sayısı",
"service:005:property:014": "Oda Verileri",
"service:005:property:020": "Saat Dilimi Parametresi",
"service:005:property:022": "Zamanlama Verisi",
"service:007:property:005": "Dil Parametresi",
"service:007:property:006": "Oda Birleştirme ID'leri",
"service:007:property:007": "Hedef Oda ID",
"service:007:property:008": "Oda Bölme Koordinatları",
"service:007:property:009": "Oda Adı",
"service:007:action:001": "Haritayı Türüne Göre Yükle",
"service:007:action:002": "Haritayı ID'ye Göre Yükle",
"service:004:property:031": "Cihaz Dili"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in the latest commit — all 227 keys are now sorted by service → property/action/event → valuelist order.

Comment on lines +537 to +543
"service:002:property:002:valuelist:013": "Çöp Haznesi Dolu",
"service:002:property:002:valuelist:014": "Çöp Haznesi Çıkarılmış",
"service:002:property:002:valuelist:015": "Çöp Haznesi Dolu ve Çıkarılmış",
"service:002:property:002:valuelist:016": "Sıkışma",
"service:002:property:002:valuelist:017": "Kaldırıldı",
"service:002:property:002:valuelist:018": "Çöp Haznesi Çıkarılmış",
"service:002:property:002:valuelist:020": "Hedefe Ulaşılamıyor",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified against the MIoT spec: both error codes 14 and 18 have identical descriptions (Garbage Out) in the upstream spec. The duplicate Turkish translation is intentional — it reflects the spec faithfully. No change needed.

muminkoykiran and others added 2 commits June 5, 2026 10:09
Add translations for service 4-8 properties that were still showing
internal/English names: map upload type valuelist, DND boolean values,
download status, voice pack properties, room operation controls,
new map state, cleaned area type, and misc sensor properties.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants