-
Migrace z Joomla 1.5, 2.5 a 3.x do nové Joomla 6
Bong ·
- X Online Joomla bar xunil ·
-
Phoca Cart - pluginy dopravy
H13 ·
-
Nový joomlaportal.cz
Linelabcz ·
-
Amanus - nová šablona Astroid frameworku podporující Phoca Cart
H13 ·
- X Claude Code a VS Code - kompromitace xunil ·
-
Phoca Download - verze 6.1.6 vydána
H13 ·
-
Phoca Cart - Booking
H13 ·
Plural v češtině pro jádro Joomly
- Bong
-
Autor
- OFFLINE
- Moderátor
-
12. říj 2026 18:59 - 12. říj 2026 19:08 #151455
od Bong
I'm sorry, my responses are limited...you must ask the right questions.
Nejhorší jsou aktivní vylepšovači a zabezpečovači.
Pamatujete na problémy na J3 a později J4, když nefungoval plural? Je to tu zpět.
Plural teď nefunguje na J4 a 5 a 6. Minule se to pokaždé vyřešilo úpravou localise.php. To teď ale není možné.
Úpravy v libraries\src\Language\Text.php
ani neumožňují pro český problém localise.php využít. Prostě Joomla to vždy přebije... takže je to jedno.
Co myslíte, že bude rychlejší? Napsat si vlastní plugin, který plural opraví, nebo se opět dohadovat o úpravě jádra?
Pamatujete na problémy na J3 a později J4, když nefungoval plural? Je to tu zpět.
Plural teď nefunguje na J4 a 5 a 6. Minule se to pokaždé vyřešilo úpravou localise.php. To teď ale není možné.
Úpravy v libraries\src\Language\Text.php
Code:
if ($n != 1) {
array_unshift($suffixes, (int) $n);
}
ani neumožňují pro český problém localise.php využít. Prostě Joomla to vždy přebije... takže je to jedno.
Co myslíte, že bude rychlejší? Napsat si vlastní plugin, který plural opraví, nebo se opět dohadovat o úpravě jádra?
I'm sorry, my responses are limited...you must ask the right questions.
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
13. říj 2026 20:49 - 13. říj 2026 20:50 #151457
od Cony
Odpověď od Cony v tématu Plural v češtině pro jádro Joomly
Bongu, předělej to takhle, to funguje
Jen teda v INI máš všude pro 5 a víc suffix 3 místo nebo MORE, třeba
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_1="... Zkuste to prosím znovu za hodinu."
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_2="... Zkuste to prosím znovu za %s hodiny."
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_3="... Zkuste to prosím znovu za %s hodin."
Správně to poslední by mělo být COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_5 nebo COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_MORE.
Dalo by se to vyřešit i přidáním suffixu 3 do toho localise, ale kdyby čirou náhodou měl někdo speciální text pro trojku (třeba COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_3="... Zkuste to prosím znovu za tři hodiny." ), tak by to nezafungovalo...
Otestovat můžeš jednoduše přidáním třeba do index.php šablony
a do jazyk. souboru šablony
Code:
public static function getPluralSuffixes($count)
{
if ($count == 0) {
return ['0', 'OTHER', 'MORE'];
}
if ($count == 1) {
return ['1', 'ONE'];
}
if ($count < 5) {
return ['2', 'FEW'];
}
return ['5', 'OTHER', 'MORE'];
}
Jen teda v INI máš všude pro 5 a víc suffix 3 místo nebo MORE, třeba
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_1="... Zkuste to prosím znovu za hodinu."
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_2="... Zkuste to prosím znovu za %s hodiny."
COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_3="... Zkuste to prosím znovu za %s hodin."
Správně to poslední by mělo být COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_5 nebo COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_MORE.
Dalo by se to vyřešit i přidáním suffixu 3 do toho localise, ale kdyby čirou náhodou měl někdo speciální text pro trojku (třeba COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_3="... Zkuste to prosím znovu za tři hodiny." ), tak by to nezafungovalo...
Otestovat můžeš jednoduše přidáním třeba do index.php šablony
Code:
n3tDebug::barDump(Text::plural('TEST', 0));
n3tDebug::barDump(Text::plural('TEST', 1));
n3tDebug::barDump(Text::plural('TEST', 2));
n3tDebug::barDump(Text::plural('TEST', 3));
n3tDebug::barDump(Text::plural('TEST', 5));
n3tDebug::barDump(Text::plural('TEST', 10));
a do jazyk. souboru šablony
Code:
TEST="bez suffixu"
TEST_0="%s suffix 0"
TEST_1="%s suffix 1"
TEST_2="%s suffix 2"
TEST_5="%s suffix 5"
TEST_10="desseeet"
- Bong
-
Autor
- OFFLINE
- Moderátor
-
15. říj 2026 10:49 #151463
od Bong
I'm sorry, my responses are limited...you must ask the right questions.
Odpověď od Bong v tématu Plural v češtině pro jádro Joomly
Přípony k řetězcům překladu si Joomla přidává sama. Historicky v tom byl hroznej čurbes (na dlouhé povídání). Nově by měla přidávat jen skutečnou číselnou příponu.
V core překladu Joomly jsou teď ale jen řetězce pro 0, 1, 2, 3 a 5+ a další přidávat nejdou, tedy u češtiny problém s chybějící 4 - to je řešeno v localise.php.
V překladech rozšíření většinou bývají řetězce pro 0, 1, 2, ale i ONE, FEW, MANY a OTHER, jde další libovolně přidávat, tam problém není a nebo to zase řeší localise.php.
Aktuální stav:
V posledních překladech Joomla 5.4.10.3 a Joomla 6.2.0.5 jsou všechny přípony "_3" opravené a localise.php upravené. Mělo by to fungovat, ale budu rád za otestování, hlavně frontendu...
A díky za rady a řešení
V core překladu Joomly jsou teď ale jen řetězce pro 0, 1, 2, 3 a 5+ a další přidávat nejdou, tedy u češtiny problém s chybějící 4 - to je řešeno v localise.php.
V překladech rozšíření většinou bývají řetězce pro 0, 1, 2, ale i ONE, FEW, MANY a OTHER, jde další libovolně přidávat, tam problém není a nebo to zase řeší localise.php.
Aktuální stav:
V posledních překladech Joomla 5.4.10.3 a Joomla 6.2.0.5 jsou všechny přípony "_3" opravené a localise.php upravené. Mělo by to fungovat, ale budu rád za otestování, hlavně frontendu...
A díky za rady a řešení
I'm sorry, my responses are limited...you must ask the right questions.
Vygenerováno za 0.080 sekund