Microsoft Forced To Translate Office Into Nynorsk 309
An anonymous reader writes "Beeb reports, "The main organisation working for the Nynorsk language got most of Norway's high schools to threaten to boycott all Microsoft software if they didn't come up with a New Norwegian version of Office." Which brings up questions for Open Source developers: What's involved in translating programs? Is there a process that can be followed to make the inevitable easier? Is there a group providing guidelines for this already? -- Do you work in program translation? Step up and do tell."
Boycotts work (Score:4, Insightful)
In a sense, though, this is kind of what is supposed to happen with big customers.
But it is sad that the emphasis seemed to be getting MS software. They should have bought from whomever decided to provide the software in their language.
Oh well.
Re:Boycotts work (Score:5, Informative)
The trend in Norway is however quite the opposite, more and more schools are realizing that there is several good alternatives, Linux being one of them. Norway is (afaik) one of the few countries that has their own Linux distro just for schools - which support regular Norwegian, Nynorsk ("New Norwegian") and Samisk (Lappish). read more about it (in norwegian!
Re:Boycotts work (Score:3, Informative)
Re:Boycotts work (Score:3, Informative)
Indeed. They're required by law to do so, by 9-4 of the law on education [lovdata.no]:
9-4. Books and other teaching aides
In subjects other than Norwegian, one can only use books and other teaching aides that are available in bokmål ["norwegian"] and nynorsk ["new norwegian"] at the same time and same price.
Re:Boycotts work (Score:2, Insightful)
There are, of course, people advocating bi-lingual language who'd like to get rid of anything (they refer to it as 'dead white man stuff') that isn't written in Spanglish.
Re:Boycotts work (Score:2)
http://i18n.kde.org/stats/gui/HEAD/nn/koffice/inde x.php
Re:Boycotts work (Score:2)
Re:Boycotts work (Score:2)
It is an evil anti-Microsoft plot. Make the poor company spend all that money translating the product into a minority language, and then make sure to not buy it anyhow.
After all, it isn't like they have the money.
;-)
There ARE excellent OS alternatives (Score:2, Informative)
The Skolelinux [skolelinux.no] project is a major effort to provide office and other software in both versions of Norwegian as well as in the minority language of Northern Sami.
In addition it will provide a very ambitious Debian Woody based thin client school network with a lot of network services. Somewhat similar to the K12LTSP [k12ltsp.org]project.
Re:Boycotts work (Score:2)
They have, of course. It's called Office v. X.
Re:Boycotts work (Score:2)
Fortunately, now I have an alternative. I don't expect my boycott to work, but I expect to totally replace all use of MS products. (Already I don't use [at home] anything more recent than Win95, but there's this application that doesn't have a good equivalent... [Which, interestingly, doesn't run under Win98 et seq. The company went out of business and didn't update it.])
That's why having resources in files is helpful (Score:5, Informative)
Linux has something similar by using the gettext() function.
The hardest part is really translating correctly the text, taking into account the particularities of every language, the customs,... and obviously, keeping the translated version up to date.
Re:That's why having resources in files is helpful (Score:2, Interesting)
File - Bestand
Edit - Bewerken
Tools - Gereedschappen
Cancel - Annuleren
If you make a very slick interface for one language, it can be completely fsck'd up in another language. Buttons need to be bigger, menubars don't fit anymore, and so on.
Especially in cheaper software, they use very strange constructs to make words fit well when translated to non-english, like removing the middle part en replacing it by a '.
Re:That's why having resources in files is helpful (Score:2)
Also, I wonder how Dutch is used in SMS :)
Re:That's why having resources in files is helpful (Score:2)
Then why Tools - Gereedschappen? I don't speak Dutch, so I don't know if Gereedschappen is common, but visually Gereedschappen is not short.
Re:That's why having resources in files is helpful (Score:2)
Amen to that. A friend of mine who develops the rather fine Rhymbox Jabber client [rhymbox.com] for Windows recently decided to try out Redhat 8, and one of the things he noticed was that the quality of the translations was not good (he is dutch). In particular, although GTK had been translated so the buttons were in Dutch, the Anaconda texts had not been, giving a jarring effect. He said the translations were also not very high quality - although I hadn't really suspected it before, just like art and code, there are good translators and not so good translators (apparently).
What is really, really needed, at least in the open source community, is a centralised translations centre, where free software projects can upload their .pot files for translation, and teams of translators organised by language pick strings out of the database and translate them. Sort of the equivalent of the LDP or kde-look.org. By combining all the translation teams together, it's easier for new translators to get on board, it's easier for instructional material on how to make good translations to be distributed, and hopefully speed and accuracy of translations should go up.
No, I don't have time to do such a site. Anybody?
Re:That's why having resources in files is helpful (Score:2)
Maybe he should try KDE on Mandrake or SuSE:
http://i18n.kde.org/stats/gui/HEAD/nl/index.php
Re:That's why having resources in files is helpful (Score:2)
After making a few of my [ostermiller.org] open source projects [ostermiller.org] internationalized [ostermiller.org], I ran into a problem. The text files that need to be translated are in the Western character set (ISO-8859-1). This is a problem because characters outside this set all need to be escaped. People volunteering to translate didn't have the time or skill to figure out how to do that. I wrote a Java translation editor called Attesoro [ostermiller.org] to make the process easier.
For open source projects I ran into some people that do their translations using Babelfish [altavista.com]. The automatic translations are generally horrible, but they say that this almost always encourages somebody that knows the language to volunteer to do the job better. ;-)
Amount of work involved? (Score:3)
Comments from GNOME knowledable people is also welcome--does GNOME have a similar page of statistics on translations as KDE?
Re:Amount of work involved? (Score:2, Informative)
One other important thing to realize, is that just because the word "File" is used in several places, in some other languages a different word may be required based on the usage context.
As far as work effort is required, it is very tedious and difficult even for a human translator unless the development team has put a lot of effort into it. For example, if all you have is an isolated word which has several different meanings in English - now you really need to see how it is being used in the application to make the correct translation. What really needs to be provided to translators is the text to translate, limits as to how long the translated string can be (if applicable), and a description of how/when the phrase or word is used.
Then the next problem is that virtually all of your developers/testers are not fluent in the translated language and have no way of determining the accuracy of the translated text. Another problem is that there are numerous differing dialects of several common languages. Both of these problems can make your product look bad in the eyes of a customer who uses it in a different region / language than the original development team used.
A modest proposal? (Score:2)
This would allow anyone, not just a programmer, to customize the apps. In fact, it would allow people to replace "file" with "store" in just because they liked the sound better. (So it would become important for resource file formats to be standardized across versions. Or to provide update utilities.)
Re:Amount of work involved? (Score:2)
Tim
Re:Amount of work involved? (Score:2)
Now, my question is, how many of those are repeats? For instance, just think of how many occurences of "File" there would be.
The mechanism that generates the KDE translation templates does compress repeated strings into a single instance to translate -- one per CVS module, I think. Incidentally, basic menu entries in KDE apps are usually generated by "actions" that can be plugged into the menu and toolbar, not created from scratch.
If you have someone who is fluent in both English and Tibetan (I pick Tibetan because a.) it has a cool script and b.) no one has committed any translations for it), how long would it take for a single person to do the job?
I don't know, but a number of the complete or near-complete translations are done by one or two people.
Re:That's why having resources in files is helpful (Score:3, Insightful)
It's not always as simple as substituting words. For example, a page layout or dialog box that looks great in English may look terrible in German because the average word length is greater. Don't even get me started on languages that don't go in the same direction!
My experience of building applications that work in n languages (I've done >14 languages before, including non Western European character sets) is that you have to start thinking about it from day 0. It's very difficult to retrofit internationalization onto an existing application.
Re:That's why having resources in files is helpful (Score:5, Informative)
It is not as simple as just translating Strings, but that is probably the biggest part of it. You also have to be aware of Date formats in different locales, customs for displaying large numbers (some countries separate with commas, spaces, or even periods), currency display, and if your application does something with it, Units of Measure (such as feet, meters, miles, etc).
There are even cultural sensitivities for icons - Think how often you see an icon in an application that is based on something like a Street Sign (like a stop sign). All of these have to be localizable.
ISO has standards on all of these things, and it is hard to go wrong by sticking with standards.
Java has beena big win for us here. Besides being able to keep all the strings out of the application and in Resource Bundles, it is aware of a bunch of 'locales', and when you set the locale, classes like Date just Do The Right Thing. The MessageFormatter also helps when you want to build sentences by suppliying words in the middle, but sentence structure changes from language to language.
There are actually TWO different skills here:
The first is called Internationalization (oftern abreviated I18n), and it involves all the skills necessary to write an application so it is neutral to cultural biases. All Strings in resource files, all messages composed with MessageFormetters, all Icons loaded from the filesystem and with a naming convention so they can be substituted in the future, and managing the layout of windows so that they 'grow' nicely when a 4 letter word gets subsituted by a 4 word phrase in another language.
The second is called 'Localization', (L10N) and needs to occur for each Locale you are planning to customize your application for. This is best done by native language speakers who ALSO speak the language of the developers or domain experts. If the Internationalization was done right, then it just involves editing 'configuration', and no real coding.
Re:That's why having resources in files is helpful (Score:2)
Open Platform vs Open Source (Score:2)
For a while I have been trying to prod the Microsoft people to make a bigger commitment to being an open platform. Having the source code is not that big a deal for me, I would much rather someone designed a system that allowed me to extend it without having to rewrite existing code than have someone just dump source on me.
This is one of the reasons why Apache has been such a success, it is Open Source, sure, but the real benefit is you can extend Apache with modules and you don't have to grovell through every arcane detail of Apache to write 'em.
There are plenty of tools for editing resource files. If Microsoft provided some documentation they could make it possible for people to develop their own language customized versions of Office etc.
Re:That's why having resources in files is helpful (Score:2)
Well.. (Score:4, Interesting)
There really isnt that much that can be done other than that. What do you want us to say? Break your descriptions into simple enough language that some automatic translator can spit something out? I dont think so. Your best bet is to just keep all your text in one place, [aside from debugging messages or other things that the user is never supposed to see] so you won't have to go looking around for[and potentially miss] it when the time comes. Don't you hate it when the whole program is translated except for the one error message that it keeps giving you?
Of course documentation is a different story. Nothing you can do there except keep everything very well documented so that there will be less confusion in translation. If it's a complete idea instead of a quick phrase thrown out, it's more likely to be translated correctly.
Re:Well.. (Score:2, Interesting)
Quite simply, keep all your text in a seperate file which can be compiled completely seperately from the rest of your project. The goes for Dialogs, Menus, and Labels. This primarily makes it easier to allow users to switch from one language to another.
This is called a "message catalog", by the way. It's the easiest way for almost any program to support internationalization ("I18N" = "I" + 18 letters + "N".)
On most commercial UNIX systems, the preferred library is catgets() [opengroup.org]. On Linux (GNU) systems, the preferred library is gettext() [gnu.org]. In the FreeDOS Project [freedos.org] we wrote an implementation of catgets(), called Cats [freedos.org], because it turns out to be quite easy to write. There's also another library for FreeDOS called MSGLIB that does the same thing.
What it all comes down to is containing all your strings that would be printed by the program in the "message catalog". The catgets() or gettext() is just a method to retrieve the string you want from the catalog that represents what the current language setting is (the LANG env variable under UNIX.) catgets() references each catalog by a number, and each string in the catalog by a "set" number and a "message" number, so you have three points of identification. gettext() is more complicated, and searches all open catalogs based on the untranslated string.
Since I've supported I18N using catgets() in my programs, it's been really easy to keep my Free software / open source programs up to date because volunteers from around the world will email me the message catalog for my programs, translated into their language. I just add the catalog to my distribution, and that's all I have to do to support the new language.
Of course, you also have to keep in mind the locale (monetary symbols, "." or "," as "decimal point", ...) and character set. :-)
Oh, and supporting double-byte character sets (Chinese, ...) is different.
-jh
String tables. (Score:5, Informative)
Generaly what you do is put all the text in a file or compiled-in resource called a string-table. Then you refrence strings by their ID in the program, rather then their literal. When you want to ship to a diffrent country, you just swap the string table. (Although, you would probably want to include lots of tables for switching locals on the fly)
I'm certan microsoft uses this method with their software.
Re:String tables. (Score:5, Insightful)
Yes, but they place the resources (strings, icons, bitmaps, etc.) in a "satellite DLL" that is loaded depending on the system's codepage and locale identifier. If you look at an installation of, say, Office or MSDN you'll see subdirectories with the LCIDs (1033, 1054, etc.) and DLLs inside them. Each of them corresponds to a different locale.
Of course it gets complicated with the LANGID, SUBLANGID, whether or not the IME is enabled (W2K and XP) and so on. But that's the technique.
Re:String tables. (Score:2, Informative)
The language ID (LANGID) is a combination of a primary language ID and a sublanguage ID. It defines one of the known combinations of specific locale/language pairs, like "Spanish [Nicaragua]" or "English [Australian]". Together with the SORTID (sorting identifier) and the LCID (locale ID) you can pretty much tell Windows what country you're in and what language you speak (and optionally if you use a different one for writing, as in EUC or Big5) and have everything look and behave correctly.
I'm not sure how it works on Unix-ish OSes, but I assume it's pretty much the same.
Before you gloat.... (Score:2, Interesting)
Re:Before you gloat.... (Score:2)
The reason why their doing this is that they're scared of loosing market share to free software. What we've proven is that the cost of translating free software to Nynorsk is a lot smaller, and it has been done. So, while it has not been economically feasable to translate proprietary software to minority languages, it is economically feasible with free software.
My success... (Score:3, Interesting)
I came up with a enum file that held lines like:
enum phrases{
IDL_YES=0,
IDL_NO,
IDL_MAX_PHRASES};
Then a file for each language:
English.dic:
Yes
No
Spanish.dic:
Si'
No
etc... At runtime it loaded the last language configured or defaulted to English.
I also added support so you could use %s, %d, %x etc, so you can use them in sprintfs. It worked damn well. No need to re-compile. Just drop another
It worked extremely well. The only thing it coulf ever ned was milti-byte support, but as I said before that was not a requirement.
PLEASE PLEASE stay waway from the way that MS Dev Studio does it. It sucks ass.
Incedentally, the same class (I used a class when I could use C++) also works well for handling various dialects of SQL. MSSQLServer.dic, PostgreSQL.dic, etc....
Very simple and fast.
The only pain is that you have to come up with a unique IDL_name for each string. I'd like to have an associateive array so you could say
IDL("Yes") and have that translated. That was the next setp for me, but I never got the time to do that.
Hope that helps!
Re:My success... (Score:3, Informative)
Translating single words only works for buttons.
You cannot translate words one-to-one and then use them in different places in the program.
It may be that where in English the translation for "yes" and "no" can be used in different places, other languages would in certain contexts use words like "on" and "off" or "enabled" and "disabled" and your table will not be able to translate them unless you use a separate entry for each use.
The use of %s etc will not work when more than one argument is present and the sequence of the arguments depends on the language you translate to.
Re:My success... (Score:2, Informative)
nynorsk is irritating.. (Score:5, Interesting)
This is so sad... (Score:2)
Re:This is so sad... (Score:2)
Kind of makes sense... (Score:5, Insightful)
Think about it... they want software in their language, and it's not available. So...
Would this have happened in the absence of open source? I doubt it. I guess that means open source is working. (Strange way for it to 'work' though...)
Re:Kind of makes sense... (Score:2)
If there was no existing threat to MS monopoly from budding Open Source alternatives MS could, as in the past, simply ignore the demand for alternative language versions safe in the knowledge that they have that market cornered anyway.
Now, according to BBC the number of Nynorsk speakers is estimated at mere 400,000, but OTOH scandinavians are more likely to actually pay (and high prices at that) for their software and getting kids hooked already at school is an opportunity MS can't afford to pass unchallenged.
But does this Nynorsk language organization actually wield any power what comes to the schools' purchasing decisions?
And has anyone told them that they could actually help themselves by having local people translate OpenOffice.org (isn't getting people involved in the Nynorsk language their objective?) and save money in the process?
Finally, this news is only about MS-Office getting translated. What about other MS-ware, let alone all the other proprietary software available in that market? Wouldn't this be an area where local Linux distros, perhaps together with educational institutions, could provide services tailored exactly for particular language markets?
Re:Kind of makes sense... (Score:2)
Re:Kind of makes sense... (Score:2)
You bring an interesting point, I wonder if the Norwegians set a deadline for MS, otherwise they can be waiting for a long time for their version of Office ("It'll be finished next year, promise!").
Antitrust (Score:3, Funny)
Did anyone else read this and instantly think that some judge on the antitrust case had been hitting the eggnog way hard when he handed out this 'pentalty'?
Re:Antitrust (Score:2, Funny)
Is that so simple? (Score:5, Insightful)
It's not just as simple as translation from English to some-other-language. It involves new character set, input method and association helpers, language-specific formatting etc. In the case of Chinese version, they even have to deal with different encoding methods support in one product.
As a developer I always find merely I18N support in Linux not enough to deal with all the language-specific problems. We've very little choice here. I can understand that without commercial drive it's very difficult to develop a language-specific product. E.g. majority of the fontset we need are not free.
Microsofts refusal (Score:3, Interesting)
I read some years ago that Microsoft refused to make a 'nynorsk' version due to the high development cost. $3 million they claimed. A high price compared to the income they could expect returned from the small minorty that use 'nynorsk' in Norway.
This price seemed a bit to much for me. Gramaticaly the two norwegian written langauges differ little in actual grammar and sentence building. So word by word replacement should do most of the trick.
KDE and Gnome and their office like replacement apps have been available in both languages for a long time.
Guess the threat of working open source alternatives has forced MS into submition
An opensource project called Skolelinux (School Linux) [skolelinux.net] is on its way to create a replacement for Windows for use in norwegian schools. Threatning the current MS monopoly one norways educational system.
Most Scandavians already speak good English (Score:5, Insightful)
Having worked with many Scandanavians, I am truly impressed by their command of English -- many people from Norway, Sweden, Denmark, speak it better than many US people do, and definitely better than people from any other (non-native English speaking) country.
I think the fluency in English for Scandanavians arises from the similarity of English to the Scandavian languages, so picking it up is natural, much more so than other European languages, and of course, better than any non-Western language.
But in any case, not having Norwegian Office is not as a big of a cripple to productivity as the article may lead you to think.
Re:Most Scandavians already speak good English (Score:5, Informative)
Thanks! :-) (I'm Norwegian)
Actually, this is bigger or smaller than that, depending on how you think about it.
Norway has two official written languages "Bokmål" and "Nynorsk" (nb and nn in iso639 (?)). I would say that neither of them are spoken, we have an incredible richness of dialects here. A huge majority of the population writes nb. Office, and the rest of Windows has always been translated and been available for nb upon launch.
nn and nb are almost identical. nb was highly influenced by Danish, as Norway was pretty much a colony under Denmark for a few hundred years, and the official language among the elites where Danish. So, I guy named Ivar Aasen collected dialects from certain parts of the country which he believed was less influenced by Danish and constructed a written language from it. This became the foundation for nn. The controversy over these two languages where high, I can tell you, but currently there are laws that keeps nn alive. For example, all books in public schools must be available in both languages, if you write a letter to a public office, that public office must respond in the same language.
That may sound reasonable, but these two languages are so similar, that while high-school-students bitch and moan about how difficult the other is to learn, nobody with a minimum of intelligence can honestly claim to have difficulties reading the other.
But MS have never found it commercially viable to translate Office to nn. That is quite understandable; my father is an author, and one of his books where translated to nn, that costed NOK 100000 (that's about $16000), and it sold two copies... (he wasn't the one who lost all this money, it was a public office to had to obey this law).
So while I think that this law causes huge wastes of money, we free software geeks have been very happy about the events so far. We can point out that KDE and Mozilla have been available for nn before nb, I believe, because there are many good developers who write nn. So, it has given us a lot of good publicity, and some regional governmental offices has funded translation of OpenOffice to nn, and hopefully, the translation will be available before MS Office, again a big win.
I think it is a part of the story that MS was becoming quite scared of the prospect of OO eating quite a lot of marketshare because of this. They have to keep a tight grip on the market, because if they loose some of the market to OO, and reports are positive, they will loose a lot more.
Also, the figures quoted by MS for the cost of translating Office to nn has been huge. This has also given us some good publicity, because the funds we require to translate free software is far from that big. For one thing, this has illustrated that it is free as in speech that is the important aspect of free software, but experience has shown that usually, free as in speech software is cheeper to work with. Once people get experience with alternatives, things are sliding our way.
To avoid flames by the Norwegian nn crowd, let me say that I have nothing against nn myself. I don't write it, but I appreciate reading it and I acknowledge that much of the finest Norwegian literature is written in nn. I'm opposed to laws that require people to write either of the languages however, but I think that if you write a letter in the language of your choice, you are entitled to expect the receiver to be so well educated that he can understand it.
Re:Most Scandavians already speak good English (Score:2)
OTOH, I admit that OpenOffice seems more nearly complete than KOffice, so it may currently be a better choice.
Re:Most Scandavians already speak good English (Score:2)
very true (Score:2)
Re:very true (Score:3, Insightful)
Not in any meaningful sense. Chinese speak Chinese to each other. Even if over 25% of the Chinese population speaks some English, that doesn't mean they speak fluent English, or that they could read or write something of moderate complexity without a dictionary.
America makes up a very small part of the total english speaking world.
Well, America makes up almost 300 million people. Even assuming everyone in the world speaks English, that's still 5%; and while a lot of the world speaks English, a country aren't really part of the "english speaking world" until they primarily speak and write English. So Australia, New Zealand, U.K., Ireland, U.S., Canada, and to some extent India and Africa. Of the solidly English speaking countries, the U.S. is the largest.
There already is a Norwegian Office... (Score:2)
Also, the blackmail threat is rather hollow as most other software packages don't bother to support both either. Personally I think it's a bad business decision by Microsoft, but that's just my opinion. Personally I use all my software in english, most of my textbooks are in english and I look at (US) english TV shows, movies and DVDs without subtitles. Personally I think that not only is Nynorsk redundant, but that both norwegian languages are rather redundant, but I don't suppose you'll find much support in the general population for that.
Kjella
Microsoft Linguistic Expertise (Score:2, Informative)
For an example of the scale and progress of their projects, see here [pcai.com].
Its all part of their huge research drive into Natural Language Processing [microsoft.com]. They do world-class research [microsoft.com] and have some great innovations to their name. Perhaps the one which will prove most useful is MindNet [microsoft.com].
Computational Linguistics is the BIG growth area, and it seems that Microsoft isn't going to miss the party.
Re:Microsoft Linguistic Expertise (Score:2)
It's been the big growth area for 40 years now; translation is fundamentally equal to the hard AI problem. Getting even moderately decent technical translation is very hard, and doesn't look to be getting easy anytime soon. I'm sure they can produce something better then what we have, but with the amount of work thrown at the problem already, I don't expect miracles.
translations & OS (Score:5, Informative)
The GNOME Translation Project [gnome.org]
KDE i18n project [kde.org]
Translation howto for kannada [sourceforge.net] - This is a howto I wrote yesterday for people wanting to translate their language into kannada(an indian language spoken in karnataka). But the concept applies to all indian languages & other languages too to a certain extent. [OK, I confess some self interest is involved here :-)]
Actually, kannada support came first on windows XP thanks to the karnataka govt support & since MS & Adobe developed opentype fonts(must for complexity of indian languages), but thanks to the Pango team, we hope to have support before MS does. And many state govts in India are also pressurising MS to bring Win XP in their languages and already bengali,hindi & tamil(kde is fully translated into tamil [tamillinux.org].) are in the works. But, we [indlinux.org] hope to set it right, soon.
31337... (Score:5, Funny)
All 13 year olds should boycott them until windoze is translated into 313375p34k!
(At least that'd get rid of the DDoS attacks on IRC Networks)
Switching to OpenOffice (Score:3, Interesting)
UNICODE and string tables (Score:5, Interesting)
One of the major correct things Microsoft did some time ago was realize this - hence for most of their products a different resource file is all that's needed to support another language (I'm ignoring help files etc.). IMHO, it's a great pity that the Linux system didn't realize this earlier (especially as it was written in a non English language country).
Since I'm currently working in China, this has become a very important issue, more so to me because I am designing a natural language scripting tool that has to understand both Chinese characters and syntax. Whilst we may find some translations by the Chinese into English funny, it's just because English (to them) is as foreign as Chinese is to us. All of us English speakers should realize that just because C/C++/Python etc. make sense to us, they don't to others. It's just not reasonable to say, well, if you want to learn programming, then you must learn English first.
Re:UNICODE and string tables (Score:2, Interesting)
Mac OS X users have it easy (Score:2, Insightful)
Often a speaker of another language will do the translation, and send the files to the developer for inclusion (this happens all the time). It really is that simple. And of course the entire application appears as just a single icon in the finder, so the end user doesn't have to worry about keeping their resource files with the application when moving the application around.
Re:Mac OS X users have it easy (Score:2)
WTF are you smoking?
If they release it in Carbon then it works on both MacOS X and MacOS 9. If they release it Cocoa it works on MacOS X. If they release it in Classic, then it only works in Classic.
Why on earth would they need to sync all three?
Your AWN Editor... (Score:2, Informative)
What's really involved in a translation? (Score:3, Insightful)
However, as well as translating text to another language, there is a lot more work to be done. Images in the interface may need to be changed, sounds used in the application, etc, may also need to be modified for the appropriate localisation. The entire user interface must be examined for culturally specific items and they need to be modified for the appropriate target market.
To allow for localisation, an application should be internationalised as it is written. How this is best accomplished is determined by the Operating System you're writing for. Most operating systems will have internationalisation features to some extent.
For example, applications written using Cocoa for Mac OS X are easily designed for localisation at a later date. Looking inside any Mac OS X Cocoa (and some Carbon applications that use packages) you will see folders named "English.lproj", "French.lproj", etc (inside Contents/Resources). These folders are how Mac OS X can automatically localise things. Any application written using the guidelines [apple.com] posted by Apple is ready to be localised without any changes to the code. All that needs to happen is the modifications to the interface resource files, this can include changing the complete layout of dialog boxes, as well as simple translation of text strings.
Overall, any application should be coded as if it will be internationalised. Even if you do not intend to do internationalisation, it enforces separation between the code and the interface and resources, which is almost always a good idea.
Answer is simple! Plugins! (Score:3, Interesting)
OpenOffice is already translated to Nynorsk (Score:2, Informative)
Nynorsk by The Linux for School project and tre regions in Norway. The
total translation effort with quality insurance will take arround 4500
hours. (some older project-info in English
http://developer.skolelinux.no/projectin
Microsoft Norway tells one of the major newspapers[2] that The Linux
for School project has nothing to do with the fact that the user
interface in Office 11 will be translated into Nynorsk by the summer
2003.
MS Norway told Norsk mållag (an organisation which promote norwegian
language) in april 2000 that translating would cost 30.000.000
norwegian kroner (4.100.000 Euro). After som debate MS told that
translating would cost 10.000.000 NOK (1.370.000 Euro). Translation
will cost around 2-3.000.000 NOK (275.000-412.000 Euro) was the
message when Microsoft announced they should translate the user
interface in Office 11 to Nynorsk 5. nov 2002.
Gaute Hvoslef Kvalnes, the main translator of KDE to Nynorsk, are
altso working full time whith translating OpenOffice to Nynorsk. In
may 2000 Gaute was rewarded with a price (Flower of Dialect) for his
voluntary work for the norwegian language from Norsk mållag.
[1] http://www.openofficeorg.no/
[2] http://www.aftenposten.no/nyheter/nett/article.jh
[3] http://developer.skolelinux.no/openoffice/
What about English outside the U.S. (Score:2, Interesting)
Why can't Microsoft translate it's software and operating systems so they use the correct spelling for other English-language speaking countries? The UK, Canada, Australia, and New Zealand all use what's often referred to as International English, where spelling differs from U.S. English. Examples: Colour (not color), Favourites (rather than favorites), Network Neighbourhood (rather than neighborhood).
For all their expertise in internationalisation, it seems that Microsoft still can't manage this. Is it a question of cost and convenience? Some of their more specialised software, such as Encarta, has been properly localised, but probably because they promote this heavily as a resource for schools. How many U.S. users would be happy with an operating system and applications that used, say, UK spellings? Not many I'd venture to guess. But it's not just Microsoft, the last time I installed Mandrake Linux, the default install only offered U.S. English.
Re:What about English outside the U.S. (Score:2)
Mandrake Linux actually has very good language support. Yes, the default is US English but you can install the distribution in Esperanto if you really wanted to (although the Esperanto translation isn't quite finished yet). You can check out the status of any of the (officially) supported languages here [mandrakelinux.com].
I'm not posting this to pick nits, I really like the way Mandrake does translations for their distribution. You can join the Mandrake translation mailing list [mandrakelinux.com] if a language you know and can translate isn't supported. You can submit patches and make the distribution better for others who may not be able to do the translation themselves.
Yes, Mandrake is a for-profit company but there are many less-popular languages that it would be too cost-prohibitive for Mandrake to hire people to translate their tools into (Waloon, Tajik, Malay, or Tamil, anyone?). This effectively opens Linux to people in many areas where it would normally not be an option.
For example, being a former Soviet republic, I don't think Tajikistan has too much money to be spending on Federal IT infrastructure. Many of the Mandrake tools are fully translated into Tajik and most are at least half-way there. This gives their government access to a less expensive, more versatile operating system that can run on more different types of hardware and less expensive hardware.
Re:What about English outside the U.S. (Score:2)
By whom? The British? The people I communicate with through Debian, including Romanians, Germans, Chinese and Japanese, seem to use US spellings.
Re:What about English outside the U.S. (Score:2)
.NET ASP i18n (Score:3, Informative)
(Stop Reading because the Microsoft sales force has now taken over my brain...)
Resource Strings in
(more marketing BS...)
If this were my
FYI:
no = Norwegian (x0014) (20)
nb-NO = Norwegian Bokmal (x0414) (1044)
nn-NO = Norwegian Nynorsk (x0814) (2068)
The problems I encountered with a translation (Score:5, Interesting)
One thing that I seem to remember causing problems was that occasionally, there were individual words in the separate translation file that were sometimes reused in multiple places, with assumptions being made about where that could happen based on what works in the English language. That is as definite no-no. Don't assume that an English word which can mean several things also has an identical word in a foreign language.
Also, don't assume that foreign languages have an easy way to change between singular and plural or that as in English, there is only one article for all nouns.
In conclusion, always give the translator the option to choose the exact wording based on the context -- even if that means that the English (or whichever is the original language of your software) version of the resource file has many words duplicated. What works in one place may not work in another, even if that is the case with your language.
Re:The problems I encountered with a translation (Score:2, Interesting)
A similar thing happened in Iceland... (Score:2, Informative)
Here's the first google result on the Microsoft refusal to translate:
http://www.informationcity.org/teleco
A separate file and a few good functions (Score:2, Insightful)
Here are a few other things that really help:
Foreign words tend to be longer than their English equivalents. Double available space for captions.
A routine that walks a form and grabs all component names and captions. It then throws these up in a grid and lets the user translate them.
A TranslateForm procedure that uses info from above.
Don't forget reports. If you have something that can also crawl reports on the fly, that is a huge timesaver.
It also helps to wrap some common ShowMessage and InputBox functions in something like ShowMessageTranslate, etc.
I do a lot of RAD projects, and the last thing you want to do is burn up mental cpu's with translation issues when you are in the heat of getting something to work. Spend some time on these issues beforehand by writing or using good utilities.
If anybody wants it, I have written a complete package for Delphi. There are better and worse on the web, I know mine works. ghelmke@online.no
Mozilla Project (Score:2, Informative)
Language translations for small-screen devices (Score:3, Insightful)
I was a tester on Ericsson [ericsson.com]'s first smart phone project.
Although they approached the problem of enabling easy translation of displayed strings by using resource files, etc (this was enabled by the Symbion OS, which strongly encourages such practice), we ran into two major problems:
1. Buffer over/underruns -- if a programmer had created a string (e.g., menu), they would allocate four characters to store that string, but often the German equivalent would be, say, 50 characters, which would cause a crash.
2. The smart phone had a relatively small screen (compared to a PC). The UI designers were working in English and designed the entire UI using English words. They didn't pay enough attention to the fact that translation would be required. For languages that tend to have longer words than English (e.g. German), this caused significant problems. These translations wouldn't fit in the allocated space, and the screen would be cluttered with text.
It would be nice to see software engineers working on UI toolkits to take problems like this into account. Ideally, applications (and GUI toolkits) should be designed in a language-neutral way. Application programmers, who typically think in terms of logic and who strive for elegance, aren't really the best sort of people to be considering language translation. It would be desirable for GUI toolkits to degrade gracefully when presented with text that doesn't fit the UI design and which does not let programmers make the buffer over/underrun mistake. It would seem likely that such a framework exists, but it doesn't seem to be ubiquitous.
Qt Linguist vs. gettext (Score:2, Insightful)
We recently hired a translating company to translate the strings of a project into several languages - and found out gettext's po files were too "complicated" for them (apparently some people are scared of anything ASCII).
Since the project is using Qt anyway, I converted it to using Qt's translation mechanisms, and gave them a CD that boots a basic Linux system with Qt Linguist -- they could handle that.
I suppose if we want more translators to help us out, we need a similar tool for po files - any volunteers for hacking up Qt Linguist to support both formats?
Re:Qt Linguist vs. gettext (Score:2)
It seems wrong to say Qt Linguist versus gettext; how do KBable and GTranslator compare to Qt Linguist?
A Norse lesson (Score:2)
Brief Background on Nynorsk... (Score:5, Informative)
Til Nordmenn: Fordi jeg er ikke en nordmenn rettelse alt at er feil
For those that aren't up on Norwegian linguistics, (not that I am a scholar or anything
What is ironic is most of the words are exactly the same or so similar that anyone who is proficient can read both. A few examples follow:
Norge Noreg
Jeg Eg
It is important because both languages are treated equally, but it is mostly irrelevant because they are so similar.
--Joey
Translating commercial software ... (Score:2, Insightful)
Currently I am involved (for the first time) in localizing a very complex product (sells for about 150,000).
While we have a nice (actually free) product to look at the GUI elements while translating them, the messages of the product come with no context.
In all modesty I can claim to know this product better than anybody else in my country (the product was developed overseas but I was in touch with the developers almost from inception). Nevertheless without context I sometimes have no clue what some messages are supposed to mean.
I would be surprised if this problem had already been tackled in the OpenSource World, if so please prove me wrong. (Disclaimer: I haven't been involved in localizing OpenSource products. My own stuff I write with an English GUI anyway).
From my experience I'd say that there is more to a localization framework than a central place to store all messages and GUI texts.
The latter is indispensable to be able to localize the software at all, but it does not make for a comfortable straightforward translation process.
For each message there should be context information that tells the translator under what circumstances the message string will appear for the user. Without this information a certain percentage of your translation will always end up being guesswork (depending on the complexity of the product).
Happy 2003 to all.
Do this or we'll switch to Linux (Score:2)
So what is the Nynorsk equivalent for . . . (Score:2)
Re:Microsoft and The Weird (Score:2)
it get worse. there's nowhere near that number of people who think this is a good idea. most civilized norwegians (born and raised in a city in the south of the country) would prefere never to hear of nynorsk ever again. this would be a guesstimated 80% of the norwegian population.
now, i'm all for leting people speak whatever language they want, but these nynorsk language-nazies even force us to learn it in school.
DRA TIL HELVETE, SPRAAKNAZIER!
Re:Microsoft and The Weird (Score:2)
Translation: Go to Hell Language-Nazi!
Don't forget most
--Joey
Re:Microsoft and The Weird (Score:2)
Re:Microsoft and The Weird (Score:2)
i'd go with grand parent. that way you keep the feminists of your back :-)
i was born in the sixties, so i'm thinking "kid" is kind of stretching it a little...
but i think you missed my point. i support everyones right to speak whatever language they want. what pisses me of is that kids in school are forced to waste their time learning this useless(1) language instead of of spending their time on something relevant.
btw: it was never my intention to call anyone nynorsk-nazi, but rather language-nazi. i'm sure they are just as bad on both "sides" of the fence.
(1): nynorsk is useless for most norwegian to study as we already understand it quite well, and the speakers of nynorsk understand us. norwegian kids, whos everyday language is bookmaal, doesn't learn nynorsk to be able to communicate with their countrymen, but for some fucked-up political reason.
Re:Microsoft and The Weird (Score:2)
Political statements of national identity always seem to devolve into enforcement of something that is functionally useless or even detrimental to the society as a whole
BTW, a funny -- My mom's family is all Norwegian (from Trondheim area originally)
Re:Microsoft and The Weird (Score:2)
Re:It's common place.. (Score:2, Insightful)
Re:6 years ago, translating MS Encarta (Score:2)
Yes, that's correct. Because Microsoft couldn't design a working translation scheme, you have to wait for them getting their act together until you can apply your service pack - which can take over a week.
That's probably why Microsoft doesn't want to do so many translations. If you have a good translation system, it's easy. Even one person or a small group of people can easily translate big software packages: look here [kde.org] but when you have to maintain 10 year old code which was written by people who either left or were assigned to other tasks or management, you have to translate every service pack and fixpack all over.
I wonder how much this Nynorsk translation will cost Microsoft ;-)
Re:6 years ago, translating MS Encarta (Score:2)
There is another explanation. Localizable resources are separated from the code, but they are compiled into the same binary.
So you mean to tell me that Microsoft in all it's glory needs more than a WEEK to recompile a servicepack?
Oh, phu-lease.
Not quite (Score:3, Insightful)
Gettext is only a partial solution (Score:3, Insightful)
Re:Missing the point (Score:3, Informative)
If you use GTK, it will automatically flip dialog boxes R-to-L. As for vertical presentation - who's doing vertical presentation? I don't know of anyone who supports vertical presentation on dialog boxes; the Chinese, who traditionally write vertically, are happy with L-to-R in a computer situation, and the Mongolians, the only other people I know of who write vertically, tend to use Cyrillic or at least write traditional Mongolian horizontally in a computer situation. With all due respect to the Mongolians, if they're the only people who may use vertical writing systems in computers, I don't think vertical presentation is the most important thing to worry about.
You don't have to rewrite the world; a lot of this stuff's already been done in the standard toolkits.
Re:One of the best reasons for Open Source... (Score:2)