ทั้งหมดข้างต้นไม่ได้ผลสำหรับฉัน (XCode 7.3) ดังนั้นฉันจึงอ่านข้อมูลอ้างอิงของ Apple เกี่ยวกับวิธีการทำและมันง่ายกว่าที่อธิบายไว้ข้างต้น ตามที่ Apple:
ค่าที่แปลเป็นภาษาท้องถิ่นจะไม่ถูกเก็บไว้ในไฟล์ Info.plist คุณเก็บค่าสำหรับการแปลเฉพาะในไฟล์สตริงแทนด้วยชื่อ InfoPlist.strings คุณวางไฟล์นี้ในไดเรกทอรีโครงการเฉพาะภาษาเดียวกันกับที่คุณใช้เพื่อจัดเก็บทรัพยากรอื่น ๆ สำหรับการโลคัลไลเซชันเดียวกัน
ดังนั้นฉันสร้างไฟล์สตริงชื่อInfoPlist.stringsและวางไว้ในโฟลเดอร์ xx.lproj ของภาษา "xx" (และเพิ่มลงในโครงการโดยใช้ไฟล์ -> เพิ่มไฟล์ไปที่ ... ) แค่นั้นแหละ. ไม่จำเป็นต้องใช้คีย์ "ทรัพยากรที่แปลเป็นภาษาท้องถิ่น" = YES และไม่จำเป็นต้องใช้ InfoPlist.strings ใน base.lproj หรือ en.lproj
แอปพลิเคชันใช้ Info.plist key-value เป็นค่าเริ่มต้นหากไม่พบคีย์ในไฟล์ภาษาเฉพาะ ดังนั้นฉันจึงใส่ค่าภาษาอังกฤษของฉันลงในไฟล์ Info.plist และค่าที่แปลแล้วในไฟล์เฉพาะภาษาทดสอบและทุกอย่างทำงานได้
โดยเฉพาะอย่างยิ่งไม่จำเป็นต้อง จำกัด InfoPlist.strings (ซึ่งสร้างรุ่นของไฟล์ใน base.lproj, en.lroj และ xx.lproj) และในกรณีของฉันไปในทางที่ไม่ทำงาน