คำถามติดแท็ก nslocalizedstring

27
วิธีการบังคับ NSLocalizedString ให้ใช้ภาษาเฉพาะ
บน iPhone NSLocalizedStringส่งคืนสตริงในภาษาของ iPhone เป็นไปได้ไหมที่จะบังคับNSLocalizedStringให้ใช้ภาษาเฉพาะเพื่อให้แอปมีภาษาที่แตกต่างจากอุปกรณ์

15
NSLocalizedString มีอะไรเทียบเท่าใน Swift
มีค่าเทียบเท่าของ Swift NSLocalizedString(...)หรือไม่? ในObjective-Cเรามักจะใช้: NSString *string = NSLocalizedString(@"key", @"comment"); ฉันจะประสบความสำเร็จในสวิฟท์ได้อย่างไร ฉันพบฟังก์ชั่น: func NSLocalizedString( key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String อย่างไรก็ตามมันยาวมากและไม่สะดวกเลย

5
วิธีการให้คำอธิบายที่มีการแปลประเภทข้อผิดพลาดใน Swift?
ฉันกำลังกำหนดประเภทข้อผิดพลาดที่กำหนดเองด้วยไวยากรณ์ Swift 3 และฉันต้องการให้คำอธิบายที่เป็นมิตรกับผู้ใช้ของข้อผิดพลาดที่ส่งคืนโดยlocalizedDescriptionคุณสมบัติของErrorวัตถุ ฉันจะทำมันได้อย่างไร public enum MyError: Error { case customError var localizedDescription: String { switch self { case .customError: return NSLocalizedString("A user-friendly description of the error.", comment: "My error") } } } let error: Error = MyError.customError error.localizedDescription // "The operation couldn’t be completed. (MyError error 0.)" มีวิธีที่localizedDescriptionจะส่งคืนคำอธิบายข้อผิดพลาดที่กำหนดเองของฉันหรือไม่ …

9
แนวทางปฏิบัติที่ดีที่สุดโดยใช้ NSLocalizedString
ฉัน (เหมือนคนอื่น ๆ ทั้งหมด) ใช้NSLocalizedStringเพื่อแปลแอปของฉัน น่าเสียดายที่มี "ข้อเสีย" หลายประการ (ไม่จำเป็นต้องเป็นความผิดของ NSLocalizedString เอง) รวมถึง ไม่มีการเติมข้อความอัตโนมัติสำหรับสตริงใน Xcode สิ่งนี้ทำให้การทำงานไม่เพียง แต่เกิดข้อผิดพลาดได้ง่าย แต่ยังน่าเบื่อ คุณอาจสิ้นสุดการกำหนดสตริงใหม่เนื่องจากคุณไม่รู้ว่ามีสตริงเทียบเท่าอยู่แล้ว (เช่น "โปรดป้อนรหัสผ่าน" และ "ป้อนรหัสผ่านก่อน") เช่นเดียวกับปัญหาการเติมข้อความอัตโนมัติคุณต้อง "จดจำ" / คัดลอกสตริงความคิดเห็นไม่เช่นgenstringนั้นจะมีหลายความคิดเห็นสำหรับหนึ่งสตริง หากคุณต้องการใช้genstringหลังจากที่คุณแปลสตริงบางส่วนแล้วคุณต้องระวังไม่ให้สูญเสียการแปลท้องถิ่นของคุณ สายเดียวกันกระจัดกระจายตลอดโครงการของคุณทั้งหมด ตัวอย่างเช่นคุณใช้NSLocalizedString(@"Abort", @"Cancel action")ทุกที่จากนั้นตรวจสอบรหัสขอให้คุณเปลี่ยนชื่อสตริงNSLocalizedString(@"Cancel", @"Cancel action")เพื่อให้รหัสสอดคล้องกันมากขึ้น สิ่งที่ฉันทำ (และหลังจากการค้นหาบางอย่างดังนั้นฉันคิดว่าหลายคนทำสิ่งนี้) คือการมีstrings.hไฟล์แยกต่างหากที่ฉัน#defineทุกรหัสภาษา ตัวอย่างเช่น // In strings.h #define NSLS_COMMON_CANCEL NSLocalizedString(@"Cancel", nil) // Somewhere else NSLog(@"%@", NSLS_COMMON_CANCEL); สิ่งนี้จะช่วยให้การสร้างโค้ดเสร็จสมบูรณ์เป็นที่เดียวในการเปลี่ยนชื่อตัวแปร …

1
iOS 8.1 Simulator Localization เสีย (NSLocalizedString)
TL; DR: ดูเหมือนว่าการแปลภาษาจะไม่ทำงานกับโปรแกรมจำลอง xCode 6.1 และ 8.1 วิธีแก้ปัญหา: ไปที่ "แก้ไขโครงร่าง" >> "เรียกใช้" (แถบด้านข้าง) >> แท็บ "ตัวเลือก" >> "ภาษาแอปพลิเคชัน" เลือกภาษาที่คุณต้องการเรียกใช้แอปบนเครื่องจำลอง เรื่องยาว: ฉันได้อัปเดต xCode เป็น 6.1 การอัปเดตลบตัวจำลอง iOS 7.x และเหลือฉันไว้กับโปรแกรมจำลอง 8.x เท่านั้น ฉันทำตามขั้นตอนต่อไปนี้แล้ว: ฉันได้ติดตั้งโปรแกรมจำลอง 7.x แล้ว ทำความสะอาดโครงการ ลบแอพออกจากเครื่องจำลอง ลบโฟลเดอร์ที่ได้รับสำหรับโครงการของฉัน โครงการรองรับภาษาอังกฤษและภาษาญี่ปุ่น บนโปรแกรมจำลอง 7.1 (5s) การแปลภาษาทำงานได้ตามที่คาดไว้ บนโปรแกรมจำลอง 8.1 (5s) มันไม่ทำงาน ฉันเดาว่า Apple ทำอะไรบางอย่างกับเครื่องจำลองเพราะมันใช้งานได้กับอุปกรณ์จริง ข้อมูลใด …

6
NSLocalizedString พร้อมตัวแปรที่รวดเร็ว
ฉันกำลังพยายามแปลแอปของฉันโดยใช้ NSLocalizedString เมื่อฉันนำเข้าไฟล์ XLIFF ส่วนใหญ่จะใช้งานได้ดี แต่มีบางอย่างทำไม่ได้และสตริงบางตัวไม่ได้รับการแปล ฉันสังเกตเห็นว่าปัญหามาจาก NSLocalizedString ที่มีตัวแปรอยู่ภายในเช่น: NSLocalizedString(" - \(count) Notifica", comment: "sottotitolo prescrizione per le notifiche al singolare") หรือ NSLocalizedString("Notifica per \(medicina!) della prescrizione \(prescription!)\nMemo: \(memoTextView.text)", comment: "Messaggio della Local Notification") บางทีนี่อาจไม่ใช่ไวยากรณ์ที่ถูกต้องสำหรับสิ่งของประเภทนี้ บางคนสามารถอธิบายวิธีการทำอย่างรวดเร็ว? ขอบคุณมาก.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.