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

В продолжении статьи про основы локализации приложений Windows 8MetroRTStore (сам черт ногу сломит что правильнее — и ещё проблемнее гуглить) хотел бы поделиться ещё одним небольшим скриптом, автоматизирующим эту самую локализацию.
Вам уже известно, что чтобы локализовать, к примеру, текст какого-нибудь лейбла (TextBlock) нам необходимо проделать следующие действия:

  1. Присвоить элементу x:UID
  2. Присвоить его свойству Text значение (потому-что дизайнер не подхватит значение из resw)
  3. Открыть resw, добавить UID, не ошибиться со свойстовм и указать свойство «Text», а потом и сам текст локализации.

Муторно, да?
Читать полностью »

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

Неграмотная английская локализация способна обесценить и творческий подход к архитектуре, и изящество кода, которыми так славятся толковые отечественные программисты. Ведь для большинства пользователей качество софта и уровень исполнения его интерфейса – это одно и то же. Про приложение с опрятной панелью инструментов и понятными сообщениями говорят: «Эта программа хорошая» и прощают ей некоторые недостатки в буквальном смысле за красивые глаза.

Я работаю в команде создателей технической документации Parallels Plesk Panel. Этот материал появился как обобщение нашего опыта: мы учитывали ошибки своих коллег-разработчиков и параллельно читали учебники по техническим коммуникациям. В результате у нас появились свои правила и шаблоны – они помогут писать простые сообщения даже тем, у кого английский язык находится в стадии освоения. Наш материал не претендует на исчерпывающее руководство на все случаи жизни, но это та самая печка, от которой могут плясать начинающие локализаторы.

Под катом размещены кликабельные картинки, каждая из которых ведет на соответствующий PDF, пригодный к печати на А4.
Читать полностью »

Всем привет!

Сегодня отличный день, чтобы начать вести свой блог на Хабре.

Итак, начнем. Мы — компания Alconost — делаем переводы, локализацию ПО и веб сайтов, создаем справочную документацию для ПО, делаем жгучие рекламные видеоролики для программ и онлайн сервисов. А еще мы разрабатываем сервис живых онлайн переводов.

В общем — помогаем разработчикам и вендорам ПО развивать и “маркетить” свои продукты.

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

В статье вкратце расскажу о том, как применить локализацию к вашему приложению и о некоторых советах и трюках. Начну с того, что больше нет привычного нам 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 и язык сайта не английский, — то вы точно сталкивалась с проблемой локализации.

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


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