

**Hinweis zum Ende des Supports:** Am 30. Oktober 2026 AWS wird der Support für Amazon Pinpoint eingestellt. Nach dem 30. Oktober 2026 können Sie nicht mehr auf die Amazon-Pinpoint-Konsole oder die Amazon-Pinpoint-Ressourcen (Endpunkte, Segmente, Kampagnen, Journeys und Analytik) zugreifen. Weitere Informationen finden Sie unter [Ende des Amazon-Pinpoint-Supports](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Hinweis:** APIs In Bezug auf SMS sind Sprach-, mobile Push-, OTP- und Telefonnummernvalidierung von dieser Änderung nicht betroffen und werden von AWS End User Messaging unterstützt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Helferobjekte für Nachrichtenvorlagen verwenden
<a name="message-template-helpers"></a>

Mit Amazon Pinpoint Pinpoint-Vorlagen können Kunden wiederverwendbare Nachrichtenvorlagen erstellen, die auf der Sprache Handlebars.js basieren. Helferobjekte bietet eine Vielzahl von Features, z. B. die Formatierung eines Preises in der Währung einer bestimmten Region oder das Hinzufügen eines Standorts, der auf einer Zeitzone basiert. Ein Helferobjekt kann eine bestimmte Zeichenfolge oder Ganzzahl für den Wert oder eine bestimmte Amazon-Pinpoint-Nachrichtenvariable verwenden.

Dies sind die Kategorien von Helferobjekten, die in den folgenden Abschnitten beschrieben werden:

## Standard-Helferobjekte
<a name="defaulthelpers"></a>

In diesem Abschnitt werden die **integrierten** Helferobjekte beschrieben, die von Handlebars bereitgestellt werden. Die vollständige Liste finden Sie unter [Integrierte Hilfsprogramme auf [handlebarsjs.com](https://handlebarsjs.com)](https://handlebarsjs.com/guide/builtin-helpers.html). Dies sind die integrierten Helferobjekte:
+ `each`: Iteriert eine Liste.
**Anmerkung**  
Die maximale Listengröße beträgt 15 Elemente.
+ `if`: Wertet eine Aussage aus.

*each*  
Iteriert eine Liste. Dieses Helferobjekt verwendet nur eine Blockanweisung. Sie können optional:   
+ `@index` in die Anforderung übergeben, um auf den aktuellen Loop-Index zu verweisen.
+ Verwenden Sie das `this`-Helferobjekt, um auf das aktuelle Element zu verweisen, das gerade iteriert wird.
+ Gibt die Antwort des Helferobjekts mithilfe des `<li>`-Tags in einer Liste zurück.
**Usage**  
`{{#each value}}`  
Der Wert an der Position `{{@index}}` ist `{{this}}`.  
`{{else}}`  
Zustand ist „false“.  
`{{/each}}`  
`each` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/each}}` in der Blockanweisung enden.  
**Beispiel**  
In diesem Beispiel wird `each` verwendet, um eine Liste der Lieblingsfarben eines Benutzers zurückzugeben. Für ein `false` wird eine `else`-Anweisung zurückgegeben. Wenn die Anfrage wie folgt lautet:  
`{{#each User.UserAttributes.FavoriteColors}}`  
`<li>{{this}}</li>`  
`{{else}}`  
*You have no favorite colors.*  
Folgendes wird zurückgegeben: `{{/each}}`  
+ *red*
+ *blue*
+ *yellow*
für eine „true“-Aussage lautet.

*if*  
Prüft, ob etwas wahr ist, und gibt auf der Grundlage der Bewertung eine Antwort zurück.   
**Usage**  
`{{#if value}}`  
Der Wert ist nicht undefiniert  
`{{else}}`  
Der Wert ist undefiniert  
`{{/if}}`  
`if` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/if}}` in der Blockanweisung enden.  
**Beispiel**  
In diesem Beispiel wird das `if`-Helferobjekt verwendet, um auszuwerten, ob es der Vorname eines Benutzers ist. Wenn der Name gefunden wird, wird eine Begrüßung zurückgegeben, die den Vornamen des Benutzers in der Antwort enthält. Andernfalls gibt die `else`-Anweisung eine alternative Begrüßung zurück.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
`Hello {{User.UserAttributes.FirstName.[0]}},`  
`{{else}}`  
*Hello,*  
`{{/if}}`  
gibt zurück, *Hello, Jane* ob der Helper wahr ist`if`.

## Bedingte Helferobjekte
<a name="conditionhelpers"></a>

In diesem Abschnitt werden die **bedingten** Helferobjekte beschrieben. 

Bedingte Helferobjekte können entweder in einer einzelnen Zeile oder in einer Blockanweisung verwendet werden. Sie können die Antwort unabhängig davon anpassen, welche Hilfsmethode Sie verwenden. Sie können zusätzliche bedingte Helferobjekte sowohl in einzeiligen als auch in Blockanweisungen übergeben. Die folgenden bedingten Helferobjekte zeigen die Verwendung zuerst für eine einzelne Zeile und dann für eine Blockanweisung mit einer optionalen `else`-Klausel. Dies sind die bedingten Helferobjekte:
+ `and`: Vergleicht, ob alle übergebenen Elemente gleich sind.
+ `eq`: Prüft, ob zwei Elemente gleich sind.
+ `gt`: Prüft, ob ein Element größer als ein anderes ist.
+ `gte`: Prüft, ob ein Element größer als oder gleich ein anderes ist.
+ `if`: Prüft, ob etwas wahr ist.
+ `lt`: Prüft, ob ein Element kleiner als ein anderes ist.
+ `lte`: Prüft, ob ein Element kleiner als oder gleich ein anderes ist.
+ `neq`: Prüft, ob zwei Elemente nicht gleich sind.
+ `not`: Kehrt die Antwort einer booleschen Operation um.
+ `or`: Vergleicht, ob eines der Elemente im Argument gleich ist.

*und*  
Vergleicht, ob *alle* in einem Argument übergebenen Elemente gleich sind, und gibt dann die Antwort auf der Grundlage des Ergebnisses zurück. Dieses Helferobjekt kann für nichtboolesche Werte verwendet werden. Sie müssen mindestens zwei Elemente für die Bedingung übergeben.  
**Usage**  
+ `{{and valuea valueb valuec valued yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#and valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/and}}`

  `and` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/and}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel wird `eq` innerhalb der `and`-Block-Anweisung verwendet, um festzustellen, ob beide für die Attribute `Location.City ` und `Location.Country` übergebenen Zeichenfolgen wahr sind. Wenn beide Bedingungen gleich sind, wird eine „true“-Anweisung zurückgegeben. Wenn eines dieser Attribute falsch ist, wird eine `else`-Aussage zurückgegeben.  
`{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}`  
*You live in Los Angeles and the US.*  
`{{else}}`  
*You don’t live in Los Angeles and the US.*  
`{{/and}}`

*eq*  
Testet, ob zwei Elemente gleich sind oder ob der Wert eines Elements einer übergebenen Zeichenfolge entspricht.  
**Usage**  
+ `{{eq valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#eq valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/eq}}`

  `eq` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/eq}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel `eq` wird verwendet, um zu bewerten, ob der Wert von `User.UserAttributes.FavoriteColors.[0]` ist*Red*. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#eq User.UserAttributes.FavoriteColors.[0] "red"}}`  
*Your favorite color is red.*  
`{{else}}`  
*You don't like red.*  
`{{/eq}}`

*gt*  
Prüft, ob der Wert eines Elements größer als ein anderer ist.   
**Usage**  
+ `{{gt valuea valueb yes='y' no='n'}}`

  Je nach Bedingung können Sie *y* und *n* durch andere Werte, z. B. *yes* und*no*, oder eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten, ersetzen.
+ `{{#gt valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/gt}}`

  `gt` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/gt}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper den Wert eines `User.UserAttributes.UserAge.[0]` Attributs mit einer Zeichenfolge*17*, um zu überprüfen, ob das Alter des Benutzers älter als 17 ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#gt User.UserAttributes.UserAge.[0] "17"}}`  
