Lokalisasi Bahasa dan Produk Wikimedia/Penulisan Ulang PBU
Pemilih Bahasa Universal (PBU atau ULS) adalah pengaya MediaWiki. Fitur utamanya adalah pemilih bahasa dengan fungsi pencarian, dukungan untuk fon web dan metode masukan, serta titik masuk untuk mengubah bahasa pengguna, menavigasi ke proyek bahasa lain, dan pengaturan bahasa.
PBU adalah salah satu pengaya paling awal yang dibuat oleh tim Bahasa (sekarang Lokalisasi Bahasa dan Produk, LBP atau LPL). Seiring waktu, pangkalan kodenya yang semakin menua ini menjadi semakin sulit untuk dipelihara. Setiap perubahan membawa risiko regresi yang tinggi, yang menghambat perbaikan atau pengembangan fitur baru. Selain itu, PBU mengalami masalah kinerja dan tidak memiliki dukungan mode gelap yang memadai.
PBU akan terus menghasilkan hutang teknis dan tampak berbeda dari pengalaman pengguna lainnya di situs-situs kami kecuali dilakukan penulisan ulang secara menyeluruh. Dengan sistem rancangan Codex yang kini stabil, kami yakin sekaranglah waktu yang tepat untuk memodernisasi PBU.
Tujuan proyek
- Penyederhanaan. Menurunkan kebergantungan yang sudah usang. Menggunakan sistem rancangan Codex dan JavaScript modern. Menggunakan fitur JavaScript dan CSS asli yang sebelumnya tidak tersedia. Ini akan mempermudah pemeliharaan dan memungkinkan pengembangan fitur baru di masa mendatang.
- Pengalaman terpadu. Karena PBU saat ini berada dalam sebuah pengaya, inti MediaWiki tidak dapat menggunakannya, dan sulit bagi pengaya lain untuk bergantung padanya. Versi baru akan tersedia di inti MediaWiki dan seharusnya menjadi pemilih bahasa bawaan di mana pun di MediaWiki, termasuk kulit seluler, untuk pengalaman pengguna yang konsisten.
- Kemampuan perluasan. Akan ada cara yang bersih dan berkinerja tinggi untuk memperluas PBU guna menyediakan titik masuk ke alat lain atau memodifikasi perilakunya.
- Pengalaman modern. Berkat Codex dan penggunaan fitur asli peramban, kami mengharapkan peningkatan keteraksesan dan kinerja. Kami akan mendapatkan dukungan mode gelap baku.
Bukan tujuan
- Salinan 1:1 dari PBU yang ada. Kami ingin memanfaatkan pembelajaran selama satu dasawarsa dan melakukan perubahan yang selaras dengan tujuan proyek. Ini adalah kesempatan untuk melakukan berbagai hal dengan cara yang lebih baik dan menghapus fungsionalitas yang tidak lagi diperlukan.
- Modernisasi fon web. Meski fon web akan didukung secara minimal, perancangan ulang yang lebih luas berada di luar cakupan. Ada kebutuhan yang semakin meningkat untuk mendukung fon web untuk masalah di luar dukungan bahasa semata.
- Memperbarui penggunaan PBU di luar MediaWiki. Perangkat lunak eksternal dapat terus menggunakan jquery.uls untuk saat ini, meskipun sudah dalam mode pemeliharaan saja. Kami berharap, tetapi tidak menjanjikan, bahwa komponen pemilih bahasa yang baru juga dapat digunakan di luar MediaWiki untuk menyediakan jalur migrasi dari jquery.uls.
Rencana pelaksanaan
Tahap 0: perencanaan (Feb-Okt 2025)
Kami meluangkan waktu di awal untuk menjernihkan cakupan, rencana pelaksanaan, kebergantungan, dan risiko. Hasilnya adalah rencana ini.
Tahap 1: komponen pemilih bahasa baru (November-Desember 2025)
Kami akan menerapkan komponen pemilih bahasa berbasis Codex yang baru. Komponen ini akan disertakan dalam Inti MediaWiki baik secara langsung maupun melalui sebuah pustaka.
Komponen pemilih bahasa baru ini memiliki rancangan tanggap dengan pencarian bahasa. Komponen ini akan mendukung pemilihan bahasa tunggal/rangkap dan memiliki cadangan non-JavaScript.
Untuk mendukung pencarian bahasa, kami akan memindahkan API pencarian bahasa ke Inti MediaWiki.
Pemilih bahasa bergantung pada pustaka data-bahasa. Kami akan menambahkan pustaka ini sebagai kebergantungan baru ke inti MediaWiki dan menyediakan antarmuka PHP dan JavaScript untuk mengaksesnya. Ini adalah pekerjaan persiapan untuk memungkinkan kode lain mulai berpindah dari $.uls.data.
Kami akan mengganti pemilih bahasa yang ada di inti dan di beberapa pengaya tertentu (setidaknya di pengaya yang dikelola oleh tim LBP). Kami belum akan menyentuh titik masuk PBU utama. Ini akan membantu kami mengabsahkan dan menyempurnakan fungsionalitas inti dengan cara yang lebih aman. Pengaya PBU akan tetap tersedia dengan perubahan minimal.
Tahap 2: titik masuk utama komputer meja (~Januari-Juni 2025; waktu yang cukup disediakan untuk peluncuran bertahap)
Titik masuk utama desktop adalah tombol tautan antarbahasa (dalam bahasa Inggris "X bahasa") yang menonjol di kulit Vector 2022. Kita akan meninjau perilaku titik masuk dalam berbagai kasus penggunaan yang bergantung pada ketersediaan Wikibase, Terjemahan Konten, varian bahasa, dan pengaya Terjemahan. Ini berarti bahwa label tombol akan berbeda atau tidak ada dalam keadaan yang berbeda.
Titik masuk yang ada untuk Terjemahan Konten, Terjemahan, dan Wikibase di dalam titik masuk utama PBU akan diperbarui untuk mendukung versi baru.
Kami akan melakukan pekerjaan minimal yang diperlukan untuk menjaga agar fon web dan metode masukan tetap didukung dan dapat diakses.
Untuk memungkinkan peluncuran bertahap, versi baru akan berada di balik bendera fitur. Peluncuran ini mungkin juga bergantung pada fitur beta atau preferensi pengguna untuk jangka waktu terbatas. Urutan peluncuran bertahap untuk sementara ini adalah:
- translatewiki.net
- wiki percontohan (akan ditentukan kemudian) sebagai fitur beta untuk mendapatkan umpan balik awal.
- wiki istimewa
- wiki percontohan
- sisanya bukan Wikipedia
- Semua Wikipedia
Kami juga mempertimbangkan ini sebagai kesempatan untuk memindahkan pengalihan bahasa pada halaman yang dapat diterjemahkan (dari pengaya Terjemahan) ke titik masuk utama, keluar dari area konten halaman. Secara teknis ini sudah dimungkinkan, tetapi memerlukan konsultasi dengan komunitas.
Tahap 3: penyatuan dan pengusangan (~Februari-Juni 2026; pekerjaan dapat dimulai sebelum peluncuran selesai)
Kami akan memperbarui dukungan untuk kulit lain dan situs seluler agar menggunakan pemilih bahasa yang baru. Kode PBU lama akan dihentikan penggunaannya dan kami akan menghubungi pemelihara kode yang menggunakan PBU lama untuk meminta dan membantu mereka berpindah. Terdapat banyak pengaya dan gawai, skrip pengguna. Beberapa di antaranya menggabungkan jquery.uls, beberapa menggunakannya lewat pengaya PBU.
Kami berencana untuk menghapus kode PBU tak terpakai setelah MediaWiki 1.46 dan Bundel Pengaya Bahasa MediaWiki terkait dirilis.
Tahap 4 (tujuan tambahan): penulisan ulang metode masukan (jika masih ada waktu setelah Tahap 3)
Kami akan menulis ulang pustaka jquery.uls agar hanya berisi data berbasis JavaScript murni dan menulis ulang pemaduan MediaWiki.