Gibt es Möglichkeiten für eine Zeichenfolge in Symfony 3 pluralizing? Zum Beispiel: Ich habe "Objekt" und ich möchte "Objekte" bekommen.pluralize Zeichenfolge in Symfony 3
Antwort
Pluralisierung ist ein sehr komplexes Thema und Symfony umfasst es im Rahmen, wenn die Translation Component:
Nachricht Pluralisierung ein hartes Thema ist als die Regeln sehr komplex sein können.
Sie würden also im Grunde benötigen Übersetzungen für das System aktivieren und die benötigten Strings mit der transChoice()
Methode des Übersetzers Dienst oder dem ‚transchoice‘ Tag/Filter in Ihrem Zweig Vorlage übersetzen.
Um dies zu umgehen, verwenden Sie die transChoice() -Methode oder den transchoice Tag/Filter in Ihrer Vorlage.
den Übersetzer Service mit
// the %count% placeholder is assigned to the second argument...
$translator->transChoice(
'There is one apple|There are %count% apples',
10
);
// ...but you can define more placeholders if needed
$translator->transChoice(
'Hurry up %name%! There is one apple left.|There are %count% apples left.',
10,
// no need to include %count% here; Symfony does that for you
array('%name%' => $user->getName())
);
Zweig-Tags
{% trans %}Hello %name%{% endtrans %}
{% transchoice count %}
{0} There are no apples|{1} There is one apple|]1,Inf[ There are %count% apples
{% endtranschoice %}
UPDATE
Wenn Sie nicht wissen, die Zeichenfolge, die Sie vorher kann die internen Inflector Component, verwenden aber den Haftungsausschluss und die Tatsache bewusst sein, dass dies nur für Strings in Englisch arbeiten würde:
Diese Komponente zur Zeit als internen markiert. Benutze es nicht in deinem eigenen Code. Brechen von Änderungen kann in der nächsten Nebenversion von Symfony eingeführt werden, oder die Komponente selbst wird möglicherweise vollständig entfernt.
Eine Alternative wäre, Ihre eigene Beugungsklasse, z. something like this und erstellen Sie einen Dienst daraus.
- 1. pluralize Text in Funktion
- 2. Wie 3 Tische in Symfony 3
- 3. Symfony 3: GroupSequence in validation_groups
- 4. IPN Paypal in Symfony 3
- 5. Symfony 3 Aufruf zu einem Element -Funktionsformat() auf Zeichenfolge
- 6. Symfony 3 - Übersetzung funktioniert nicht
- 7. symfony 3 formbuilder bestelleigenschaften
- 8. Symfony 3 - Authentifizierung
- 9. FOSlasticaBundle für symfony 3?
- 10. Symfony 3, Guard & Handlers
- 11. Symfony 3 SessionHandler Warnung
- 12. Symfony 3 FileUpload
- 13. Symfony 3 Gruppen Validierung
- 14. UnitTest FormType Symfony 3
- 15. Symfony 3 magic
- 16. Wie man eine Zahl in angularjs pluralize
- 17. Symfony 3 createForm mit Konstruktparametern
- 18. Assetic funktioniert nicht Symfony 3
- 19. Symfony 2 oder 3 ParamConverter
- 20. Symfony 3 Route nicht gefunden
- 21. Symfony 3 weird "Wahl" Fehler
- 22. symfony 3 get Basis-URL
- 23. Symfony 3 DateTime Curl Anfrage
- 24. Symfony 3 + JMSI18nRoutingBundle Set Gebietsschema
- 25. Symfony 3 mit JSON petición
- 26. Symfony 3 auf AWS Ubuntu
- 27. Symfony 3 Assets kein Update
- 28. Symfony 3 Änderung Etikett Thema
- 29. Symfony 3 gitignore nicht funktioniert
- 30. Symfony 3 - KNP-Paginatorfehler - Routenproblem?
Ich kenne die Saite vorher nicht, also kann ich das nicht benutzen. –
Sie können versuchen, die [Inflector Komponente] (https://github.com/symfony/inflector), obwohl es für den internen Gebrauch gekennzeichnet ist nur ;-) – lordrhodos
fand ich diese Lösung gestern Abend. Inflector-Komponente ist nur für den internen Gebrauch markiert, wie Sie gesagt haben. Es gibt jedoch einige populäre Pakete wie FOSRestBundle, die es verwenden. Ich habe auch Doctrine's Inflector gesehen. Dieser scheint mir etwas fortgeschritten zu sein. Vielen Dank für Ihre Antwort. –