2009-07-20 6 views
1

Ich bin Internationalisierung zu einer Tapisserie-App hinzufügen.Inject I18n Text in Javascript mit Tapestry-3

Gibt es eine Standard-Tapisserie-3-Technik zur Internationalisierung von Zeichenfolgen, die als Javascript-Literale angezeigt werden?

Zum Beispiel:

<input jwcid="submitBtn" type="submit" accesskey="U" value="Update" class="actionBtn" onclick="return confirm('Are you sure that you want to do that?');"/></td> 

Kann ich einfach die Frage mit einem Teppich-Tag in diesen ersetzen und jedem anderen Kontext? Sagen Sie etwas wie:

<input jwcid="submitBtn" type="submit" accesskey="U" value="Update" class="actionBtn" onclick="return confirm('<span key="AreYouSure">Are you sure that you want to do that?</span>');"/></td> 

Dies bedeutet, dass die Quelldatei ein Element innerhalb eines Attributs enthält, die in einem JSP in Ordnung sein würde. Geht Tapisserie-3 damit um? Wenn nicht, gibt es eine Möglichkeit, dies in Tapisserie-3 zu tun?

Antwort

1

Dies funktioniert gut in T3 als auch - eine weitere Option ist Ihre i18n js Strings am oberen Rand der Seite zu initialisieren:

<script> 
    var jsStrings = { 
    sure : '<span key="AreYouSure"/>', 
    ... 
    }; 
</script> 

und sie dann einfach verwenden:

<input jwcid="submitBtn" onclick="return confirm(jsStrings.sure);"/> 
+0

Danke, dass sieht aus wie der beste Weg zu gehen. –