Рубрика «локализация» - 19

В статье вкратце расскажу о том, как применить локализацию к вашему приложению и о некоторых советах и трюках. Начну с того, что больше нет привычного нам RESX файла с самогенерируемым code behind и возможностью хранить не только строки – вместо этого имеем RESW (RESJSON) файлы. Не буду лить воду и переводить MSDN – просто покажу всё на картинках и листингах.

Локализация текста в XAML

Создадим простой проект, в котором надо просто выводить “Hello world” со следующей структурой:

Локализация для Windows 8 приложений
Читать полностью »

Доброго времени суток! Многие здесь разрабатывали приложения, которые попадали в публичный Marketplace, AppStore или еще какой-нибудь репозиторий. Многие из этих приложений полезны для пользователей всего мира. И, чтобы приложение было только не полезно, но и чуть более привлекательно, было бы неплохо дать ему название и описание на родном языке потенциального пользователя. WindowsPhone Marketplace с задачей локализации описаний справляется на ура. Однако, локализация Application Title доставляет… некоторые неудобства.
Читать полностью »

Disclaimer!
Все нижеописанное является исключительно опытом автора, полученного на продажах iOS-приложения Smart Coin: Конвертер валют. Автор допускает, что его опыт запросто может не совпадать с вашим. Если есть что добавить — пишите в комментарии. Если хотите написать, что автор мчудак и ничего не понимает в маркетинге — напишите об этом в личку :).

Если по-честному, то эта статья не должна являться продолжением первой моей статьи о мгновенном изменении языка iOS-приложений. Если первая статья была написана программистом для программистов, то в этой заметке пойдет речь непосредственно о процессе локализации, применимом к любой мобильной (и не очень) платформе.

Но мы меня простим и сделаем вид, что это цикл статей ;).

Итак. В процессе разработки большинства мобильных приложений возникает необходимость локализации. И в этот неловкий момент может возникнуть ряд правомерных вопросов: на какие языки переводить, что именно переводить, куда обращаться, на какие мелочи стоит обратить внимание.

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

При установке программ часто случается, что программа предлагает выбрать язык системы или выбрать язык с списка. Это не всегда удобно как кажется на первый взгляд, так как система может быть на китайском… ну или пользователь что то начудил и не может вернуть тот язык ОС, который ему нужен. Иногда предлагают скачать программу именно с той локализацией, которую нужно, но и это, увы не всегда реализовано хорошо или не всегда работает так как надо. И так, как же представить пользователю ту локализацию, которую пользователь выбрал при скачивании?Читать полностью »

Предположим, вы написали программу, выводящую «Hello, World!», например:
  write "Hello, World!"

Приложение работает, всё хорошо.
Но проходит время, ваше приложение развивается, становится популярным и вот, вам нужно эту строку вывести уже на другом языке, причём количество и состав требуемых языков заранее неизвестен.
image

Под катом вы узнаете, как решается задача локализации в Caché.

Читать полностью »

Вычисление CRC32 строк в compile time
По своей программистской природе я очень не люблю неоптимальность и избыточность в коде. И вот, читая в очередной раз на работе исходный код Mail.Ru Агента, вновь наткнулся на одну раздражающую особенность в способе реализации перевода строк продукта на разные языки.

Локализация здесь выполняется довольно нехитро. Все строки, требующие перевода, оборачиваются в макрос _TR():

wprintf(L"%sn", _TR("Some hashing string"));

Макрос возвращает нужную версию текста в зависимости от текущего используемого языка. Определён он следующим образом:

#define _TR(x) g_Translator.Translate(x)

Здесь происходит обращение к глобальному объекту g_Translator, который в функции Translate() считает crc32 от указанной строки и ищет в своей xml-базе перевод с совпадающей контрольной суммой.

Не буду судить насколько такое решение оправдано, но оно проверено временем и показало себя достаточно надёжным. И всё бы ничего, но такое решение не лишено недостатков: по сути, функция делает лишнюю работу — контрольные суммы можно было бы подсчитать один раз на этапе компиляции, и использовать в дальнейшем уже готовые числовые значения. Это также избавило бы от необходимости хранить в исполняемом образе дублирующиеся строки, ведь они уже есть во внешнем xml-файле с переводами.

Немного погуглив по запросу «compile-time crc32» я быстро понял, что задача это не самая тривиальная, а готовых решений мне найти так и не удалось.
Читать полностью »

Wordpress localisation Если у вас блог или сайт вертится на WordPress и язык сайта не английский, — то вы точно сталкивалась с проблемой локализации.

Читать полностью »

Добрый день дамы и господа!

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

Поможем человеку сравнить картинки, или о Тестировании Локализации приложения

Читать полностью »

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

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

Но есть люди, которые не безразличны к сложившейся ситуации. О них и пойдёт речь дальше.
Читать полностью »

Всем привет,

На текущем проекте, от заказчика пришло требования, о том, что информация о прошедших событиях, должна показываться клиенту в виде «относительно времени» (Сообщение вида: «Событие произошло N минутуминутминуты назад»). Нам пришли шаблоны сообщений для разных вариантов, а также требования к внешнему виду, одним из которых было то, что сообщения должны быть локализованы.

«Что здесь сложного?», — подумали мы и отправились в гугл, на поиски готового решения. К сожалению, гугл изображал из себя партизана, предлагал несколько вариантов готовых решений для построения такого типа сообщений для английского языка, но ни одно из них не поддерживало локализации.

«Делать нечего, придется поддержать российский автопром изобретать свой велосипед», — решили мы. И вот, что из этого получилось…
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js