GeMLoc
Switch to English >>

GeMLoc - для тех, кто любит быстрый код и быстро кодить

GeMLoc - генератор минимальной локализации (Generator of Minimum Localization). Это Open Source и Freeware утилита для разработчиков программ на C/C++, которая помогает сделать локализацию под разные языки, минимально замедляющую исполнение кода, а сама утилита работает так, чтобы процесс написания кода минимально замедлялся по сравнению с написанием кода без локализации. Идейно утилита представляет собой развитие концепции широко известной библиотеки gettext в сторону ускорения исполнения и написания кода.

Эффективность GeMLoc лучше всего пояснят два примера.

Пример 1. Скорость написания кода:

- то есть в процессе написания кода программист печатает перед строкой "волшебный префикс" (в данном примере LC, а можно другой) и... продолжает набивать код дальше, не отвлекаясь на мысли о том, что эту строку надо куда-то скопировать, для нее надо завести идентификатор и т.п. В этом GeMLoc похож на gettext, где программист напечатал бы: _("my string") и продолжил бы писать код дальше, не отвлекаясь. Позднее, в любой удобный день программист запускает скрипт с вызовом GeMLoc, который автоматически выполняет всю "черную" работу, ориентируясь на расставленные префиксы - ищет в программе помеченные строки, заменяет их, вставляет нужные объявления переменных, создает необходимые файлы и т.п.

В числе прочего скрипт сделает такую замену:

Пример 2. Скорость исполнения кода:

- здесь LC__Hello_world - это переменная типа const char * (также допускаются const wchar_t * и QString). То есть, массив const char [] превратился в указатель на char. Здесь нет никакого вызова функции, в которой выполнялся бы поиск по идентификатору, индексу или строке. Была переменная строкового типа - осталась переменная почти того же типа. С GeMLoc можно раз и навсегда забыть о сомнениях: "А не замедлится ли исполнение на большом количестве строк? А не надо ли тут соптимизировать?" Тут оптимизировать не надо - все равно некуда.

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

GeMLoc "дружит" с ASCII, UTF-8, Unicode, Qt, RC, Windows и Unux.

Документация

Скачать