Kami sedang mengembangkan aplikasi besar, yang terdiri dari banyak paket kecil. Setiap paket memiliki set sendiri file sumber daya untuk pelokalan.
Apa pendekatan terbaik untuk mengatur dan memberi nama string pelokalan?
Inilah pemikiran saya sejauh ini:
Menangani duplikat
Teks yang sama (misalnya, "Kode pos") dapat muncul beberapa kali dalam satu paket. Pemrograman insting (KERING) memberitahu saya untuk membuat sumber daya string tunggal yang dibagikan oleh semua kejadian .
Kemudian lagi, seorang penerjemah mungkin ingin memilih terjemahan yang panjang ("Postleitzahl") di beberapa tempat dan yang lebih pendek ("PLZ") di tempat-tempat dengan lebih sedikit ruang. Atau kita dapat memutuskan untuk menambahkan tanda titik dua pada beberapa kejadian ("Kode pos:"), tetapi tidak untuk yang lain. Atau kami mungkin memerlukan kapitalisasi berbeda ("kode pos") di beberapa tempat. Semua argumen ini menunjuk pada pembuatan satu sumber daya per penggunaan, meskipun kontennya identik .
Penamaan
Jika kami bertujuan untuk menghilangkan duplikat, masuk akal untuk memberi nama sumber daya dengan konten , mungkin mengisyaratkan jenis penggunaan melalui awalan. Jadi kita mungkin memiliki labelOK
= "OK" , messageFileTooLarge
= "File tersebut melebihi ukuran file maksimum." , dan labelZipCode
= "Kode pos" .
Memberi nama berdasarkan konten memiliki keuntungan menangani argumen format secara alami: Sumber daya messageFileHas_0_MBWhileMaximumIs_1_MB
jelas membutuhkan dua argumen format, ukuran file aktual dan ukuran file maksimum.
Namun, jika kami mengizinkan duplikat, penamaan berdasarkan konten saja tidak masuk akal. Untuk mendapatkan nama sumber daya yang unik, kami harus memasukkan tempat penggunaan dalam nama sumber daya tersebut. Itu bekerja untuk kontrol grafis, meskipun pengidentifikasi cenderung agak lama: fileSelectionConfirmationButtonText
= "OK" , customerDetailsTableColumnZipCode
= "Kode Pos" . Namun, untuk file kode non-visual, semakin sulit. Bagaimana Anda memberi nama penggunaan string tertentu jika Anda tidak tahu di mana akhirnya akan ditampilkan? Dengan file kode dan nama fungsi? Tampak agak canggung dan rapuh bagi saya.
Semua dalam semua, saya condong ke arah memungkinkan duplikat, tapi saya berjuang untuk menemukan skema penamaan yang konsisten yang mendukung ini.
Edit: Pertanyaan ini memiliki dua aspek: Cara mengatur sumber daya (DRY vs duplikat) dan bagaimana nama mereka. Sejauh ini, jawabannya terkonsentrasi pada aspek pertama. Saya akan menghargai umpan balik tentang konvensi penamaan!