Путевка в жизнь для Open Source-проекта: перевод
Содержание:
1. Введение;
2. Распространение;
3. Перевод (Вы читаете данный раздел).
У нас любят говорить «локализация» или, еще хуже, «интернационализация». Хотя можно проще - перевод интерфейса и документации на другой язык. Если программа сложная, то сам по себе перевод интерфейса, без руководства к программе, лишен смысла. А еще важно, чтобы переводы были более-менее современными версии программы. Как вообще возникают переводы? Энтузиасты шлют вам файлы с ними. Есть два популярных движка переводов: gettext и родной в Qt. Форматы файлов перевода у них разные, а вот подход одинаковый: вы особой функцией помечаете в коде строки, которые надо перевести. В gettext это _(«some string»), в Qt - tr («some string»). Затем исходник сканируется на предмет этих функций, и создается текстовый файл, хранящий строки, которые надо перевести, и соответствующие им переводы. Разумеется, переведенные строки сами собой не появляются - их пишут люди. Далее текстовый файл перевода компилируется в бинарный особого формата и подключается к программе. Когда ваша программа запускается, та функция, которой вы помечали переводимые строки, подгружает перевод из бинарного файла.
Можно бросить клич на сайте проекта - нужны переводчики. Но, как правило, они объявляются сами. Есть несколько способов получать новые версии переводов. Первый - хлопотный и чреватый задержкой выпуска новой версии программы - это рассылка предварительной версии программы переводчикам и ожидание от них перевода. Но у людей свои дела, поэтому вы можете ждать ответ несколько месяцев, а то и вовсе не дождаться. Другой способ - переводчики шлют вам переводы сразу после выпуска новой версии программы. Тогда уже в следующую версию вы включаете эти переводы. Таким образом, перевод отстает на 1 версию.
Если, начиная проект открытого или свободного ПО, вы представите весь объем знаний, которые надлежит усвоить для разработки и ведения, и предвидите все усилия, которые надо будет приложить, то охота писать программу может пропасть. Собственно программирование и «ведение» проекта - две разные вещи. Это относится ко всему: к музицированию и записи альбома, к сочинению книги и её выпуску... Творчество приходится как-то оформлять для потребления его другими людьми.
Но если принять во внимание, что «весь объем знаний» вы будете получать постепенно, по мере надобности, да и титанические усилия прилагать так же, то всё выглядит не столь мрачно. Напротив - когда проект уже, так сказать, поставлен на рельсы и гладко по ним катится, становится скучно. Пора приниматься за что-нибудь новое, за другую программу. И вот тогда у вас уже есть опыт «ведения», и для новой программы останется больше сил на творчество.
Планируете приступить к разработке собственного программного продукта чуть позже, а сейчас намерены с боем отвоевать причитающееся вам по праву наследство от дальних родственников? Ну, в таком случае Вам следует обратиться за помощью к опытным юристам, чья специализация - оформление наследства по завещанию (http://www.advokat-kremer.ru/oformlenie-nasledstva-po-zaveschaniyu/). Уж они то точно смогут Вам помочь!
1. Введение;
2. Распространение;
3.
У нас любят говорить «локализация» или, еще хуже, «интернационализация». Хотя можно проще - перевод интерфейса и документации на другой язык. Если программа сложная, то сам по себе перевод интерфейса, без руководства к программе, лишен смысла. А еще важно, чтобы переводы были более-менее современными версии программы. Как вообще возникают переводы? Энтузиасты шлют вам файлы с ними. Есть два популярных движка переводов: gettext и родной в Qt. Форматы файлов перевода у них разные, а вот подход одинаковый: вы особой функцией помечаете в коде строки, которые надо перевести. В gettext это _(«some string»), в Qt - tr («some string»). Затем исходник сканируется на предмет этих функций, и создается текстовый файл, хранящий строки, которые надо перевести, и соответствующие им переводы. Разумеется, переведенные строки сами собой не появляются - их пишут люди. Далее текстовый файл перевода компилируется в бинарный особого формата и подключается к программе. Когда ваша программа запускается, та функция, которой вы помечали переводимые строки, подгружает перевод из бинарного файла.
Можно бросить клич на сайте проекта - нужны переводчики. Но, как правило, они объявляются сами. Есть несколько способов получать новые версии переводов. Первый - хлопотный и чреватый задержкой выпуска новой версии программы - это рассылка предварительной версии программы переводчикам и ожидание от них перевода. Но у людей свои дела, поэтому вы можете ждать ответ несколько месяцев, а то и вовсе не дождаться. Другой способ - переводчики шлют вам переводы сразу после выпуска новой версии программы. Тогда уже в следующую версию вы включаете эти переводы. Таким образом, перевод отстает на 1 версию.
Заключение
Если, начиная проект открытого или свободного ПО, вы представите весь объем знаний, которые надлежит усвоить для разработки и ведения, и предвидите все усилия, которые надо будет приложить, то охота писать программу может пропасть. Собственно программирование и «ведение» проекта - две разные вещи. Это относится ко всему: к музицированию и записи альбома, к сочинению книги и её выпуску... Творчество приходится как-то оформлять для потребления его другими людьми.
Но если принять во внимание, что «весь объем знаний» вы будете получать постепенно, по мере надобности, да и титанические усилия прилагать так же, то всё выглядит не столь мрачно. Напротив - когда проект уже, так сказать, поставлен на рельсы и гладко по ним катится, становится скучно. Пора приниматься за что-нибудь новое, за другую программу. И вот тогда у вас уже есть опыт «ведения», и для новой программы останется больше сил на творчество.
Планируете приступить к разработке собственного программного продукта чуть позже, а сейчас намерены с боем отвоевать причитающееся вам по праву наследство от дальних родственников? Ну, в таком случае Вам следует обратиться за помощью к опытным юристам, чья специализация - оформление наследства по завещанию (http://www.advokat-kremer.ru/oformlenie-nasledstva-po-zaveschaniyu/). Уж они то точно смогут Вам помочь!