[Yanel-commits] rev 23945 - in public/yanel/trunk/src:
realms/yanel-website/content/xslt
resources/translation/src/java/org/wyona/yanel/impl/resources
michi at wyona.com
michi at wyona.com
Sat Apr 21 12:05:37 CEST 2007
Author: michi
Date: 2007-04-21 12:05:36 +0200 (Sat, 21 Apr 2007)
New Revision: 23945
Modified:
public/yanel/trunk/src/realms/yanel-website/content/xslt/translations.xsl
public/yanel/trunk/src/resources/translation/src/java/org/wyona/yanel/impl/resources/TranslationResource.java
Log:
check if more than one language exists
Modified: public/yanel/trunk/src/realms/yanel-website/content/xslt/translations.xsl
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/xslt/translations.xsl 2007-04-21 09:39:51 UTC (rev 23944)
+++ public/yanel/trunk/src/realms/yanel-website/content/xslt/translations.xsl 2007-04-21 10:05:36 UTC (rev 23945)
@@ -17,7 +17,9 @@
<xsl:template match="yanel:translations">
<div id="translations" class="language_choice">
- <xsl:apply-templates select="yanel:translation"/>
+ <xsl:if test="count(yanel:translation[@exists='true']) > 1">
+ <xsl:apply-templates select="yanel:translation[@exists='true']"/>
+ </xsl:if>
</div>
</xsl:template>
Modified: public/yanel/trunk/src/resources/translation/src/java/org/wyona/yanel/impl/resources/TranslationResource.java
===================================================================
--- public/yanel/trunk/src/resources/translation/src/java/org/wyona/yanel/impl/resources/TranslationResource.java 2007-04-21 09:39:51 UTC (rev 23944)
+++ public/yanel/trunk/src/resources/translation/src/java/org/wyona/yanel/impl/resources/TranslationResource.java 2007-04-21 10:05:36 UTC (rev 23945)
@@ -16,74 +16,41 @@
package org.wyona.yanel.impl.resources;
-import org.w3c.dom.Document;
-import org.wyona.yanel.core.Path;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.log4j.Category;
+import org.apache.xml.resolver.tools.CatalogResolver;
+import org.apache.xml.serializer.Serializer;
import org.wyona.yanel.core.Resource;
import org.wyona.yanel.core.ResourceConfiguration;
-import org.wyona.yanel.core.Topic;
-import org.wyona.yanel.core.Yanel;
-import org.wyona.yanel.core.api.attributes.CreatableV2;
-import org.wyona.yanel.core.api.attributes.ModifiableV2;
import org.wyona.yanel.core.api.attributes.TranslatableV1;
-import org.wyona.yanel.core.api.attributes.VersionableV2;
-import org.wyona.yanel.core.api.attributes.ViewableV1;
import org.wyona.yanel.core.api.attributes.ViewableV2;
-import org.wyona.yanel.core.attributes.versionable.RevisionInformation;
import org.wyona.yanel.core.attributes.viewable.View;
import org.wyona.yanel.core.attributes.viewable.ViewDescriptor;
-
-import org.wyona.yanel.core.serialization.HTMLSerializer;
import org.wyona.yanel.core.serialization.SerializerFactory;
import org.wyona.yanel.core.source.ResourceResolver;
import org.wyona.yanel.core.transformation.I18nTransformer2;
import org.wyona.yanel.core.transformation.XIncludeTransformer;
import org.wyona.yanel.core.util.PathUtil;
import org.wyona.yanel.core.util.ResourceAttributeHelper;
-
-import org.wyona.yarep.core.Node;
import org.wyona.yarep.core.Repository;
-import org.wyona.yarep.core.RepositoryFactory;
-import org.wyona.yarep.core.Revision;
-import org.wyona.yarep.util.RepoPath;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.stream.StreamResult;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.Date;
-import java.util.Properties;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-
-import org.apache.log4j.Category;
-import org.apache.xml.resolver.tools.CatalogResolver;
-import org.apache.xml.serializer.Serializer;
-
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationUtil;
-
/**
*
*/
@@ -212,16 +179,22 @@
if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Translatable", "1")) {
TranslatableV1 translatable = ((TranslatableV1) resource);
- String[] languages = translatable.getLanguages();
+ List existingLanguages = Arrays.asList(translatable.getLanguages());
+ String[] realmLanguages = resource.getRealm().getLanguages();
- for (int i=0; i<languages.length; i++) {
- Resource translation = translatable.getTranslation(languages[i]);
+ for (int i = 0; i < realmLanguages.length; i++) {
String current = "";
- if (currentLanguage.equals(languages[i])) {
+ if (currentLanguage.equals(realmLanguages[i])) {
current = "current=\"true\" ";
}
- sb.append("<translation language=\"" + languages[i] + "\" path=\"" +
- translation.getPath() + "\" " + current + "/>");
+ if (existingLanguages.contains(realmLanguages[i])) {
+ Resource translation = translatable.getTranslation(realmLanguages[i]);
+ sb.append("<translation language=\"" + realmLanguages[i] + "\" path=\"" +
+ translation.getPath() + "\" " + current + " exists=\"true\"/>");
+ } else {
+ sb.append("<translation language=\"" + realmLanguages[i] + "\" " + current +
+ " exists=\"false\"/>");
+ }
}
}
More information about the Yanel-commits
mailing list