Что такое apk на Android и как им пользоваться

Данный гайд посвящен разработчикам аддонов и просто любителям, которые решили провести локализацию (перевод) любимого аддона на свой родной язык. Гайд расписан поэтапно, а потому всё рассказано доходчиво и вразумительно.

Как перевести аддон

  1. Для перевода аддонов не потребуется особых знаний (LUA, к примеру). Достаточно желания, свободного времени и минимальных знаний переводимого языка.
  2. Программы которые потребуются для перевода: Notepad++, Lingvo. Каждую из этих программ можно бесплатно скачать в интернете
  3. После установки всех программ, открываете файл *toc программой Notepad++ и видите там DKPmon_. Выбираете в программе кодировку UTF-8 и это главное не только в *toc файлах. Прописываете всё, что считаете нужным, а именно заметку по-русски (имя аддона, к примеру). Обязательно пропишите файл русской локализации . В разных аддонах он может быть своим, но разобраться не составит труда. Если в файле *toc вы не нашли указаний на файлы локализации, то поищите в соседних *XML, потому что иногда разработчики прячут всё там.
  4. Теперь приступаете к файлу самой локализации. Создайте файл для русского языка ruRU по образцу соседних файлов с различными языками и поправьте в его названии ruRU, чтобы не ошибиться, возьмите переделанный (к примеру, немецкий файл) на ruRU и из английского перенесите текст аддона. Очень важно прописать все данные и в самом аддоне. Для удобства, откройте уже созданный ru аддон и посмотрите по примеру, как всё сделано там. Перевод в 95% случаев будет прятаться в папке locale, файлах Core String или папке Modul. Очень редко, локализация кодируется в самом аддоне, тогда, как правило, файл локализации прячется в самом большом (по весу) файле аддона.
  5. После самого создания файла, начинаете править и переводить его. Перевод должен оставаться строго в пределах кавычек. Не нарушая синтаксис программы, переводите все строки на желаемый язык. Ни в коем случае не выкидывайте тэги «%s«, «%d» и подобные. Если попадаются слова, начинающиеся с символа «\» (к примеру: \m), то оставляйте всё как есть. Все кавычки (одинарные и двойные) менять нельзя ни в коем случае! Самое главное — перед переводом на русский язык, сохраняйте все данные в кодировке UTF-8.
  6. Повторяюсь еще раз: не нарушайте кодировки аддона, иначе потом, когда посыпятся ошибки, Вы не сможете ничего разобрать. Не выходите за рамки строки, к примеру: если написано Mon (сокращенно от Monday), то пишите на русском Пон (сокращенно от Понедельник), но не всё слово Понедельник сразу. Из-за этого в самой игре аддона может вылезать за рамки и получится сплошная каша.
  7. Не переводите весь аддон целиком, даже если он очень прост. Лучше переводите частями, к примеру: перевели 1/10 часть — зайдите в игру и проверьте, что всё работает правильно и ничего не сдвинулось. Если перевод будет неудачен, Вы всегда сможете вернуться к изначальному виду в самом графическом редакторе. Аддон проверяется непосредственно в самой игре, поэтому приготовьтесь почаще заходить и сверяться с адекватностью и правильностью перевода.
  8. Ошибки выявить очень просто. Поставьте !BugGrabber BugSack — ловец ошибок (при нажатии клавиши shift он перезагрузит UI) или Swatter. Они выявят все ошибки, которые вызываются аддоном. В редакторе исправляете все ошибки, указанные проверкой. Аддон может перестать работать из-за самых мелких проблем (где-то не поставлена кавычка), поэтому если какая-то функция была нарушена, ловец ошибок покажет Вам проблемную строку и выделит проблему. Очень важно скачивать самую последнюю версию аддона с сайта разработчика, чтобы добиться максимального результата.
  9. На этом локализация аддона завершена! Если вы желаете, чтобы Ваш перевод добавили официально — отправьте сообщение автору и расскажите о своей доработке/модификации или выложите перевод в общий доступ, не забыв подписаться под ним. На этом локализация окончена.

