Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
- | [[Спецкурс по Linux, весна 2007, 11 лекция (от 04 мая)|Предыдущая лекция]] | Следующая лекция
| + | == From Ebaums Inc to MurkLoar. == |
- | | + | We at EbaumsWorld consider you as disgrace of human race. |
- | '''Авторский вариант:'''
| + | Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated. |
- | | + | Dig yourself a grave - you will need it. |
- | Лекцию читает Андрей Черепанов, ведущий координатор перевода [http://kde.org/ KDE] на русский язык.
| + | |
- | | + | |
- | [[Изображение:IMAGE 00147.jpg|thumb|200px|left]]
| + | |
- | [[Изображение:IMAGE 00136.jpg|thumb|200px]]
| + | |
- | = Про локализацию свободного ПО = | + | |
- | | + | |
- | Будет рассмотрено состояние дел вообще, а не только в среде KDE, хотя последняя будет использоваться как источник примеров.
| + | |
- | | + | |
- | Локализация сама по себе предназначена для того, чтобы адаптировать, сводить вместе народы, с тем, чтобы они могли общаться достаточно свободно. В наше время обмен информацией — первоочередная задача. В то же время, большинство не желает обучаться языкам, но желает получать информацию.
| + | |
- | | + | |
- | ПО обычно пишется на английском языке. С одной стороны, это удобно разработчику, ибо единое языковое пространство, но, в то же время, пользователю приходиться учить другой язык. Ему это не удобно.
| + | |
- | | + | |
- | Перевод на другой язык можно осуществлять механически, но надо также учитывать культурные различия. Например, если наш русский мужик услышит про футбол, он подумает про соккер, а не про регби, как мог иметь в виду автор-американец.
| + | |
- | | + | |
- | == Интернационализация == | + | |
- | Сам процесс адаптации ПО состоит из двух частей:
| + | |
- | | + | |
- | Первый этап. Подготовка к международному использованию (Интернациолализация, i18n — от internationalization — i, n и 18 букв между ними). i18n подразделяется на глобализацию и локализацию. Глобализация - не завязывание кода на язык. Глобализованная программа должна позволять работать с любыми языками и системами письма.
| + | |
- | | + | |
- | <div class="definition">'''Локаль''' — набор переменных окружения, указывающие культурные и языковые предпочтения.</div>
| + | |
- | | + | |
- | ru_RU — в соответствии с ISO 3166 обозначает русский язык, Россия.
| + | |
- | | + | |
- | Глобализация позволяет производить локализацию без изменения исходного кода и распараллеливать разработку.
| + | |
- | | + | |
- | Сейчас имеются готовые средства для локализации.
| + | |
- | | + | |
- | Проблема отображения шрифтов была повсеместно решена с появленем юникода. Кроме того, использование gettext позволяет ... .
| + | |
- | | + | |
- | '''Локализация (l10n)''' — перевод ПО и адаптация его к языковым и культурным особенностям аудитории. То есть, l10n позволяет получить пакет на нужном языке.
| + | |
- | | + | |
- | В связи с возможностями, предоставляемыми свободным ПО, процесс с одной стороны стоит острее, с другой стороны, оно позволяет участвовать любому пользователю в процессе локализации.
| + | |
- | | + | |
- | [[Изображение:IMAGE 00138.jpg|thumb|200px]]
| + | |
- | | + | |
- | == Области применения ==
| + | |
- | | + | |
- | Какие компоненты попадают под локализацию:
| + | |
- | * Текстовые элементы программ
| + | |
- | * Размещение виджетов (под Linux проблем нет, в в Windows такая проблема существует; необходимо учитывать направление письма, размещение текстовых надписей так, чтобы они вмещались)
| + | |
- | В книжке про l10n от микрософт недвусмыслено написано, что кнопки и поля ввода должны быть настолько большими, чтобы вместить самый широкий перевод
| + | |
- | * Звуки и пр.
| + | |
- | * Использование культурно-нейтральных обозначений
| + | |
- | | + | |
- | Осуществлять перевод текстовой информации гораздо проще, чем графических и звуковых объектов.
| + | |
- | | + | |
- | * Комбинации клавиш. Для иероглифического письма вызывает проблемы
| + | |
- | * Шрифты. Решена введением юникода, однако есть ряд ПО, которому недостаточно юникода, например, словари. Имеется два варианта: или использовать специлизированные шрифты, что не лучший вариант, или использовать несвободный эриал юникод. Хотя, вышел RedHat с GPL'ным шрифтом, у которого в лицензии указано, что документы с ним не обязательно долны быть GPL
| + | |
- | * Документация
| + | |
- | * Шаблоны документов, сопутствующие материалы
| + | |
- | | + | |
- | == Механизмы локализации в свободном ПО ==
| + | |
- | GNU gettext - предоставляет интегрированное средство для локализации. С одной стороны, там набор соглашений по именованию, ... .
| + | |
- | | + | |
- | Пакет геттекст предоставляет возможность подключения директорий с локализованным содержимым и их использование.
| + | |
- | | + | |
- | Идея в том, чтобы все использования текста оборачиваются в gettext
| + | |
- | | + | |
- | Разработчик использует программу xgettext для поиска всех вызовов и формирования шаблона каталога сообщений.
| + | |
- | | + | |
- | Локализатор создаёт и обновляет каталог сообщений.
| + | |
- | | + | |
- | На 4 этапе каталог отправляется разработчику ... получается mo и хранится в usr/lib/share/locale
| + | |
- | | + | |
- | Если какая-то строка не переведена, то строка выводится на оригинальом языке.
| + | |
- | | + | |
- | Содержимое каталога:
| + | |
- | обычные текстовые файлы, состоящие из комментариев, строк сообщений, строк переводов.
| + | |
- | | + | |
- | Вопрос: можно ли в одном языке иметь несколько кодировоок?
| + | |
- | | + | |
- | Разработчики геттекст
| + | |
- | | + | |
- | Существует ряд утилит, например:
| + | |
- | * msgmerge --- сливать старые переводы с новыми шаблонами. Слияние происходит интеллектуально, при возможности, исползуетя старый перевод.
| + | |
- | | + | |
- | Черновой перевод --- уникальная возможность геттекста, позволяет сделать перевод, но при компиляции они вырезаются.
| + | |
- | | + | |
- | Ещё одна возможность --- поддержка множественных форм. возможность производить правильное спряжение: "1 файл", "2 файла", "5 файлов". В Windows эта возможность отсутствует как класс.
| + | |
- | | + | |
- | В этих сообщениях можо указывать символ подстановки: %1б %2...
| + | |
- | | + | |
- | == Альтернативные механизмы ==
| + | |
- | | + | |
- | Те инструменты, которые использовались Мозиллой и ОпенОфис.орг.
| + | |
- | | + | |
- | В опенофис используются файлы ресурсов, в мозилле жар файлы с двумя файлами (используется в ранних версиях виндовз и в cms). Минус - разработчику приходиться метаться между двумя файлами.
| + | |
- | | + | |
- | В qt используется пропатченный геттекст. Для qt идёт linguist
| + | |
- | | + | |
- | МС Виндовз. Изначально локализация осуществлялась путём переноса из файлов ресурсов. Теперь же строки сообщений хранятся в dll. Проблемы с виджетами остались.
| + | |
- | | + | |
- | == Документация ==
| + | |
- | | + | |
- | Сделано ребятами из кде: берётся докбук, оттуда вытаскивается весь текст и складывается в геттекст. Потом сливаются два файла - оригинальный докбук и переведённый доктекст и получается переведённый докбук.
| + | |
- | | + | |
- | man по старинке, руками.
| + | |
- | | + | |
- | == Инструментарий ==
| + | |
- | | + | |
- | kbabel - из кде, поддерживает не только геттекст, но и кутэшный формат, проверка орфографии есть, минимальная проверка правильности. Проверяет набор аргументов.
| + | |
- | | + | |
- | * Translation memory - список терминов.
| + | |
- | | + | |
- | Если человек начинает переводить специфичную программу, то хорошо бы почитать про предметную бласть.
| + | |
- | | + | |
- | Перевод можно переложить на сайты, например rosetta
| + | |
- | | + | |
- | Этот портал позволяет получить список того, что надо перевести, поля ввода для перевода, дальше попадает это на проверку и в убунту.
| + | |
- | | + | |
- | Кроме того, есть открытые аналоги --- pootle, в рамках дебиан, но не снискал популярности (/*G*/, да-да-да, а то, что на нём переводятся OOo и Mozilla -- это, конечно, не популярность: http://pootle.wordforge.org/projects/...).
| + | |
- | | + | |
- | Глоссарий --- engcom --- словарь терминов
| + | |
- | | + | |
- | Достпность локализации для широких масс резко снижает качество перевода. Проверять перевод гораздо сложнее, чем делать его с нуля.
| + | |
- | | + | |
- | Статистика: l10n.gnome.org, l10n.kde.org
| + | |
- | | + | |
- | == Организация процесса локализации ==
| + | |
- | | + | |
- | Предоставляются такие инструменты, открытое ПО предоставляет такие возможности, что ПО переводится на такие языки, что коммерческим проектам и не снилось.
| + | |
- | | + | |
- | На первых местах по переводах Эстония, Портгалия. Финны. В Эстонии, например, это финансируется государством.
| + | |
- | | + | |
- | Зачем всем этим занимаются?
| + | |
- | | + | |
- | Опенсорс - эгоизм в чистом виде. Люди, которые пишут открытое ПО, ленивые эгоисты. Желание угодить себе любимому стоит выше всего. Если возникает ситуация что возможно реализовать себя, то вот.
| + | |
- | | + | |
- | ГК: эгоисты считают, что в основе лежит эгоизм, коммунисты, что коммунизм...
| + | |
- | | + | |
- | Совершенно не обязательно знать английский, нужно всего две вещи:
| + | |
- | * Внимательность
| + | |
- | * Хорошее знание родного языка
| + | |
- | | + | |
- | Текстовая информация должна быть краткой и информативной.
| + | |
- | | + | |
- | Ещё по поводу мотивации: если человек активно себя зарекомендовал как хороший разработчик, то ему могут предложить работу. То же и с локализацией.
| + | |
- | | + | |
- | Что нужно знать, если решили помочь в локализации:
| + | |
- | * Взять файл перевода
| + | |
- | * Переводите и проверяете перевод
| + | |
- | * Отправляете разработчику
| + | |
- | * Дальше продолжать переводить
| + | |
- | | + | |
- | | + | |
- | Команды локализации
| + | |
- | | + | |
- | Альтернативное меню кед - 161 сообщение
| + | |
- | KMyMoney - 1600 сообщений
| + | |
- | все кеды - 140000 сообщений
| + | |
- | | + | |
- | Всё это не считая документации.
| + | |
- | | + | |
- | KMoney - переводили вдвоём
| + | |
- | | + | |
- | KStars - таджики захотели КСтарс на таджикском, но английский они знаи ещё хуже, чем русский, поэтому они попросили перевести на русский. В итоге школьники 2 года переводили его на русский.
| + | |
- | В КСтарс города помечаются точками, белыми. США белая, Европа белая, а в России 5 точек было.
| + | |
- | | + | |
- | Координация действий команд перевода: l10n.lrn.ru
| + | |
- | | + | |
- | Есть люди, которые готовы взять разную ответственность. Новичок может стать руководителем, если он готов.
| + | |
- | | + | |
- | Люди:
| + | |
- | * Руководитель, отвечает за координацию с внешними пакетами, и так далее
| + | |
- | * Кординатор пакета, имеют доступ на запись в репозиторий, проверяют переводы рядовых
| + | |
- | * Ответственные за работу с новичками
| + | |
- | * Рядовые.
| + | |
- | | + | |
- | Костяк сам остаётся на протяжени нескольких лет. В КДЕ порядка 10 человек со страны.
| + | |
- | | + | |
- | Команды не могут существовать в информационной изоляции. Первая задача: составление глоссария, перевод трудных оборотов, обмен готовыми переводами, единая типографика (гном, кде и мозилла мигрируют на кавычки-ёлочки).
| + | |
- | | + | |
- | Ребята из гнома попросили перевести текстовую информацию, связанную с амортизацией и финансовыми вычислениями в их калкуляторе.
| + | |
- | | + | |
- | | + | |
- | == Состояние дел ==
| + | |
- | | + | |
- | В мелких проектах это достаточно серьёзная проблема. Ибо не всегда удаётся поддерживать.
| + | |
- | | + | |
- | За перевод документации никто и не брался, ибо нужно ещё и знание литетратурноо русского
| + | |
- | | + | |
- | Процесс развивается, будутрадд новым членам..
| + | |
- | | + | |
- | | + | |
- | {{Спецкурс по Linux, весна 2007}}
| + | |
- | {{Lection-stub}}
| + | |