Lokalisasikan game PlayDrop dan listingannya
Baca bahasa pemain dengan sdk.host.language, pilih bahasa dari 20 bahasa PlayDrop, dan terjemahkan listingan serta gambarnya dengan listingLocalizations.
Situs web dan aplikasi PlayDrop tersedia dalam 20 bahasa. Game bisa mengikuti bahasa pemain di dua tempat yang terpisah: game itu sendiri, yang Anda terjemahkan di kode, dan listingannya, yang Anda terjemahkan di catalogue.json.
Mulai dengan bahasa Inggris ditambah satu bahasa
Rilis dalam bahasa Inggris, ditambah bahasa pengguna Anda jika berbeda. Tambahkan bahasa lain saat Anda berencana menjangkau pemain bahasa itu. Terjemahan setengah jadi terasa lebih buruk daripada game berbahasa Inggris yang bagus, jadi terjemahkan seluruh layar.
Terjemahkan game
sdk.host.language adalah bahasa pemain di antara 20 bahasa PlayDrop: en, fr, de, es, pt-BR, it, nl, sv, nb, fi, pl, tr, ar, th, vi, id, ja, ko, zh-Hans, dan zh-Hant.
const STRINGS = { en: { play: "Play" }, fr: { play: "Jouer" } };
let language = "en";
try { language = sdk.host.language; } catch { /* older host */ }
const t = STRINGS[language] ?? STRINGS[language.split("-")[0]] ?? STRINGS.en;sdk.host.locale adalah nilai lama, terbatas pada sepuluh bahasa awal dan en untuk bahasa lainnya; utamakan language. Keduanya bisa memunculkan host_locale_unavailable di host yang sangat lama. Bahasa Arab ditulis dari kanan ke kiri: cerminkan tata letaknya, bukan gameplay-nya, dan uji kata-kata panjang dalam bahasa Jerman dan Finlandia.
Terjemahkan listingan
Tetapkan sourceLocale ke bahasa yang dipakai untuk menulis listingan, lalu tambahkan satu terjemahan lengkap per bahasa di listingLocalizations, dengan kunci berupa bahasa:
{
"sourceLocale": "en",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"listingLocalizations": {
"fr": {
"displayName": "Saut lunaire",
"subtitle": "Des plateformes lunaires contre la montre",
"description": "Sautez de plateforme en plateforme et atteignez le drapeau.",
"controls": "Touchez ou appuyez sur Espace pour sauter.",
"listing": { "heroLandscape": "listing/locales/fr/hero-landscape.png" }
}
}
}- Setiap terjemahan memerlukan
displayNamesendiri. Terjemahan juga bisa menerjemahkansubtitle,description,inspirationPrompt,controls,makingOf, danreleaseNotes. - Gambar terjemahan, seperti gambar utama dengan judul yang diterjemahkan, dimasukkan ke objek
listingmilik terjemahan itu, dengan field yang sama seperti listingan utama. - PlayDrop mencatat versi teks sumber yang dicocokkan setiap terjemahan. Saat listingan sumber berubah, perbarui terjemahannya di unggahan yang sama.
Listingan yang diterjemahkan tidak menerjemahkan game, dan game yang diterjemahkan tidak menerjemahkan listingan. Cantumkan hanya bahasa yang benar-benar didukung game.
Pemain dan pencarian
Situs web menyajikan setiap bahasa di alamatnya sendiri dengan tautan antarversi, sehingga mesin pencari bisa menawarkan bahasa pembaca. Pemain melihat terjemahan yang sesuai dengan bahasa PlayDrop mereka, dan bahasa sumber jika tidak ada.