From 5c01ad388f8aefe9518f2ef1aae591e87d6c9b18 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Mon, 13 Jan 2025 18:02:47 +0100 Subject: [PATCH] fix(translationtool): Fallback to English plural form If a project does not use any plurals (only `t` and no `n`), then the po file might also not contain the plural header. In this case we still need a plural form string for our Nextcloud JS output. So to solve this we just fallback to English (it is currently not used and will also be overwritten with the correct string as soon as a plural form is used) Signed-off-by: Ferdinand Thiessen --- .../translationtool/src/translationtool.php | 2 +- .../translationtool/translationtool.phar | Bin 418185 -> 419682 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/translationtool/src/translationtool.php b/translations/translationtool/src/translationtool.php index 3a91924..eba7e7f 100644 --- a/translations/translationtool/src/translationtool.php +++ b/translations/translationtool/src/translationtool.php @@ -145,7 +145,7 @@ public function createNextcloudFiles(): void { $translations = Gettext\Translations::fromPoFile($poFile); $strings = []; - $plurals = $translations->getHeader('Plural-Forms'); + $plurals = $translations->getHeader('Plural-Forms') ?? 'nplurals=2; plural=(n != 1);'; foreach ($translations as $translation) { if (!$translation->hasTranslation()) { diff --git a/translations/translationtool/translationtool.phar b/translations/translationtool/translationtool.phar index 22fcfafee7aff03605453f8dd9f663e1f37ee7f9..3f6c4d8c337366b152838548693eea0d65a3ff4f 100755 GIT binary patch delta 5097 zcma)8eOy!5`M>AhBoH8wAR#2YT`&X)ZwVL>6j2fIjknoOEwmaSXxa#r7iX&|wd-ot zPU>knwN?eZlzx0Gn$_c6r`4)!H>hasbemeVj=EJ^TeqsS)tz&1pt${hKYsZm&&~5Z z=Xt*8`@Gz|^nw2B$NHY7@QSS|Bn1BANcC$eI=_dkq7{JZo*00P7;=h=){!tGece{lj_upnrsqXbDp=3@)8@N`S55 zIif~RQf@9)vAr1ZYU5v_*;9PyHF@rC#{8 z0KbZyCTj9X?#_~JO9a@GME!JVsvh`iz6g-OQu$t4|C_^Mbh?sSdYKlzWT$d@+1-v| zIKJ?1gw$jj!bJI;r3AnReu|jtxRPNG-rxA~h_8O3eVL0!EAtReWw|`Qj$XqGi=(6} z6%*|^ThBpCj}@sW122u)QvfP&za3-};Ii>j0XoTjR9iEr(E>~t)4oSauXU#pZt5aT zs3#KmqMMU}5-y98dbgW|*X{Hr47@*nvUoyEDx_|^fGN;yQBz2Ko=S7y6kva}#P1}c zdG6N}6&_+@B!2%ureyWS!;evZrCcyLMlFWuCcr-V*+kO*VnJebFv}X?dYb_AqF;lLHYZK8#yju6|FfJRk#~abzSP-P?CoIux zQrY~`tDgu^6FW;xvz(00_uJJ^P)!RD5#9Y-|1=ZdhG3HpwpZP_CzPL zpz^hI(xCD2fk>GE)EYNw3wjAEOJ4rx%Ok|X*P{Z(%Y>2sowmD_M*kdsp8D^!jsA7ohZ|Tf0Ql$wBB-m@2Ka-``mo!m~5=78( zVc}%v`jX<&q$sjccG;whQt2*pkO3_<8sO37@#2B6NX6#0`jpegp;{gCiza zRJPZ>OiC;r(!q_%(ooDKOJ(KY@f{-;{cQSzCM{dx*|${ApE_X|?Kv?t#bWml z6_C|{b)OHn

-&!3eV-2Ljy# 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