2012-05-30 3 views
0

내가 6.심 2.2.2.Final는 번역

내 응용 프로그램 (네덜란드어와 영어) 2 개 언어로 번역되어 AS JBoss에서의 Richfaces 3.3.3.Final와 심 2.2.2.Final을 사용하고 있습니다를 푼다.

때때로 웹 응용 프로그램이 번역을 잃어 버리는 경우가 있습니다 (몇 시간에서 며칠까지 다양 함). 그런 다음 키가 레이블이 아닌 번역 만 표시합니다.

아무도 원인을 알 수 있습니까?

처음에는 네덜란드어에서 사용 된 문자 세트로 인해 발생할 수 있다고 생각했습니다. 그런 다음 native2ascii.exe를 사용하여 파일을 ascii로 변환했지만 문제가 해결되지 않았습니다.

나는 seam의 기본 messages.properties 파일을 사용하고 있습니다. 내 경우에는 messages_nl.properties 및 messages_en.properties입니다. JSF에서는 EL-tags #{messages['key']}을 사용합니다. 몇 시간이나 며칠 후에 응용 프로그램이 더 이상 파일을 찾을 수없는 것처럼 보입니다. JSF에서

<?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> 

I는 다음과 같이 사용 : 코드에서

<h:outputText value="#{messages['admin.scheduling.title']}" /> 

내가 무엇

Messages.instance().get("admin.scheduling.title"); 

답변

0

저는 메시지 구성 요소의 자체 구현을 만들어 궁극적으로이를 해결했습니다.

솔기의 내부 캐시가 삭제 된 것처럼 보입니다 (아마도 무언가의 비 직렬화 이후). 캐시가 (거의) 비어 있으면 번들을 다시 읽습니다.

0

를 사용

내 faces-config.xml 파일은 이러한 설정이 포함되어 있습니다 번역에 사용 하시나요? 변환기?
getAsString 메서드는 번역 된 문자열을 반환해야합니다.
코드를 게시 할 수 있습니까?

+0

안녕하세요 @ Giant2, 내 질문에 메시지 묶음을 사용하는 방법이 있습니다. 추가 정보가 필요하면 알려주십시오. – gadeynebram

+0

로케일을 감지하는 Seam은 JSF에 요구된다 (그리고 나는 그것이 도청 된 것을 여러 번 본다). (설명서의 cap.15.2는 이것을 말한다). 디버깅 할 때마다 사용 된 로케일을 사용할 때마다 감지하려고 시도합니다. 동일한 세션에서 변경 사항이 표시되는 경우 시간 초과에 따라 달라질 수 있습니다. – Giant2

+0

faces-config.xml에서 구성을 제거하고 components.xml에''구성을 추가했습니다. 어쩌면이게 더 제대로 작동 할 것입니다. – gadeynebram