This post is a question to the translators of Scidb.

The next version will show championchip info in the player dialog. Momently I 
try to design the message strings in a way so that it is possible to construct 
the information without using too much components (there are dozens of 
combinations).

For the English language we have:

set ChessChampion        "%sex% %mode% %age% %region% %champion% %where%"

set Sex(f)                               "Woman"                                
;# female
set Sex(m)                      ""                                              
;# male
set Region(w)                   "World"                         ;# World
set Region(e)                   "European"                      ;# Europe
set Region(-)                   "National"                              ;# 
National
set Champion(w)         "Champion"                      ;# for world champions
set Champion(e)         "Champion"                      ;# for European 
champions
set Champion(-)         "Champion"                      ;# for national 
champions
set Age(j)                              "Junior"                                
;# junior class
set Age(s)                               "Senior"                               
;# senior class
set Age(-)                              ""                                      
        ;# unrestricted age
set Mode(c)                     "Correspondence"        ;# correspondence chess
set Mode(-)                     ""                                              
;# over the board
set Where                               "in %country%"          ;# the nation

Now I can compose an info like

(1) "Woman Correspondence World Champion":

Apply the following actions to $ChessChampion:
- replace %sex% by Sex(f) -> "Woman" [female title]
- replace %mode% by Mode(c) -> "Correspondence"  [correspondence chess]
- replace %age% by Age(-) -> "" [no age class given]
- replace %region% by Region(r) -> "World"  [the world champion]
- replace %champion% by Champion(w) -> "Champion"  ['w' for world champion]
- %where% is empty [no nation required]

Some more examples for the English language:

(2) "Junior European Champion"

- %sex%=Sex(m) -> "" [male title]
- %mode% =Mode(-) -> "" [over the board]
- %age%=Age(j) -> "Junior"  [junior class]
- %region%=Region(e) -> "Europe" [in Europe]
- %champion%=Champion(e) -> "Champion" [European champion]
- %where% is empty [no nation required]

(3) "Woman Senior National Champion in Germany"

- %sex%=Sex(f) -> "Woman" [female title]
- %mode% =Mode(-) -> "" [over the board]
- %age%=Age(s) -> "Senior" [senior class]
- %region%=Region(-) -> "National" [national title]
- %champion%=Champion(n) -> "Champion" [national champion]
- %where% -> "in Germany" because %country% is "Germany"

For the German language I'm using these translations:

set ChessChampion       "%region% %age%%mode%%champion% %where%"

set Sex(f)                              ""                                      
        ;# female
set Sex(m)                       ""                                             
;# male
set Region(w)                   ""                                              
;# World
set Region(e)                   "Europäische(r,)"               ;# Europe
set Region(-)                    "National(er,e)"               ;# National
set Champion(w)         "Weltmeister(,in)"      ;# for world champions
set Champion(e)         "Meister(,in)"                  ;# for European 
champions
set Champion(-)         "Meister(,in)"                  ;# for national 
champions
set Age(j)                              "Junioren-"                     ;# 
junior class
set Age(s)                              "Senioren-"                     ;# 
senior class
set Age(-)                               ""                                     
        ;# unrestricted age
set Mode(c)                     "Fernschach-"           ;# correspondence chess
set Mode(-)                     ""                                              
;# over the board
set Where                               "in %country%"          ;# the nation

Note the special rule for parenthesized sub-strings like "(er,e)". The first 
part "er" will be used for males (so "National(er,e)" will become "Nationaler" 
for males), the second part "e" will be used for females (so "National(er,e)" 
will become "Nationale" for females).

In German the following strings will be constructed:

(1) is "Fernschach-Weltmeisterin" because

- %sex%=Sex(f) -> ""
- %region% =Region(r) -> ""
- %age%=Age(-) -> ""
- %mode%=Mode(c) -> "Fernschach-"
- %champion%=Champion(w)  -> "Weltmeisterin"
- %where% -> ""

You may check yourself the following constructions; apply the same rules as 
given above for (2) and (3):

(2) is "Europäischer Junioren-Meister"
(3) is "Nationale Senioren-Meisterin in Deutschland"
        ("Germany" is "Deutschland" in German)

Now the open question: is this translation scheme for championchip info useful 
for other languages (Spanish, Italian, Swedish, Hungarian, ...)? Please regard 
that the constructed strings will only be used for short infos, this means it 
must not satisfy the grammatical rules, but the result should be readable of 
course. If this construction scheme is not useful, please send me your 
counter-examples, and possibly some ideas how to enhance the scheme.

Cheers,
Gregor

Reply via email to