Android: menyelesaikan sumber daya bahasa (dalam aplikasi dan di Play Store)

Saya agak bingung dengan panduan di sini.

Sebelum Android 7, tampaknya perangkat mencoba lokal tertentu, misalnya. fr_FR dan jika tidak ada sumber bahasa seperti itu maka negara tersebut akan dihapus dan dicari di fr.

Atas dasar ini, mengingat saya tidak memiliki banyak penerjemah untuk menerjemahkan ke setiap varian lokal, saya telah memasukkan terjemahan ke dalam folder induk, misalnya. fr, de dll. Jika pengguna tidak menyukai varian yang dikirimkan, ada opsi di aplikasi untuk memilih yang lain.

Untuk Android 7 dan yang lebih baru, panduannya adalah:

menyimpan sumber daya dalam dialek induk yang paling umum. Misalnya, jika Anda menyimpan sumber daya berbahasa Spanyol di direktori values-es-rUS sebelumnya, pindahkan sumber daya tersebut ke direktori values-b+es+419, yang berisi bahasa Spanyol Amerika Latin.

Namun tentunya jika terjemahan bahasa Spanyol Anda sebenarnya untuk es_US, maka tidak masuk akal untuk memperlakukannya sebagai es_419 (karena es_US dan es_419 berbeda)? Mengapa tidak membiarkannya di bawah es_US saja, karena tampaknya untuk Android 7 mereka akan tetap ditemukan (dengan melintasi pohon ke atas dan ke bawah) meskipun perangkat disetel ke es_ES dan es_US adalah satu-satunya yang tersedia?

Untuk pengembang kecil, dengan hanya satu terjemahan yang tersedia untuk bahasa tertentu (misalnya hanya es_ES) apakah masih merupakan strategi yang masuk akal untuk memasukkannya ke folder lokal induk (misalnya es)? Dengan begitu, itu harus dikirimkan untuk varian bahasa Spanyol apa pun yang diminta, baik sebelum dan sesudah Android 7? Tapi ini bertentangan dengan pedoman di atas.

Dan untuk terjemahan deskripsi aplikasi di Play Store, menurut saya tidak ada logika resolusi hierarki seperti yang ada di Android... sepertinya hanya ada daftar bahasa yang datar . Jadi katakanlah Anda hanya memiliki terjemahan untuk bahasa Spanyol (Spanyol), maka agar terjemahan tersebut dapat digunakan di AS, Amerika Latin, dan Spanyol (dengan dasar bahwa varian bahasa Spanyol yang berbeda lebih baik daripada terjemahan mesin bahasa Inggris), apakah Anda perlu menyalinnya ke slot AS Spanyol, Spanyol Amerika Latin, DAN Spanyol Spanyol... tidak ada slot "Spanyol" yang umum?


person drmrbrewer    schedule 22.11.2016    source sumber


Jawaban (2)


Namun tentunya jika terjemahan bahasa Spanyol Anda sebenarnya untuk es_US, maka tidak masuk akal jika memperlakukannya sebagai es_419 (karena es_US dan es_419 berbeda)?

Masuk akal jika Anda hanya memiliki satu terjemahan untuk digunakan pada keduanya.

Mengapa tidak membiarkannya di bawah es_US, karena tampaknya untuk Android 7 mereka akan tetap ditemukan (dengan melintasi pohon ke atas dan ke bawah) meskipun perangkat disetel ke es_ES dan es_US adalah satu-satunya yang tersedia?

Itu akan ditemukan tetapi akan sedikit lebih lambat.

Untuk pengembang kecil, dengan hanya satu terjemahan yang tersedia untuk bahasa tertentu (misalnya hanya es_ES) apakah masih merupakan strategi yang masuk akal untuk memasukkannya ke dalam folder lokal induk (misalnya es)? Dengan begitu, itu harus dikirimkan untuk varian bahasa Spanyol apa pun yang diminta, baik sebelum dan sesudah Android 7?

Kurang dari satu dari seribu perangkat menggunakan Android sebelum versi 7, jadi tidak masuk akal untuk mendukung perangkat tersebut kecuali Anda memiliki basis kode lama, karena semakin rumitnya kompatibilitas ke belakang.

Jika Anda hanya memiliki satu terjemahan, dan mengatakan perangkat mereka disetel ke es_MX, maka ia akan mencari es_MX, lalu es, lalu turunan es lainnya seperti es_ES. Jika Anda hanya memiliki satu terjemahan, es baik-baik saja. Anda mungkin ingin memberi komentar di XML bahwa ini adalah terjemahan es_ES tetapi Anda memasukkannya ke dalam es karena Anda hanya memiliki satu terjemahan (walaupun membiarkannya di es_ES juga tidak masalah, karena perangkat es_MX akan menggunakan es_ES jika mereka tidak menemukan es_MX atau direktori es).

Anda dapat menguji hal-hal ini jika Anda memiliki perangkat Android baru dan memiliki stok yang cukup. Atau emulator. Tetapkan direktori nilai ke satu hal, perangkat ke hal lain, dan lihat terjemahan tertentu yang Anda dapatkan. Ini akan mengikuti apa yang tertulis di halaman web pengembang Android yang Anda tautkan.

person Dennis Sheil    schedule 23.11.2016
comment
Ini akan ditemukan tetapi akan sedikit lebih lambat -- apakah penundaannya benar-benar signifikan? Saya membayangkan mungkin satu atau dua siklus jam. - person drmrbrewer; 24.11.2016
comment
Hanya ingin menekankan bahwa 4 dari 5 perangkat adalah Android sebelum versi 7, bukan 1 dari seribu. Anda mungkin berpikir tentang level API daripada versi Android. (Sumber: developer.android.com/about/dashboards/index.html#Platform) - person Can_of_awe; 20.11.2017

untuk aplikasinya, gunakan folder generik asalkan tidak memiliki variasi regional : alias "es" bukan "es-US". Jadi terjemahannya akan digunakan oleh semua penutur ES. (tidak peduli wilayahnya)

maka Anda bisa menimpa beberapa kata seperti "warna vs warna" untuk en-US vs en-GB.

untuk google play store: Saya tidak yakin. karena TIDAK ada "es", tetapi hanya "es-ES", "es-xxx". dan logikanya tampaknya berbeda.

person Community    schedule 05.12.2017