Wie kann man mit Angular ein Wort dynamisch pluralisieren oder nicht?

Feb 06 2023
Sie arbeiten an einem Projekt mit Angular. Sie müssen Ihre Wörter je nach Zählung dynamisch singularisieren oder pluralisieren, um sie dem Endbenutzer anzuzeigen.
Das einzige Thema ist eine Sprechblase, die den sauberen und einfachen Zustand darstellt, der in einem Quellcode erreicht werden kann

Sie arbeiten an einem Projekt mit Angular. Sie müssen Ihre Wörter je nach Zählung dynamisch singularisieren oder pluralisieren, um sie dem Endbenutzer anzuzeigen. Eine erste und übliche Lösung wäre, über i18nPlural nachzudenken und es zu verwenden .

Warum nicht ständig i18nPlural verwenden?

Für eine einfache Nutzung kann es etwas überladen sein . Wenn Sie beispielsweise keine Übersetzung benötigen und nur gebräuchliche Wörter der Sprache pluralisieren müssen, fügt i18nplural Ihrem Projekt so viele zusätzliche Funktionen hinzu, die Sie nicht benötigen. Dies kann in Ihrem Anwendungsfall umsonst zu einer potenziellen Steigerung Ihres endgültigen Builds führen . Deshalb kann es interessant sein, eine einfachere Lösung zu finden.

Welche andere Lösung kann ich dann implementieren?

Ich persönlich habe mich entschieden, nach der saubersten und einfachsten Pipe zu suchen, die ich für meinen Anwendungsfall erstellen konnte. Daher habe ich auf StackOverflow nach einigen Lösungsvorschlägen gesucht, um eine erste Basis zu haben. Schließlich habe ich meine eigene Pipe auf dem folgenden Code basiert (Quelle im letzten Abschnitt verfügbar):

Basiscode zur Vereinfachung meines Pluralisierungsanwendungsfalls

Allerdings war selbst dieser Quellcode für mich immer noch zu kompliziert. Die Sprache für mein Projekt ist Französisch. Das bedeutet, dass ein pluralisiertes Wort meistens ein „s“ oder ein „x“ hat und das war’s. Also habe ich es in eine sauberere Pipe umgestaltet, die die Anzahl der Zeilen um die Hälfte reduziert hat:

Meine letzte Pipe, nachdem ich den Code so umgestaltet habe, dass er mit meinem spezifischen Anwendungsfall funktioniert

Sobald die Pipe richtig eingerichtet ist, finden Sie hier ein Beispiel für die Verwendung:

Einige Beispiele für die Pipe-Syntax in einer HTML-Datei

Zusammenfassend lässt sich sagen, dass es das gleiche Ergebnis liefert wie i18nPlural oder der Basiscode für mich, aber in einer kleineren Dateigröße, besser lesbarem Code und daher einfacher zu warten.

Warten Sie, aber es gibt einige Fälle, die nicht funktionieren ...

Tatsächlich wird diese Pfeife selbst auf Französisch für einige Wörter ihren Fall nicht abdecken. Beispiel: cheval => chevaux. Der aktuelle Code fügt den pluralForm-Parameter nur am Ende des Wortes hinzu, wobei wir für dieses Beispiel die vorhandene Zeichenfolge ändern müssten.

Der Zweck dieses Artikels bestand jedoch darin, zu zeigen, dass es eine gute Idee sein kann, so nah wie möglich an Ihrem spezifischen Anwendungsfall zu beginnen . Wenn der Zeitpunkt kommt, an dem Sie weitere Anwendungsfälle hinzufügen müssen, bedeutet dies, dass es an der Zeit ist, den Code umzugestalten. Aber nicht vorher!

Diese Aussage gilt auch im größeren Maßstab. Entwickeln Sie keine zusätzliche Funktion, die Ihr Kunde nicht verlangt . Zumindest nicht, bevor Ihr Kunde es akzeptiert. Sie behalten einen sauberen Code bei, verbessern die Lesbarkeit Ihres Codes und sparen sogar einige Dateigrößen . Es ist eine Tatsache, dass Leistung in der heutigen Welt eine große Rolle spielt, also stapeln Sie die Chancen so gut wie möglich zu Ihren Gunsten!

Quelle

StackOverflow-Beitrag, der für meinen Basiscode verwendet wird