*You are old enough to rent a car.*  
`{{else}}`  
*You are not old enough to rent a car.*  
`{{/gt}}`

*gte*  
Prüft, ob der Wert eines Elements größer als oder gleich ein anderer ist.  
`Usage`  
+ `{{gte valuea valueb yes='y' no='n'}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#gte valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/gte}}`

  `get` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/gte}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*18*, um zu überprüfen, ob das Alter des Benutzers mindestens 18 Jahre beträgt. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#gte User.UserAttributes.UserAge.[0] "18"}}`  
*You are old enough to rent a car.*  
`{{else}}`  
*You are not old enough to rent a car.*  
`{{/gte}}`

*if*  
Prüft, ob etwas wahr ist, und gibt auf der Grundlage der Bewertung eine Antwort zurück.  
**Usage**  
+ `{{#if value}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#if value}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/if}}`

  `if` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/if}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel wird das -Helferobjekt verwendet, um auszuwerten, ob es der Vorname eines Benutzers ist. Wenn der Name gefunden wird, wird eine Begrüßung zurückgegeben, die den Vornamen des Benutzers in der Antwort enthält. Andernfalls gibt die „else“-Anweisung eine alternative Begrüßung zurück.  
`{{#if User.UserAttributes.FirstName.[0]}}`  
*Hello* `{{User.UserAttributes.FirstName.[0]}}`*,*  
`{{else}}`  
*Hello,*  
`{{/if}}`  
gibt zurück*Hello Jane,*, ob der Helper wahr ist.

*lt*  
Prüft, ob der Wert eines Elements kleiner als der Wert eines anderen ist.  
**Usage**  
+ `{{lt valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#lt valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/lt}}`

  `lt` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/lt}}` in der Blockanweisung enden.
**Beispiel**  
In diesem Beispiel vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*18*, um zu überprüfen, ob der Benutzer jünger als 18 Jahre ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#lt User.UserAttributes.UserAge.[0] "18"}}`  
*You are not old enough to rent a car.*  
`{{else}}`  
*You are old enough to rent a car.*  
`{{/lt}}`

*lte*  
Prüft, ob der Wert eines Elements kleiner als oder gleich ein anderer ist.  
**Usage**  
+ `{{lte valuea valueb yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#lte valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/lte}}`

  `lte` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/lte}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung vergleicht der Helper das `User.UserAttributes.UserAge.[0]` Attribut mit einer Zeichenfolge*17*, um zu überprüfen, ob das Alter des Benutzers 17 Jahre oder jünger ist. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#lte User.UserAttributes.Age.[0] "17"}}`  
