Bahasa Dashboard, Content Locale, dan Integrasi Translasi

Bahasa Dashboard, Content Locale, dan Integrasi Translasi

Jyavani memisahkan bahasa antarmuka dashboard dari locale dasar konten. Pemisahan ini memungkinkan editor memakai UI Indonesia sementara situs dasar menggunakan bahasa lain.

Dua setting

  • site_language mengisi locale dashboard melalui admin_ui_locale().
  • content_default_language mengisi locale frontend melalui default_locale()/content_default_locale().

Jika content default kosong atau invalid, Core jatuh kembali ke site language; nilai invalid site language jatuh ke English. Seed UI menyediakan source English serta translasi Indonesia dan Jerman. English tidak memerlukan lookup database.

Bootstrap dan HTML

Bootstrap membaca kedua setting, mengaktifkan content locale untuk frontend, lalu dashboard mengaktifkan kembali site language. Atribut lang melewati filter sehingga integrasi dapat menyesuaikan nilai. Seed UI diimpor idempotent: string baru ditambahkan tanpa menimpa terjemahan yang sudah diedit.

Apa yang bukan fitur Core

Core tidak membuat salinan terjemahan artikel/halaman, workflow penerjemah, language switcher data, route terjemahan, hreflang, atau fallback konten otomatis. Core hanya menyediakan locale helper, UI seed, hook lifecycle konten, tabel route ber-locale, dan extension point.

Tanggung jawab plugin translasi

Plugin menentukan model translasi, locale yang didukung, akses editor, dan fallback. Gunakan hook admin_post_after_*/admin_page_after_* untuk sinkronisasi setelah mutasi. Buat canonical route dan alias untuk setiap locale tanpa collision; default locale biasanya tanpa prefix, locale lain memakai prefix.

Menu dan kategori hanya diterjemahkan bila plugin secara eksplisit mendukung record tersebut dan theme memakai hasil integrasinya. Jangan menganggap mengganti content default otomatis menerjemahkan slug, menu, kategori, metadata, atau isi lama. Uji UI en/id/de, URL default/terjemahan, redirect, canonical, sitemap, dan kondisi plugin disabled.