You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/05/16 16:41:09 UTC

cvs commit: xml-cocoon2/xdocs docs-book.xml site-book.xml

dims        01/05/16 07:41:07

  Modified:    webapp   sitemap.xmap
               webapp/docs/samples samples.xml
               xdocs    docs-book.xml site-book.xml
  Added:       webapp/i18n simple.xml simple.xsl simple.xsp sitemap.xmap
               webapp/i18n/translations simple_dict.xml
  Log:
  I18nTransformer docs and samples
  from Konstantin Piroumian (kpiroumian@flagship.ru)
  
  Revision  Changes    Path
  1.4       +5 -0      xml-cocoon2/webapp/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/sitemap.xmap,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- sitemap.xmap	2001/05/15 11:34:24	1.3
  +++ sitemap.xmap	2001/05/16 14:40:46	1.4
  @@ -150,6 +150,11 @@
       <map:mount uri-prefix="protected" src="protected/" check-reload="yes"/>
      </map:match>
     </map:pipeline>
  +  <map:pipeline>
  +   <map:match pattern="i18n**">
  +    <map:mount uri-prefix="i18n" src="i18n/" check-reload="yes"/>
  +   </map:match>
  +  </map:pipeline>
    <map:pipeline>
   
      <map:match pattern="">
  
  
  
  1.2       +6 -0      xml-cocoon2/webapp/docs/samples/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/webapp/docs/samples/samples.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- samples.xml	2001/05/09 20:50:13	1.1
  +++ samples.xml	2001/05/16 14:40:52	1.2
  @@ -79,6 +79,12 @@
      <sample name="Content Aggregation" href="news/aggregate.xsp">
       Sample for Transparent Content Aggregation.        
      </sample>
  +   <sample name="Simple Internationalization" href="i18n/simple.xml">
  +    Sample for Internationalization.        
  +   </sample>
  +   <sample name="XSP Internationalization" href="i18n/simple.xsp">
  +    Sample for Internationalization in an XSP.        
  +   </sample>
      <sample name="Simple SQL" href="sql/sql-page" xlink:role="dynamic">
       Simple SQL example. You should make sure that you have a database and
       table according to the conf/sitemap.xmap and the
  
  
  
  1.1                  xml-cocoon2/webapp/i18n/simple.xml
  
  Index: simple.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <root xmlns:i18n="http://apache.org/cocoon/i18n">
  	<title>
  		<i18n:text>Hello, internationalization!</i18n:text>
  	</title>
  	<menu>
  		<item>
  			<title><i18n:text>language</i18n:text></title>
  		</item>
  		<item>
  			<link>
  				<href>?lang=<i18n:text>lang_id1</i18n:text></href>
  				<title>
  					<i18n:text>language1</i18n:text>
  				</title>
  			</link>
  		</item>
  		<item>
  			<link>
  				<href>?lang=<i18n:text>lang_id2</i18n:text></href>
  				<title>
  					<i18n:text>language2</i18n:text>
  				</title>
  			</link>
  		</item>
  	</menu>
  	<content>
  		<para title="first" name="article" i18n:attr="title name">
  			<i18n:text i18n:key="a_key">article_text1</i18n:text>
  		</para>
  		<para title="second" name="article" i18n:attr="title name">
  			<i18n:text>article_text2</i18n:text>
  		</para>
  		<para title="third" name="article" i18n:attr="title name">
  			<i18n:translate>
  				<i18n:text>Hello, {0}! Glad to see you!</i18n:text>
  				<i18n:param name="username">
  					<i18n:text>Kot</i18n:text>
  				</i18n:param>
  			</i18n:translate>
  		</para>
  		<para title="forth" name="article" i18n:attr="title name">
  			<i18n:translate>
  				One: {0}, two: {1}, {2}! {3}
  				This is another line {3}
  				<i18n:param name="one"><i18n:text>one</i18n:text></i18n:param>
  				<i18n:param name="two"><i18n:text>two</i18n:text></i18n:param>
  				<i18n:param name="third">baby</i18n:param>
  				<i18n:param name="forth">/n</i18n:param>
  			</i18n:translate>
  		</para>
  	</content>
  	<bottom>
  		<copyright>
  			<i18n:text>copyright</i18n:text>
  		</copyright>
  	</bottom>
  </root>
  
  
  
  1.1                  xml-cocoon2/webapp/i18n/simple.xsl
  
  Index: simple.xsl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  	<xsl:template match="root">
  		<html>
  			<head>
  				<title>
  					<xsl:value-of select="title"/>
  				</title>
  			</head>
  			<body bgcolor="white">
  				<h1>
  					<font color="navy">
  						<xsl:value-of select="title"/>
  					</font>
  				</h1>
  				<h4><xsl:value-of select="sub-title"/></h4>
  				<xsl:apply-templates select="menu"/>
  				<hr align="left" noshade="noshade" size="1"/>
  				
  				<xsl:apply-templates select="content" />
  				
  				<hr align="left" noshade="noshade" size="1"/> 
  				<xsl:apply-templates select="bottom"/>
  			</body>
  		</html>
  	</xsl:template>
  	
  	<xsl:template match="menu">
  		<font size="-1">
  			<xsl:for-each select="item">
  				<xsl:apply-templates select="."/>
  				<xsl:if test="position() != last()"><xsl:text> | </xsl:text></xsl:if>
  			</xsl:for-each>
  		</font>	
  	</xsl:template>
  	
  	<xsl:template match="link">
  		<a href="{href}"><xsl:value-of select="normalize-space(title)"/></a>
  	</xsl:template>
  	
  	<xsl:template match="item/title">
  		<font color="maroon"><xsl:copy-of select="normalize-space(.)"/></font>
  	</xsl:template>
  	
  	<xsl:template match="content">
  		<xsl:apply-templates />
  	</xsl:template>
  	
  	<xsl:template match="para">
  		<p>
  			<font color="navy"><b><xsl:value-of select="position() div 2"/>. <xsl:value-of select="@name"/> </b>: <xsl:value-of select="@title"/></font><br/>
  			<font size="-1"><xsl:value-of select="."/></font>
  		</p>	
  	</xsl:template>
  	
  	<xsl:template match="bottom">
  		<small><b><xsl:value-of select="copyright"/></b></small>		
  	</xsl:template>
  	
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/webapp/i18n/simple.xsp
  
  Index: simple.xsp
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:xsp-request="http://apache.org/xsp/request" xmlns:i18n="http://apache.org/cocoon/i18n">
  
  <xsp:structure>
  	<xsp:include>java.text.MessageFormat</xsp:include>
  </xsp:structure>
  
  <xsp:logic>
  	private static int count = 0;
  </xsp:logic>
  
  <root>
  	<xsp-request:get-session />
  	<xsp:logic>
  		synchronized (this) {
  			count++;
  		}
  	
  		String lang = <xsp-request:get-parameter name="lang"/>;
  		if (lang != null) {
  			request.setAttribute("lang", lang);
  		}
  		
  	</xsp:logic>
  	<title>
  		<i18n:text>Hello, internationalization!</i18n:text>
  	</title>
  	<sub-title>
  		<i18n:translate>
  			<i18n:text>count_title</i18n:text>
  			<i18n:param><xsp:expr>count</xsp:expr></i18n:param>
  			<i18n:param><xsp:expr>new Date()</xsp:expr></i18n:param>
  		</i18n:translate>
  	</sub-title>
  	<menu>
  		<item>
  			<title><i18n:text>language</i18n:text></title>
  		</item>
  		<item>
  			<link>
  				<href>?lang=<i18n:text>lang_id1</i18n:text></href>
  				<title>
  					<i18n:text>language1</i18n:text>
  				</title>
  			</link>
  		</item>
  		<item>
  			<link>
  				<href>?lang=<i18n:text>lang_id2</i18n:text></href>
  				<title>
  					<i18n:text>language2</i18n:text>
  				</title>
  			</link>
  		</item>
  	</menu>
  	<content>
  		<para title="first" name="article" i18n:attr="title name">
  			<i18n:text i18n:key="a_key">article_text1</i18n:text>
  		</para>
  		<para title="second" name="article" i18n:attr="title name">
  			<i18n:text>article_text2</i18n:text>
  		</para>
  		<para title="third" name="article" i18n:attr="title name">
  			<i18n:translate>
  				<i18n:text>Hello, {0}! Glad to see you!</i18n:text>
  				<i18n:param name="username"><xsp-request:get-parameter name="user" default="none" as="string"/></i18n:param>
  			</i18n:translate>
  		</para>
  		<para title="forth" name="article" i18n:attr="title name">
  			<i18n:translate>
  				One: {0}, two: {1}, {2}! {3}
  				This is another line {3}
  				<i18n:param name="one"><i18n:text><xsp:expr>"ONE".toLowerCase()</xsp:expr></i18n:text></i18n:param>
  				<i18n:param name="two"><i18n:text>two</i18n:text></i18n:param>
  				<i18n:param name="third">baby</i18n:param>
  				<i18n:param name="forth">/n</i18n:param>
  			</i18n:translate>
  		</para>
  	</content>
  	<bottom>
  		<copyright>
  			<i18n:text>copyright</i18n:text>
  		</copyright>
  	</bottom>
  </root>
  
  </xsp:page>
  
  
  
  
  1.1                  xml-cocoon2/webapp/i18n/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  <?xml version="1.0"?>
  <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  	<!-- =========================== Components ================================ -->
  	<map:components>
  		<map:generators default="file"/>
  		<map:transformers default="xslt">
  			<map:transformer name="i18n" src="org.apache.cocoon.transformation.I18nTransformer2">
  				<parameter name="available_lang_1" value="en"/>
  				<parameter name="available_lang_2" value="ru"/>
  				<parameter name="available_lang_3" value="de"/>
  			</map:transformer>
  		</map:transformers>
  		<map:readers default="resource"/>
  		<map:serializers default="html"/>
  		<map:selectors default="browser"/>
  		<map:matchers default="wildcard">
  			<map:matcher name="wildcard" factory="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
  		</map:matchers>
  	</map:components>
  	<!-- =========================== Pipelines ================================= -->
  	<map:pipelines>
  		<map:pipeline>
  			<map:match pattern="**.xml">
  				<map:generate src="{1}.xml"/>
  				<map:transform type="i18n">
  					<parameter name="src" value="translations/{1}_dict.xml"/>
  				</map:transform>
  				<map:transform src="simple.xsl"/>
  				<map:serialize/>
  			</map:match>
  			<map:match pattern="**.xsp">
  				<map:generate type="serverpages" src="{1}.xsp"/>
  				<map:transform type="i18n">
  					<parameter name="src" value="translations/{1}_dict.xml"/>
  				</map:transform>
  				<map:transform src="simple.xsl"/>
  				<map:serialize/>
  			</map:match>
  			
  			<map:handle-errors>
  				<map:transform src="../stylesheets/system/error2html.xsl"/>
  				<map:serialize status-code="500"/>
  			</map:handle-errors>
  		</map:pipeline>
  	</map:pipelines>
  </map:sitemap>
  <!-- end of file -->
  
  
  
  1.1                  xml-cocoon2/webapp/i18n/translations/simple_dict.xml
  
  Index: simple_dict.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <translations>
  
  	<!-- Language links -->
  	<entry>
  		<key>count_title</key>
  		<translation lang="en">This page was accessed {0} times. Last at: {1}.</translation>
  		<translation lang="ru">На эту страницу заходили {0} раз(а). В последний раз {1}.</translation>
  		<translation lang="de">Dno {0}. Last {1}</translation>
  	</entry>		
  	<entry>
  		<key>a_key</key>
  		<translation lang="en">This is a key value.</translation>
  		<translation lang="ru">Это значение по ключу.</translation>
  		<translation lang="de">Das ist key value.</translation>
  	</entry>	
  	<entry>
  		<key>lang_id1</key>
  		<translation lang="en">ru</translation>
  		<translation lang="ru">en</translation>
  		<translation lang="de">en</translation>
  	</entry>
  	<entry>	
  		<key>lang_id2</key>
  		<translation lang="en">de</translation>
  		<translation lang="ru">de</translation>
  		<translation lang="de">ru</translation>
  	</entry>		
  	<entry>
  		<key>language</key>
  		<translation lang="en">English</translation>
  		<translation lang="ru">Русский</translation>
  		<translation lang="de">Deutch</translation>
  	</entry>
  	<entry>
  		<key>language1</key>
  		<translation lang="en">Russian</translation>
  		<translation lang="ru">Английский</translation>
  		<translation lang="de">Angliese</translation>
  	</entry>
  	<entry>
  		<key>language2</key>
  		<translation lang="en">German</translation>
  		<translation lang="ru">Немецкий</translation>
  		<translation lang="de">Russe</translation>
  	</entry>	
  
  	<entry>
  		<key>Hello, internationalization!</key>
  		<translation lang="en">Hello, internationalization!</translation>
  		<translation lang="ru">Привет, многоязычность!</translation>
  		<translation lang="de">Heil, Internazinalizionen!!!</translation>
  	</entry>
  	<entry>
  		<key>first</key>
  		<translation lang="en">First</translation>
  		<translation lang="ru">Первый</translation>
  		<translation lang="de">Erst</translation>
  	</entry>
  	<entry>
  		<key>second</key>
  		<translation lang="en">Second</translation>
  		<translation lang="ru">Второй</translation>
  		<translation lang="de">Zwiete</translation>
  	</entry>	
  	<entry>
  		<key>third</key>
  		<translation lang="en">Third</translation>
  		<translation lang="ru">Третий</translation>
  		<translation lang="de">Dreite</translation>
  	</entry>		
  	<entry>
  		<key>forth</key>
  		<translation lang="en">Forth</translation>
  		<translation lang="ru">Четвертый</translation>
  		<translation lang="de">Furthe</translation>
  	</entry>			
  	<entry>
  		<key>article</key>
  		<translation lang="en">Article</translation>
  		<translation lang="ru">Статья</translation>
  		<translation lang="de">Artikkle</translation>		
  	</entry>		
  	<entry>
  		<key>article_text1</key>
  		<translation lang="en">This is a i18n paragraph.</translation>
  		<translation lang="ru">Это интернационализированный абзац.</translation>
  		<translation lang="de">How do you say it in German? :)</translation>		
  	</entry>		
  	<entry>
  		<key>article_text2</key>
  		<translation lang="en">This is another i18n paragraph and is also a cool one.</translation>
  		<translation lang="ru">Это тоже интернационализированный абзац и такой же классный.</translation>
  		<translation lang="de">How do you say it in German? :)</translation>		
  	</entry>	
  	<entry>
  		<key>copyright</key>
  		<translation lang="en">Copyright © 2001 Konstantin Piroumian Inc. No rights are reserved.</translation>
  		<translation lang="ru">Авторские права © 2001 Константин Пирумян. Ничто не защищено.</translation>
  		<translation lang="de">Copyright © 2001 How do you say it in German? :)</translation>
  	</entry>	
  	<entry>
  		<key>Hello, {0}! Glad to see you!</key>
  		<translation lang="en">Hello, {0}! Glad to see you!</translation>
  		<translation lang="ru">Привет, {0}! Рад тебя видеть!</translation>
  		<translation lang="de">Heil, {0}! How do you say it in German? :)</translation>		
  	</entry>		
  	<entry>
  		<key>Kot</key>
  		<translation lang="en">Tomcat</translation>
  		<translation lang="ru">Кот</translation>
  		<translation lang="de">Kotten</translation>		
  	</entry>		
  	<entry>
  		<key>none</key>
  		<translation lang="en">None</translation>
  		<translation lang="ru">Никто</translation>
  		<translation lang="de">Nicht</translation>		
  	</entry>	
  	<entry>
  		<key>one</key>
  		<translation lang="en">one</translation>
  		<translation lang="ru">раз</translation>
  		<translation lang="de">ein</translation>		
  	</entry>		
  	<entry>
  		<key>two</key>
  		<translation lang="en">two</translation>
  		<translation lang="ru">два</translation>
  		<translation lang="de">zwein</translation>		
  	</entry>			
  </translations>
  
  
  1.2       +1 -0      xml-cocoon2/xdocs/docs-book.xml
  
  Index: docs-book.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/xdocs/docs-book.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- docs-book.xml	2001/05/09 20:50:22	1.1
  +++ docs-book.xml	2001/05/16 14:41:03	1.2
  @@ -16,6 +16,7 @@
     <page id="logicsheet-concepts" label="XSP Logicsheets" source="logicsheet-concepts.xml"/>
     <page id="sessions" label="Sessions" source="sessions.xml"/>
   <separator/>
  +  <page id="i18n" label="Internationalization" source="i18n.xml"/>
     <page id="actions" label="Actions" source="actions.xml"/>
     <page id="datasources" label="Using Databases" source="datasources.xml"/>
     <page id="sitemap" label="Sitemap" source="sitemap.xml"/>
  
  
  
  1.2       +1 -0      xml-cocoon2/xdocs/site-book.xml
  
  Index: site-book.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/xdocs/site-book.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- site-book.xml	2001/05/09 20:50:23	1.1
  +++ site-book.xml	2001/05/16 14:41:04	1.2
  @@ -15,6 +15,7 @@
     <page id="logicsheet-concepts" label="XSP Logicsheets" source="logicsheet-concepts.xml"/>
     <page id="sessions" label="Sessions" source="sessions.xml"/>
   <separator/>
  +  <page id="i18n" label="Internationalization" source="i18n.xml"/>
     <page id="actions" label="Actions" source="actions.xml"/>
     <page id="datasources" label="Using Databases" source="datasources.xml"/>
     <page id="sitemap" label="Sitemap" source="sitemap.xml"/>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org