[brailleblaster] Re: Encoding of Translated Values

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Tue, 7 Dec 2010 23:06:52 -0600

It is simpler for Java programmers. If we ever have a need to enable 
users to write property files we can ass that feature easily.

John

On Tue, Dec 07, 2010 at 04:54:27PM +0000, Michael Whapples wrote:
> I have to say I am not convinced that subclasses are simpler, you still 
> need to make use of ResourceBundle.getBundle to find your localised 
> data, the only difference is in one case you are creating a .class file 
> (requiring the knowledge of java, compiling java, etc) and putting that 
> in the right place and in the other you are writing a simple .properties 
> file and putting it in the same place as the subclass would have gone. 
> Furthermore as the javadoc for ResourceBundle.getBundle says, you could 
> supply either so as and when the more advanced features of subclasses 
> are needed they can be dropped in without any change of code (thanks to 
> getBundle acting as a factory method).
> 
> The more complicated stuff of using additional ClassLoaders is only 
> required if you want to have localised data outside the jar file (would 
> work as well for subclasses) and if you feel extending the classpath to 
> an actual directory is not acceptable. If you feel happy enough in 
> extending the classpath in this way then its easily done with the -cp 
> argument to the JVM.
> 
> Michael Whapples
> On 07/12/10 15:31, John J. Boyer wrote:
> >Great information, as usual. However, I think I'll stict to subclasses
> >of ListResourceBundle until we have a need for users to make new
> >location property files. It is far simpler, and a location file from a
> >user can be turned into a subclass easily, even by a script.
> >
> >John
> >
> >On Tue, Dec 07, 2010 at 12:44:37PM +0000, Michael Whapples wrote:
> >>It would be placed in the appropriate package on the classpath is
> >>probably the simplest. Now it may not be desirable to have the classpath
> >>to extend to a directory for new locales, so if you want such a
> >>directory for locales to be added to then it may be worth looking at the
> >>javadoc for java.lang.ClassLoader and having one specifically for
> >>loading localised data.
> >>
> >> From how I read that, it looks like you would still be able to have the
> >>core localised data inside the jar file as the parent ClassLoader could
> >>be the system ClassLoader which is used for the classpath.
> >>
> >>I am leaving the precise detail of how you would create this specific
> >>ClassLoader as an exercise for you, it might need a subclass or it might
> >>be there is a suitable existing class in the JDK.
> >>
> >>Michael Whapples
> >>On 07/12/10 10:52, John J. Boyer wrote:
> >>>Thanks for the information. However, if a user wants to write a new
> >>>properties file for another language, where would she put it?
> >>>
> >>>John
> >>>
> >>>On Tue, Dec 07, 2010 at 10:39:43AM +0000, Michael Whapples wrote:
> >>>>What lead you to that conclusion? Where did you look? A less than 5
> >>>>minute search tells me that unicode can be represented in .properties
> >>>>files.
> >>>>
> >>>>Firstly I found an indication of how unicode could be shown in
> >>>>.properties files by looking at the javadoc for java.util.Properties
> >>>>http://download.oracle.com/javase/6/docs/api/java/util/Properties.html.
> >>>>Probably the most useful things here are that .properties files are
> >>>>written using the ISO8859-1 encoding and any character which cannot be
> >>>>represented by this encoding can be inserted using the \u (eg. \u0009)
> >>>>unicode notation.
> >>>>
> >>>>May be a more readable article might be this wikipedia article, it gives
> >>>>much more detail on the .properties file format (eg. how you can have
> >>>>keys with spaces in the name, etc)
> >>>>http://en.wikipedia.org/wiki/.properties.
> >>>>
> >>>>I also found this FAQ on java internationalisation which also seems to
> >>>>have the answer, may be it will have answers to other questions you may
> >>>>have http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp.
> >>>>
> >>>>As for the languages which use right to left writing, I don't know the
> >>>>answer off-hand, it may need looking at to see if SWT provides anything
> >>>>in this area as SWT will be doing the displaying.
> >>>>
> >>>>Michael Whapples
> >>>>On 07/12/10 04:16, John J. Boyer wrote:
> >>>>>There doesn't seem to be a satisfactory answer to encoding of
> >>>>>trranslations in properties files. So it looks to me as if we will have
> >>>>>to use subclasses of ListResourceBundle. The translations can always be
> >>>>>entered as Unicode values. Moreover, for languages suchh as Hebrew and
> >>>>>Arabic we will have to enter them "backwards".
> >>>>>
> >>>>>If we need a new subclass for a new lacality only that subclass will
> >>>>>have to be compiled and added to the jar file. With ant this is 
> >>>>>trivial.
> >>>>>
> >>>>>John
> >>>>>
> 

-- 
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


Other related posts: