我在JBoss上使用縫2.2.2.Final與RichFaces的3.3.3.Final爲6縫2.2.2.Final失去翻譯
我的應用程序被翻譯成2種語言(荷蘭語和英語)。
有時(從幾小時到幾天不等)Web應用程序失去了翻譯。然後它只顯示密鑰的標籤而不是翻譯。
有人會知道是什麼原因造成的嗎?
首先我認爲這可能是由荷蘭語中使用的字符集引起的。然後我用native2ascii.exe將文件轉換爲ascii,但這並沒有解決問題。
我使用seam中的默認messages.properties文件。在我的情況下,這些是messages_nl.properties和messages_en.properties。在JSF中,我使用EL標籤#{messages['key']}
。幾個小時或幾天後,似乎應用程序無法再找到這些文件。
我faces-config.xml文件包含以下設置:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<locale-config>
<default-locale>nl</default-locale>
<supported-locale>nl</supported-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
</faces-config>
在JSF我用這樣的:
<h:outputText value="#{messages['admin.scheduling.title']}" />
在代碼中我使用
Messages.instance().get("admin.scheduling.title");
嗨@巨人2,我用我的問題的消息捆綁的方式。如果您需要更多信息,請告訴我。 – gadeynebram
JSF需要檢測語言環境的接口(很多時候我看到它被竊聽)。 (手冊第15.2節講述了這一點)。每次調試時都要嘗試檢測使用的語言環境。如果您發現它在同一會話期間發生更改,則可能取決於超時時間。 – Giant2
我已經刪除了faces-config.xml中的配置,並在components.xml中添加了配置' '。也許這會讓它工作得更好。 –
gadeynebram