Untuk menemukan terjemahan usang yang masih ditandai sudah diterjemahkan, telusuri pesan sumber yang berubah ke entri String Catalog-nya, bangun ulang, lalu bandingkan redaksinya. Tanda centang hijau saja tidak dapat mengatasi ketidaksesuaian yang sudah Anda identifikasi.
Alur kerja ini ditujukan bagi seseorang yang memelihara app Mac di Xcode dengan katalog .xcstrings yang sudah ada. Tugasnya adalah mengidentifikasi terjemahan mana yang perlu diperhatikan setelah teks sumber bahasa Inggris diedit, mempertahankan teks lama yang masih berguna, dan memverifikasi pesan yang sudah diperbaiki di app yang berjalan.
Apa yang seharusnya terjadi saat pesan sumber berubah?
Apple mendokumentasikan bahwa perubahan pada string sumber akan menandai terjemahannya untuk ditinjau. Status katalog membedakan string yang belum diterjemahkan (New), string yang memerlukan perhatian (Needs Review), dan string yang sudah diterjemahkan dengan tanda centang hijau. Status terpisah Stale berarti Xcode tidak lagi dapat menemukan string yang sebelumnya diterjemahkan di dalam kode. Mengenal String Catalog
Istilah tersebut penting saat mendiagnosis masalah ini. Terjemahan usang dari pesan yang masih digunakan app Anda perlu ditinjau. Jika Anda hanya mencari status Stale di katalog, masalah itu bisa terlewat.
Perilaku perubahan sumber yang didokumentasikan Apple memberi gambaran tentang hasil yang diharapkan, tetapi tidak menjelaskan mengapa entri tertentu tetap berstatus sudah diterjemahkan. Jika itu terjadi, selidiki hubungan antara sumber yang diedit dan katalog sebelum menganggap tanda centang sebagai bukti memadai bahwa redaksinya sudah sesuai.
Temukan pesan yang tepat sebelum meninjau terjemahan
Mulailah dengan satu pesan yang berubah. Catat redaksi bahasa Inggris sebelumnya, redaksi saat ini, kunci pencarian jika terpisah, dan nama katalog. Catatan perbandingan sederhana ini merupakan alat bantu diagnosis yang disarankan, bukan fitur Xcode. Catatan ini memberi Anda hal konkret untuk diperiksa ketika beberapa entri tampak serupa.
Sebagai contoh, misalkan tombol desktop sebelumnya menampilkan Open item dan sekarang menampilkan Open selected items. Pertanyaan tinjauannya adalah apakah setiap terjemahan masih menjelaskan tindakan membuka pilihan saat ini, termasuk kemungkinan beberapa item dipilih. Sekadar menemukan terjemahan untuk kata Open tidak akan menjawab pertanyaan itu.
Bedakan kunci pencarian dari teks yang ditampilkan
Swift mendukung kunci pencarian statis eksplisit dengan defaultValue yang terpisah. Nilai default tersebut biasanya berupa teks dalam bahasa pengembangan dan digunakan jika pencarian gagal. comment memberikan konteks bagi penerjemah. Jika tabel tidak ditentukan, pencarian menggunakan Localizable; jika bundle tidak ditentukan, pencarian dilakukan di bundle utama app. Inisialisator string dengan kunci eksplisit di Swift
Gunakan catatan pesan ilustratif ini untuk membedakan komponen-komponen tersebut. Nilai-nilai ini adalah contoh sintetis, bukan file katalog atau program yang dapat dijalankan.
| Komponen | Sebelum diedit | Setelah diedit |
|---|---|---|
| Kunci pencarian | selection.open |
selection.open |
| Nilai sumber bahasa Inggris | Open item |
Open selected items |
| Konteks penerjemah | Button that opens one item |
Button that opens every item in the current selection |
| Tabel katalog | Localizable |
Localizable |
Di sini, pengenalnya tetap sama sementara pesannya berubah. Audit yang hanya membandingkan nama kunci akan melewatkan perubahan ini. Bandingkan juga nilai sumber dan konteksnya.
Beberapa pemanggilan lokalisasi Swift justru menggunakan redaksi dalam bahasa pengembangan sebagai kunci. Apple menjelaskan bahwa String.LocalizationValue mendukung model tersebut, termasuk interpolasi. Dengan pengaturan itu, mengubah redaksi juga dapat mengubah kunci pencarian, jadi periksa entri lama dan baru alih-alih menganggap terjemahan tetap terhubung ke satu pengenal. String.LocalizationValue
Bangun ulang dan periksa lokasi sumber
Di Xcode, pilih Product > Build, lalu pilih katalog yang relevan di navigator Project. Apple mendokumentasikan bahwa proses build memperbarui katalog dengan perubahan pada string yang dapat dilokalkan di dalam kode. Pilih Editor > Assistant, lalu pilih kunci untuk memeriksa lokasi sumbernya. Melokalkan dan memvariasikan teks dengan string catalog
Bandingkan teks sumber di katalog dengan perubahan yang dimaksud. Jika katalog masih berisi Open item, cari tahu terlebih dahulu mengapa sumber baru belum masuk ke entri tersebut. Meninjau terjemahan sasaran berdasarkan sumber lama tidak akan menyelesaikan masalah awal.
Periksa tabel dan bundle pada pemanggilan lokalisasi, terutama jika proyek berisi beberapa katalog atau modul. Apple mendokumentasikan bahwa nama tabel dapat digunakan untuk memilih katalog dan bundle yang sesuai untuk string di luar bundle utama app. Apple juga merekomendasikan API yang dapat dilokalkan agar Xcode bisa menemukan teks yang ditampilkan kepada pengguna. Menyiapkan teks app Anda untuk diterjemahkan
Untuk entri yang dikelola secara manual, periksa dan pelihara sumbernya secara langsung: Apple menyatakan bahwa sinkronisasi saat build tidak memperbarui atau menghapus string yang dikelola secara manual. Jangan berharap build ulang saja akan menyegarkannya. Mengenal String Catalog
Bandingkan makna dengan tabel keputusan perubahan sumber
Setelah sumber saat ini tersedia, pilih setiap bahasa sasaran dan periksa entri yang terdampak. Xcode mendukung pemfilteran teks dan pengurutan berdasarkan status, yang dapat membantu menemukan pekerjaan yang perlu ditinjau. Periksa juga pesan tertentu yang berubah meskipun statusnya masih menunjukkan sudah diterjemahkan. Mengenal String Catalog
Panduan keputusan berikut didasarkan pada perbandingan makna pesan, bukan penilaian terjemahan otomatis. Label bahasa Inggrisnya adalah contoh sintetis. Panduan ini membantu menentukan hal yang perlu diminta dari pelokalisasi untuk diperiksa tanpa berasumsi bahwa setiap perubahan sumber mengharuskan perubahan redaksi sasaran.
| Perubahan sumber ilustratif | Hal yang diperiksa | Keputusan peninjauan |
|---|---|---|
Open item → Open selected items |
Cakupan pilihan dan makna tunggal atau jamak | Periksa apakah terjemahan masih menjelaskan seluruh tindakan. |
Show details → Hide details |
Arah tindakan | Pastikan tindakan yang diterjemahkan berubah sesuai. |
Items → Items: |
Tanda baca dan penempatan label | Pertahankan redaksinya hanya jika masih sesuai dalam konteks. |
Open tetap Open, tetapi penggunaannya berubah |
Apakah label kini merujuk pada tindakan yang berbeda | Tinjau konteks meskipun teks sumbernya identik. |
Untuk setiap kandidat, bandingkan tiga hal: makna pesan lama, makna pesan saat ini, dan makna yang kini disampaikan oleh terjemahan. Perbedaan sumber yang terlihat menjadikannya kandidat untuk ditinjau; hal itu sendiri tidak membuktikan bahwa redaksi sasaran harus berubah.
Perubahan konteks saja perlu diperiksa secara jelas. Apple mendokumentasikan komentar sebagai panduan bagi penerjemah, tetapi dokumentasi yang ditemukan tidak memastikan bahwa setiap perubahan komentar otomatis membatalkan terjemahan yang ada. Jika label bahasa Inggris yang tidak berubah memperoleh makna berbeda, masukkan sendiri ke antrean peninjauan. Menyiapkan teks app Anda untuk diterjemahkan
Jika pesan memuat hitungan atau varian khusus perangkat, buka varian tersebut alih-alih hanya memeriksa baris induk. Apple mendokumentasikan variasi jamak dan perangkat di dalam katalog. Dalam bahasa Inggris, hitungan mungkin memerlukan 1 item dan 2 items; tinjau bentuk yang sesuai untuk setiap bahasa sasaran alih-alih menyalin tata bahasa Inggris secara mekanis. Melokalkan dan memvariasikan teks dengan string catalog
Selesaikan peninjauan tanpa membuang terjemahan yang berguna
Gunakan menu konteks entri untuk menandai terjemahan yang diragukan agar ditinjau. Jika redaksi yang ada telah diperiksa dan masih sesuai, pilih Mark as Reviewed; jika tidak, perbarui terjemahannya. Tindakan peninjauan ini didokumentasikan dalam panduan langkah demi langkah String Catalog dari Apple. Mengenal String Catalog
Biarkan redaksi yang ada tetap tersedia saat membandingkannya dengan sumber yang berubah. Menghapus terjemahan hanya untuk mengurangi ambiguitas akan menghilangkan bahan perbandingan yang berguna. Demikian pula, hindari menghapus entri hanya karena terjemahannya usang: pastikan terlebih dahulu apakah app masih menggunakan kuncinya.
Untuk contoh pilihan sintetis, serah terima yang berguna akan memuat kunci selection.open, perubahan dari Open item menjadi Open selected items, dan penjelasan bahwa tombol tersebut membuka setiap item yang dipilih. Dengan begitu, pelokalisasi memiliki tindakan dan cakupan yang jelas untuk dievaluasi.
Ada batasan praktis di sini: dokumentasi Apple yang ditemukan untuk alur kerja ini tidak menjelaskan perintah retrospektif yang dapat merekonstruksi setiap perubahan sumber yang terlewat pada entri yang berstatus sudah diterjemahkan. Jika redaksi sebelumnya tidak tersedia, Anda dapat meninjau sumber saat ini terhadap terjemahan saat ini, tetapi tidak dapat memastikan kapan tepatnya ketidaksesuaian itu dimulai. Gunakan revisi proyek sebelumnya atau salinan sumber tersimpan yang tersedia ketika perbandingan sebelum dan sesudah diperlukan.
Verifikasi pesan yang sudah diperbaiki di app Mac
Setelah mengedit, uji antarmuka yang sebenarnya. Pilih Product > Scheme > Edit Scheme, pilih Run, buka Options, lalu pilih bahasa sasaran di bagian App Language. Tutup dialog, pilih tujuan run Mac, lalu jalankan app. Apple mendokumentasikan pengujian lokalisasi berbasis scheme ini. Menguji lokalisasi saat menjalankan app
Kembali ke kontrol yang tepat yang memicu penyelidikan. Untuk Open selected items, coba pilihan tunggal dan beberapa item. Periksa apakah label tersebut menjelaskan tindakan dalam kedua situasi dan apakah redaksi yang ditampilkan cocok dengan entri katalog yang Anda edit. Ketidaksesuaian pada tahap ini menjadi alasan untuk memeriksa kembali kunci pencarian, tabel, bundle, atau varian yang berlaku.
Akhiri dengan keputusan yang jelas untuk setiap bahasa terdampak: redaksi yang ada masih sesuai, terjemahan telah diperbarui, atau peninjauan masih tertunda. Dengan begitu, tugas untuk pesan yang berubah dan perilakunya di antarmuka dituntaskan, sementara status katalog mendukung keputusan tersebut.