Hello! I just started working with xslt a couple of days ago.
It's still very new to me, even though I have over 5 years experience
with php and javascript, which at least makes it relative easy to
learn xslt, but I still can use good advice.
This is what I want to acheive:
I am developing a milti-lingual site, and want the transformations
dont by the browser. For that I am including an xml of translations in
a form of a lookup table inside the xsl template file, like this:
<trans:tr page_id="global">
<tr_string str="recent_albums">
<en>
Recent Albums
</en>
<ru>
Новые альбомы
</ru>
</tr_string>
<tr_string str="welcome">
<en>
Welcome to our site
</en>
<ru>
Добро пожаловать
</ru>
</tr_string>
<tr_string str="recent_videos">
<en>
Recent Videos
</en>
</tr_string>
<tr_string str="recent_images">
<en>
Recent Images
</en>
<ru>
Новые фотки
</ru>
</tr_string>
</trans:tr>
Then inside the xml file I may have strings like this:
<root>
<gv d="en" c="ru" lm="dynamic" sd="member"/>
<title>
My title
</title>
<main>
<trs>
welcome
</trs>
<recent_images>
<div class="recent">
<trs>
recent_images
</trs>
</div>
<img title="ocean">/img1.jpg</img>
<img title="people">/img2.jpg</img>
<img title="my dog">/img3.gif</img>
</recent_images>
</main>
</root>
Now how do I make it so that every instance if <trs> tag is replaced
by value of:
if tag <tr_string> with value of "str" = <trs> does not exist, then
return value of <trs> itself
otherwise:
find element <tr_string> with value of 'str' = value of <trs>
and them: if it has child tag named <ru>, return its value, otherwise
return the value of <en>
In other words: if translaion lookup table has this string, then get
the value or <ru> if it exists and not empty, otherwise fallback to
value of <en>
If translation lookup table does not even have this string, then
return untranslated value.
Anyway, maybe someone has already done something similar for a
multilingual site and maybe there is a better way to store the lookup
table?
I appreciate if anyone can help me with this.
Thank you.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--