Я хочу дать ярлыку текст, в котором есть несколько шрифтов. Этого можно добиться, создав файл NSMutableAttributedString
. Однако я не уверен, как форматировать следующий случай:
String(format: NSLocalizedString("%@ has replied in '%@'", comment: ""), username, conversationTitle)
Я хочу выделить имя пользователя и заголовок беседы отдельным шрифтом. Я хочу сделать это менее глючным способом. Что я имею в виду под этим:
- Я не хочу узнавать
username
позже в строке, используя подстроку. Это вызывает проблемы, когдаconversationTitle
совпадает сusername
, илиconversationTitle
находится вusername
и т. д. и т. д. - Я не хочу создавать строку, как показано здесь: https://stackoverflow.com/a/37992022/7715250. Это просто плохо при создании
NSLocalizedString's
, я думаю, что переводчикам будет плохо, когда строка будет создана таким образом.
Такие вопросы, как: выделение текста полужирным шрифтом с использованием строки с атрибутами в swift, Существуют ли подходы для использования строк с атрибутами в сочетании с локализация? и другие в основном являются строковыми литералами без NSLocalizedString
или NSLocalizedString
с параметрами.
<b>
или другие (markdown, custom и т. д.). Я также предлагаю не иметь%@ has replied in '%@'
в качестве ключа, а вместо этого:REPLIED_IN = <b>%1$@<b> has replied in <b>%2$@</b>;
, потому что в английском это может быть в этом порядке, но не обязательно в других языках. Затем вы используетеNSAttributedString
для чтения и анализа этой строки с тегами. - person Larme   schedule 27.01.2019