Add class for translation of dynamic elements: number of notes, reviews, etc.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- php
- Bereich
- internationalization, localization
Rechercherichtung
Beginne damit, die Diskussion in php/web-php#1057 und die verlinkten Beispiele auf onlinephp.io zu lesen. Ermittle, wie dynamische Zählwerte derzeit dargestellt werden und für welche Sprachen Pluralregeln benötigt werden. Als abgeschlossen gilt die Aufgabe, wenn ein abgestimmtes Design und eine Implementierung für die sprachspezifische Formatierung von Zählwerten wie Notizen, Rezensionen und Upvotes vorliegen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Base on: https://github.com/php/web-php/pull/1057#discussion_r1748003699
I suggest add methods for different languages to form on doc-site correct plurals for different dynamic elements: the total note count, the number of upvotes, etc.
Maybe something like this:
Contributors from each country will only have to implement their plural method and call in the code:
<?php
$num_notes = 1;
echo NumberBaseDeclinsion::decline($num_notes, ['note', 'notes',], 'en',); // 1 note
echo NumberBaseDeclinsion::decline($num_notes, ['заметка', 'заметки', 'заметок',], 'ru',); // 1 заметка
$num_notes = 2;
echo NumberBaseDeclinsion::decline($num_notes, ['note', 'notes',], 'en',); // 2 notes
echo NumberBaseDeclinsion::decline($num_notes, ['заметка', 'заметки', 'заметок',], 'ru',); // 2 заметки
$num_notes = 5;
echo NumberBaseDeclinsion::decline($num_notes, ['note', 'notes',], 'en',); // 5 notes
echo NumberBaseDeclinsion::decline($num_notes, ['заметка', 'заметки', 'заметок',], 'ru',); // 5 заметок
// Phrase
echo NumberBaseDeclinsion::decline(38, ['pink flamingo', 'pink flamingos',], 'en',); // 38 pink flamingos
echo NumberBaseDeclinsion::decline(38, ['розовый фламинго', 'розовых фламинго', 'розовых фламинго',], 'ru',); // 38 розовых фламинго
// And if you want the text not to break between the number and the next word, you can add an unbreakable space:
echo NumberBaseDeclinsion::decline(8, ['comment', 'comments',], 'en', ' ',); // 8 comments
More examples can be found at the link.
In particular, if you translate the total number of notes of the contribution notes, then for the Russian language you will need 1 singular form + 2 plural forms. And for English, only two forms are enough. Therefore, a separate method (or function, if it is decided to write in a functional style) will be required for each language, which will form the correct string with a number for its language
- Vorherrschende Sprache
- PHP
- Sterne
- 1.1k
- Forks
- 641
- Ø Merge
- 1 T. 11 Std.
- Gemergte PRs (30 T.)
- 19
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus php/web-php
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Page: downloads
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
-
Page: downloads
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
-
Bug Status: Needs Triage
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
Ähnliche Issues
-
tooling
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
UX
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
OpenConext/OpenConext-engineblock#2122 ·
-
Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Automattic/safe-publish#594 ·