webtrees
webtrees copied to clipboard
Translation logic for "foster-son/-daughter" is missing
See discussion in https://www.webtrees.net/index.php/en/forum/help-for-release-2-1-x/37899-upgrading-from-1-8-0-dev-to-latest-when-i-cannot-log-in
As the translation logic for step-son /-daughter for is working, this not the case for foster-son / -daughter. Translation for them ist just plain "son" or "daughter".
The translation for adoptive-father, adoptive-mother etc is missing, too.
This belongs to the sidebarbar "family navigator" and to the "Family" tab on the individual page.
The translation for adoptive-father, adoptive-mother etc is missing, too.
There is a new system for relationship names which does not use translation.
So far, only a few languages are using it. For example, French and English.
You can see the code for French here: https://github.com/fisharebest/webtrees/blob/main/app/Module/LanguageFrench.php#L153-L275
Instead of translating relationships, we create definitions for each relationship name.
To use this system for other languages, it will require a some collaboration between a translator and a programmer.
@fisharebest What ist the best way for doing this? Just make a copy of the english file with the new file structur, change it for the desired language, e.g. Dutch or German and make a PR?
BTW. Is this coming with 2.2 or with 2.1.17? You've allready changed/fixed so much, that a actual release seems to be necessary (at least for the 2.1- branch). And yes, we know you're lately heavily involved in some personal things.
Okay, I started to add the primary logic for dutch. So far so good. I'm struggling with the logic for "younger brother/sister" etc for the ancestors. What am I missing there? see attached screenshots and txt-file Thanks for your help
younger brother = jongere broer older brother = oudere broer younger sister = jongere zus older sister = oudere zus
Is that what you were looking for? These are all in the LanguageDutch.txt file you posted (lines 150/151 and 153/154) and the nl/message.po. Why would it take the right one in English and something else in NL?
@jerry1970 Please read the statement from @fisharebest! The logic for the relationships are changing. That is why the logic for step-, foster-, adoptive etc in 2.1.16 is working no longer (as you yourself discovered). Please read also the responses in your own forum thread.
So I'm preparing a PR for the new logic in the Dutch language. The screenshots are using the new logic in the LanguageDutch.php
on my site. I'm creating the logic step by step and test it there. And as you see, it's not working correctly for the ancestors at this moment.
The respective translations in nl/message.po
will be abandoned. As far as I understood Greg correct, it will spare about 1.000 translations.
I do not yet fully understand the new logic in the relationship.php
, so that is why I'm asking Greg for some guidance.
As you said, you're a php-programmer, so you might want to dive into this as well. ;)
The real pain of the ass however will be to create the dynamic logic for this https://nl.m.wikipedia.org/wiki/Lijst_van_benamingen_voor_generaties and https://www.yory.nl/neven-en-nichten-noem-je-zo/
Holy crap, I am Dutch but everything after the groot/over/bet is new to me!
@jerry1970 As you said, you're a php-programmer, so you might want to dive into this as well. ;)
Don't worry, I'll spend some time first to get to know the system! First some basic stuff, like what framework is being used, etc., then the structure of the code, to find my way around the project. Then a simple bug first... :)
Holy crap, I am Dutch but everything after the groot/over/bet is new to me!
Yep, that's what I thought as well, as I learned this a few years ago. :-) I'll probably will stick to the first 17 generations of ancestors at first. I don't think someone ever will have the need to use all of the 513 generation names.
@LarsRabe very good that you started with Dutch! When you managed that I can join with German - since German is nearer to Dutch than English. Or you can do it, too ;-)
@hartenthaler Well, allthough I speak German nowadays more then Dutch :-) the German grammar still has his mysteries. So probably doing it together will be the best way. I have allready been thinking auf how to handle the genitiv form in German.
Dutch doesn't use a real Genitiv, English only has one, French has two, but German has three. So F und M are simple, while coming from the GEDCOM. But what with e.g. "das Kind"?
Yes, we can do it together. And we need @ric2016 ! He has done already similar things and there is maybe a conflict with the Vesta modules.
I started to do this in Vesta, but it doesn't make sense to duplicate the logic now that webtrees has a solution for it as well. But I'll update existing languages in Vesta.
@fisharebest, @jerry1970 or @ric2016
Hey guys, I could use a litte help with php ;-)
As shown here https://nl.wikipedia.org/wiki/Lijst_van_benamingen_voor_generaties
the generations above grandparent use a very specific naming schedule in Dutch. So the simpliest way is to hard coding them, but ...
first question: does adding a aditionell ->parent()
for every generation really work?
second question: if the answer is yes, can there be a function created which adds a extra ->parent()
in a simplier way?
I'm thinking of something like Relationship::fixed('x', '%s x') 5 times "->parent()" + ->mother(),
Hoping that this is understandable. Thanks
// Great-Grandparents and above follow a specific naming definied all the way down to the 513th generation.
Relationship::fixed('overgrootmoeder', '%s van de overgrootmoeder')->parent()->parent()->mother(),
Relationship::fixed('overgrootvader', '%s van de overgrootvader')->parent()->parent()->father(),
Relationship::fixed('overgrootouder', '%s van de overgrootouder')->parent()->parent()->parent(),
Relationship::fixed('betovergrootmoeder', '%s van de betovergrootmoeder')->parent()->parent()->parent()->mother(),
Relationship::fixed('betovergrootvader', '%s van de betovergrootvader')->parent()->parent()->parent()->father(),
Relationship::fixed('betovergrootouder', '%s van de betovergrootouder')->parent()->parent()->parent()->parent(),
Relationship::fixed('oudmoeder', '%s van de oudmoeder')->parent()->parent()->parent()->parent()->mother(),
Relationship::fixed('oudvader', '%s van de oudvader')->parent()->parent()->parent()->parent()->father(),
Relationship::fixed('oudouder', '%s van de oudouder')->parent()->parent()->parent()->parent()->parent(),
Relationship::fixed('oudgrootmoeder', '%s van de oudgrootmoeder')->parent()->parent()->parent()->parent()->parent()->mother(),
Relationship::fixed('oudgrootvader', '%s van de oudgrootvader')->parent()->parent()->parent()->parent()->parent()->father(),
Relationship::fixed('oudgrootouder', '%s van de oudgrootouder')->parent()->parent()->parent()->parent()->parent()->parent(),
the generations above grandparent use a very specific naming schedule in Dutch
Is this scheme actually in use?
In German, there are similar attempts which define specific terms that are neither intuitive nor useful in my opinion, and I don't think they are actually used. I recommend not to implement this: Users won't understand the terms anyway, without looking up the definition.
I agree with @ric2016 there. I have never seen that list and even if I had, it would not make sense to me. What is mostly used in Dutch, though apparently not super-official, is to repeat the "over" part. father = vader grandfather = grootvader great grandfather = overgrootvader great great grandfather = overovergrootvader, but also betovergrootvader (In Dutch there is no difference between paternal/maternal.)
Now that betovergrootvader is heard now and then, but for the next one, I have heard people say overbetovergrootvader and also betoverovergrootvader - both make no sense. So if you take one "over" for every generation above grand father I think most users would understand.
It doesn't look nice, though. In Dutch it is allowed to add a hyphen to make a word more readable. So over-overgrootvader is correct, and over-over-overgrootvader too. But I hope there is some rule to make it look nicer, like over(6x)-overgrootvader for the 9th generation or something.
(Now I am wondering about the Swedish translations. The logic is to say mother and father for every generation going up, so farfar is father's father, farmor is father's mother. After every second combination there is an s: farfarsfar for great grandfather.)
Well it's the official definition used by the "Nederlandse Genealogische Vereniging" and the "Centrum voor Familiegeschiedenis" and can be found also in the major dutch publications for genealogy. And at least the naming for the first 4 ancestor generations are quit common used.
So that is point of discussion if we use the official dutch scheme or the inofficial scheme as definied by the genealogists of The Church of Jesus Christ of Latter-day Saints (that is where the "multiple times great-" originates from)? If we go for the latter we would find us in the arbritary situation of how many "over-" or "ur-" we use before switching to "5 times great-".
Edit: I've asked for a opinion on this by the dutch users of wt. https://www.webtrees.net/index.php/en/forum/2-open-discussion/37928-question-for-the-dutch-users
For German I will not use those strange and not used academic definitions. For me it is
- Vater
- Großvater
- Urgroßvater
- Ururgroßvater
- Urururgroßvater
- 4xUrgroßvater
- 5x...
As a language enthusiast and as a software developer, I always try and find the balance between following the rules exactly and doing what seems best for the user. Sometimes you need the language, but those technical terms, although correct, are not helping any user in our case.
For me, @hartenthaler 's suggestion would work perfectly in Dutch as well and, most importantly, would be clear to most if not all users.
vader, grootvader, overgrootvader, overovergrootvader, 3xovergrootvader, 4xovergrootvader
Spelling-wise it would be better to add a few hyphens to make it clear: 3-x-overgrootvader. Yes, that would get my vote.
Norwegian is similar to the above. far farfar oldefar tippoldefar tipp-tippoldefar tipp-tipp-tippoldefar
Just found this https://www.alexander-stolpmann.de/Genealogie%20-%20Benennungen%20in%20anderen%20Sprachen.html
After a vivid discussion in the wt-forum, I've decided to go for the following scheme for now, because the the Dutch terms, from the 5th generation on, seems not to be common knowledge amongst the wider public.
-? x achterkleinkind
-3 achterkleinkind
-2 kleinkind
-1 kind
0 PROBANDUS
1 ouder
2 grootouder
3 overgrootouder
4 betovergrootouder
? x overgrootouder
@LarsRabe have you finished this activity already? Should or can I copy your code in order to use it for German?