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