Ръководство за локализиране на приложения за iPhone

приложения

Това ръководство ще ви покаже как да конвертирате едноезично приложение за iPhone, изградено с Xcode, в многоезично.

Вече имате преводачи?

Предлагаме ви да използвате нашата система за превод безплатно и да намалите времето, необходимо за управление на превода на вашето приложение.

Запознаване

Процесът на локализиране на приложение за iPhone включва следните стъпки:

  1. Подготовка на ресурсни файлове за локализация.
  2. Събиране на всички текстове, използвани в приложението, във файлове с ресурси.
  3. Превод на ресурсни файлове.
  4. Интегриране на ресурсни файлове обратно в приложението.

Всички приложения за iPhone са изградени с помощта на UTF-16 кодирани текстове Unicode. IPhone Simulator поддържа този формат и ще ви позволи да видите преведени приложения.

1. Създаване на ресурси, локализирани в Xcode

Xcode трябва да знае, че вашият проект включва многоезични ресурсни файлове.

Ако вашите изходни файлове с ресурси са на английски, трябва да създадете нова папка с име en.lproj в папката на вашия проект. Ако оригиналните ви ресурсни файлове са на различен език, заменете двубуквения код ru.

Преместете файла с ресурси в новата директория за локализация и след това плъзнете ресурса в проекта Xcode. Xcode вече разпознава ресурса като локализиран на този език. Повторете тези стъпки за всички други ресурсни файлове, които трябва да бъдат локализирани.

2. Локализация на файловете на Interface Builder

Извличане на низове

За извличане на низове от ресурсни файлове Конструктор на интерфейси, трябва да тичам ibtool, включени в инсталацията на стандартен комплект за разработка.

За да извлечете файлове, отворете Терминал в директорията на проекта и изпълнете командата:
ibtool --generate-strings-file Example.strings en.lpoj/Example.xib
Това действие ще създаде файл Example.strings. Отворете го и ще видите много комбинации от стойности на низови обекти.

Обработка на дублирани линии

Файлът с ресурси може да съдържа дублиращи се редове, например някои от имената на бутоните в различни държави.

Някои повтарящи се низове могат да бъдат преведени само веднъж, докато други повтарящи се низове имат различни преводи. Едно и също име на бутон в различните държави трябва да има абсолютно еднакъв превод. Струните обаче някъде могат да бъдат съществителни, а някъде глаголи.

Можете да премахнете допълнителни дублиращи се редове (които трябва да имат същия превод) от ресурсния файл или да ги оставите там и да инструктирате преводача да ги третира като дублиращи се редове.

Системата за превод ICanLocalize за iPhone може автоматично да премахва дублиращи се низове от ресурсни файлове, опростявайки задачата.

3. Събиране на вградени текстове в ресурсни файлове

Обикновено приложенията за iPhone съдържат два вида текст. Има интерфейс за приложение (управляван Конструктор на интерфейси) и вградени низове, които се появяват директно в самия код.

Низовете във външния интерфейс вече се намират във файла с ресурси и трябва да се уверим, че самият код използва само низове, които също се четат от файла с ресурси.

Вграденият низ ще изглежда така:

Трябва да редактираме изходните файлове и да променим всички вградени низове, за да изглеждаме така:

Сега "Здравей свят!" е маркер. Функция NSLocalizedString ще създаде низ, който да се изведе. Той ще върне локализиран низ според езика на приложението. NSLocalizedString ще прочете файла Localizable.strings от директорията за локализация.

Прегледайте целия код и определете кои низове излизат до потребителя и трябва да бъдат локализирани. Не локализирайте низове, които потребителят никога няма да види, като ключове в NSD Dictionary (освен ако разбира се не картографирате тези ключове).

Забелязахте ли това съобщение "Здравейте" (втори аргумент)?

Създаване на файл Localizable.strings

genstrings ще събере всички низове, които трябва да бъдат преведени от изходните файлове и ще създаде файл Localizable.strings. За да го стартирате, отворете Терминал, отидете в директорията на вашия проект и направете:

Това ще изведе всички ключове от извикванията NSLocalizedString и ще ги компилира в един файл Localizable.strings в папката за локализация en.lproj. Ако вашите файлове с класове са в различна директория, не забравяйте да ги включите в края на тази команда (напр. Classes/*. M).

4. Превод на ресурсни файлове

Можете да изпращате файлове за превод ICanLocalize.

Имаме специален инструмент за локализиране на ресурсни файлове за iPhone, който ви позволява да превеждате приложения за iPhone, без да губите време за технически задачи. Този инструмент ще чете вашите ресурсни файлове, ще извлича текстове за превод и ще създава преведени файлове с ресурси.

Професионалните преводачи (хора) с богат опит в локализирането на приложения за iPhone ще превеждат струни. Вие ще общувате директно с вашите преводачи, за да сте сигурни, че преводът е не само точен, но и адаптиран към културата и обичаите на други страни.

Ще трябва да създадете акаунт (безплатно). След това създайте Проект за превод на iPhone, качвайте файлове с ресурси, избирайте езици и плащайте за превод. След като завършите, ще можете да изтеглите локализираните файлове с ресурси и да ги импортирате обратно в приложението.

И дори дълго след приключването на превода, ако някога се наложи да го актуализирате или поправите, нашите преводачи с удоволствие ще помогнат.

5. Импортиране на превода в приложението за iPhone

Създаване на локализирани .xib файлове

След като върнете преведените редове на файла, стартирайте отново Терминал и го използвайте, за да създадете локализирано копие на този .xib файл.

Първо, не забравяйте да създадете директория за локализацията, която току-що сте получили, например "fr.lproj". Преместете преведените низове на файла в тази директория за локализация.

Ако приемем, че изходният ви език е английски, отидете в директорията на вашия проект, отворете Терминал и изпълнете:

Това ще копира английския локализиран файл Конструктор на интерфейси към различна директория за локализация и заменете стойностите на всички обекти във файла с преведени низове.

Вече имате локализиран .xib, но файлът все още не е готов.

Добавяне на локализиран файл към Xcode

Плъзнете и пуснете ново локализирания .xib файл във вашия проект в Xcode. Уверете се, че не влачите и не пускате файла в съществуваща локализация. Локализираният .xib файл трябва да отиде в групата, съдържаща други локализации на този файл.