IOS: локализация многострочных строковых литералов ⇐ IOS
-
Anonymous
IOS: локализация многострочных строковых литералов
Начиная с последней версии Swift, доступны многострочные строковые литералы, которые позволяют легко форматировать внешний вид многострочной строки.
Однако я ищу способ локализовать такую строку.
Вот пример текста предварительно настроенного письма, которое могут отправлять пользователи:
mailComposerVC.setMessageBody(""" Привет, Хочу поделиться следующим отзывом: """, isHTML: ложь) Похоже, что нет способа правильно преобразовать это в локализуемый файл .strings.
В качестве обходного пути я придумал решение индивидуально локализовать каждую часть сообщения и использовать интерполяцию:
let localizedGreeting = NSLocalizedString("Привет", комментарий: "") let localizedMessage = NSLocalizedString("Я хотел бы поделиться следующим отзывом: ", комментарий: "") mailComposerVC.setMessageBody(""" \(локализованное приветствие), \(локализованное сообщение) """, isHTML: ложь) Файл .strings выглядит следующим образом:
"Привет" = "Привет"; "Я хотел бы поделиться следующим отзывом: " = "ich möchte folgendes Feedback geben: "; Есть ли лучший/более краткий способ сделать это?
Начиная с последней версии Swift, доступны многострочные строковые литералы, которые позволяют легко форматировать внешний вид многострочной строки.
Однако я ищу способ локализовать такую строку.
Вот пример текста предварительно настроенного письма, которое могут отправлять пользователи:
mailComposerVC.setMessageBody(""" Привет, Хочу поделиться следующим отзывом: """, isHTML: ложь) Похоже, что нет способа правильно преобразовать это в локализуемый файл .strings.
В качестве обходного пути я придумал решение индивидуально локализовать каждую часть сообщения и использовать интерполяцию:
let localizedGreeting = NSLocalizedString("Привет", комментарий: "") let localizedMessage = NSLocalizedString("Я хотел бы поделиться следующим отзывом: ", комментарий: "") mailComposerVC.setMessageBody(""" \(локализованное приветствие), \(локализованное сообщение) """, isHTML: ложь) Файл .strings выглядит следующим образом:
"Привет" = "Привет"; "Я хотел бы поделиться следующим отзывом: " = "ich möchte folgendes Feedback geben: "; Есть ли лучший/более краткий способ сделать это?
Мобильная версия