|
Boost : |
Subject: Re: [boost] Fw: [locale] Formal review of Boost.Locale library
From: Artyom (artyomtnk_at_[hidden])
Date: 2011-04-14 17:43:11
>
> You can't just force all programmer to use English.
> Ideally, it should be. but it cannot be.
> If you think it that way, this library will never be used by people
> who don't know English.
> If you don't mind it. then fine.
>
The point is that it is not the restriction I personally
came up with, it is the way the localization works and
should work in the world.
And if the programmer in the team does not know how
to express himself in English then you probably
need to do one of the following:
1. Hire somebody else as if he does not know to write
English then it would have problems in many other
areas directly related to programming.
2. Let him develop non-localized or non interactive
software
One of the things I try to talk about in this
Boost.Locale project is not only the tools but
also methodology.
You probably know how hard localization can be
and how could it be hard for English speaker
understand that text may not have spaces (your case)
or may be written Right-to-Left (my case)
or don't have a concept of a letter case (our both case).
So when you develop a software that can handle
multiple languages you must work according certain
methodology.
Unfortunately it is much easier to learn C++
then all rich diversity of cultures in the
world. So the methodology is not less important
then the library (even more).
Example?
How would the Japanese programmer that
works in Japanese only would write the
following code that displays a message
"ç§ã¯2ã¤ã®ã·ã£ããæã£ã¦ãã"
(I used google translate so I'm not
responsible there)
It would probably write:
int n=2;
MessageBox((wformat(translate("ç§ã¯{1}ã¤ã®ã·ã£ããæã£ã¦ãã")) % n).str());
What is the problem with that?
That actually you need to write
MessageBox((wformat(translate("I have 1 shirt","I have {1} shirts"))) %
n).str());
Why? Because in Japanese there is no plural
forms (as-far-as-I-remember) so if you would
write in Japanese you'll likely miss this point
and you would not be able to support other
languages correctly.
Of course same can happen other way around.
So no, you can't tell
"my programmer knows only one language
so I'll let him write the text in his
own language and not in English"
Because you'll get a bad software.
Your programmers should be aware of basic
linguistics and know to express themselves
in English.
And if they don't? This is what code review
for.
Artyom
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk