Langpacks/ru: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
(trailing spaces clean up)
mNo edit summary
Line 27: Line 27:
Последняя версия переводов находится по адресу http://svn.miranda-ng.org/main/trunk/langpacks
Последняя версия переводов находится по адресу http://svn.miranda-ng.org/main/trunk/langpacks


Папка english содержит шаблон перевода. Он регулярно обновляется, и содержит строки, нуждающиеся в переводе. Править его вручную нежелательно. Исключение составляют плагины, написанные на Паскале (Actman, HistoryPP, ImportTXT, mRadio, QuickSearch, Watrack) — их шаблоны не генерируются автоматически. Необходимо учитывать, что иногда по разным причинам некоторые строки не попадают в английский шаблон (имена разделов и подразделов в настройке значков, например). Это происходит потому, что данные строки одновременно являются именами разделов в базе, вследствие чего их нельзя пометить, как «translatable» (иначе настройки в базе начнут слетать при изменении языка), либо им нежелательно устанавливать статус «translatable» по каким-то иным причинам. Однако, эти строки все равно нуждаются в переводе, поэтому их перевод осуществляется в [http://svn.miranda-ng.org/main/trunk/langpacks/russian/Plugins/_Various.txt отдельном файле].
Папка english содержит шаблон перевода. Он регулярно обновляется, и содержит строки, нуждающиеся в переводе. Править его вручную нежелательно. Исключение составляют плагины, написанные на Паскале (Actman, HistoryPP, ImportTXT, mRadio, QuickSearch, Watrack) — их шаблоны не генерируются автоматически. Необходимо учитывать, что иногда по разным причинам некоторые строки не попадают в английский шаблон (имена разделов и подразделов в настройке значков, например). Это происходит потому, что данные строки одновременно являются именами разделов в базе, вследствие чего их нельзя пометить, как «translatable» (иначе настройки в базе начнут сбрасываться при изменении языка), либо им нежелательно устанавливать статус «translatable» по каким-то иным причинам. Однако, эти строки все равно нуждаются в переводе, поэтому их перевод осуществляется в [http://svn.miranda-ng.org/main/trunk/langpacks/russian/Plugins/_Various.txt отдельном файле].


==== Файл =HEAD=.txt ====
==== Файл =HEAD=.txt ====

Revision as of 21:16, 30 December 2015

Языковой пакет (также лэнгпак, лангпак, лэнг) — текстовый файл langpack_*.txt для перевода интерфейса Миранды на какой-либо язык, отличный от английского. Языковые пакеты находятся в папке Miranda NG\Languages.


Пользователям

Выбор языка

Установка и использование

Установить дополнительные языки можно с помощью PluginUpdater (Главное меню → Компоненты для установки), либо вручную: скачать нужный перевод и распаковать содержимое архива, включающее папку Languages с содержащимся в ней лэнгпаком, в корень программы.

Чтобы выбрать и применить один лангпак из нескольких установленных, откройте Настройки → Тонкая настройка → Языки (Options → Customize → Languages).

Если в папке Languages есть несколько переводов, то при запуске программы (например, в менеджере профилей) будет использован первый по алфавиту. Задать перевод по умолчанию на старте можно в файле Mirandaboot.ini, указав желаемый лангпак в параметре DefaultLanguage (секция [Language]), например:

DefaultLanguage=langpack_russian.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]]
\[Я]

[# Solid color fill]
\# Заливка цветом

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

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


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

lpgen.js

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

LangpackSuite.exe

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

Langpackmgr.exe

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

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

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

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

UpdateLang.bat

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