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