변수와 값을 비교합니다. 결과는 스웨덴어/영어/네덜란드어/포르투갈어와 터키어를 사용해 보았을 때와 다른 언어로 보입니다.조건이 특정 키워드로 터키어로 실행되지 않는 경우 Freemarker
<#assign fm_bidBucket>Install</#assign>
<#assign _text><#if fm_bidBucket?trim?lower_case == "both">both-<#elseif fm_bidBucket?trim?lower_case == "install">install-<#else>else-</#if></#assign>
${_text}
Output:
In case of any language: install-
In case of Turkish language: else-
그러나 조건을 소문자 대신 upper_case로 변경하면 예상대로 작동합니다.
<#assign fm_bidBucket>Install</#assign>
<#assign _text><#if fm_bidBucket?trim?upper_case == "both">both-<#elseif fm_bidBucket?trim?upper_case == "install">install-<#else>else-</#if></#assign>
${_text}
Output:
In case of any language: install-
In case of Turkish language: install-
또는 조건의 내용을 변경하면 정상적으로 작동합니다.
<#assign fm_bidBucket>Siddharth</#assign>
<#assign _text><#if fm_bidBucket?trim?lower_case == "both">both-<#elseif fm_bidBucket?trim?lower_case == "siddharth">install-<#else>else-</#if></#assign>
${_text}
Output:
In case of any language: install-
In case of Turkish language: install-
터키어 로켈의 경우에만 "설치"라는 텍스트와 다른 출력이 표시되는 이유를 추적 할 수 없습니다.
또한 이처럼 다른 로케일에 다른 문자가 있는지 알고 싶습니다.
나는이 코드를 http://try.freemarker.org/에서 실행하려고 시도했지만 비슷한 응답을 얻었습니다.
답장을 보내 주셔서 감사합니다.하지만 단어의 시작 부분에 "i"가 있고 그 중간에 있지 않을 때 왜 일어나는지입니다. 위의 사례를 확인하면 Siddharth 또는 Title을 텍스트로 사용하면 정상적으로 작동합니다. –
귀하의 경우 첫 글자 만 대문자로되어 있기 때문입니다. .toLowerCase() = "ınstall"및 "Siddharth".toLowerCase() = "shiddharth"'를 설치하십시오. 두 번째 경우에는 터키어가 영어와 똑같이 작동합니다. – obourgain
toLowerCase()를 사용하여 문자의 변환이 발생하면 정확한 텍스트와 만 일치합니다. –