*You are not old enough to rent a car.*  
`{{else}}`  
*You are old enough to rent a car.*  
`{{/lte}}`

*neq*  
Prüft, ob zwei Elemente *nicht* gleich sind.  
**Usage**  
+ `{{neq valuea valueb yes='y' no='n'}}`

  Sie können *y* und je nach Bedingung *n* durch andere Werte wie *yes* und *no* oder eine beliebige andere Zeichenfolge ersetzen, die Sie zurückgeben möchten.
+ `{{#neq valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/neq}}`

  `neq` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/neq}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung wird das Attribut `User.UserAttributes.FavoriteColors.[0]` anhand der Zeichenfolge `Red` geprüft. Wenn die Antwort `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn die Antwort `false` lautet, wird eine `else`-Aussage zurückgegeben.  
`{{#neq User.UserAttributes.Favorite.Colors.[0] "red"}}`  
*You do not like red.*  
`{{else}}`  
*You like red.*  
`{{/neq}}`

*not*  
Kehrt die Antwort einer booleschen Operation um, sodass eine `true`-Aussage zurückgegeben wird, wenn `not` ein positiver Vergleich ist. Wenn die Antwort „false“ lautet, wird eine „else“-Aussage zurückgegeben.   
**Usage**  
+ `{{not value yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten.
+ `{{#not value}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/not}}`

  `not` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/not}}` in der Blockanweisung enden.
**Beispiel**  
In dieser Blockanweisung wird das `User.UerAttributes.FavoriteColors.[0]` Attribut mithilfe des `eq` Helpers mit einer Zeichenfolge *red* verglichen. Das `not`-Helferobjekt gibt dann das Gegenteil des `eq`-Helferobjekt zurück. Wenn die Antwort eine andere Farbe als zurückgibt*red*, wird `true` eine A-Anweisung zurückgegeben. Wenn die Antwort zurückkehrt*red*, wird eine `else` Aussage zurückgegeben, die auf eine falsche Aussage hinweist.  
`{{#not (eq User.UserAttributes.Favorite.Colors.[0] "red")}}`  
*You do not like red.*  
`{{else}}`  
*You like red.*  
`{{/not}}`  
**Beispiel**  
In diesem Beispiel:   
`{{not (eq User.UserAttributes.FavoriteColors.[0] "red")}}`  
gibt „Falsch“ zurück, `User.UserAttributes.FavoriteColors.[0]` wenn ja*red*.

*oder*  
Vergleicht, ob *beliebige* in einem Argument übergebenen Elemente gleich sind, und gibt dann eine Antwort auf der Grundlage des Ergebnisses zurück. Dieses Helferobjekt kann für nichtboolesche Werte verwendet werden.  
**Usage**  
+ `{{or valuea valueb valuec valued yes='y' no='n'}}`

  Sie können *y* und *n* je nach Bedingung durch andere Werte ersetzen*no*, z. B. *yes* und, oder durch eine beliebige andere Zeichenfolge, die Sie zurückgeben möchten. Sie müssen mindestens zwei Elemente für die Bedingung übergeben.
+ `{{#or valuea valueb}}`

  Die Bedingung ist „true“.

  `{{else}}`

  Die Bedingung ist „false“.

  `{{/or}}`

  `or` muss ein Pfundzeichen (`#`) vorangestellt werden und muss mit einem schließenden `{{/or}}` in der Blockanweisung enden.
**Beispiel**  
In dieser `or`-Blockanweisung werden zwei Zeichenketten für das `Location.City`-Attribut zusätzlich mithilfe des `eq`-Helferobjekts verglichen. Wenn eines dieser Attribute `true` lautet, wird eine „true“-Aussage zurückgegeben. Wenn eine oder mehrere Antworten `false` lauten, wird eine `else`-Aussage zurückgegeben.  
`{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}`  
*You live on the West Coast of the United States.*  
`{{else}}`  
*You do not live on the West Coast of the United States.*  
`{{/or}}`

## Zeichenfolgen-Helferobjekte
<a name="stringhelpers"></a>

In diesem Abschnitt werden die folgenden **Zeichenfolgen-Helferobjekte** beschrieben:
+ `abbreviate`: Kürzt einen Wert.
+ `capitalize`: Schreibt jedes Wort zwischen Leerzeichen groß.
+ `capitalizeFirst`: Schreibt das erste Zeichen eines Werts groß.
+ `center`: Zentriert einen Wert.
+ `cut`: Schneidet einen Wert aus.
+ `dateFormat`: Legt den Datumsstil fest.
+ `inflect`: Gibt eine Zeichenfolge im Singular oder Plural zurück, die auf der Anzahl basiert.
+ `join`: Verbindet ein Array, einen Iterator oder ein iterierbares Objekt.
+ `ljust`: Richtet einen Wert am linken Rand aus.
+ `lower`: Konvertiert einen Wert in Kleinbuchstaben.
+ `now`: Druckt das aktuelle Datum.
+ `ordinalize`: Ordinalisiert einen numerischen Wert.
+ `replace`: Ersetzt eine Zeichenfolge durch eine andere.
+ `rjust`: Richtet einen Wert am rechten Rand aus.
+ `slugify`: Konvertiert einen Wert in Kleinbuchstaben und entfernt Zeichen, die kein Wort sind, wandelt Leerzeichen in Bindestriche um und entfernt nachfolgende Leerzeichen.
+ `stripTags`: Entfernt [X]HTML-Tags von einem Wert.
+ `substring`: Gibt eine neue Zeichenfolge als Teilzeichenfolge eines übergebenen Werts zurück.
+ `upper`: Konvertiert den übergebenen Wert in Großbuchstaben.
+ `yesno`: Ersetzt wahr, falsch und nein durch Ja, Nein und Vielleicht.

*abbreviate*  
Kürzt einen Wert, wenn dieser die angegebene Zahl überschreitet. Leerzeichen sind in der Längenzählung enthalten. In der Antwort wird eine Ellipse angezeigt, die auf einen gekürzten Wert hinweist. Die Ellipse wird auf den gekürzten Wert in der Antwort angerechnet. Diese Art von Helferobjekt ist nützlich, wenn Sie eine große Tabelle und wenig Platz haben. Durch das Kürzen von Werten in einer Zelle können Sie der Tabelle ein einheitlicheres Aussehen verleihen.  
**Usage**  
 `{{abbreviate value X}}`, *X* ersetzt durch einen numerischen Wert, der die Anzahl der beizubehaltenden Zeichen angibt. Negative Zahlen werden nicht unterstützt.  
**Beispiel**  
In diesem Beispiel wird `abbreviate` verwendet, um `User.UserAttributes.LastName.[0]` auf sechs (6) Zeichen zu kürzen. Die Antwort enthält eine Ellipse, deren Punkte auf die Summe von sechs Zeichen angerechnet werden.  
Folgendes wird zurückgegeben: `{{abbreviate User.UserAttributes.LastName.[0] 6}}`  
*Ale...*if *Alejandro* ist der Wert von`[0]`.

*capitalize*  
Schreibt jedes Wort zwischen Leerzeichen groß.  
**Usage**  
 `{{capitalize value}}`  
**Beispiel**  
In diesem Beispiel wird jedem Wort für den `Attributes.description.[0]`-Eintrag die Großschreibung am Anfang zugewiesen.  
`{{capitalize Attributes.description.[0]}}`  
Wenn `Attributes.description.[0]` zurückgegeben wird   
 *My First Post*, wenn der Wert von `Attributes.description.[0]` ist*my first post*.

*capitalizeFirst*  
Schreibt das erste Zeichen eines Werts groß.  
**Usage**  
`{{capitalizeFirst value}}`  
**Beispiel**  
In diesem Beispiel wird das erste Zeichen des ersten Wortes des `Attributes.description.[0]`-Eintrags groß geschrieben.  
Folgendes wird zurückgegeben: `{{capitalizeFirst Attributes.description.[0]}}`  
 *My first post*, wenn der Wert von `Attributes.description.[0]` ist*my first post*.  
**Beispiel**

*center*  
Zentriert den Wert in einem Feld mit einer bestimmten Breite um die angegebene Zahl. Sie können optional ein Zeichen für die Auffüllung angeben oder das Feld leer lassen. Wenn kein Zeichen angegeben wird, wird ein Leerzeichen verwendet.  
**Usage**  
 `{{center value size=X [pad=" "}}`, *X* ersetzt durch einen numerischen Wert.  
Wenn `pad` leer gelassen wird, werden Leerzeichen als Füllung in der Antwort verwendet. Wenn Sie ein Zeichen angeben, wird dieses Zeichen in jedem Leerzeichen des Auffüllens angezeigt. Negative Zahlen werden nicht unterstützt.  
**Beispiel**  
In diesem Beispiel `Location.City ` wird der Wert von mit einer Größe von zentriert*19*.  
Folgendes wird zurückgegeben: `{{center Location.City size=19}}`   
*"    Los Angeles    "*Wenn `Location.City` es ist*Los Angeles*. Beachten Sie, dass die Anführungszeichen in der Beispielausgabe nur zur Hervorhebung dienen.

*cut*  
Entfernt den angegebenen Wert aus einer Zeichenfolge.   
**Usage**  
 `{{cut value [" "]}}`, ersetzt das Leerzeichen in den Anführungszeichen durch den auszuschneidenden Wert. Wenn kein Parameterwert übergeben wird, wird ein Leerzeichen verwendet.   
**Beispiel**  
In diesem Beispiel wird der Buchstabe *e* aus dem `Location.City` Attribut entfernt.  
Folgendes wird zurückgegeben: `{{cut Location.City "e"}}`  
*Los Angls*wenn `[Location.City` es ist*Los Angeles*.

*dateFormat*  
Legt den Standard-Datumsstil für das Datum in jeder Antwort fest. Eine Liste der Zeitzone finden Sie IDs unter[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Usage**  
`{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}`  
Der Parameter `format` muss einer der folgenden sein:  
+ "`full`„: vollständiges Datumsformat. Beispiel: *Tuesday, September 19, 2020*
+ "`long`„: langes Datumsformat. Beispiel: *September 19, 2020*
+ "`medium`„: mittleres Datumsformat. Beispiel: *Sept 19, 2020*
+ "`short`„: kurzes Datumsformat. Beispiel: *9/19/20*
+ "`pattern`„: verwendet ein benutzerdefiniertes Datumsmusterformat. Weitere Informationen zu Datumsmustern finden Sie unter [https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html).
"`locale`„: verwendet ein Datumsformat, das auf einem bestimmten Gebietsschema basiert. Weitere Informationen zu Gebietsschemata finden Sie unter [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Wenn ein Format nicht übergeben wird, wird `medium` standardmäßig verwendet.   
**Beispiel**  
In diesem Beispiel `[0]` lautet der Eintrag für **09/19/2020** und eine Nachricht `User.UserAttributes.StartDate.[0]` wird an einen Benutzer gesendet, wobei das auf der *America/Los\$1Angeles* Zeitzone basierende `full` Datumsformat verwendet wird.  
Folgendes wird zurückgegeben: `We can meet with you any time on ``{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.`  
*We can meet with you any time on Tuesday, September 19, 2020.*

*inflect*  
Gibt eine Zeichenfolge im Singular oder Plural zurück, die auf dem Zählwert basiert.  
**Usage**  
 `{{inflect count singular plural [includeCount=false]}}`  
+ Geben Sie die Singular- und Pluralform der Zeichenfolge ein, die Sie im Argument übergeben möchten.
+ Wenn `includeCount` auf `false` gesetzt ist, wird in der Antwort keine Anzahl zurückgegeben. Wenn es auf `true` gesetzt, ist der `count` in der Antwort enthalten.
**Beispiel**  
Die folgenden Beispiele zeigen die Beugung beim Kauf von Äpfeln mit und ohne `includeCount`.  
`Thank you for your purchase of {{inflect 3 apple apples includeCount=false}}.` gibt Folgendes zurück:  
*Thank you for your purchase of apples.*  
Wenn `includeCount` auf `true` gesetzt ist, dann lautet die Antwort  
*Thank you for your purchase of 3 apples.*

*join*  
Verbindet ein Array, einen Iterator oder ein iterierbares Objekt. Die Antwort gibt eine Liste zurück, wobei jeder Wert in der Liste durch das Zeichen verkettet wird, das Sie im `join` übergeben Beispielsweise können Sie Werte mit einem Komma (`,`) trennen. Der Wert in diesem Helferobjekt muss eine Liste ohne Attributpositionsindex sein. Dabei könnte es sich zum Beispiel um `Attributes.custom_attribute` handeln.  
**Usage**  
`{{join value " // " [prefix=""] [suffix=""]}}`  
**Beispiel**  
In diesem Beispiel wird eine Liste von Farben zurückgegeben, wobei die Liste durch ein Komma und ein Leerzeichen (`", "`) getrennt ist:  
Folgendes wird zurückgegeben: `{{join Attributes.favorite_colors ", "}}`   
*blue, red, green*wenn `Attributes.favorite_colors` ist die Liste*blue,red,green*.

*ljust*  
Richtet den Wert am linken Rand aus und fügt nach rechts Leerzeichen hinzu, sodass die Länge des Werts der Zahl entspricht. Negative Zahlen werden nicht unterstützt.  
Sie können optional ein Zeichen für die `pad` angeben oder das Feld leer lassen. Wenn Sie den `pad`-Wert leer lassen, ist der Standardwert ein Leerzeichen.  
**Usage**  
`{{ljust value size=X [pad=" "]}}`, wobei *X* die Gesamtlänge des Werts einschließlich Leerraum ist.   
**Beispiel**  
In diesem Beispiel *15 * wird der Wert für die linke Ausrichtung auf Location.City angewendet.  
Folgendes wird zurückgegeben: `{{ljust Location.City size=15}}`  
*"Los Angeles    "*wenn der Wert von ist. `Location.City` *Los Angeles* Beachten Sie, dass die in der Beispielausgabe angezeigten Anführungszeichen nur zur Verdeutlichung dienen.

*lower*  
Konvertiert einen Wert in Kleinbuchstaben.  
**Usage**  
`{{lower value}}`  
**Beispiel**  
In diesem Beispiel wird der Eintrag `[0]` für `User.UserAttributes.LastName.[0]` in Kleinbuchstaben geändert.  
Folgendes wird zurückgegeben: `{{lower User.UserAttributes.LastName.[0]}}`  
*santos*wenn *Santos* ist der Wert von`[0]`.

*now*  
Druckt das aktuelle Datum basierend auf der übergebenen Zeitzonen-ID aus. Eine Liste der Zeitzone finden Sie IDs unter[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).  
**Usage**  
`{{now [format="format"] [tz=timeZoneId] [locale=localeID]}}`  
Der Parameter `format` muss einer der folgenden sein:  
+ "`full`„: vollständiges Datumsformat. Beispiel: *Tuesday, September 19, 2020*
+ "`long`„: langes Datumsformat. Beispiel: *September 19, 2020*
+ "`medium`„: mittleres Datumsformat. Zum Beispiel: 19. Sept. 2020
+ "`short`„: kurzes Datumsformat. Zum Beispiel 19.09.20
+ "`pattern`„: ein Datumsmuster. Weitere Informationen zu Datumsmustern finden Sie unter [https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html). 
"`locale`„: verwendet ein Datumsformat, das auf einem bestimmten Gebietsschema basiert. Weitere Informationen zu Gebietsschemata finden Sie unter [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-).  
Wenn ein Format nicht übergeben wird, wird `medium` standardmäßig verwendet.  
**Beispiel**  
In diesem Beispiel wird das aktuelle Datum in Los Angeles mit einem `medium` -Format zurückgegeben.  
Folgendes wird zurückgegeben: `{{now "medium" tz=America/Los_Angeles}}`   
*Sept 19, 2020*.

*ordinalize*  
Ordinalisiert den im Argument übergebenen numerischen Wert. *1*Ist beispielsweise als *1st* und *2* als *2nd* ordinalisiert. Es werden nur numerische Werte unterstützt.  
**Usage**  
`{{ordinalize [number]}} `  
**Beispiel**  
In diesem Beispiel wird der `[0]`-Eintrag von `User.UserAttributes.UserAge` ordinalisiert und zusammen mit einer Meldung zurückgegeben.   
`Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!`gibt *22* ordinalisiert als zurück. *22nd*  
*Congratulations on your 22nd birthday\$1*

*replace*  
Ersetzt eine Zeichenfolge durch eine andere. Eine Zeichenfolge oder ein numerischer Wert muss ein Literalwert sein. Platzhalterzeichen werden nicht unterstützt.  
**Usage**  
`{{replace stringToReplace replacementValue}}`  
**Beispiel**  
In diesem Beispiel ersetzt ein Unterstrich (\$1) ein Leerzeichen.  
Folgendes wird zurückgegeben: `{{replace Location.City " " "_"}}`  
*Los\$1Angeles*wenn das `Location.City ` ist*Los Angeles*.

*rjust*  
Richtet den Wert am rechten Rand aus und fügt nach links Leerzeichen hinzu, sodass die Länge des Werts der Zahl entspricht. Negative Zahlen werden nicht unterstützt.  
Sie können optional ein Zeichen für die `pad` angeben oder das Feld leer lassen. Wenn Sie den `pad`-Wert leer lassen, ist der Standardwert ein Leerzeichen.  
**Usage**  
`{{rjust value size=X [pad=" "]}}`, wobei *X* die Gesamtlänge des Werts einschließlich Leerraum ist.   
**Beispiel**  
In diesem Beispiel *15* wird dem `Location.City` Attribut der Wert für die rechte Ausrichtung zugewiesen.  
Folgendes wird zurückgegeben: `{{rjust Location.City size=15}}`  
*"    Los Angeles" *. wenn das `Location.City` ist*Los Angeles*. Beachten Sie, dass die in der Ausgabe angezeigten Anführungszeichen nur zur Verdeutlichung dienen.

*slugify*  
Konvertiert den übergebenen Wert in Kleinbuchstaben, entfernt Zeichen, die kein Wort sind (alphanumerisch und Unterstrich), wandelt Leerzeichen in Bindestriche um und entfernt vorstehende oder nachfolgende Leerzeichen.  
**Usage**  
`{{slugify value}}`  
**Beispiel**  
In diesem Beispiel wird „slugify“ für das `Location.City`-Attribut ausgeführt.   
Folgendes wird zurückgegeben: `{{slugify Location.City}}`  
*los-angeles*wenn `Location.City` ist*Los Angeles*.

*stripTags*  
Entfernt [X]HTML-Tags von einem Wert.  
**Usage**  
 `{{stripTags value}}`  
**Beispiel**  
In diesem Beispiel die HTML-Tags für den Benutzer. UserAttributes.interest. [0] wurden entfernt.   
Folgendes wird zurückgegeben: `{{stripTags User.UserAttributes.interests.[0]}}`  
*Art*, wenn es `User.UserAttributes.interests.[0]` ist`<h1>Art</h1>`.

*substring*  
Gibt eine neue Zeichenfolge als Teilzeichenfolge des übergebenen Werts zurück. Die Länge und Position werden durch die Parameter `startOffset` und `endOffset` bestimmt, bei denen es sich um ganze Zahlen handeln muss. Negative Zahlen werden nicht unterstützt. Wenn ein `endOffset` nicht übergeben wird, verwendet die Teilzeichenfolge den ursprünglichen Endwert der Zeichenfolge.  
**Usage**  
`{{substring value startOffset [endOffset]}}`  
**Beispiel**  
In diesem Beispiel werden ein Offset von 4 und ein endOffset von 9 auf das Location.City-Attribut angewendet.   
`{{substring Location.City 4 9}} `returns  
`Angel`wenn Los Angeles der Wert von `Location.City` ist*Los Angeles*.

*upper*  
Konvertiert den übergebenen Wert in Großbuchstaben.  
**Usage**  
`{{upper value}}`  
**Beispiel**  
In diesem Beispiel wird der `[0] `-Eintrag für das `User.UserAttributes.LastName`-Attribut ausschließlich in Großbuchstaben umgewandelt.  
`{{upper User.UserAttributes.LastName.[0]}}`returns  
*ROE*wenn der `User.UserAttributes.LastName.[0]` Wert ist*Roe*.

*yesno*  
Ersetzt `true`, `false` und `NULL` durch `Yes`, `No` und `Maybe`.  
**Usage**  
`{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}`  
**Beispiel**  
In diesem Beispiel gibt das `IsUserSubscribed`-Attribut zurück, ob ein Benutzer eine bestimmte Liste abonniert hat.  
Folgendes wird zurückgegeben: `{{yesno Attributes.IsUserSubscribed}}`   
*yes*wenn `Attributes.IsUserSubscribed` ist*true*.

## Mathematische und Kodierungs-Hilfsobjekte
<a name="mathhelpers"></a>

In diesem Abschnitt werden die **Mathematischen und Kodierungs-Hilfsobjekte** beschrieben.
+ `add`: Gibt die Summe zweier Zahlen zurück.
+ `ceiling`: Rundet eine Ganzzahl auf ihre mathematische Obergrenze.
+ `decode64`: Dekodiert einen base64-kodierten Wert in eine Zeichenfolge.
+ `divide`: Gibt den Quotienten zweier Zahlen zurück.
+ `encode64`: Kodiert eine Zeichenfolge mithilfe von base64.
+ `floor`: Rundet eine Ganzzahl auf ihre mathematische Untergrenze.
+ `md5`— Hasht eine übergebene Zeichenfolge mithilfe des MD5 Algorithmus.
+ `modulo`: Gibt den Rest zweier Zahlen unter Verwendung von Fließkommazahlen zurück.
+ `multiply`: Gibt das Produkt zweier Zahlen zurück.
+ `round`: Rundet eine Dezimalzahl auf die nächste ganze Zahl.
+ `sha256`: Hasht eine übergebene Zeichenfolge mithilfe von SHA-256.
+ `sha512`: Hasht eine übergebene Zeichenfolge mithilfe von SHA-512.
+ `subtract`: Gibt die Differenz zweier Zahlen zurück.
+ `uuid`: Generiert nach dem Zufallsprinzip eine UUID in einem 128-Bit-Format.

*hinzufügen*  
Gibt die Summe zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{add arg1 arg2}}`  
**Beispiel**  
`{{add 5 2.3}} `returns  
*7.3*

*ceiling*  
Rundet eine Ganzzahl auf ihre mathematische Obergrenze. Dabei handelt es sich um die höchste ganze Zahl, die dem übergebenen Wert am nächsten kommt.  
**Usage**  
`{{ceiling value}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{ceiling 5.23}}`  
*6*

*decode64*  
Dekodiert einen base64-kodierten Wert in eine Zeichenfolge.  
**Usage**  
`{{decode64 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{decode64 "SGVsbG8gd29ybGQ="}}`  
*Hello World*

*divide*  
Gibt den Quotienten zweier Zahlen zurück, einschließlich Fließkommazahlen.  
**Usage**  
 `{{divide arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{divide 5 2.3}}`  
*2.17391304*

*encode64*  
Kodiert die im Argument übergebene Zeichenfolge mit base64.  
**Usage**  
`{{encode64 "string"}}`  
**Beispiel**  
`{{encode64 "Hello World"}}`  
*SGVsbG8gd29ybGQ=*

*floor*  
Rundet eine Ganzzahl auf ihre mathematische Untergrenze. Dabei handelt es sich um die niedrigste ganze Zahl, die dem übergebenen Wert am nächsten kommt.  
**Usage**  
`{{floor value}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{floor 5.23}}`  
*5*

*md5*  
Hasht eine übergebene Zeichenfolge mithilfe des MD5 Algorithmus.  
**Usage**  
`{{md5 "string"}}`  
**Beispiel**  
`{{md5 "Hello World"}}`  
*3e25960a79dbc69b674cd4ec67a72c62*

*Modulo*  
Gibt den Rest zweier Zahlen unter Verwendung von Fließkommazahlen zurück.  
**Usage**  
`{{modulo arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{modulo 7 2}}`  
*1*

*multiply*  
Gibt das Produkt zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{multiply arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{multiply 5 2.3}}`  
*11.5*

*round*  
Rundet eine Dezimalzahl auf die nächste ganze Zahl.  
**Usage**  
`{{round value}}`  
**Beispiel**  
`You spent an average of {{round 19.21}} minutes on our website each day.` gibt Folgendes zurück:  
*You spent an average of 19 minutes on our website each day.*

*sha256*  
Hasht eine übergebene Zeichenfolge mit kryptografischer SHA-256-Sicherheit.  
**Usage**  
`{{sha256 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{sha256 "Hello World"}}`  
*a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e*

*sha512*  
Hasht eine übergebene Zeichenfolge mit kryptografischer SHA-512-Sicherheit.  
**Usage**  
`{{sha512 "string"}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{sha512 "Hello World"}}`  
*2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b*

*subtract*  
Gibt die Differenz zweier Zahlen zusammen mit Fließkommazahlen zurück.  
**Usage**  
`{{subtract arg1 arg2}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{subtract 5 2.3}} `  
*2.7*

*uuid*  
Generiert nach dem Zufallsprinzip eine UUID in einem 128-Bit-Format. Im Argument muss kein Wert übergeben werden.  
**Usage**  
`{{uuid}}`  
**Beispiel**  
Folgendes wird zurückgegeben: `{{uuid}} `  
**95f36680-152c-4052-99ec-cc3cdf7ca594**

## Inline-Partials
<a name="inlinepartials"></a>

Inline-Partials (eingebettete Teile) sind zwar technisch gesehen keine Helferobjekte, aber sie sind eine Methode von Handlebars, um Vorlagen, die wiederholte Zeichenfolgen enthalten, zu optimieren und so eine einfachere Wiederverwendung zu ermöglichen. Weitere Informationen finden Sie unter [Inline partials](https://handlebarsjs.com/guide/partials.html#inline-partials) auf [handlebarsjs.com](https://handlebarsjs.com). 

**Usage**

`{{#* inline "inlineName"}}Content to reuse{{/inline}}`

Um den Inhalt des Inline-Partial an anderer Stelle zu referenzieren, verwenden Sie:

` {{> inlineName}}`

**Beispiel**

Im folgenden Beispiel wird ein Inline-Partial erstellt, der den Vornamen und, falls verfügbar, den Nachnamen des Empfängers enthält. Fügen Sie dazu am Anfang Ihrer Vorlage den folgenden Code hinzu:

`{{#* inline "fullName"}}`

`{{User.UserAttributes.FirstName.[0]}} {{#if User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}`

`{{/inline}}`

Nachdem Sie den `fullName`-Partial erstellt haben, können Sie ihn an jeder Stelle in Ihrer Vorlage verwenden, indem Sie dem Namen des Partials ein Größerzeichen `>` gefolgt von einem Leerzeichen voranstellen, wie im folgenden Beispiel: `{{> fullName}}`.

*` Hello {{> fullName}}`*

gibt den Vor- und Nachnamen des Benutzers zurück, wenn der Wert wahr ist — zum Beispiel*Hello Jane Doe*. Andernfalls, wenn kein Nachname gefunden wurde, *Hello Jane* wird zurückgegeben.

Handlebars umfasst neben den hier vorgestellten Features noch weitere Features. Weitere Informationen finden Sie unter [handlebarsjs.com](https://handlebarsjs.com/).

## Verwenden von Variablen mit Helferobjekten für Nachrichtenvorlagen
<a name="template-helpers-variables"></a>

Benutzerdefinierte Amazon-Pinpoint-Attribute, wie z. B. `User.UserAttributes.LastName` werden als Liste gespeichert, unabhängig davon, ob es sich um ein einzelnes Element oder mehrere Elemente handelt. Wenn Sie eine Liste in einem Helferobjekt übergeben, das eine Zeichenfolge erwartet, müssen Sie den Indexwert des Attributs zusammen mit dem Attributnamen angeben. Dieser Attributindexwert gibt die Position eines Werts aus der Attributliste an: `.[0]` für den ersten Eintrag in der Liste, `.[1]` für den zweiten, `.[2]` für den dritten usw. Nehmen wir zum Beispiel an, Sie verwenden das `upper`-Helferobjekt, um den ersten Eintrag (`[0]`) von `User.UserAttributes.LastName` in Großbuchstaben umzuwandeln. Die Verwendung des Helferobjekts ist `{{upper value}}` und das Attribut ist formatiert als `User.UserAttributes.LastName`. *value*Ersetzen Sie durch den Attributnamen und den Attributindexwert `.[0]` wie folgt:`{{upper User.UserAttributes.LastName.[0]}}`. Die Antwort gibt dann den `[0]`-Eintrag aus der Liste zurück, der ausschließlich in Großbuchstaben formatiert ist. Wenn der Wert von beispielsweise `[0]` is ist*Santos*, wird die Antwort zurückgegeben*SANTOS*. 

Namen von benutzerdefinierten Amazon-Pinpoint-Attributen unterstützen Leerzeichen. Um ein benutzerdefiniertes Attribut aufrufen zu können`"Last Name"`, müssen Sie das Attribut als formatieren`User.UserAttributes.[Last Name]`. Um auf den ersten Eintrag in der Attributindexliste zuzugreifen, lautet das Format`User.UserAttributes.[Last Name].[0]`.

Ein benutzerdefinierter Attributname kann bis zu 50 Zeichen enthalten. Ein Attributwert kann bis zu 100 Zeichen enthalten. Wenn Sie den Namen eines benutzerdefinierten Attributs definieren, vermeiden Sie die Verwendung der folgenden Zeichen: Zahlenzeichen (\$1), Doppelpunkt (:), Fragezeichen (?) , umgekehrter Schrägstrich (\$1) und Schrägstrich (/). Die Amazon-Pinpoint-Konsole kann keine Attributnamen anzeigen, die diese Zeichen enthalten. Diese Einschränkung gilt nicht für Attributwerte.

## Verwenden von verschachtelten Helferobjekten
<a name="template-helpers-nesting"></a>

 Sie können mehrere Helferobjekte für Nachrichtenvorlagen ineinander verschachteln. Im folgenden Beispiel wird gezeigt, wie zwei Helferobjekte formatiert werden: `{{ first helper (second helper)}}`. Das zweite Helferobjekt wird zuerst verarbeitet, gefolgt vom ersten Helferobjekt. Denken Sie daran, dass das erste Helferobjekt immer die Ausgabe bestimmt. Nachfolgende Helferobjekt müssen wie folgt innerhalb des vorherigen Helferobjekts verschachtelt sein: `{{ first helper (second helper (third helper) )}}`.

Das folgende Beispiel zeigt, wie zwei Helferobjekt verschachtelt werden, um **JANE** in **Jane** zu ändern: `{{capitalizeFirst (lower "JANE")}}`. `lower` konvertiert **JANE** zuerst in **jane**. Dann konvertiert `capitalizeFirst` **jane** in **Jane**.