Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 158357
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T10:40:02+00:00 2026-05-11T10:40:02+00:00

I’ve read Joel’s article on Unicode and I feel that I have at least

  • 0

I’ve read Joel’s article on Unicode and I feel that I have at least a basic grasp of internationalization from a character set perspective. In addition to reading this question, I’ve also done some of my own research on internationalization in regards to design considerations, but I can’t help but suspect that there is a lot more out there that I just don’t know or don’t know to ask.

Some of the things I’ve learned:

  • Some languages read right-to-left instead of left-to-right.
  • Calendar, dates, times, currency, and numbers are displayed differently from language to language.
  • Design should be flexible enough to accommodate a lot more text because some languages are far more verbose than others.
  • Don’t take icons or colors for granted when it comes to their semantic meaning as this can vary from culture to culture.
  • Geographical nomenclature varies from language to language.

Where I’m at:

  • My design is flexible enough to accommodate a lot more text.
  • I automatically translate each string, including error messages and help dialogs.
  • I haven’t come to a point yet where I’ve needed to display units of time, currency or numbers, but I’ll be there shortly and will need to develop a solution.
  • I’m using the UTF-8 character set across the board.
  • My menus and various lists in the application are sorted alphabetically for each language for easier reading.
  • I have a tag parser that extracts tags by filtering out stop words. The stop words list is language specific and can be swapped out.

What I’d like to know more about:

  • I’m developing a downloadable PHP web application, so any specific advice in regards to PHP would be greatly appreciated. I’ve developed my own framework and am not interested in using other frameworks at this time.
  • I know very little about non-western languages. Are there specific considerations that need to be taken into account that I haven’t mentioned above? Also, how do PHP’s array sorting functions handle non-western characters?
  • Are there any specific gotchas that you’ve experienced in practice? I’m looking in terms of both the GUI and the application code itself.
  • Any specific advice for working with date and time displays? Is there a breakdown according to region or language?
  • I’ve seen a lot of projects and sites let their communities provide translation for their applications and content. Do you recommend this and what are some good strategies for ensuring that you have a good translation?
  • This question is basically the extent of what I know about internationalization. What don’t I know that I don’t know that I should look into further?

Edit: I added the bounty because I would like to have more real-world examples from experience.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T10:40:03+00:00Added an answer on May 11, 2026 at 10:40 am

    Our game Gemsweeper has been translated to 8 different languages. Some things I have learned during that process:

    • If the translator is given single sentences to translate, make sure that he knows about the context that each sentence is used in. Otherwise he might provide one possible translation, but not the one you meant. Tools such as Babelfish translate without understanding the context, which is why the result is usually so bad. Just try translating any non-trivial text from English to German and back and you’ll see what I mean.

    • Sentences that should be translated must not be broken into different parts for the same reason. That’s because you need to maintain the context (see previous point) and because some languages might have the variables at the beginning or end of the sentence. Use placeholders instead of breaking up the sentence. For example, instead of

    ‘This is step’ ‘of our 15-step tutorial’

    Write something like:

    ‘This is step %1 of our 15-step tutorial’

    and replace the placeholder programmatically.

    • Don’t expect the translator to be funny or creative. He usually isn’t motivated enough to do it unless you name the particular text passages and pay him extra. For example, if you have and word jokes in your language assets, tell the translator in a side note not to try to translate them, but to leave them out or replace them with a more somber sentence instead. Otherwise the translator will probably translate the joke word by word, which usually results in complete nonsense. In our case we had one translator and one joke writer for the most critical translation (English).

    • Try to find a translator who’s first language is the language he is going to translate your software to, not the other way round. Otherwise he is likely to write a text that might be correct, but sounds odd or old-fashioned to native speakers. Also, he should be living in the country you are targeting with your translation. For example a German-speaking guy from Switzerland would not be a good choice for a German translation.

    • If any possible, have one of your public beta test users who understands the particular translation verify translated assets and the completed software. We’ve had some very good and very bad translations, depending on the person who provided it. According to some of our users, the Swedish translation was total gibberish, but it was too late to do anything about it.

    • Be aware that, for every updated version with new features, you will have to have your languages assets translated. This can create some serious overhead.

    • Be aware that end users will expect tech support to speak their language if your software is translated. Once again, Babelfish will most probably not do.

    Edit – Some more points

    • Make switching between localizations as easy as possible. In Gemsweeper, we have a hotkey to switch between different languages. It makes testing much easier.

    • If you are going to use exotic fonts, make sure these include special characters. The fonts we chose for Gemsweeper were fine for English text, but we had to add quite a few characters by hand which only exist in German, French, Portughese, Swedish,…

    • Don’t code your own localization framework. You’re probably much better off with an open source framework like Gettext. Gettext supports features like variables within sentences or pluralization and is rock-solid. Localized resources are compiled, so nobody can tamper with them. Plus, you can use tools like Poedit for translating your files / checking someone else’s translation and making sure that all strings are properly translated and still up to date in case you change the underlying source code. I’ve tried both rolling my own and using Gettext instead and I have to say that Gettext plus PoEdit were way superior.

    Edits – Even More Points

    • Understand that different cultures have different styles of number and date formats. Numbering schemes are not only different per culture, but also per purpose within that culture. In EN-US you might format a number ‘-1234’; ‘-1,234’ or (1,234) depending on what the purpose of the number is. Understand other cultures do the same thing.

    • Know where you’re getting your globalization information from. E.g. Windows has settings for CurrentCulture, UICulture, and InvariantCulture. Understand what each one means and how it interacts with your system (they’re not as obvious as you might think).

    • If you’re going to do east Asian translating, really do your homework. East-Asian languages have quite a few differences from languages here. In addition to having multiple alphabets that are used simultaneously, they can use different layout systems (top-down) or grid-based. Also numbers in east Asian languages can be very different. In the en-US you only change systems for limited conditions (e.g. 1 versus 1st), there are additional numeric considerations besides just comma and period.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 82k
  • Answers 82k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer without seeing the html I would say check your path.… May 11, 2026 at 4:40 pm
  • Editorial Team
    Editorial Team added an answer I would think you could just replace your the table… May 11, 2026 at 4:40 pm
  • Editorial Team
    Editorial Team added an answer Wow, I was royally screwing up. Of course ModelMultipleChoiceField doesn't… May 11, 2026 at 4:40 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.