Welcome to Weblate’s documentation!¶
Contents:
About Weblate¶
Project goals¶
Minimalistic web based translation with direct commit to git on each translation made. There is no plan in heavy conflict resolution as these should be primarily handled on git side.
Project name¶
The project is named as mixture of words web and translate.
Project website¶
You can find project website at <http://weblate.org/>, there is also demonstration server at <http://demo.weblate.org/>. This documentation can be browsed on <http://weblate.readthedocs.org/>.
Authors¶
This tool was written by Michal Čihař <michal@cihar.com>.
Usage guide¶
This document briefly covers how to translate application using Weblate.
Registration¶
While everybody can browse projects, view translations or suggest them, only registered users are allowed to actually save changes and are credited for every translation made.
You can register following two simple steps:
- Fill out the registration form with your credentials
- Activate registration by following in email you receive
- Possibly adjust your profile to choose which languages you know
Profile information¶
User profile contains your preferences, name and email. Name and email are bing used in Git commits, so keep this information accurate.
In preferences, you can choose user interface language, languages which you prefer to translate (list of these will be offered to you on main page) and secondary languages, whose translations will be shown to you while translating.
Projects structure¶
Each project can contain various subprojects. The reason for this structure is that all subprojects in a project are expected to have a lot in common. Whenever translation is made in single subproject, it is automatically propagated to others within same project (this is especially useful when translating more version of same project).
Translation links¶
Once you navigate to translation, you will be shown set of links which lead to translation. These are results of various checks, like untranslated or fuzzy strings. Should no other checks fire, there will be still link to all translations. Alternatively you can use search field to find translation you need to fix.
Translating¶
On translate page, you are shown source string and edit area for translating. Should the translation be plural, multiple source strings and edit areas are shown, each described with label for plural form.
There are various extra information which can be shown on this page. Most of them are coming from the project source code (like context, comments or where the message is being used). When you configure secondary languages in your preferences, translation to these languages will be shown.
Bellow translation can be also shown suggestions from other users, which you can accept or delete.
Suggestions¶
As an anonymous user, you have no other choice than making a suggestion. However if you are logged in you can still decide to make only a suggestion instead of saving translation, for example in case you are unsure about the translation and you want somebody else to review it.
Changes¶
weblate 0.4¶
Relased on February 8th 2012.
- Added usage guide to documentation.
- Fixed API hooks not to require CSRF protection.
weblate 0.3¶
Relased on February 8th 2012.
- Better display of source for plural translations.
- New documentation in Sphinx format.
- Displays secondary languages while translating.
- Improved error page to give list of existing projects.
- New per language stats.
weblate 0.2¶
Relased on February 7th 2012.
- Improved validation of several forms.
- Warn users on profile upgrade.
- Remember URL for login.
- Naming of text areas while entering plural forms.
- Automatic expanding of translation area.
Installation instructions¶
Requirements¶
- Django
- https://www.djangoproject.com/
- Translate-toolkit
- http://translate.sourceforge.net/wiki/toolkit/index
- GitPython (>= 0.3)
- http://gitorious.org/projects/git-python/
- Django-registration
- https://bitbucket.org/ubernostrum/django-registration/
Installation¶
Install all required components (see above), adjust settings.py
and
then run ./manage.py syncdb to create database structure. Now you
should be able to create translation projects using admin interface. You
probably also want to run ./manage.py setuplang to get default list
of languages.
Configuration¶
All settings are stored in settings.py
(as usual for Django).
-
COMMIT_MESSAGE
¶ Message used on each commit Weblate does.
-
ENABLE_HOOKS
¶ Whether to enable anonymous remote hooks.
См.также
-
GIT_ROOT
¶ Path where Weblate will store cloned Git repositories. Defaults to
repos
subdirectory.
-
SITE_TITLE
¶ Site title to be used in website and emails as well.
Administration¶
Administration of Weblate is done through standard Django admin interface,
which is available under /admin/
URL.
Adding new resources¶
All translation resources need to be available as Git repositories and are organized as project/subproject structure.
Weblate supports wide range of translation formats supported by translate toolkit, for example:
- GNU Gettext
- XLIFF
- Java properties
- Windows RC files
- Qt Linguist .ts
- Symbian localization files
- CSV
- INI
Project¶
To add new resource to translate, you need to create translation project first. The project is sort of shelf, in which real translations are folded. All subprojects in same project share suggestions and dictionary, also the translations are automatically propagated through the all subproject in single project.
Subproject¶
Subproject is real resource for translating. You enter Git repository location and file mask which files to translate and Weblate automatically fetches the Git and finds all translated files.
Примечание
As setup of translation project includes fetching Git repositories, you
might want to preseed these, repos are stored in path defined by
GIT_ROOT
in settings.py
in <project>/<subproject>
directories.
Interacting with others¶
You can trigger update of underlaying git repository for every subproject by
accessing URL /hooks/p/project/subproject/update/
. This can be used for
example as as Post-Receive URLs on Github.
Management commands¶
The ./manage.py is extended with following commands:
-
checkgit
¶
Prints current state of backend git repository.
You can either define which subproject to check (eg.
weblate/master
) or use--all
to check all existing subprojects.
-
loadpo
¶
Reloads translations from disk (eg. in case you did some updates in Git repository).
-
setuplang
¶
Setups list of languages (it has own list and all defined in translate-toolkit).
-
updategit
¶
Fetches remote Git repositories and updates internal cache.
You can either define which subproject to update (eg.
weblate/master
) or use--all
to update all existing subprojects.
Planned features list¶
Possible features for future releases
- Auto translate using some online service
- Checking of messages
- n at beginning/end
- php-format
- python-format
- Glossary of frequently used term (per project)
- Cleanup of database
- not usable suggestions
- long not activated users
License¶
Copyright (C) 2012 Michal Čihař <michal@cihar.com>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.