首页 > 解决方案 > iPhone 中设置的其他语言无法读取 Localizable.strings (Base) 文件字符串?

问题描述

我在我的应用程序中实现了多语言并Localizable.strings创建了多个文件。

在此处输入图像描述

我在文件中有所有字符串键和值,Localizable.strings (Base)如果特定语言字符串文件中缺少特定字符串,则作为从所有其他语言读取的默认文件,例如文件Localizable.strings (Japanese)中缺少某些字符串,Japanese所以我希望从Base.

但它不会发生,那是我的问题。

标签: iosswiftlocalizable.strings

解决方案


我遇到了同样的问题并应用了这个解决方案:

  1. 为英语 ( ) 创建新的默认字符串本地化文件DefaultEnglish.strings例如:"hello_key" = "Hello"
  2. 向文件添加其他语言支持Localizable.strings例如:日语字符串:"hello_key" = "こんにちは"

在此处输入图像描述

  1. 创建字符串extension

    extension String {
    
    func localizedStringKey(bundle _: Bundle = .main, tableName: String = "Localizable") -> String {
        return NSLocalizedString(self, tableName: tableName, value: "\(NSLocalizedString(self, tableName: "DefaultEnglish", bundle: .main, value: self, comment: ""))", comment: "")
    }     }
    
  2. 并设置字符串"hello_key".localizedStringKey()


推荐阅读