> I have thought of a syntax that is as least intrusive as possible, so as
> not to make reading uncomfortable. I have tried the following:
>
> :fr{some text in French} :it{some text in Italian} :la{some text in Latin}
Sorry for joining the discussion a bit late. A long time ago I created a syntax to be able to mix languages in that way, and a program to separate each version into a different file.
It's format-agnostic, and unrelated to org. I have used it in plain HTML and other file types.
Many times I tried to use it for org-mode, and while it works, the challenges are more. For instance I'd like to integrate it into the export process (so that a single command produces many files), I want to use it to translate headers (but where do you keep the translations of the header name? in the header itself? in a property?), I want the TOC to use the translated headers, and I want to keep links working (and making sure each language only links to files in the same language). More difficult yet: what if a particular language requires another header structure (more headers, fewer headers, or headers arranged in another way).
I tried several approaches (inline tasks, SRC blocks, my own syntax, tags in headers, one sub-header per language, selective export of tags, properties in headers, post-processing, exporting all and making language selection in JS, one manual TOC per language, …). But I didn't have time to think or discover a good system. Multi-language hypertext systems are hard.
Maybe you can get some ideas from this, if you're still working on mixing human languages in org paragraphs/headers/lines/files. I see the discussion may have shifted from multilingual texts (i.e. human languages) to multi-backend texts (e.g. export HTML/LaTeX/… differently); multi-backend variations might be an easier goal than dealing with multilingual texts and translations.
Thanks for implementing code for your ideas.