Я создал файл Localizable.strings в Xcode для перевода моего приложения iOS на несколько разных языков. У меня есть следующий код в какой-то момент в приложении:
Text("\(tasks.count) Tasks")
В других частях кода, где строка просто «Задачи», я могу относительно легко перевести это на испанский язык, используя следующий localizable.string:
"Tasks" = "Tareas";
Это не работает, когда я пытаюсь перевести «(tasks.count) Tasks». «Задачи» никогда не конвертируются. Я попробовал следующий localizable.string:
"%@ Tasks" = "%@ Tareas";
Это тоже не сработало. Кто-нибудь сталкивался с подобной проблемой? Как вы решили эту проблему?
Спасибо -
Я также последовал совету @Asperi здесь: stackoverflow.com/questions/61684038/… - похоже, это тоже не работает. На самом деле ни одна из моих динамических текстовых строк не работает. Это должно быть связано с тем, как они построены.





Это действительно расстраивает, и я действительно не понимаю, почему это работает, а альтернативы, которые я исследовал, не работают. Вот решение:
Text(String(format: NSLocalizedString("Tasks %d", comment: ""),
tasks.count))
Моя строка была:
"Tasks %d" = "Tareas %d";
Я надеюсь, что у кого-то есть хорошее объяснение того, почему необходимо переформатировать динамическую текстовую строку, как указано выше, вместо использования обычного Text("(xyz) Text")
Должен ли я использовать «NSLocalizedString»?