Контекст RelativeDateTimeFormatter для локализованной строки - PullRequest
1 голос
/ 25 октября 2019

У меня есть RelativeDateTimeFormatter, который я использую для показа таких строк: «Следующий розыгрыш лотереи через 2 дня» «Следующий розыгрыш лотереи завтра»

Это происходит из файла строк с форматом строки, подобным этому "Next lottery draw %@"

Моя проблема в том, как мне правильно локализовать это, когда% @ находится в другом месте строки. Например, на японском языке% @ находится где-то посередине строки.

Вот мой код для настройки форматера даты.

let exampleDate = Date().addingTimeInterval(-15000)

let formatter = RelativeDateTimeFormatter()
formatter.context = .dynamic

let relativeDate = formatter.localizedString(for: exampleDate, relativeTo: Date())

let myString = String(format: NSLocalizedString("string_key", comment: ""), relativeDate)

У форматеров есть контекст, который вы можете передать, чтобы сообщить форматировщику, где будет использоваться строка. https://developer.apple.com/documentation/foundation/formatter/context

И один из случаев называется dynamic, который говорит, что он будет определять его во время выполнения. Однако я не могу понять, как это работает или как я должен использовать RelativeDateTimeFormatter с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...