Add class for translation of dynamic elements: number of notes, reviews, etc.
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- php
- Domaine
- internationalization, localization
Piste de recherche
Commencez par lire la discussion dans php/web-php#1057 et les exemples en ligne liés sur onlinephp.io. Identifiez comment les décomptes dynamiques sont actuellement affichés et quelles langues nécessitent des règles de pluriel. Le travail sera considéré comme terminé lorsqu’un design convenu et une implémentation du formatage spécifique à chaque langue des décomptes tels que les notes, les avis et les votes positifs seront disponibles.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- PHP
- Étoiles
- 1.1k
- Forks
- 641
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 19
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de php/web-php
-
Bug Status: Needs Triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Page: downloads
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
Page: downloads
Difficulté 3/5 1-2 jours Accessibilité débutants 62/100
-
Bug Status: Needs Triage
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Toutes les issues de php/web-php
Issues similaires
-
Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Automattic/safe-publish#594 ·
-
needs-triage Platform(Default)
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
HttpClient
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
symfony/symfony-docs#23092 ·
-
sync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
sync-en
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100