NSLocalizedString()
принимает параметр value
, который возвращается, если в таблице для данного ключа не найдено локализованной строки.
Я предполагаю, что localized
- это вычисляемое свойство, добавленное в расширение String
. Примерно так:
extension String {
var localized: String {
return NSLocalizedString(self, tableName: "MyTable", bundle: Bundle.main, comment: "")
}
}
Если вы хотите добавить значение по умолчанию, вы должны преобразовать это вычисленное свойство в функцию.
extension String {
func localized(defaultValue: String? = nil) -> String {
return NSLocalizedString(self, tableName: "MyTable", bundle: Bundle.main, value: defaultValue ?? self, comment: "")
}
}
И используйте это так:
let localizationKey = "articles_label_" + type.lowercased()
let localizedValue = localizationKey.localized(defaultValue: "AAA")