Избавляемся от NSLocalizedString в Swift
Раньше в стареньком Objective-С для локализации строк активно использовалась функция NSLocalizedString(@"myString", nil)
, которая затем мигрировала в свифт, но почему-то без optional параметра comment
. Тягать такую конструкцию всякий раз стало крайне раздражительным и неуклюжим.
Воспользуемся прелестями нового языка и обозначим какой-нибудь префиксный оператор, который будет означать, что мы хотим получить на выходе уже локализованый литерал:
prefix func ~(s: String) -> String {
return NSLocalizedString(s, comment: "");
}
Ну вот, теперь можно удобно определять, какие строки должны подвергнуться локализации
print(~"Hello world");
Список доступных операторов для перегрузки можно увидеть здесь