Немного теории

  • Apk – это формат установочного пакета для операционной системы Android. Представляет собой один файл, в названии которого после точки написано apk.
  • Сам по себе файл является архивом, в котором лежит вся необходимая информация – это изображения, программный код и составляющие программы, как ей вести себя на таком-то таком-то устройстве и так далее.
  • Открыть файл можно с помощью обычного архиватора, а ещё лучше из тотал командера. Это для тех, кому особенно интересно посмотреть, что же находится внутри.
  • Файлы нужны для того, чтобы самостоятельно устанавливать сторонние приложения, которых или нет на маркете, или лень их там искать. Как устанавливать, смотрим и читаем ниже.

Локализация

Локализация — это процесс адаптации ПО к культуре какой-либо страны. Зачастую, под термином «локализация» подразумевают  перевод пользовательского интерфейса, документации и сопутствующих файлов ПО с языка оригинала, на другой.

Локализация — это необходимый этап в выводе программного продукта на новый рынок. Вряд ли было бы целесообразным выводить не локализованный программный продукт на рынок, ведь большая часть потребителей, за исключением очень специфичных продуктов, не владеет языком оригинала.

Для локализованного же ПО языковых барьеров для пользователей не существует, а это дает возможность быстро выйти на рынок и распространится в новой языковой среде.

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

Все проекты по локализации курируют переводчики — носители языка.

Создание первого проекта

Для начала запускаем eclipse (например, командой eclipse-adt, которую мы делали в прошлой статье), открываем Android SDK Manager (Window → Android SDK Manager) и устанавливаем версию платформы Android 2.3.3 (модуль Android 2.3.3 (API 10)/SDK Platform). Если он уже установлен, идём дальше.

Читайте также:  Диктофон на андроид — 5 лучших приложений для записи звука

Проект содержит все необходимые вещи для приложения: программный код, инструкции по сборке, ресурсы (например, картинки), описания интерфейсов, документацию и т.д. Создаём первый проект, через меню: File → New → Android Project, после чего открывается вот такой диалог:

Внешний вид этого диалога практически одинаков для всех типов проектов: вам нужно выбрать название проекта (в нашем случае это «first project»), каталог, в котором проект создавать (нас вполне устраивают значения по умолчанию). Жмём Next > и видим следующий шаг:

Здесь нам предлагается выбрать, под какую версию андроид-платформы мы хотим создать проект, в списке доступны установленные в SDK модули для разных версий платформы, а выбрать вы можете только одну. На скриншоте вы видите, что доступны три версии: Android 2.2, Android 2.3.3 и Android 4.0.3. Выбираем версию 2.3.3., жмём Next > и попадаем на следующий экран:

На этом экране мы задаём информацию о нашем приложении, заполните так, как показано на скриншоте. Совсем коротко об этих полях. Application Name — это название проекта, обычная строка текста. Package Name — это название пакета, по сути индентификатор приложения, его пространство имён (namespace в терминологии Java), способ его формирования стандартен для Java-приложений (подробнее об этом можно почитать в официальной документации по Java). Оставляем крыжик в поле Create Activity, значение этого поля также оставляем по умолчанию, я позднее расскажу, что такое Activity. В поле Minmum SDK мы можем выбрать минимальную версию андроида, на которую можно будет поставить приложение, по сути это поле дублирует предыдущий экран. Поле и крыжик Crate a Test Project пока отключаем. Всё нужное заполнили, жмём Finish. Пару секунд Eclipse будет создавать шаблонный проект с выбранными параметрами, после чего он появится во вьюшке Package Explorer. Если вы эту вьюшку потеряли, вспонимаем, как открыть её через меню Window → Show View → Package Explorer).

Раскрываем папку с проектом в Package Explorer и начинаем изучать, при этом окно Eclipse у вас должно выглядеть примерно так:

Проект представляет собой дерево папок, в которых находятся разнообразные объекты. Немного про некоторые из них расскажу.

