Der Versuch, die JSF-Webanwendung mehrsprachig zu machen. Zu diesem Zweck decken alle den HTML-Code mit <f:view>
tags:JSF-Website mehrsprachig gestalten
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns= ... >
<f:view locale="#{actionsContainer.languageDetails.locale}">
<head>
<meta charset="utf-8" />
<f:loadBundle basename="messages.Messages" var="key" />
</head>
<body>
<h:outputText value="#{key.myText}" />
</body>
</f:view>
</html>
als in Ressourcen Ich habe mehrere 'Messages.properties' Dateien mit Übersetzungen in einigen Sprachen:
- Messages_en.properties
- Messages_es.properties
- Messages.properties // Standard
Die Probe Inhalt dieser Dateien ‚Messages_es.properties‘ ist:
myText=España
Nehmen wir meine locale ist „es“, und als Spanisch Übersetzungsdatei lädt es ist Wert und macht auf dem Bildschirm. Die Sonderzeichen (z. B. "ñ") werden in einer Browserausgabe jedoch nicht korrekt angezeigt. Anstelle von speziellen spanischen Buchstaben bekomme ich so etwas wie "³".
Ich habe versucht, Datei .properties mit UTF-8-Codierung, ohne BOM zu speichern. Und die Ausgabe wurde in etwas wie dieses "" geändert.
Und so ist die Frage, wie bekomme ich diese spezielle Sprache Buchstaben in einer Ausgabe ?!
Ich habe versucht, alle diese speziellen Buchstaben mit \ uXXXX Format zu ersetzen, aber Webkit Browser (Chrome und Safari) zeigt einen Fehler an: Entität 'u00E7' nicht definiert –
Das ist seltsam, da sie nicht vom Webbrowser gelöst werden sollten vom Webserver. Wie genau laden und zeigen Sie sie? Hast du den verlinkten Artikel überprüft, wie es gemacht werden könnte (und sollte)? – BalusC