Tôi đang cố gắng làm một trang bằng các ngôn ngữ khác nhau với xml/xsl. Tôi muốn chỉ có một xml và một xsl. Trên trang của tôi Url Tôi có một tham số pLanguage mà tôi nghĩ rằng tôi có thể sử dụng để xem nếu tôi đã chọn tiếng Anh hoặc tiếng Hà Lan.Cách thực hiện I18N với xsl và xml
Tôi đã thử với mã này, nhưng tôi không biết làm thế nào tôi đặt nó với nhau:
Trước tiên tôi làm cho các biến của tất cả những lời người đã được dịch như thế này:
<xsl:variable name="lang.pageTitle" select="'This is the title in English'"/>
Để có được pageTitle trong mẫu bây giờ tôi có thể sử dụng
<xsl:value-of select="$lang.pageTitle"/>
Tôi nghĩ để thay thế dòng đầu tiên của mã ở trên bằng cách sử dụng câu lệnh if-else để kiểm tra nếu ngôn ngữ được chọn của tôi là EN hoặc NL thích s:
<xsl:choose>
<xsl:when test="$choosenLanguage = ‘NL’">
<xsl:variable name="lang.pageTitle" select="Titel in het nederlands'"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="lang.pageTitle" select="'This is the title in English'"/>
</xsl:otherwise>
</xsl:choose>
Nhưng tôi nhận được lỗi: java.lang.IllegalArgumentException: không thể phân tích lý luận số $ lang.opdracht
Tại sao không sử dụng thuộc tính 'xml: lang' và hàm' lang ($ pLang) '? – DanMan
@DanMan, Vâng, điều này là hoàn toàn có thể. Tôi không chắc liệu cách tiếp cận này vẫn có thể được sử dụng nếu chúng ta có các chuỗi khác nhau trong cùng một ngôn ngữ nhưng với trọng tâm khác nhau-- ví dụ: văn bản cho người dùng cuối và cho người dùng trung gian. Nếu điều này không thể được thực hiện chỉ bằng cách sử dụng 'xml: lang' và' lang() ', thì kỹ thuật trong câu trả lời này vẫn có thể áp dụng được. –