I've worked on the development side of some projects that offered multi-language support. On top of all the reasons already listed why multi-language support is problematic, it's also not a simple as "Display phrase X in language Y"; it can get quite complicated when dynamic statements have to be displayed and different grammar rules have to be applied.
As a simple example, if a real estate program needs to display how many houses are available in a given area, it might need to output something like,
10 houses are available.
If only 1 house is available, the output would need to look like
1 house is available.
This could be programed as
Code: Select all
output = qty + " house";
if(qty != 1)
output += "s are";
else
outpu += " is";
output += " available.";
This kind of grammar-oriented output would require specific code for each language supported. Alternatively, the programmer can be lazy and have the program output
10 house(s) available.
1 house(s) available.
Which could be handled with a single "plug-and-chug" definition like
Code: Select all
output = "{NUMBER} house(s) available.";
This kind of simplification is very common in English and is quite acceptable. It is also more ideal for plug-and-chug translations, the kind that use an interchangeable list of statements.
Now take a look at the German translation of the above output. The non-lazy output would have to look like
10 Häuser sind verfügbar.
1 Haus ist verfügbar.
The ideal, lazy simplification wouldn't work as well in German, however, as the form of the
subject also needs to change depending on the quantity.
10 Haus/Häuser verfügbar.
1 Haus/Häuser verfügbar.
with an internal definition of
Code: Select all
output = "{NUMBER} Haus/Häuser verfügbar.";
would be the closest equivalent and is too repetitive as both the full singular and plural forms of the subject (Haus and Häuser) are displayed.
The moment program translations have to deal with variable human-language-specific data, the project can no longer focus entirely on
process development, and for a closed-source project maintained by a small team (in this case one person if I'm not mistaken) adding and maintaining simply the
functionality of multi-linguistic support can be overwhelming and hinder the progress of main features.