Как использовать NSLocalizedString для локализации цены inappa?


#1

Как реализовать локализацию цены за покупку, если используем язык один, а регион совсем др и цену нужно отобразить той страны, которая установлена. Например используем русский язык в регионе франция. Для региона России используем файл localizable.strings(Russian(Russia)), а для др регионов, не имеющих русского языка используем localizable.strings(Russian), интерфейс отображается на русском, но а цена должна соответствовать цене во Франции . Как это реализовать?


#2

#3

Александр, совсем не получается разобраться с примерами… ((

buyProButton.setTitle(NSLocalizedString("Buy for ", comment:"") + NSLocalizedString("$ 1.99", comment:""), for: UIControl.State())

значение “$ 1.99” локализуем на цену установленного регион, а "Buy for " на установленный язык


#4

Зачем цену то переводить??? Цена автоматом будет отображаться для того апстора, в который зашли на устройстве (регион). Проверяйте на реальных устройствах или настраивайте регион в симуляторе.


#5

Тестирую и на девайсе, и на симуляторе. Пример: цена для россии на русском языке подтягивается из localizable.strings(Russian(Russia)) - “$ 1.99” = “149 р.”;
а если локаль сделать не россия, но язык оставить русский, то подтягивается файл localizable.strings(Russian) - в котором выражение “$ 1.99” = “149 р.” прописывать не целесообразно, по всем понятной причине. поэтому при запуске аппа в этом случае не происходит локализации “$ 1.99” в этом параметре
buyProButton.setTitle(NSLocalizedString(“Buy for “, comment:””) + NSLocalizedString("$ 1.99", comment:""), for: UIControl.State()), а просто пишет его это исходное значение. Не может в этом проперти кнопки автоматом подставляться цена аппстора этой страны на место NSLocalizedString("$ 1.99", comment:"") …


#6

Да кто вам сказал, что цену самому надо писать, а потом ещё и переводить? Цена берётся из StoreKit! Цена отдаётся апстором через SK и для каждого региона её Эппл пересчитывает, а не вы. Посмотрите курс по покупкам.