Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Communications Databases PHP Programming Software

How Are You Accomplishing Your i18n? 117

cobrabyte asks: "My team has recently been given the task of implementing internationalization (i18n) in our MySQL databases (PHP-interfaced). Essentially, for every article X, we need it presented in any number of languages (once translated). As we were working on gathering the necessary procedures, we were very surprised to find that there's not much organized information regarding i18n using MySQL and PHP. Is the topic of i18n too new to garner any usable info?"
This discussion has been archived. No new comments can be posted.

How Are You Accomplishing Your i18n?

Comments Filter:
  • It is just me? (Score:2, Insightful)

    by stinerman ( 812158 ) on Thursday June 23, 2005 @02:42PM (#12892445)
    I can't stand that abbreviation, i18n. I mean who thought that would be a good abbreviation? It bears no resemblence to the original word. I think we can do better.
  • by truedfx ( 802492 ) on Thursday June 23, 2005 @03:02PM (#12892664)
    My team has recently been given the task of implementing internationalization (i18n [wikipedia.org]) in our MySQL databases (PHP-interfaced). Essentially, for every article X, we need it presented in any number of languages (once translated).
    Let's check that link, shall we?
    The distinction between internationalization and localization is subtle but important. Internationalization is the adaptation of products for potential use virtually everywhere, while localization is the addition of special features for use in a specific locale. Subjects unique to localization include:

    * Language translation,
  • UTF! (Score:3, Insightful)

    by EvilIdler ( 21087 ) on Thursday June 23, 2005 @03:32PM (#12892965)
    Definitely use UTF-8 for all your strings and XHTML documents.
    Make sure your preferred editors really are saving UTF-8.
  • It is just you (Score:4, Insightful)

    by bluGill ( 862 ) on Thursday June 23, 2005 @04:27PM (#12893531)

    The problem is you speak English. There is a good chance that you speak no other language. Since nearly everything is written in English first these days, you don't care about these issues.

    Many of those who care about i18n do not speak English at all! To these people even spelling the word out gives no help. In fact it is less helpful because they have to learn this large symbol. (There is no reason to assume they even know the Latin alphabit, so they will not think to learn each letter separately)

    Of those who speak English, many do not speak it fluently. Often they speak English as a first year student ("hello, my name is"), and they know how to look words up in their English-whatever dictionary.

    Of course English is the dominate second language in the world. There are plenty of people who speak English fluently as a second language. They often have trouble with the creative spelling English came up with. Words with 20 letters are hard for anyone to spell, so it would be no surprise if they have trouble spelling it.

    The goal is one symbol that is easy for everyone to recognize. No matter what language the page is written in, if you see "i18n", you know you are in a location where people are interested in translation. This is often enough for some educated clicking to find the same information in your language.

    i18n may not be a good abbreviation. However can you come up with a way to represent the concept to all 6+billion people on earth?

  • by bluGill ( 862 ) on Thursday June 23, 2005 @04:42PM (#12893681)

    Because these issues will trip you up.

    Particularly when using automatic translation (which is a bad idea anyway), something that is acceptable in your language may come out as something unacceptable in a different one. No matter how cheap you are trying to get by, you still need a someone to check profanity in your output. This is less a problem with human translators who will avoid the issue, but even still you should check because some translators will apply them thinking you won't know.

    Morality is important because you don't think of the issue. Muslim societies have restrictions on what females can wear. Show a girl in a swimsuit (even a one-piece) in the context of diving, and you have offended your Muslim audience. Christans have similar taboos, but will generally not be offended by that same picture. Hindu's consider cow sacrid, and your promotion of a pound of beef with any order will offend them.

    You might not consider them, but you should. These two issues cover all the subtile things that you won't think about unless you make a special effort.

  • by Intron ( 870560 ) on Thursday June 23, 2005 @05:20PM (#12894115)
    I found that translating some concepts gave strings of very different lengths. For example, some technical stuff became much longer strings in Spanish (maybe it was my translators). What do you do about the problem of the web forms getting messed up in different languages? My site is small enough to just test and adjust where necessary, but for a bigger site, this could be a problem.
  • Re:It is just you (Score:1, Insightful)

    by Captain Nitpick ( 16515 ) on Thursday June 23, 2005 @08:47PM (#12896275)
    i18n may not be a good abbreviation. However can you come up with a way to represent the concept to all 6+billion people on earth?

    The grandparent poster complains about 'i18n' being a lousy abbreviation, and you give the world a six paragraph rant about cultural imperialism. This is rather like going off on communism because someone commented on the color of an object.

    Seriously, it has numbers in it. Numbers!

    (at this point, I start wanting to scream 'Those aren't even WORDS!!!! ED! ED! ED IS THE STANDARD!!!')

  • by Bitsy Boffin ( 110334 ) on Thursday June 23, 2005 @10:31PM (#12896950) Homepage
    Use gettext for general string i18n & l10n. Gettext is the defacto standard, it works, it's reasonably efficient, and there are many tools to support "unskilled" localisers to do the translating for you.

    For large or potentially dynamic text l10n (eg entire content of pages, descriptions of products in a database, etc etc..) then you need to have 1 version for each language you are supporting (you COULD do it through gettext but it would be rather tedious). How you do that is of course 100% dependant on your application.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...