Localisation/ru

Локализация это в общем процесс предоставления програмного обеспечения c пользовательским интерфейсом поддерживающем несколько языков. В FreeCAD вы можете установить язык пользовательского интерфейса в Edit→Preferences→Application. FreeCAD использует Qt чтобы поддерживать несколько языков. В Unix/Linux системах, FreeCAD использует текущие настройки локали(языковые настройки) вашей системы, по умолчаннию.

Помощь с переводом FreeCAD
Одно очень важных дел которые вы можете сделать для FreeCAD, если вы не программист, это помочь с переводом программы на ваш язык. Сейчас это легче чем когда-либо, с использованием Crowdin системы совместного on-line перевода.

Как Переводить

 * Отправляйтесь на страницу проекта перевода FreeCAD на Crowdin;
 * Войдите, создав новый профиль, или воспользовавшись сторонними аккаунтами, такими как ваш GMail адрес;
 * Щелкните на языке с которым вы хотите работать;
 * Начните переводить, щелкнув на кнопке Translate рядом с одним из файлов. Например, FreeCAD.ts cсодержит текстовые строки для главного окна FreeCAD.
 * Вы можете голосовать за существующие переводы, или вы можете создавать свой собственный.

Примечание: Если вы активно принимаете участие в переводе FreeCAD и хотите быть в курсе когда будет готов к запуску следующий релиз, так чтобы было время рассмотреть ваш перевод, пожалуйста подпишитесь на этот опрос: http://www.freecadweb.org/tracker/view.php?id=137

Перевод wiki
В этой вики содержится много контента, большинство из которого собрано в руководства. Вы можете просмотреть документацию, начиная со стартовой страницы или можно взглянуть на   руководство пользователя

Примечание: чтобы иметь возможность перевести вики, вы должны сначала, конечно получить разрешение на редактирование вики.

Необходимо иметь базовые знания о стиле форматирования вики, а также обладать общими основными принципами вики FreeCAD, потому что при переводе вы будете иметь дело с некоторыми специальными тегами. Вы можете найти эту информацию на странице WikiPages

Плагин для перевода
После того, как вики была убрана с SourceForge, Yorik установил плагин для перевода который позволяет облегчить переводы между страницами. Например, теперь может быть переведён заголовок страницы. Другие преимущества плагина для перевода в том, что он отслеживает переводы, уведомляет, если исходная страница была обновлена, и поддерживает синхронизацию переводов с оригинальной страницей на английском языке.

Инструмент описан в Extension:Translate и является частью Language Extension Bundle.

Чтобы быстро начать работу по подготовке страницы для перевода и активации плагина, пожалуйста, прочитайте страницу с примером перевода.

Чтобы увидеть пример того, как работает инструмент перевода, один раз плагин перевод активируется на странице, вы можете посетить Стартовую страницу. Вы увидите новую языковую строку меню внизу. Она была сгенерирована автоматически. Нажмите, например, на немецкую ссылку, это преместит Вас на стартовую страницу на немецком языке. Прямо под названием, вы можете прочитать "Эта страница представляет собой 'переведенную версию' страницы Стартовая страница и перевод завершен на хх%." (Хх - это текущий фактический процент перевода). Нажмите на ссылку "translated version", чтобы начать перевод, либо обновить или исправить существующий перевод.

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

При добавлении нового контента, вначале должна быть создана страница на английском языке, а затем она переводится на другой язык. Если кто-то хочет изменить / добавить контент на странице, он первым делом должен сделать английскую версию.

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

Important notes
Every wiki user that has "Editor" permissions is able to launch the translate utility and write, save, and review translations.

However, only users with "Administrator" permissions are able to mark pages for translation. A page that is not marked for translation won't make use of the translation extension and won't be correctly synchronized to the English information.

Боковая панель (меню навигации слева) также может быть переведена. Пожалуйста, следуйте инструкциям на странице Localisation Sidebar.

Примечание: первый раз при переключении страниц на новую систему перевода, она теряет все свои старые "Ручные" переводы. Чтобы восстановить перевод, вам необходимо открыть более раннюю версию из архива, и копировать / вставлять абзацы вручную в новой системе перевода.

Development - How to Add Localisation
This section is for developers who want to add localisation to their code.

Подготовка собственных модулей/приложений для перевода
All of the above steps are performed by the "translation scripts" which are run by an administrator periodically.

Preparing your module for translation is quite easy. First, you need to ensure that you have a "translations" directory in myModule/Gui/Resources. Then open a terminal window (or Windows/OSX equivalent) in your "translations" directory and enter the following command:

This creates an empty translation file. Once this is done, you need to ensure that the translation scripts are updated as in this pull request.

Everything after this is automatic as far as a developer is concerned. The administrator will extract the text strings, the translators will translate them, then the administrator will extract the translations and update FreeCAD/master.

Older module translation techniques
Localization Older Methods describes the use of translation tools such as Qt Linguist, lupdate, lrelease, pylupdate4, etc in detail. Most of this is no longer required for FreeCAD/master modules, but may be helpful preparing and updating 3rd party modules.

Automating Crowdin Translation Updates
Currently FreeCAD maintainers use the Crowdin API via Crowdin Scripts to pull and push translations in to Crowdin and back in to the Github repo. The Crowdin API gives FreeCAD maintainers the ability to automate aspects of the project's translation workflow, for more info refer to the Crowdin API documentation.