src — здесь лежит ваш программный код на языке Java.

gen — в этой папке лежат автоматически сгенерированные файлы, например, файлы локализации приложения.

Android 2.3.3 — это контейнер с классами выбранной платформы.

res — здесь лежат ресурсы вашего приложения (картинки, строки локализации, макеты интерфейса).

— это манифест вашего приложения, очень важный файл, в котором описаны детали и параметры приложения, включая зависимости, название, описание, необходимые для работы разрешения и т.п. Подробнее об этом файле я расскажу ниже в этой главе.

— это файл конфигурации для системы ProGuard, инструмента из SDK для оптимизации и защиты приложения. Про этот файл и вообще систему ProGuard я расскажу как-нибудь потом, пока этот файл не трогайте, пусть лежит.

— это файл для сборочной системы Ant, он автоматически пересоздаётся при модификации свойств проекта, так что не стоит в него писать.

Читайте также:  3 эффективных способа восстановить видимость SD-карты

На остальные файлы и контейнеры пока не обращайте внимания.

Где взять APK?

Самым обширным источником APK-файлов является маркет Google Play, который по умолчанию установлен в каждое Android-устройство. Но площадка не дает возможности скачать их отдельно, а сразу производит установку. При загрузке приложений через Google Play происходит автоматическая разархивация APK, и пользователю не нужно искать этот файл на устройстве и запускать его.

Что получить непосредственно файл в формате APK, можно использовать специальные ресурсы и источники APK-приложений в интернете. В этом случае нет гарантии, что при установке приложений из подобных источников устройство не пострадает. Для скачивания и установки APK нужно пользоваться проверенными ресурсами, например, 4PDA или Trashbox.

Подробнее об установке приложений из неизвестных источников можно узнать в специальной статье.

 Как скачать и установить

Самое большое хранилище АПК — это Play Market. Его особенность в том, что площадка не позволяет скачать на мобильное устройство сам файл, а сразу выполняет его инсталляцию, поэтому пользователю не приходится задумываться о том, как и чем открыть на Android APK

 Как скачать и установить

Если пользователю необходим контент, которого нет на Google Play — отыскать АПК он сможет в Сети. Важно загружать их только с проверенных сайтов, иначе существует риск скачать вредоносное ПО или заразить технику вирусами.

Найти в Сети APK и скачать его можно на компьютер, а затем перенести через кабель, Bluetooth или другим способом на телефон или планшет. Ещё одно решение — выполнить загрузку непосредственно в память мобильного устройства через его браузер.

 Как скачать и установить

После скачивания:

  • Открыть настройки смартфона.
  • Перейти во вкладку «Безопасность».
 Как скачать и установить
  • Найти строку «Неизвестные источники» и активировать функцию, чтобы разрешить установку ПО из APK.
  • В памяти телефона отыскать загруженный АПК и нажать на него для начала инсталляции.
 Как скачать и установить
  • Подтвердить установку.

Далее останется дождаться окончания операции, а затем приступить к работе с приложением или запустить игру.

 Как скачать и установить

Определение строк перевода

Использование кратких ключей

Обычно строки перевода хранятся в файлах, располагающихся внутри директории resources/lang. В ней должны находиться подпапки для каждого языка, поддерживаемого вашим приложением:

/resources /lang /en /es

Все языковые файлы возвращают простой массив ключей и строк. Например:

<?php // resources/lang/en/ return [ ‘welcome’ => ‘Welcome to our application’ ];

Использование строк перевода как ключей

Определение каждой строки с помощью "краткого ключа" для приложений с большими требованиями к переводу может привести к путанице при обращении к ним из ваших шаблонов. По этой причине, Laravel также предоставляет поддержку определения строк перевода с использованием стандартного перевода в качестве ключа.

Файлы переводов, которые используют строки перевода в качестве ключей, хранятся в JSON-файлах в директории resources/lang. Например, если приложение имеет поддержку испанского языка, то вы должны создать файл resources/lang/:

{ «I love programming.»: «Me encanta la programación.» }