Я учу локализовать свое приложение на упрощенном китайском языке. Я следую this tutorial о том, как это сделать.Как форматировать локализованные строки в Swift?
Поскольку учебник основан на Obj-C, отформатированные строки можно записать так: «Вам нравится»
"Yesterday you sold %@ apps" = "Ayer le vendió %@ aplicaciones";
= "~ Es bueno? ~";
Но я использую Swift. И в Swift я не думаю, что вы можете использовать %@
, чтобы указать, что там что-то есть. У нас есть правильная интерполяция строк?
Мое приложение относится к математике. И я хочу показать, какие входные данные используются для вычисления результата в подробной метке ячейки представления таблицы. Например
--------------
1234.5678
From x, y <---- Here is the detailed label
--------------
Здесь From x, y
означает «Результат вычисляется из й и у». Я хочу, чтобы перевести это на китайском языке:
从 x, y 得出
Прежде, я могу просто использовать это:
"From \(someVariable)"
со строками файла:
"From" = "从 得出";
И это, как я хотел бы использовать его в коде
"\(NSLocalizedString("From", comment: "")) \(someVariable)"
Но если это мы повторно используется в китайской версии, окончательная строка будет выглядеть следующим образом:
"从 得出 x, y"
Я имею в виду, я могу поставить 从
и 得出
в двух различных записей в файле строк. Но есть ли лучший способ сделать это?
Есть ли способ, чтобы определить порядок параметров или вставки одного параметра несколько раз? На некоторых языках порядок вставки может быть отменен. Android позволяет использовать это с помощью '% 1' и'% 2' перед спецификатором формата. – Suragch
Использует '% @' лучше, чем '% s' (для строк)? – Suragch
@Suragch: Существуют проблемы с кодировкой '% s', см. Https://stackoverflow.com/a/23672885 для примера. - Я думаю, что здесь также работают позиционные параметры, такие как '% 1 $ s'. –