Blender is used by artist around the world  however, our efforts do not meet the demand for providing localization for the software and documentation.
The current workflow for both Blender itself and the user manaul are a bit convoluted. For both projects on boarding is difficult, there are no clear steps for how a new translator should get commit writes.
The only translators that we get are the ones that are either brave enough to make the changes and submit patches are create some sort of task/email stating they would like to help.
Communication among translators for a specific language are very limited and it is difficult for multiple translators to work together.
Blender has grown quite actively over the years and our current method of dealing with translations are not enough to keep up with such a large project.
Most large projects offload this work to an online localization platform. The issue with this for the Blender Foundation is that most of these make use of 3rd party websites.
However, I did find one service, called Weblate , that is developed on open source principles can support custom installs.
Weblate is an online localization service with tools to manage and translation projects using an online editor.
The benefits of such a platform are, online editing of translations, communication features to individual language groups,
a translation reviewal system and the ability to easily be able to request access to translations without having to know advanced tools like SVN/Git and sphinx.
A full list of features are explained here . Weblate is used by over a thousand projects including, OpenSuse and Godot Game Engine .
For us, the way I see this running is to have weblate installed at https://translate.blender.org which would make it super easy and convenient for translators to get involved in translating.
Weblate integrates directly with version control software, both Git and SVN. For the main translations the use of the SVN repository would be eliminated as Weblate would work directly with the main Git repository.
Changes will be made directly through weblate itself and these changes are then be periodically (or automatically via a webhook) pulled into the repository.
In essence the only thing that should be interacting with the Git repository is Weblate itself. This raises the issue of a workflow change for translators as translations should be translated in the web interface.
However, Weblate has a feature where translators can download translation from Weblate and use a gettext editor workflow .
For the user manual things would work in a similar way, except for using Git we can stick to using our SVN repository (although switching to Git would be extremely useful).
There is an issue with the user manual where Weblate uses a single translation file for each language while Sphinx uses multiple translation files per language.
While we can still make this work it introduces a middle step to merge files to a format Weblate can use. This is simple by using msgmerge  and godot has worked around this problem .
All in all, migrating to a more centralized system like this should improve both the quantity and quality of translations by making translation onboarding easier along with providing a simple online based workflow.
Another issue that we have now is poor communication our current efforts include the old bf-translations-dev mailing list which only sees a few stray emails a year.
There are a couple of things that I would like to do here:
- Create a Translations category on devtalk with sub language topics
- Create a Translations channel on blender.chat
We want to get this system working sometime around 2.82 which is set to release in 3-4 months.
Implementation details of this proposal will happen immediately has we need time to make this changes and iron out the new workflow.
Some initial tasks to get done that I can think of off the top of my head to get this working:
- Migrate repositories to Git (not required but helpful)
- Archive old repos and restrict commit access
- Update the user manual locale structure to use single translation files
- Write a script similar to Godot's to help manage this
- Get weblate installed on the server
- Import the repositories setting up projects and components
- Update existing translation guides on wiki and user manual)
There are some things we might want to consider related to how we configure weblate / the workflow we choose.
- Weblate allows new languages to be added on the fly. Do we want to do this or make users request new languages and languages can be added manually.
- Weblate can automatically commit changes to the repositories. Do we wan to do this or manually merge changes made in weblate into the repositories.