|
|
|
|
Administrators Moderators Customers Gamma FamilyTrees.GenoPro.com Translator GenoPro version: 3.1.0.1
Last Login: Tuesday, October 28, 2025
Posts: 4,886,
Visits: 22,799
|
Not all languages have the same phrase structure. I decided to create a topic dedicated to this issue.From the Universal Report Generator:
rjn (8/18/2005)
GenoProSupport (8/18/2005) Every problem can be solved. This is my philosiphy anyway. Send me several samples Finnish translation in the context of VBScript and I will draft a routine to handle this.That's great! I didn't quite understand what you meant by sending samples in the context of vbscript... I'm having yet difficulties with that language so I'm not sure if I can do that, whatever it was :? Still I can elaborate and send you more specific information and examples of suffixes in possessive structures that I can think of: Basic possessive structure in Finnish: add suffix " n" Examples: Rami -> Rami nToni -> Toni nRisto -> Risto nMarika -> Marika netc. Exceptions: 1) When the last letter is a CONSONANT (except s), add suffix " in" Examples: Tom -> Tom inAslak -> Aslak inJasmin -> Jasmin inMikael -> Mikael inAbraham -> Abraham inElisabet -> Elisabet in2) But if the last letter is consonant s, it is left out and replaced by suffix " ksen": Examples: Armas -> Arma ksenIiris -> Iiri ksenJoonas -> Joona ksenMarkus -> Marku ksenJohannes -> Johanne ksen3) If there is double consonant kk, pp or tt just before ending vowel, it is reduced to single consonant k,p or t: Examples: E ppu -> Epun Pe kka -> Pekan Ti tta -> Titan Se ppo -> Sepon Tuu kka -> Tuukan Rii tta -> Riitan Jukkape kka -> Jukkapekan Markku-Pe kka -> Markku-Pekan (in last two cases you see that only latter kk is affected) 4) Rare case: If name ends "tar", an extra t is added and suffix is " en": Examples: Ilmatar -> Ilmattar enSuometar -> Suomettar en I am thinking of defining some rules for possessive names. GenoPro would lookup each rule, and if one matches the pattern, the processing would stop. In Finnish the rules sould look like this: <PossessiveRules> <Rule EndWith="s" ReplaceWith="ksen" /> <Rule EndWith="tar" ReplaceWith="ttarten" /> <Rule EndWith="kk?" ReplaceWith="k?" /> <Rule EndWith="pp?" ReplaceWith="p?" /> <Rule EndWith="tt?" ReplaceWith="t?" /> <Rule Append="n" /> </PossessiveRules> |
In English, the rules would look like this: <PossessiveRules> <Rule EndWith="s" Append="'" /> <Rule EndWith="'" /> <!-- Do nothing. The processing will stop at this rule if the noun ends with the apostrophe --> <Rule Append="'s" /> <!-- Otherwise, append the "'s" to the noun --> </PossessiveRules> |
Edited: Wednesday, August 31, 2005 by
GenoProSupport
|
|
|
|
|
Administrators Customers Important Contributors FamilyTrees.GenoPro.com GenoPro version: 3.1.0.1
Last Login: 2 days ago @ 9:23 PM
Posts: 3,464,
Visits: 26,854
|
GenoProSupport (8/30/2005)
I am thinking of defining some rules for possessive names. GenoPro would lookup each rule, and if one matches the pattern, the processing would stop. In Finnish the rules sould look like this: <PossessiveRules> <Rule EndWith="s" ReplaceWith="ksen" /> <Rule EndWith="tar" ReplaceWith="ttarten" /> <Rule EndWith="kk?" ReplaceWith="k?" /> <Rule EndWith="pp?" ReplaceWith="p?" /> <Rule EndWith="tt?" ReplaceWith="t?" /> <Rule Append="n" /> </PossessiveRules> |
The next skin update has an interim solution to this issue by using 'regular expression' syntax in the dictionary. The Finnish rules can be expressed as | <PossessiveProperNoun T="s$:ksen;tar$:ttarsen;kk(.$);k$1;pp(.$):p$1;tt(.$):t$1;(.$):$1n" /> |
Not quite as readable as Dan's proposed solution but that's life!
'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
|
|
|
|
|
Customers Important Contributors Translator GenoPro version: 3.1.0.1
Last Login: Friday, November 25, 2022
Posts: 334,
Visits: 7,574
|
Ron (11/15/2006)
The next skin update has an interim solution to this issue by using 'regular expression' syntax in the dictionary. The Finnish rules can be expressed as | <PossessiveProperNoun T="s$:ksen;tar$:ttarsen;kk(.$);k$1;pp(.$):p$1;tt(.$):t$1;(.$):$1n" /> |
Not quite as readable as Dan's proposed solution but that's life! Ron, can you explain, please, the meaning of the "$" and "(.$)" signs? what they stands for (although I think I got it... )?
|
|
|
|
|
Administrators Customers Important Contributors FamilyTrees.GenoPro.com GenoPro version: 3.1.0.1
Last Login: 2 days ago @ 9:23 PM
Posts: 3,464,
Visits: 26,854
|
Sorry, the Dictionary will have the following by way of explanation. | <!-- PossessiveProperNoun - Conversion of Proper Nouns to their possessive form This is arranged as repeating pairs of 'regular expressions' as <part to find>:<replacement>; $ in the '<part to find>' represents the end of the word, so '(s$)' means ending in 's' . is a wild card presenting any character so (.$) means ending with any character. $n in the '<replacement>' means 'matched substring 'n' so $1 means the 1st bracketed string in '<part to find>' Therefore (s$):$1'; means: if word ends with 's' replace 's' by itself ($1) followed by ' (apostrophe) and (.$):$1's means replace any last character in a word by that last character followed by 's Another example: to always add the Japanese character 'の' use (.$):$1の; as the PossessiveProperNoun translation string (you will need to be using a font that supports Japanese to see this!) Once a replacement is made no further pairs are tested. simple isn't it! For more information on regular expressions in VBscript google for 'Windows 5.6 Script Documentation' and download script56.chm and open it. --> <PossessiveProperNoun T="(s$):$1';(.$):$1's;" />
|
Hope that will help to clarify things.
'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
|
|
|
|
|
Customers Important Contributors Translator GenoPro version: 3.1.0.1
Last Login: Friday, November 25, 2022
Posts: 334,
Visits: 7,574
|
|