Coder Social home page Coder Social logo

Comments (7)

hgouraud avatar hgouraud commented on July 19, 2024

The logic for "with child" is in hd/etc/modules/unions.txt

You will observe several "presentations" depending on the vlaue of op_m.

from geneweb.

gunnarhm avatar gunnarhm commented on July 19, 2024

Thanks for guidance. I see now that it is only in the u2=simple+photos unions mode that there currently is any ambition to present correct grammar and number of children, but it fails because the meaning of the words in the "having as children" table in lexicon.txt is different for different languages. Some mean "with", some mean "children" and some mean "their children". The logic is also not favourable for the one child case for value 2 of op_m (=u2)

All other styles for unions (u1=simple, u3=evolved, u4=complete, u5=complete+photos) just pick the words from the "having as children" table, which currently creates resulting text of varying quality. I think the "with:" and "dont:" for English and French are confusing, because it does not tell that it is about common children of a couple. The German "ihre Kinder" is better but not so good for the single child case, even if it is very common in IT-systems to allow bad grammar by ignoring singular/plural variations in the language. In Danish the wording from the "having as children" is good, because children is "børn" both in singular and plural case.

There is a table called "child/children" in tlexicon.txt where the correct form for child can be picked by the logic. So this is a matter of agreeing on an ambition level.

  1. Shall we have a more clear word than just "with:" for children?
  2. Shall we have difference for singular vs plural for languages which have this difference for "children"?
  3. Shall we tell the number of children in some of the union presentation modes?
    3.1 If so, in which?
    3.2 Is there any reason why only the u2="simple+photos" mode tries to include the number of children in the text?

from geneweb.

gunnarhm avatar gunnarhm commented on July 19, 2024

I have tested a change in unions.txt that works for all languages which have words in the [having as children] table meaning only "with" or "having" or "had". That is 10 languages.
However 22 languages have wording in [having as children] also including a word for "children". So they need to be changed in the [having as children] table. The change looks straightforward for most languages, but for six languages, the "with" seems to better influence the case of the word for children than being a separate initial word (cs, es, fi, os, ru, ch). I assume that the [child/children] table is used elsewhere so we cannot have exactly the right case in that table.

I can make a proposed pull request for the two files modules.txt and lexicon.txt, but it would be good to know that they can be verified by persons knowing the target languages. Do we have contacts for the different languages?

from geneweb.

hgouraud avatar hgouraud commented on July 19, 2024

from geneweb.

gunnarhm avatar gunnarhm commented on July 19, 2024

In order to make the presentation of number of children in word form (as in the simple+photos mode), the table "n (number)" in lexicon.txt needs to be extended by more languages. Currently only 9 languages are supported. Can we expect to get the "n (number)" table extended? A work - around can be to not mention how many children have been registered.

from geneweb.

gunnarhm avatar gunnarhm commented on July 19, 2024

This looks possible if we use wording in the [having as children] table in lexicon.txt meaning "their", as already done for French "dont" and German "Ihre". Then the case dependent languages seem to result in manageable phrases for "their child:" and "their two children" etc. But case inflection of the words in the [child/children] table seems needed anyway. There is a notation used already in the [child/children] table which seems to be for case variation, with notations as :e:+na after the nominative form. Where can I find information on use of that notation?
I see no reason why the five different values of op_m in modules.txt would result in different presentation of the words about children, so I propose to have them all resulting in words corresponding to "dont enfant" vs "dont deux enfants" etc. in respective languages. I will not touch the ones already having something like "with" or "their" in the [having as children] table.

from geneweb.

a2line avatar a2line commented on July 19, 2024

Hi Gunnarhm. Thanks for your messages. You can read a bit about how Geneweb manages to handle a few grammatical specificities ¹, but this has not been seriously maintained since v5.02 in 2007 in the lexicon itself. Most translations are checked for French and English only since v6.

We can write the number of children in full text as I did for siblings and half-siblings on the family template, it's quite easy. I think it’s a good idea to put the count before the enumeration.

I don’t know for all languages but here is how we can extend the actual entry to manage those counting, and of course use it on all versions of the module “unions” (u1 to u5):

    having as children
en: with a child/with %s children
fr: dont un enfant/dont %s enfants

I think we need to add singular because the “0 entry” in the [n (number)] table won't fit for all languages.
%s is a variable and, of course, it will be the number of children in full text using the [n (number)] translation table that you already extended. Then, it’s a simple condition: we just add the use of [having as children]0 if only one child and [having as children::xx]1 if multiple children. We should also need to take care to write the count in number where the text translation stops but I see again that first records in Roglo database show 36 then 32 then 28 children for the same couple (same mother) and looking at [n (number)] table, it was probably done to support days as it stops at 31, so it's enough up to two known cases.

I’ll do a PR preparing the code for unions.txt and if you can extend the translation table of [having as children] the way I’ve just described, we will have your request filled. That said, what is good to know is that it will “work” (as badly as you described) even if we don't add all languages because if a variation of a translation doesn't exist it falls back to the first one, and if the language entry doesn't exist at all it falls back to English.

¹ https://geneweb.tuxfamily.org/wiki/lexicon
² http://roglo.eu/roglo?lang=fr;m=NOTES;f=Curiosites:livre_records#a_56

from geneweb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.