Локализация внутри частного модуля всегда по умолчанию на английском - PullRequest
0 голосов
/ 01 октября 2019

У меня есть личный модуль внутри приложения. Я пытаюсь локализовать стручок. Вы можете видеть это на изображении ниже. enter image description here

Я добавил файл локализации в комплект ресурсов модуля.

enter image description here

После этого я создал расширение для String для локализации значений внутри модуля.

extension Bundle {
    private class ClassForBundle {}

    static func frameworkBundle() -> Bundle {
        let frameworkBundle = Bundle(for: ClassForBundle.self)
        let bundleURL = frameworkBundle.resourceURL?.appendingPathComponent("ABC.bundle")
        print("Bundle url....\(String(describing: bundleURL))")
        return Bundle(url: bundleURL!)!
    }
}
extension String {
    func localized(withComment comment: String = "") -> String {
        return NSLocalizedString(self, bundle: Bundle.frameworkBundle(), comment: comment)
    }
}

Когда япытаясь локализовать строку, используя следующий код. По умолчанию всегда используется английский язык.

let localizedString = "Land For Lease".localized(withComment: "Land For Lease label")

Значение, которое я получаю, - «US Land To Let», хотя моя страна и регион в настройках симулятора установлены на испанский и мексиканский языки. Мне чего-то не хватает, что мне нужно сделать? Ваша помощь будет высоко оценена. Благодаря.

1 Ответ

0 голосов
/ 02 октября 2019

Проблема была связана с кешем pod. Я трачу на это почти полдня. Удаление приложения из симулятора и удаление производных данных спасло мне жизнь. Я держу этот вопрос здесь, чтобы он мог помочь и сэкономить время для кого-то в будущем, если он захочет добавить локализацию в частный модуль или столкнется с такой же проблемой.

...