Untuk mencari terjemahan lapuk yang masih ditandai sebagai diterjemahkan, jejaki mesej sumber yang berubah kepada entri Katalog Rentetan, bina semula, kemudian bandingkan perkataannya. Tanda semak hijau sahaja tidak dapat menyelesaikan ketidakpadanan yang telah anda kenal pasti.
Aliran kerja ini ditujukan kepada seseorang yang menyelenggara app Mac dalam Xcode dengan katalog .xcstrings sedia ada. Tugasnya ialah mengenal pasti terjemahan yang perlu diberi perhatian selepas teks sumber bahasa Inggeris diedit, mengekalkan teks sedia ada yang masih berguna, dan mengesahkan mesej yang telah dibetulkan dalam app yang sedang berjalan.
Apakah yang sepatutnya berlaku apabila mesej sumber berubah?
Apple mendokumenkan bahawa perubahan pada rentetan sumber menandakan terjemahannya untuk disemak. Status katalog membezakan rentetan yang belum diterjemahkan (New), rentetan yang memerlukan perhatian (Needs Review), dan rentetan yang telah diterjemahkan dengan tanda semak hijau. Status Stale yang berasingan bermaksud Xcode tidak lagi dapat menemui rentetan yang pernah diterjemahkan dalam kod. Discover String Catalogs
Istilah ini penting semasa mendiagnosis masalah ini. Terjemahan lapuk bagi mesej yang masih digunakan oleh app anda ialah tugasan semakan. Jika anda hanya mencari status Stale dalam katalog, anda mungkin terlepas pandangnya.
Tingkah laku yang didokumenkan Apple apabila sumber berubah memberikan hasil yang dijangkakan, tetapi tidak menjelaskan sebab entri tertentu mengekalkan status terjemahannya. Apabila hal itu berlaku, siasat hubungan antara sumber yang diedit dengan katalog sebelum menganggap tanda semak itu sebagai bukti yang memadai bahawa perkataannya masih terkini.
Cari mesej yang tepat sebelum menyemak terjemahan
Mulakan dengan satu mesej yang berubah. Catat perkataan bahasa Inggeris sebelum ini, perkataan semasa, kunci carian jika berasingan, dan nama katalog. Rekod perbandingan ringkas ini ialah alat bantu diagnostik yang disyorkan, bukannya ciri Xcode. Rekod ini memberi anda sesuatu yang konkrit untuk diperiksa apabila terdapat beberapa entri yang kelihatan serupa.
Sebagai contoh, katakan butang desktop sebelum ini memaparkan Open item dan kini memaparkan Open selected items. Persoalan semakannya ialah sama ada setiap terjemahan masih menerangkan tindakan membuka pilihan semasa, termasuk kemungkinan pilihan yang mengandungi berbilang item. Sekadar mencari terjemahan bagi perkataan Open tidak akan menjawab persoalan itu.
Asingkan kunci carian daripada teks yang dipaparkan
Swift menyokong kunci carian statik yang dinyatakan secara eksplisit dengan defaultValue yang berasingan. Nilai lalai itu biasanya berupa teks dalam bahasa pembangunan dan digunakan apabila carian gagal. comment memberikan konteks kepada penterjemah. Jika tiada jadual dinyatakan, carian menggunakan Localizable; jika tiada bundle dinyatakan, carian dibuat dalam bundle utama app. Swift’s explicit-key string initializer
Gunakan rekod mesej ilustrasi ini untuk membezakan komponen tersebut. Nilai ini rekaan, bukannya fail katalog atau program boleh laksana.
| Komponen | Sebelum suntingan | Selepas suntingan |
|---|---|---|
| Kunci carian | selection.open |
selection.open |
| Nilai sumber bahasa Inggeris | Open item |
Open selected items |
| Konteks penterjemah | Button that opens one item |
Button that opens every item in the current selection |
| Jadual katalog | Localizable |
Localizable |
Dalam contoh ini, pengecam kekal sama sedangkan mesej berubah. Audit yang hanya membandingkan nama kunci akan terlepas suntingan ini. Bandingkan nilai sumber dan konteks juga.
Sesetengah panggilan penyetempatan Swift pula menggunakan teks dalam bahasa pembangunan sebagai kunci. Apple menerangkan bahawa String.LocalizationValue menyokong model itu, termasuk interpolasi. Dengan susunan ini, perubahan pada perkataan mungkin turut mengubah kunci carian. Oleh itu, periksa entri lama dan baharu, dan jangan anggap terjemahan itu kekal dipautkan pada satu pengecam. String.LocalizationValue
Bina semula dan periksa lokasi sumber
Dalam Xcode, pilih Product > Build, kemudian pilih katalog yang berkaitan dalam pelayar Projek. Apple mendokumenkan bahawa proses binaan mengemas kini katalog dengan perubahan pada rentetan yang boleh disetempatkan dalam kod. Pilih Editor > Assistant, kemudian pilih kunci untuk memeriksa lokasi sumbernya. Localizing and varying text with a string catalog
Bandingkan teks sumber dalam katalog dengan suntingan yang dimaksudkan. Jika katalog masih mengandungi Open item, mula-mula selesaikan sebab sumber baharu itu belum sampai ke entri tersebut. Menyemak terjemahan sasaran berdasarkan sumber lama tidak akan menyelesaikan masalah asal.
Periksa jadual dan bundle dalam panggilan penyetempatan, terutamanya jika projek mengandungi beberapa katalog atau modul. Apple mendokumenkan penggunaan nama jadual untuk memilih katalog dan bundle yang sesuai bagi rentetan di luar bundle utama app. Apple juga mengesyorkan API yang boleh disetempatkan supaya Xcode dapat menemui teks yang dipaparkan kepada pengguna. Preparing your app’s text for translation
Bagi entri yang diurus secara manual, periksa dan selenggarakan sumbernya secara langsung: Apple menyatakan bahawa penyegerakan binaan tidak mengemas kini atau mengalih keluar rentetan yang diurus secara manual. Jangan harapkan binaan semula sahaja akan menyegarkannya. Discover String Catalogs
Bandingkan makna menggunakan jadual keputusan perubahan sumber
Sebaik sahaja sumber semasa tersedia, pilih setiap bahasa sasaran dan periksa entri yang terjejas. Xcode menyokong penapisan teks dan pengisihan mengikut status, yang boleh membantu mencari perkara yang perlu disemak. Periksa juga mesej khusus yang berubah walaupun statusnya masih menunjukkan bahawa ia telah diterjemahkan. Discover String Catalogs
Panduan keputusan berikut terhasil daripada perbandingan makna mesej, bukannya daripada penilaian terjemahan automatik. Label bahasa Inggerisnya ialah contoh rekaan. Panduan ini membantu menentukan perkara yang perlu diminta daripada penterjemah untuk diperiksa tanpa menganggap bahawa setiap perubahan sumber memerlukan perubahan pada perkataan dalam bahasa sasaran.
| Perubahan sumber ilustrasi | Perkara yang perlu diperiksa | Keputusan semakan |
|---|---|---|
Open item → Open selected items |
Skop pilihan dan makna tunggal atau jamak | Periksa sama ada terjemahan masih menerangkan keseluruhan tindakan. |
Show details → Hide details |
Arah tindakan | Periksa sama ada tindakan yang diterjemahkan berubah sewajarnya. |
Items → Items: |
Tanda baca dan kedudukan label | Kekalkan perkataan itu hanya jika masih sesuai mengikut konteks. |
Open kekal Open, tetapi penggunaannya berubah |
Sama ada label itu kini menamakan tindakan yang berbeza | Semak konteks walaupun teks sumber sama. |
Bagi setiap calon, bandingkan tiga perkara: maksud mesej lama, maksud mesej semasa, dan perkara yang disampaikan oleh terjemahan sekarang. Perbezaan yang kelihatan pada sumber menunjukkan mesej yang patut disemak; hal itu sahaja tidak membuktikan bahawa perkataan sasaran mesti berubah.
Perubahan konteks sahaja perlu diperiksa secara jelas. Apple mendokumenkan komen sebagai panduan untuk penterjemah, tetapi dokumentasi yang diperoleh tidak memastikan bahawa setiap suntingan komen secara automatik membatalkan terjemahan sedia ada. Jika label bahasa Inggeris yang tidak berubah memperoleh makna berbeza, masukkannya sendiri ke dalam senarai semakan. Preparing your app’s text for translation
Jika mesej mengandungi bilangan atau variasi khusus peranti, kembangkan variasi tersebut dan bukannya memeriksa baris induk sahaja. Apple mendokumenkan variasi jamak dan peranti dalam katalog. Bagi bahasa Inggeris, bilangan mungkin memerlukan 1 item dan 2 items; semak bentuk yang berkenaan bagi setiap bahasa sasaran dan jangan menyalin tatabahasa bahasa Inggeris secara mekanikal. Localizing and varying text with a string catalog
Selesaikan semakan tanpa membuang terjemahan yang berguna
Gunakan menu konteks entri untuk menandakan terjemahan yang meragukan supaya disemak. Apabila perkataan sedia ada telah diperiksa dan masih sesuai, pilih Mark as Reviewed; jika tidak, kemas kini terjemahan itu. Tindakan semakan ini didokumenkan dalam panduan langkah demi langkah Katalog Rentetan Apple. Discover String Catalogs
Simpan perkataan sedia ada untuk dibandingkan dengan sumber yang berubah. Mengosongkan terjemahan semata-mata untuk mengurangkan kekaburan akan membuang bahan perbandingan yang berguna. Begitu juga, elakkan daripada memadam entri hanya kerana terjemahannya lapuk: tentukan dahulu sama ada app masih menggunakan kuncinya.
Bagi contoh pilihan rekaan ini, maklumat serahan yang berguna mengandungi kunci selection.open, perubahan daripada Open item kepada Open selected items, dan penjelasan bahawa butang itu membuka setiap item yang dipilih. Dengan itu, penterjemah mendapat tindakan dan skop khusus untuk dinilai.
Terdapat batasan praktikal di sini: dokumentasi Apple yang diperoleh untuk aliran kerja ini tidak menerangkan perintah retrospektif yang membina semula setiap perubahan sumber yang terlepas di sebalik entri yang telah diterjemahkan. Jika perkataan terdahulu tidak tersedia, anda boleh menyemak sumber semasa berbanding terjemahan semasa, tetapi anda tidak dapat menentukan dengan tepat bila ketidakpadanan itu bermula. Gunakan semakan projek terdahulu yang tersedia atau salinan sumber yang disimpan apabila perbandingan sebelum dan selepas penting.
Sahkan mesej yang dibetulkan dalam app Mac
Selepas mengedit, uji antara muka sebenar. Pilih Product > Scheme > Edit Scheme, pilih Run, buka Options, kemudian pilih bahasa sasaran di bawah App Language. Tutup dialog, pilih destinasi jalankan Mac, kemudian jalankan app. Apple mendokumenkan ujian penyetempatan berasaskan skema ini. Testing localizations when running your app
Kembali kepada kawalan tepat yang mencetuskan siasatan. Bagi Open selected items, cuba pilihan satu item dan pilihan berbilang item. Periksa sama ada label menerangkan tindakan dalam kedua-dua keadaan dan sama ada perkataan yang dipaparkan sepadan dengan entri katalog yang anda edit. Ketidakpadanan pada peringkat ini ialah sebab untuk menyemak semula kunci carian, jadual, bundle atau variasi yang berkenaan.
Akhiri dengan keputusan yang jelas bagi setiap bahasa yang terjejas: perkataan sedia ada masih sesuai, terjemahan telah dikemas kini, atau semakan masih belum selesai. Dengan itu, tugasan yang berkaitan dengan mesej yang berubah dan tingkah lakunya dalam antara muka selesai, disokong oleh status katalog sebagai asas keputusan.