Lewati ke konten utama

Lokalisasi

Lokalisasi — dukungan 23 bahasa, RTL, format tanggal/nomor spesifik locale.

Bahasa yang Didukung​

cMind mendukung 23 bahasa:

BahasaKode
Englishen
Arabicar
Chinese (Simplified)zh-Hans
Chinese (Traditional)zh-Hant
Czechcs
Germande
Greekel
Spanishes
Frenchfr
Hungarianhu
Indonesianid
Italianit
Japaneseja
Koreanko
Malayms
Polishpl
Portuguese (Brazil)pt-BR
Russianru
Slovaksk
Sloveniansl
Serbiansr
Thaith
Turkishtr
Vietnamesevi

Mengubah Bahasa​

UI​

  1. Buka Settings → Language.
  2. Pilih bahasa dari dropdown.
  3. UI langsung berubah tanpa refresh.

API​

POST /api/set-culture
{
"culture": "id"
}

Browser​

Bahasa diatur otomatis dari Accept-Language header browser.

RTL Support​

Bahasa RTL​

Arabic adalah RTL (right-to-left):

<MudRTLProvider>
<MudThemeProvider />
<!-- App content -->
</MudRTLProvider>

HTML dir attribute diatur otomatis:

<html dir="rtl" lang="ar">

Considerations​

  • Semua komponen UI mendukung RTL.
  • Chart dan visualisasi di-flip otomatis.
  • Ikon tertentu perlu di-mirror.

Format​

Number​

LocaleContoh
en-US1,234.56
de-DE1.234,56
id-ID1.234,56

Date​

LocaleContoh
en-US01/15/2024
de-DE15.01.2024
id-ID15/01/2024

Currency​

LocaleContoh
en-US$1,234.56
de-DE1.234,56 €
id-IDRp 1.234

Translation Keys​

Format​

{
"key": "value",
"dashboard_title": "Dashboard",
"copy_trading": "Copy Trading",
"settings_saved": "Settings saved successfully"
}

Di Code​

// Inject IStringLocalizer
private readonly IStringLocalizer<Ui> _l;

// Gunakan
var title = _l["dashboard_title"];
var message = _l["settings_saved"];

Di Razor​

@L["dashboard_title"]
@L["copy_trading"]

Membuat Translation Baru​

  1. Tambah key ke tools/i18n/ui-translations.json.
  2. Generate resource files:
pwsh tools/i18n/gen-resx.ps1
  1. Terjemahkan semua file .resx di src/Web/Resources/.
  2. Build — resource parity gate memastikan semua bahasa lengkap.

Fallback​

Jika translation key tidak ditemukan:

  1. Cek bahasa spesifik (mis. id-ID).
  2. Cek language tanpa region (mis. id).
  3. Fallback ke English.

Testing​

Visual Check​

  • Setiap halaman dengan teks UI.
  • Format number, date, currency.
  • RTL layout.

Automated Tests​

ResourceParityTests memastikan:

  • Tidak ada key yang kosong.
  • Semua bahasa memiliki jumlah key yang sama.