[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-i18n-doc
Subject: mixed plural form handling
From: Frederik Schwarzer <schwarzer () kde ! org>
Date: 2023-04-22 13:16:24
Message-ID: 2220748.iZASKD2KPV () swift
[Download RAW message or body]
Hi,
today I was nudged from this:
https://invent.kde.org/sysadmin/l10n-scripty/-/issues/6#note_665802
"Script kiddy generates endless daily commits that add and remove brackets"
What happens there is that the PO files sometimes have parens around the plural \
condition and sometimes they do not, resulting in commits like this \
(back and forth):
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
Since it seems only the German translation is affected, I started looking into what \
is happening and now I wonder why this is not a more wide spread issue. What I found:
- Scripty "check_po_files" removes parens from plural
- gettext "msginit" creates PO files with parens in the plural condition when run \
like this: msginit --locale=de_DE.UTF-8 --no-wrap --no-translator --input=file.pot \
--output-file=file.po
So what happens is that I create missing PO files with msginit and introduce the \
parens in the summit folder. After that, "summit scatter" adds the parens to the PO \
files in the branches folders (l10n-kf5, l10n-kf6 ...) and then Scripty removes the \
parens. Then I add them again with scatter, then Scripty removes them again. \
Neverending story. Scripts against script.
When I search the Web, I find collections of plural forms sometimes with the parens, \
sometimes without.
https://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html
nplurals=2; plural=(n != 1);
https://php-gettext.github.io/Languages/
de German 2 n != 1
... just to name two. I guess, then, there is no right or wrong here but just "what \
we do".
I would gladly just call "msginit" differently if it had a command line switch for \
that but I cannot find one.
So, how do other teams create missing PO files? I know it works with Lokalize (not \
sure if it uses parens then or not) but I prefer to do it with a script.
Thanks for any advice.
Cheers,
Frederik
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic