Idea: Expanding multilingual support for WebODM Documentation

Luca Bonuccelli

Hi everyone,

The multilingual support on the interface is already amazing.
I’ve also read all three editions of Piero’s book, which is an absolutely fantastic guide and invaluable resource!

However, in my experience introducing WebODM to local professionals, students, and field operators, I’ve noticed that the biggest remaining hurdle is the official documentation. While the software interface is localized, having the official guides and docs mostly in English makes it hard for non-English speakers to fully adopt and master the tool.

As a newcomer, I don't want to add extra work for the core maintainers.
Instead, I’d love to propose a community-driven effort to translate and maintain WebODM’s official documentation in more languages.

We could start small:
Setting up a volunteer workflow to translate key parts of the docs.
Keeping translations synced when the main English pages are updated.
I’m more than happy to put in the time and contribute myself (specifically for Italian]).

Do you also face language barriers when sharing the docs with others?
Let's chat about it!

24 Replies

pierotofy

Agree that it would be very useful to have documentation translated in other languages. The biggest hurdle is keeping the docs in sync once a translation is started. I've also had this challenge with another open source project of mine (LibreTranslate).

The most scalable approach I've found is to use AI to write a rough draft of the translation in different languages, and then have people review the translation. AI is not perfect, but keeps the structure homogeneous and gets the translation about 90% correct for common languages like French, Italian, German. At every change in the English translation, the AI can sync up other languages (but still needs a reviewer in the loop).

If this approach sounds interesting, I can open a PR for Italian and someone needs to review it / edit it afterwards. Then, occasionally there will be a need to check the accuracy of the synchronization when the English docs change.

Luca Bonuccelli OP

Just as a rough idea and a starting point for discussion, I’ve sketched out a potential automated workflow to show how we could set this up using standard, free open-source tools.

The concept relies on GitHub Actions (which are 100% free for open-source projects) and a lightweight Python helper script:

  • Trigger (GitHub Actions): A workflow monitors the docs/en/ folder. Every time a .md or .rst file is created, modified, or deleted on the main branch, the Action wakes up.
  • Translation Engine (Python + LibreTranslate): A Python script reads the changes, splits the text into smart paragraphs (to avoid hitting API character limits and protect Markdown layout), and translates them. Since Piero mentioned LibreTranslate, the script should use LibreTrasnlate.
  • Pull Request Automation : The workflow automatically commits the translated Italian files into a separate branch (like l10n-it-update) and opens a Pull Request.
  • Notification : The workflow automatically opens a GitHub Issue, tags the registered Italian reviewers, and links the PR so we can quickly review, edit, and merge.
Luca Bonuccelli OP

btw:
" I can open a PR for Italian and someone needs to review it / edit it afterwards."
i'll do, maybe in some days, but i'll do!

pierotofy

Is the PoC AI generated?

Luca Bonuccelli OP

most of it is AI generated.
I started testing it few minute ago.
Is AI generated a problem?

pierotofy

Only if it takes me longer to review it than it took AI to generate it 🙂

Luca Bonuccelli OP

let me test more please....

Luca Bonuccelli OP

it is just a POC not a prototype.....

pierotofy

Try and see how it handles difficult formatting cases, e.g. how does it handle markdown tables? Or image tags?

Luca Bonuccelli OP

all the webod docs...

pierotofy

Or how does it handle code blocks

pierotofy

references where the original paper's title is in English

👍 1
pierotofy

But importantly, LibreTranslate/Google Translate might not be the right tool for the job

pierotofy

these systems don't have sufficient context awareness and get confused

pierotofy

LLMs might be better suited for these kind of tasks

Luca Bonuccelli OP

Yes, probably, but we'd need a freely accessible and free installation.
As a model, I like Mistral for European languages; it works quite well.

pierotofy

Personally what has worked for me, is a well written AGENTS.md (I will post it soon) and Gemini Pro, no need for ad-hoc rules like regexes and line splitting, just tell it how to translate and it generates a decent draft.

pierotofy

https://github.com/WebODM/Docs/pull/6 rough draft, needs to be carefully reviewed. If you notice a lot of problems it might be worth to start over rather than fixing all the problems. The AGENTS.md is hand written by me.

pierotofy Best answer

To make changes, copy the branch on your local repository, then open a new PR

❤️ 1 📚 1
Luca Bonuccelli OP

Wow.
I'll start.

My goal is minum one file per day.
I'll try to schedule 30' every day for it

🚀 1

Need more help?

This discussion happened in the WebODM community Discord. Join and ask your own question.

Join View Original Thread

This page mirrors a public discussion from the WebODM Discord. How to request a removal.