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.
Updating repositories¶
You should set up some way how backend repositories are updated from their source. You can either use hooks (see Interacting with others) or just regularly run ./manage.py updategit --all.
With Gettext po files, you might be often bitten by conflict in PO file
headers. To avoid it, you can use shipped merge driver
(scripts/git-merge-gettext-po
). To use it just put following
configuration to your .gitconfig
:
[merge "merge-gettext-po"]
name = merge driver for gettext po files
driver = /path/to/weblate/scripts/git-merge-gettext-po %O %A %B
And enable it’s use by defining proper attributes in given repository (eg. in
.git/info/attribute
):
*.po merge=merge-gettext-po
Примечание
This merge driver assumes the changes in POT files always are done in brach we’re trying to merge.
Interacting with others¶
You can trigger update of underlaying git repository for every subproject by
accessing URL /hooks/p/project/subproject/update/
.
For GitHub, there is a special URL /hooks/github/
, which parses GitHub
notifications and updates related projects automatically.
Примечание
The GitHub notification relies on Git urls you use to be in form git://github.com/owner/repo.git
Access control¶
Weblate uses privileges system based on Django. It defines following extra privileges:
- Can upload translation
- Can overwrite with translation upload
- Can save translation
- Can accept suggestion
- Can accept suggestion
The default setup (after you run ./manage.py setupgroups) consists of single group Users which has all above privileges and all users are automatically added to this group.
To customize this setup, it is recommended to remove privileges from Users group and create additional groups with finer privileges (eg. Translators group, which will be allowed to save translations and manage suggestions) and add selected users to this group. You can do all this from Django admin interface.