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>.

Changes

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.

weblate 0.1

Relased on February 6th 2012.

  • Initial release.

Installation instructions

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.

См.также

Interacting with others

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

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/>.