Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: raising the bar in language support

Re: raising the bar in language support

From: BlueChip <cs_bluechip_at_webtribe.net>
Date: 2005-06-28

> > On Tue, 28 Jun 2005, jmgvb@correo.ugr.es wrote:
> >
> >> is it possible to fix that? Maybe merging both strings in only one and
> >> using
> >> a splash window for the warning?
> >
> > I would say that splitting a single phrase in two and concatenating them
> > like
> > this in run-time is serious badness for localization. We should avoid
> > that.
>
>I agree with this. What i wanted to say is using just one string, not
>using LANG_PLAYINDICES_PLAYLIST and LANG_PLAYINIDICES_BUFFER. This
>previous approach was needed _before_ splash window. What i don't really
>know right now is if Archos Player/Studio can use Splash() or not. If you
>can use that function with Archos Player, then i thought that merging
>those strings in only one would be a better approach.

If I get this right... The problem with fragmenting sentences is that they
will "chain" differently between languages ...my typically English "what
two languages in one head??" attitude leaves me with only bad examples to
work with ...but I think I can get my thoughts across:

White Mountain (uk) == Mont Blanc (fr) [mountain white]

So the words chain in different orders ...I guess that is the problem

If so, the solution would be:

uk:white&mountain
fr:mountain&white

(final file format pending]

The advantage which will be gained by chaining, is that when new strings
are required, the voice font may already contain the words required. So
the new string will be supported immediately and NOT require a new
recording ...as the best font by far is "Christi" we create a future
dependancy (of voice support) on the specific person to maintain their
font - when they may have, say, three months of "real work" to do before
they can afford the time for their "hobby work".

I personally believe that as Voice Fonts is the uber-best feature of
Rockbox, it should become an intrinsic part of the build process. Not, now
it is all stable, be distributed across personal home-pages and the likes.

=========

I also wonder if the "xml is unreadable" comment was based on a lack of
whitespace in my example, I honestly think this approach offers great
benefits, so just in case that is all it was, I will repeat my former
example with appropriate whitespace:

C++ styled comments below are NOT intended to be present in the final file
- i have taken time to add them here only as a guidance to what I
intend. I would also expect that things like "isocountrycode" would reduce
to say "country" or "cc" or something nicer to type.

Even if all the <>'s are too much, then the general layout still offers the
same flexibility and future-proofing. The cost of removing the <>'s is
more difficulty in third party support for new speech/text "fonts".

// this is a rockbox file
<rockbox>

     // device supported by rockbox
     // so #define DEVICE_H300 (0x01)
   <devicelist>
       <device name="h300" device_id="0x01">
        <device name="player" device_id="0x02">
        <device name="recorder" device_id="0x03">
         <device name="ondio" device_id="0x04">
    </devicelist> // end of device list

     // voice and string "fonts" supported by rockbox
   <voicefontlist>

         // our first speaker is "mike"
         <font name="mike">
             // for country==UK ... mike supports h300 and ondio
             <lang isocountrycode="UK">
                 <device devicename="h300,ondio" />
            </lang>

             // for country==FR AND country=DE ... mike supports player and
recorder
            <lang isocountrycode="FR,DE">
                <device devicename="player,recorder" />
            </lang>
        </font>

         // our next speaker is "Christi"
        <font name="christi">
             // "christi" is only in English, but supports ALL known units
            <lang isocountrycode="UK">
                <device devicename="*" />
            </lang>
         </font>

   </voicefontlist>

     // now a list of all all the text strings
    <stringlist>

         // our first string is #define LANG_KEY_TO_CONTINUE (0x0001)
       <string name="key_to_continue" id="0x0001">

             // on the h300 and ondio it prints/says
             <support devicename="h300,ondio">

                 // in English
                <lang isocountrycode="uk">
                     // this is the text that will be seen onscreen
                    <text onscreen="press PLAY to continue" />
                     // these are the wav files that make the speech
                     <speech wavfiles="press&play&to&continue" />
                </lang>

            </support>

             // every other device not yet listed will use:
            <support devicename="*">
                <lang isocountrycode="uk">
                    <text onscreen="press f1 to continue" />
                    <speech wavfiles="press&f&1&to&continue" />
                </lang>
            </support>

        </string> // the end of the "key to continue" string definition

   </stringlist>

</rockbox>

_______________________________________________
http://cool.haxx.se/mailman/listinfo/rockbox
Received on Tue Jun 28 18:58:02 2005


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa