2017-09-20 3 views
0

Die Webanwendung, an der ich arbeite, verwendet Ressourcenzeichenfolgen für die Lokalisierung. Das Problem, das ich habe, ist das Styling bestimmter Teile dieser Saiten. Sagen wir, ich möchte diese Zeichenfolge anzuzeigen:So integrieren Sie HTML-Tags zum Formatieren bestimmter Teile lokalisierter Zeichenfolgen (Polymer)

user1234 ein neues Dokument erstellt.

{username} created a new document. 

Das Problem ist, ich brauche auch <b></b> Tags um {username}:

So in der Ressource-Datei wäre es wie so lokalisiert werden. Ich kann diese Tags nicht in die HTML-Datei einfügen, da ich sie nur für den Benutzernamen und nicht für die gesamte lokalisierte Zeichenfolge anwenden muss. Also, wenn ich die Zeichenfolge in zwei lokalisierte Strings aufteilen (was ich definitiv nicht tun sollte, weil andere Sprachen nicht unbedingt die gleiche Satzstruktur haben), muss ich diese HTML-Tags in der lokalisierten Zeichenfolge selbst setzen:

<b>{username}</b> created a new document. 

Auch wenn wir Best Practices für einen Moment ignorieren (von denen ich habe read briefly) und damit gehen, funktioniert diese Lösung nicht für mich. Ich glaube, das liegt daran, dass die Anwendung Polymer verwendet (dies scheint mit Angular zu funktionieren). Wenn wir also durch die beiden folgenden Anforderungen halten:

  1. Verwendung Polymer
  2. Haben die gesamte Zeichenfolge zusammen als eine Ressource-Zeichenfolge

dann es nicht eine Möglichkeit, um Stil bestimmte Teile zu sein scheint der Schnur. Kennt jemand eine Lösung?

Antwort

0

Ich habe es funktioniert, indem Sie die Ressource-Zeichenfolge auf die innere HTML-Code des Elements, das die Zeichenfolge enthält. Also lassen Sie uns sagen, dass die div den Text enthält, hat id="textElem", in der Javascript habe ich die innere HTML etwa so:

this.$.textElem.innerHTML = this.localize('user_created_document', 'username', this.username) 

Ich glaube, ich sollte in der Frage angegeben, dass meine bisherigen Versuche des Einstellens der Zeichenfolge nur waren (a) Binden Sie die Zeichenfolge einfach an die Eigenschaft eines Objekts und referenzieren Sie diese im HTML, und (b) Lokalisieren Sie die Zeichenfolge direkt im HTML, von denen keine funktionierte.