4 ms·
There could be automated linguistic diversity in the code itself, rather than just the docs. Say, you must pick identifier names from a subset dictionary of la
by hirundo 5y ago
There could be automated linguistic diversity in the code itself, rather than just the docs.
Say, you must pick identifier names from a subset dictionary of language concepts (pruned of synonyms and multiple senses), for which we have translations into X other languages. E.g. WidgetFactory is a valid name, since we can translate that, but FoznozzleBodega raises an error. So the resulting code can be trivially output in any language in the master dictionary.
There could also be multilingual literary programming by making the output syntax conform to the target language as well, in terms of conjugation, part of speech order, etc.
Code is a relatively low hanging fruit for debabelization.
- torstenvl 5y agoCurrent output l10n tends to translate whole strings in context. It sounds like your preference is to make automatic translation part of every binary? Maybe I'm misunderstanding you, but I don't think that is the best way to go about achieving localization, given the massive overhead and lackluster results.
- geofft 5y agoI like this idea. It seems like it's related to another idea that I've always liked but never seen in practice: assuming that the code checked in always parses, you can re-lay-out code style (indentation, tabs/spaces, line length) according to the individual developer's preferences upon checkout, and transform them back to some (arbitrary) standard upon checkin. Git can handle this sort of thing with smudge/clean filters.
- SpicyLemonZest 5y agoWord-by-word translation doesn't really work, unfortunately, even in the limited context of variable names. You'd have to translate for example MoveTime into MoverTiempo, which is awkward in general and the wrong translation entirely if the variable refers to a time that someone's moving house.
- corty 5y agoGUI translation works like this, usually. You have a list of strings/phrases occuring in the GUI and a translation table for each language that assigns the english string to its translated equivalent. With the help of a dictionary (general and domain specific parts) you can even do automatic translations. But the devil is in the details: Most english speakers don't know foreign languages, so they are unaware of lots of problems that occur from just a word list. E.g. there is a difference between "end" as a noun and "end" as a verb. In German, one would translate the former as "Ende", the latter as "beenden". So for the string table, the programmer would need two different annotated entries "end (n)" and "end (v)" for the translation to be correct. But usually, the translation team only gets "end" without context, annotations or anything, and of course all occurences of "end" will be conflated into one line in the translation table. There are other frequent problems, like sentences containing numbers that require logic to get right and distinguish between Singular/Plural, nothing and maybe even Dual cases. Or the problem that designers got their fingers into a GUI, leaving just enough room for English language strings, but the translations will be cut off or awkwardly skew the layout because they are too short/overflowing/unaligned. This frequently leads to the situation where as a German, I have to translate to English and back to understand the meaning. Which is why I nowadays avoid translated software and do everything in English. I think translation without lots of effort is pointless. And nobody will invest any significant effort into "small overseas markets". In FOSS it may be easier to get good translations because of the feedback from real users. They are often more proficient in the target language (than paid translators) and can recognize awkward phrasings and misleading situations. Translation is also an opportunity for small incremental improvements by tons of otherwise non-technical volunteers. But for the aforementioned reasons, automatic translation makes things worse, not better. I have yet to find a useful translation of technical content, i.e. anything that goes beyond just understanding the general topic of a newspaper article.
- joshuaissac 5y ago> Most english speakers don't know foreign languages, so they are unaware of lots of problems that occur from just a word list Facebook's approach to this in their translation crowdsourcing interface is to provide extra context like an example sentence with the phrase, or a definition.