Комментарии 5
Спасибо за статью. Как вариант — посмотрите библиотеку R.swift на гитхабе. Если верно понял, она решит большую часть ваших задач, и еще с более изящным кодом на выходе, а также с минимальными настройками и элементарной интеграцией (однострочный скрипт в настройках проекта и копипаста сгенерированного файла один раз в сам проект). Я сейчас ее пользую, и очень доволен, плюсы все те же, что вы перечислили (плюс легкая настройка + поддержка, кроме локализации и изображений, еще и шрифтов, XIB'ов и цветов). Из минусов — тоже не умеет отсекать неиспользуемые ресурсы.
+2
А зачем писать
String(format: NSLocalizedString("languages.swift.name", comment: ""), locale: Locale.current)
, если можно просто – NSLocalizedString("languages.swift.name", comment: "")
0
В случае нашего демо-проекта это не обязательно, согласен, что можно заменить на `NSLocalizedString(:comment:)`
Но в общем случае, стоит пользоваться `String(format:locale:args:)` тк строка локализации может содержать format specifiers для подстановки каких-либо значений в строку.
Например, вот тут использование этого метода более оправдано:
github.com/hhru/SwiftGen-Example/blob/95cbf1a0f157092ff2c9c4b0b8f0398312fe6c05/SwiftGenExample/Localization.swift#L44
Но в общем случае, стоит пользоваться `String(format:locale:args:)` тк строка локализации может содержать format specifiers для подстановки каких-либо значений в строку.
Например, вот тут использование этого метода более оправдано:
github.com/hhru/SwiftGen-Example/blob/95cbf1a0f157092ff2c9c4b0b8f0398312fe6c05/SwiftGenExample/Localization.swift#L44
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Контроль над ресурсами. Настраиваем SwiftGen