[brailleblaster] Re: i18n and l10n

  • From: "Michael Whapples" <mwhapples@xxxxxxx>
  • To: <brailleblaster@xxxxxxxxxxxxx>
  • Date: Mon, 26 Mar 2012 00:12:50 +0100

I cannot remember what was previously agreed, however here are my thoughts of 
what seems logical:

* The default user interface language should be the same as the user’s system 
default locale as if the user can use their system in that language they 
hopefully know enough of that language to use BrailleBlaster or at least get to 
the change language option.
* If the user’s system default locale is not supported by BrailleBlaster then 
either it falls back to English or may be offers the user a choice. I think the 
falling back may be done by default anyway in Java.
* Having it possible for the user to choose the language is useful but possibly 
not necessary (IE. its a lower priority in my mind than simply getting 
BrailleBlaster to use the system default locale).

If allowing the user to choose the language, where the option should be I don’t 
know, possibly in the preferences/options/settings dialog. Other options like 
having a menu item specifically for language selection are probably just as 
acceptable but I don’t know where it should be put.

Also it may be worth noting that BrailleBlaster could have two parts referring 
to language, the user interface language which is what has been discussed and 
then Braille translation language which would relate to the translation table 
which would be used. The latter may not be referred to as language, it could be 
called Braille translation table, but it may still be worth making the language 
option clear that it is the user interface language.

Michael Whapples

From: Hanxiao Fu 
Sent: Sunday, March 25, 2012 9:21 PM
To: brailleblaster@xxxxxxxxxxxxx 
Subject: [brailleblaster] Re: i18n and l10n

Hi,


I have figured out the problem of displaying Chinese characters; I applied the 
method Michael told me, thank you Michael. I think I need more advise from you: 
Now I am trying to build the interfaces for BBMenu to load specific languages 
at the user's will. However, how should we know which locale is wanted? or, how 
should user change the language of the program? is it through "file" and then 
"language" to setup the language they want? should the default language of the 
program be the user's system default locale or should it be English? 

Thanks,
Hanxiao

On Tue, Mar 20, 2012 at 4:25 PM, Michael Whapples <mwhapples@xxxxxxx> wrote:

  Hello,
  Firstly I think the recommended way of inserting unicode characters in a Java 
string is to use the \uxxxx escape system (eg. String myString = “\u00f6”; ).

  May be this link will help explain in more details 
http://docs.oracle.com/javase/tutorial/i18n/text/convertintro.html

  While we are at that page we may as well pay attention to the rest of the 
tutorial as its all about i18n 
http://docs.oracle.com/javase/tutorial/i18n/TOC.html

  Personally I would vote for the replacement strings to be in separate 
properties files, however I think John previously seemed opposed to it.

  Michael Whapples

  From: Hanxiao Fu 
  Sent: Tuesday, March 20, 2012 8:28 PM
  To: brailleblaster@xxxxxxxxxxxxx 
  Subject: [brailleblaster] i18n and l10n

  Hey guys,


  I am trying to work on the localization package. In particular, I am trying 
to implement Chinese locale to the program. For now, I am trying to make the 
menu to be displayed in Chinese. I have followed the process introduced in 
BUILD.txt, so I can run brailleblaster.jar on my computer now. However, I am 
not sure how this process should be proceed since I am not really familiar with 
it : 

  1. I have directly changed the text in BBMenu.java into Chinese, just to see 
if it'd work. However, it shows some random characters instead of the Chinese I 
replaced. I think the problem might be the charset setting, but I don't know 
how to fix it. I have changed the source file encoding to UTF-8, but it didn't 
work. 

  2. John has sent me an example project to show me how localization works. he 
uses ResourceBundle and Locale classes to realize the localization. I have 
found LocaleHandler.java in localization directory. I suppose this would help 
the language translation during running time. Actually, I am not sure how to 
realize the localization to the menu. Should we use Locale and create 
properties files? 


  Any help would be greatly appreciated.


  Thanks,
  Hanxiao Fu

Other related posts: