Langpacks/ru

From Miranda NG
Revision as of 14:53, 22 July 2014 by GBot (talk | contribs) (PageLang added)
Jump to navigation Jump to search
Todo [ru]: Нужна нормальная статья по переводу Миранды!

Язык Миранды по умолчанию — английский. Чтобы изменить язык интерфейса, скачайте нужный перевод (файл langpack_*.txt) и положите его в главную папку программы. Ниже представлены переводы, которые уже существуют. К сожалению, их сейчас можно пересчитать по пальцам, и не все они верны. Но если вы хотите помочь — как с существующим переводом, или добавить какой-то другой — добро пожаловать в ряды переводчиков Миранды.

Скачать переводы

Структура перевода Miranda NG

Последняя версия переводов находится по адресу http://svn.miranda-ng.org/main/trunk/langpacks

Папка english содержит шаблон перевода. Он регулярно обновляется, и содержит строки, нуждающиеся в переводе. Править его вручную нежелательно. Исключение составляют плагины, написанные на Паскале (Actman, HistoryPP, ImportTXT, mRadio, QuickSearch, Watrack) — их шаблоны не генерируются автоматически. Необходимо учитывать, что иногда по разным причинам некоторые строки не попадают в английский шаблон (имена разделов и подразделов в настройке значков, например). Это происходит потому, что данные строки одновременно являются именами разделов в базе, вследствие чего их нельзя пометить, как "translatable" (иначе настройки в базе начнут слетать при удалении или добавлении ленгпака), либо им нежелательно устанаваливать статус "translatable" по каким-то иным причинам. Однако, если эти строки все равно нуждаются в переводе, поэтому их перевод осуществляется в отдельном файле.

Файл =HEAD=.txt

Заголовочный файл. Содержит информацию о языке пакета, его авторах.

Miranda Language Pack Version 1
Language:
Locale: 
Last-Modified-Using: 
Authors: 
Author-email: 

Все строки, кроме первой, необязательны и существуют только для информативности.

Файл =CORE=.txt

Строки, которые содержатся в ядре и основных плагинах. Здесь и далее идут собственно строки перевода и комментарии (строки, начинающиеся со знака «;»).

Plugins\

В папке Plugins содержатся переводы плагинов, с аналогичными названиями. Алгоритм поиска строк перевода таков: перевод каждого плагина начинается с его ID (#muuid {...}). Если строка не обнаружена в секции плагина, то ее поиск будет проводиться во всему файлу перевода, с самого начала. Потому правильнее включить в файл перевода плагина все строки, находящиеся в шаблоне, в том числе и те, которые дублируются в =CORE=.

Использование #muuid {...} позволяет переводить одинаковые английские строки по-разному в разных плагинах, например:

[Clear]
Ясно

для плагина Weather и

[Clear]
Очистить

во всех остальных случаях.

Обратите внимание, что дублировать одинаковые строки в пределах перевода одного плагина не следует, так как Miranda будет использовать лишь первый найденный вариант.

Все строки регистрозависимы. Это означает различие между строками [Аbc] и [abc].

Пробел в конце строки (если он наличествует в оригинале) должен быть заменен на \s в переведенной строке (см. коммит 5674). Левый пробел сохраняется, например:

[ Actions ]
 Действия\s

Если оригинальная строка начинается с символа [, он должен экранироваться слешем в переведённой строке, например:

[[Me]]
\[Я]

Файл перевода заканчивается пустой строкой.

Для облегчения процесса перевода существует постоянно пополняемый глоссарий, содержащий устоявшиеся варианты перевода часто употребляемых терминов.

Утилиты для языковых пакетов

lpgen.js

Скрипт автоматической генерации файла шаблона.

LangpackSuite.exe

Собирает разбитый перевод воедино. Также есть возможность создания перевода по вашему файлу Version Info.

Langpackmgr.exe

Своеобразный редактор файлов перевода. Утилита сравнивает файл вашего перевода с одноименным шаблоном и выводит отсутствующие строки. Здесь же можно их вписать и сохранить отредактированный файл. Создаёт отсутствующие файлы, сообщает о состоянии перевода каждого файла и перевода в целом.

Для записи в файл перевода непереведенных строк в формате

[some untranslated string]
<пустая строка для перевода>

необходимо создать пустой файл clearstring.ini рядом с LangPackMgr.exe. Подробнее об утилите на форуме.

UpdateLang.bat

Обновляет файлы перевода в соответствии с англоязычным шаблоном. Непереведённые строки будут помещены в /langpacks/russian/Untranslated, а в языковой пакет не попадут.