Well, well…I feel the topic is kind of spiraling out of control…
Internationalisation is not “implementing all the world-wide knowledge about everything having to do with any possible language in any possible point of space and in any possible writing system”.
It is ‘simply’ (cough cough) making an application ready to accept sets of translations for different locales, to retrieve the right set once given a specific locale (with well-defined fallback mechanism if not found) and to provide the supplied (uniquely determinable and fixed) translation for a given key string.
In addition, a reasonable i18n mechanism may provide the correct (or at least the most common) currency symbol, decimal and digit group separators for the supported locales. Where “supported locales” means that there is no need to support the Tibetan language as spoken in Andorra and written in the Egyptian demotic script, because such a combination is not actually attested.
Assuming an approximate estimate of 500 attested combinations of ISO 639 - ISO 15924 - ISO 3166, this builds up to a table of ca. 3000-4000 u16 / u8 values , hardly an impressive amount of data. And tables of this kinds are readily available.
This does not include providing the actual translations (remember: of the actual literal strings present in the application) for a given locale; this is what localisation covers and the current trend is that each company / community will provide the translations for a specific application and in a specific locale via hired specialists or motivated mother-tongue users (which is definitely ‘good enough’ from the perspective of the implementation programming language).
It also does not include supporting all the possible peculiarities of any specific orthography, like Upper-case/lower-case conversions (a difference which most writing systems beyond ours do not even have), which may be locale dependent. Or what happens to the German ‘ß’ when hyphenated or even less where to hyphenate a word. All of this belongs to a level of text processing, which tends to be specific of certain kinds of applications and which is reasonable to delegate to specific specialised libraries when required. This is more or less the area of the ziglyph library quoted above (thanks, @kristoff!) which I had already met it and it is a very interesting and welcome endeavour in itself!
So, it seems to me, if we limit ourselves to i18n (the first 3 paragraphs above), we are speaking (or at least I was initially speaking) of something relatively bounded and of potentially general interest.
As a last, specific point, above I quoted several times the concept of locale, which is one of the foundational concepts of all these different approaches and goals; and I am a little surprised that nobody seems interested in basic support for it (to retrieve the current locale for the current user/process and to set it at least for the current process), which is not so obvious to implement in a cross-platform way…
Thanks for all the comments!