eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Eliot-dev] Unable to show menus in Catalan, and some weird char "p


From: Olivier Teuliere
Subject: Re: [Eliot-dev] Unable to show menus in Catalan, and some weird char "problem"
Date: Fri, 1 Jan 2010 18:57:30 +0100

Sorry, this mail was intended for the eliot-dev mailing-list and not
only to Joan...

On Fri, Jan 1, 2010 at 6:52 PM, Olivier Teuliere <address@hidden> wrote:
> Hello Joan,
>
> Happy new year!
>
> On Thu, Dec 31, 2009 at 10:10 AM, Joan Montané <address@hidden>
> wrote:
>> I want to update Catalan translation file (to fix some typos and
>> translate missing strings)
>
> I advise you to wait a little bit with this, because some strings from
> the .ui files (generated by Qt Designer) are not present in the .po
> files, and therefore are not translated. I plan to fix this issue
> during the week-end.
>
>> I've checkout the dev version and compile, all fine, but menus are in
>> English. My "ca-ES.UTF-8". Any hint?
>
> If you compiled Eliot yourself, you need to run "make install", and
> start Eliot from the installed library (in /usr/local/bin, unless you
> used --prefix in ./configure). Alternatively, you can make a symbolic
> link in the installation directory to the .gmo files of your build
> tree, to avoid running "make install" after each "make".
>
>> Now, the weird "problem"
>>
>> I want to provide dawg Eliot file for Spanish. Months ago, the
>> Spanish Federation (FISE), relased the official wordlist, "the
>> lexicon".
>>
>> Spanish has three digraps tiles: CH,RR,LL, and a single non-ascci
>> tile: Ñ. It's not a problem for Eliot, because it supports utf8 and
>> multichar tiles (Catalan was first). The "problem" is what char is
>> used to identify the multichar tiles (digraph). Read below
>>
>>
>> In FISE wordlist, the digraphs are encoded by number
>> CH --> 1
>> LL --> 2
>> RR --> 3
>>
>> I've compile succefully an spanish dictionary for Eliot with this
>> encoding (1,2,3), but if I request info about dictionary wiht
>> "listdic -h LEX-FISE.dawg", then...
>>
>> Tile::Tile: Unknown character: 1
>>
>> Searching at code, I've found than "problem" is in tile.cpp, using
>> "iswalpha" function.
>>
>> As far as I know, iswalpha function returns 1 or 0 based on locale
>> settings. Of course, 1,2,3 chars are not alphachars in my locale,
>> they are digits. But using "iswalpha" function could cause "problems"
>> if Eliot is used (maybe only compiled?) with some "exotic" locales.
>> I've found "iswalpha" function is used 4 times in /dic folder
>
> The problem with non-alphabetical characters comes from a design issue
> in Eliot: internally, joker chars are represented by lowercase
> characters. When some user input, such as "lle(n)o" is read, it is
> thus transformed into "LLEnO" before being processed by the core.
> What's more, multichar letters are also changed into their internal
> code, so it would become "2EnO". At this point, there is no way
> anymore to know whether "LL" is a joker or not, since 2 is not
> alphabetical.
>
> Of course, parsing user input in a different way would allow keeping
> the information that "LL" is not a joker in "lle(n)o", but I'm afraid
> this design issue will be difficult to fix...
>
> Also I agree that in theory, if a user a locale in which the internal
> characters of the dictionary are not all alphabetical, it will be
> impossible to play. However, this situation is rather unlikely...
>
>> And easy workarround for Spanish is to use properly chars (for
>> current locale) to identify digpaph tiles (á,é,í,ó,ü,...).
>
> As explained above, using any alphabetical character should work.  To
> reduce the risks with the locale, you should try to use characters
> present in any locale used by spanish people (restricting to
> ISO-8859-1 characters should be safe).
>
> Cheers,
> --
> Olivier

-- 
Olivier




reply via email to

[Prev in Thread] Current Thread [Next in Thread]