orig/trans automatic selection patch for news/{newsflash,press}.html

Hiroki Sato hrs at FreeBSD.org
Wed Dec 29 19:24:52 UTC 2004


Hi all,

 The revised version of the news item selection patch for www/{de,en,fr,ja,ru}
 is attached.  With this patch, index.html, news/newsflash.html, and
 news/press.html include the latest news items in English when the
 translation of them are not available.  Note that this replacement
 will be performed in per day basis; when there are multiple items in a day
 and the translated entry has only one of them, for example, the translated
 one will appear as the news item of the day and the rest which are not
 translated will be silently ignored.

 Please test the attached patch and let me know if you notice any problems.
 If there is no objection I will commit it in a few days.  Thanks.

-- 
| Hiroki SATO
-------------- next part --------------
Index: de/Makefile
===================================================================
RCS file: /home/ncvs/www/de/Makefile,v
retrieving revision 1.18
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.18 Makefile
--- de/Makefile	18 Dec 2004 13:10:22 -0000	1.18
+++ de/Makefile	29 Dec 2004 18:32:15 -0000
@@ -57,7 +57,9 @@
 .include "${WEB_PREFIX}/share/mk/web.site.mk"
 
 index.html: index.xsl ${XML_INCLUDES}\
-		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
+		${XML_NEWS_INCLUDES} \
+		${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
+		${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
 		${XML_MIRRORS} ${XML_TRANSTABLE} \
 		${XML_ADVISORIES} ${XML_NOTICES} \
 		${XML_NAVIGATION}
@@ -66,7 +68,9 @@
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param advisories.xml "'${XML_ADVISORIES}'" \
 		--param notices.xml "'${XML_NOTICES}'" \
+		--param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
+		--param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		--param navigation.xml "'${XML_NAVIGATION}'" \
Index: de/index.xsl
===================================================================
RCS file: /home/ncvs/www/de/index.xsl,v
retrieving revision 1.18
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.18 index.xsl
--- de/index.xsl	18 Dec 2004 13:10:22 -0000	1.18
+++ de/index.xsl	29 Dec 2004 18:39:48 -0000
@@ -19,7 +19,9 @@
   <xsl:param name="advisories.xml" select="'none'"/>
   <xsl:param name="notices.xml" select="'none'"/>
   <xsl:param name="mirrors.xml" select="'none'"/>
+  <xsl:param name="news.press.xml-master" select="'none'"/>
   <xsl:param name="news.press.xml" select="'none'"/>
+  <xsl:param name="news.project.xml-master" select="'none'"/>
   <xsl:param name="news.project.xml" select="'none'"/>
 
   <xsl:output type="html" encoding="iso-8859-1"
@@ -288,10 +290,11 @@
 			    <font size="-1">
 			      aktualisiert am:
 			      <xsl:call-template name="html-index-news-project-items-lastmodified">
-			        <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+			        <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			      </xsl:call-template>
 			      <br/>
 			      <xsl:call-template name="html-index-news-project-items">
+			        <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			        <xsl:with-param name="news.project.xml" select="$news.project.xml" />
 			      </xsl:call-template>
 			      <a href="news/newsflash.html">mehr ...</a>
@@ -302,10 +305,11 @@
 			    <font size="-1">
 			      aktualisiert im:
 			      <xsl:call-template name="html-index-news-press-items-lastmodified">
-			        <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+			        <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			      </xsl:call-template>
 			      <br/>
 			      <xsl:call-template name="html-index-news-press-items">
+			        <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			        <xsl:with-param name="news.press.xml" select="$news.press.xml" />
 			      </xsl:call-template>
 			      <a href="news/press.html">mehr ...</a>
Index: de/news/Makefile
===================================================================
RCS file: /home/ncvs/www/de/news/Makefile,v
retrieving revision 1.3
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.3 Makefile
--- de/news/Makefile	15 May 2004 12:39:08 -0000	1.3
+++ de/news/Makefile	22 Nov 2004 18:19:14 -0000
@@ -18,28 +18,32 @@
 DATA=		newsflash.html news.rdf press.html
 CLEANFILES+=	newsflash.html news.rdf press.html
 
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
+
 newsflash.html: newsflash.xsl news.xml\
-			includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+			includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
+		--param "news.project.xml" "'${XML_NEWS_NEWS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
 
 news.rdf: news-rdf.xsl news.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
 
 press.html: press.xsl press.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
+		--param "news.press.xml" "'${XML_NEWS_PRESS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/press.xsl ${.CURDIR}/press.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
-
-.include "${WEB_PREFIX}/share/mk/web.site.mk"
Index: de/news/newsflash.xsl
===================================================================
RCS file: /home/ncvs/www/de/news/newsflash.xsl,v
retrieving revision 1.4
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.4 newsflash.xsl
--- de/news/newsflash.xsl	15 May 2004 12:39:08 -0000	1.4
+++ de/news/newsflash.xsl	22 Nov 2004 18:17:16 -0000
@@ -19,6 +19,9 @@
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
 
+  <xsl:param name="news.project.xml-master" select="'none'" />
+  <xsl:param name="news.project.xml" select="'none'" />
+
   <xsl:output type="html" encoding="iso-8859-1"/>
 
   <xsl:template match="news">
@@ -69,16 +72,12 @@
 	<p>Die FreeBSD Sicherheitshinweise finden Sie auf der Seite
 	  <a href="{$enbase}/security/#adv">Security Information</a>.</p>
 
-	<xsl:apply-templates select="descendant::month"/>
+	<xsl:call-template name="html-news-list-newsflash">
+          <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
+          <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+	</xsl:call-template>
 
-	<p>Ältere Ankündigungen:
-	  <a href="2002/index.html">2002</a>,
-	  <a href="{$enbase}/news/2001/index.html">2001</a>,
-	  <a href="{$enbase}/news/2000/index.html">2000</a>,
-	  <a href="{$enbase}/news/1999/index.html">1999</a>,
-	  <a href="{$enbase}/news/1998/index.html">1998</a>,
-	  <a href="{$enbase}/news/1997/index.html">1997</a>,
-	  <a href="{$enbase}/news/1996/index.html">1996</a></p>
+        <xsl:call-template name="html-news-make-olditems-list" />
 
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
@@ -86,53 +85,26 @@
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::day"/>
-    </ul>
-  </xsl:template>
+  <!-- for l10n -->
+  <xsl:template name="html-news-datelabel">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+    <xsl:param name="day" />
 
-  <xsl:template match="day">
-    <xsl:apply-templates select="event"/>
+    <xsl:value-of select="concat($day, '. ', $month, ' ', $year, ':')" />
   </xsl:template>
 
-  <xsl:template match="event">
-    <li><p><a>
-	  <xsl:attribute name="name">
-	    <xsl:call-template name="generate-event-anchor"/>
-	  </xsl:attribute>
-	</a>
-
-	<b><xsl:value-of select="ancestor::day/name"/>.
-	  <xsl:text> </xsl:text>
-	  <xsl:call-template name="transtable-lookup">
-	    <xsl:with-param name="word-group" select="'number-month'" />
-	    <xsl:with-param name="word">
-	      <xsl:value-of select="ancestor::month/name"/>
-	    </xsl:with-param>
-	  </xsl:call-template>
-	  <xsl:text> </xsl:text>
-	  <xsl:value-of select="ancestor::year/name"/>:</b><xsl:text> </xsl:text>
-	<xsl:apply-templates select="p"/>
-	</p>
-
-    </li>
+  <xsl:template name="html-news-make-olditems-list">
+    <p>Ältere Ankündigungen:
+      <a href="2002/index.html">2002</a>,
+      <a href="{$enbase}/news/2001/index.html">2001</a>,
+      <a href="{$enbase}/news/2000/index.html">2000</a>,
+      <a href="{$enbase}/news/1999/index.html">1999</a>,
+      <a href="{$enbase}/news/1998/index.html">1998</a>,
+      <a href="{$enbase}/news/1997/index.html">1997</a>,
+      <a href="{$enbase}/news/1996/index.html">1996</a></p>
   </xsl:template>
 
-  <xsl:template match="date"/>    <!-- Deliberately left blank -->
-
   <!-- When the href attribute contains a '$base', expand it to the current
        value of the $base variable. -->
 
Index: de/news/press.xsl
===================================================================
RCS file: /home/ncvs/www/de/news/press.xsl,v
retrieving revision 1.5
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.5 press.xsl
--- de/news/press.xsl	17 May 2004 22:41:54 -0000	1.5
+++ de/news/press.xsl	22 Nov 2004 18:20:37 -0000
@@ -19,8 +19,20 @@
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
 
+  <xsl:param name="news.press.xml-master" select="'none'" />
+  <xsl:param name="news.press.xml" select="'none'" />
+
   <xsl:output type="html" encoding="iso-8859-1"/>
 
+  <!-- for l10n -->
+  <xsl:template name="html-news-datelabel">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+    <xsl:param name="day" />
+
+    <xsl:value-of select="concat($day, '. ', $month, ' ', $year, ':')" />
+  </xsl:template>
+
   <xsl:template match="press">
     <html>
 
@@ -35,51 +47,14 @@
 	  <a href="mailto:www at FreeBSD.org">www at FreeBSD.org</a> und
 	  wir nehmen den Artikel auf.</p>
 
-	<xsl:apply-templates select="//month"/>
+	<xsl:call-template name="html-news-list-press">
+	  <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
+	  <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+	</xsl:call-template>
 
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
-
-  <!-- Everything that follows are templates for the rest of the content -->
-
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>      
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::story"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="story">
-    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
-    <xsl:variable name="site-url"><xsl:value-of
-    select="site-url"/></xsl:variable>
-
-    <li>
-      <a>
-	<xsl:attribute name="name">
-	  <xsl:call-template name="generate-story-anchor"/>
-	</xsl:attribute>
-      </a>
-
-      <p><a href="{$url}"><b><xsl:value-of
-        select="name"/></b></a><br/>
-
-	<a href="{$site-url}"><xsl:value-of
-	select="site-name"/></a>, <xsl:value-of select="author"/><br/>
-	<xsl:copy-of select="p/child::node()"/>
-      </p>
-    </li>
-  </xsl:template>
 </xsl:stylesheet>
Index: en/Makefile
===================================================================
RCS file: /home/ncvs/www/en/Makefile,v
retrieving revision 1.116
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.116 Makefile
--- en/Makefile	18 Dec 2004 12:35:25 -0000	1.116
+++ en/Makefile	29 Dec 2004 17:35:26 -0000
@@ -89,7 +89,9 @@
 .include "${WEB_PREFIX}/share/mk/web.site.mk"
 
 index.html: index.xsl ${XML_INCLUDES}\
-		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
+		${XML_NEWS_INCLUDES} \
+		${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
+		${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
 		${XML_MIRRORS} ${XML_TRANSTABLE} \
 		${XML_ADVISORIES} ${XML_NOTICES} \
 		${XML_NAVIGATION}
@@ -98,7 +100,9 @@
 		--param advisories.xml "'${XML_ADVISORIES}'" \
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param navigation.xml "'${XML_NAVIGATION}'" \
+		--param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
+		--param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
 		--param notices.xml "'${XML_NOTICES}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
Index: en/index.xsl
===================================================================
RCS file: /home/ncvs/www/en/index.xsl,v
retrieving revision 1.120
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.120 index.xsl
--- en/index.xsl	23 Dec 2004 22:29:28 -0000	1.120
+++ en/index.xsl	29 Dec 2004 18:41:11 -0000
@@ -14,7 +14,9 @@
   <xsl:param name="advisories.xml" select="'none'"/>
   <xsl:param name="notices.xml" select="'none'"/>
   <xsl:param name="mirrors.xml" select="'none'"/>
+  <xsl:param name="news.press.xml-master" select="'none'"/>
   <xsl:param name="news.press.xml" select="'none'"/>
+  <xsl:param name="news.project.xml-master" select="'none'"/>
   <xsl:param name="news.project.xml" select="'none'"/>
 
   <xsl:output type="html" encoding="iso-8859-1"
@@ -253,12 +255,13 @@
 			    <font color="#990000">(<a href="news/news.rdf">RSS</a>)</font><br/>
 			    <font size="-1">Latest update:
 			      <xsl:call-template name="html-index-news-project-items-lastmodified">
-				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-project-items">
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
 			      </xsl:call-template>
 
@@ -269,12 +272,13 @@
 			    <font size="-1">
 			      Latest update:
 			      <xsl:call-template name="html-index-news-press-items-lastmodified">
-				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-press-items">
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
 			      </xsl:call-template>
 
Index: en/news/Makefile
===================================================================
RCS file: /home/ncvs/www/en/news/Makefile,v
retrieving revision 1.39
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.39 Makefile
--- en/news/Makefile	12 Jan 2004 21:26:59 -0000	1.39
+++ en/news/Makefile	22 Nov 2004 17:43:50 -0000
@@ -37,9 +37,13 @@
 DATA=		newsflash.html news.rdf press.html
 CLEANFILES+=	newsflash.html news.rdf press.html
 
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
+
 newsflash.html: newsflash.xsl news.xml\
-			includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+			includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
+		--param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
+		--param "news.project.xml" "'${XML_NEWS_NEWS}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
 .if !defined(NO_TIDY)
@@ -47,18 +51,18 @@
 .endif
 
 news.rdf: news-rdf.xsl news.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
 
 press.html: press.xsl press.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
+		--param "news.press.xml" "'${XML_NEWS_PRESS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/press.xsl ${.CURDIR}/press.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
-
-.include "${WEB_PREFIX}/share/mk/web.site.mk"
Index: en/news/news.xml
===================================================================
RCS file: /home/ncvs/www/en/news/news.xml,v
retrieving revision 1.256
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.256 news.xml
--- en/news/news.xml	28 Dec 2004 07:10:30 -0000	1.256
+++ en/news/news.xml	29 Dec 2004 17:31:50 -0000
@@ -147,6 +147,12 @@
 	      href="mailto:carvay at FreeBSD.org">Vicente Carrasco</a>
 	      (doc)</p>
 	  </event>
+
+	  <event>
+	    <p>HOE committer: <a
+	      href="mailto:carvay at FreeBSD.org">Vicente Carrasco</a>
+	      (doc)</p>
+	  </event>
 	</day>
 
 	<day>
Index: en/news/newsflash.xsl
===================================================================
RCS file: /home/ncvs/www/en/news/newsflash.xsl,v
retrieving revision 1.11
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.11 newsflash.xsl
--- en/news/newsflash.xsl	8 Apr 2004 19:11:49 -0000	1.11
+++ en/news/newsflash.xsl	22 Nov 2004 17:56:40 -0000
@@ -14,6 +14,9 @@
   <xsl:variable name="date">
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
+
+  <xsl:param name="news.project.xml-master" select="'none'" />
+  <xsl:param name="news.project.xml" select="'none'" />
   
   <xsl:output type="html" encoding="iso-8859-1"/>
 
@@ -63,70 +66,19 @@
 	<p>For FreeBSD Security Advisories, please refer to the 
 	  <a href="{$base}/security/#adv">Security Information</a> page.</p>
 	
-	<xsl:apply-templates select="descendant::month"/>
-	
-	<p>Older announcements:
-	  <a href="2002/index.html">2002</a>,
-	  <a href="2001/index.html">2001</a>,
-	  <a href="2000/index.html">2000</a>,
-	  <a href="1999/index.html">1999</a>,
-	  <a href="1998/index.html">1998</a>,
-	  <a href="1997/index.html">1997</a>,
-	  <a href="1996/index.html">1996</a></p>
-	
+	<xsl:call-template name="html-news-list-newsflash">
+          <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
+	  <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+	</xsl:call-template>
+
+        <xsl:call-template name="html-news-make-olditems-list" />
+
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::day"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="day">
-    <xsl:apply-templates select="event"/>
-  </xsl:template>
-
-  <xsl:template match="event">
-    <li><p><a>
-	  <xsl:attribute name="name">
-	    <xsl:call-template name="generate-event-anchor"/>
-	  </xsl:attribute>
-	</a>
-
-	<b><xsl:value-of select="ancestor::day/name"/>
-	  <xsl:text> </xsl:text>
-	  <xsl:call-template name="transtable-lookup">
-	    <xsl:with-param name="word-group" select="'number-month'" />
-	    <xsl:with-param name="word">
-	      <xsl:value-of select="ancestor::month/name"/>
-	    </xsl:with-param>
-	  </xsl:call-template>
-	  <xsl:text>, </xsl:text>
-	  <xsl:value-of select="ancestor::year/name"/>:</b><xsl:text> </xsl:text>
-	<xsl:apply-templates select="p"/>
-	</p>
-
-    </li>
-  </xsl:template>
-
-  <xsl:template match="date"/>    <!-- Deliberately left blank -->
-
   <!-- When the href attribute contains a '$base', expand it to the current
        value of the $base variable. -->
 
Index: en/news/press.xsl
===================================================================
RCS file: /home/ncvs/www/en/news/press.xsl,v
retrieving revision 1.9
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.9 press.xsl
--- en/news/press.xsl	13 May 2004 20:52:49 -0000	1.9
+++ en/news/press.xsl	22 Nov 2004 17:47:04 -0000
@@ -14,6 +14,9 @@
   <xsl:variable name="date">
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
+
+  <xsl:param name="news.press.xml-master" select="'none'" />
+  <xsl:param name="news.press.xml" select="'none'" />
   
   <xsl:output type="html" encoding="iso-8859-1"/>
 
@@ -31,58 +34,14 @@
 	  <a href="mailto:www at FreeBSD.org">www at FreeBSD.org</a> so that we can
 	  include them.</p>
 
-	<xsl:apply-templates select="//month"/>
+	<xsl:call-template name="html-news-list-press">
+          <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
+          <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+	</xsl:call-template>
 
-	<p>Older press publications:
-	  <a href="2002/press.html">2002</a>,
-	  <a href="2001/press.html">2001</a>,
-	  <a href="2000/press.html">2000</a>,
-	  <a href="1999/press.html">1999</a>,
-	  <a href="1998/press.html">1998-1996</a></p>
-	
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
-
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::story"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="story">
-    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
-    <xsl:variable name="site-url"><xsl:value-of
-    select="site-url"/></xsl:variable>
-
-    <li>
-      <a>
-	<xsl:attribute name="name">
-	  <xsl:call-template name="generate-story-anchor"/>
-	</xsl:attribute>
-      </a>
-
-      <p><a href="{$url}"><b><xsl:value-of
-      select="name"/></b></a><br/>
-	  
-	<a href="{$site-url}"><xsl:value-of
-	select="site-name"/></a>, <xsl:value-of select="author"/><br/>
-	<xsl:copy-of select="p/child::node()"/>
-      </p>
-    </li>
-  </xsl:template>
 </xsl:stylesheet>
Index: fr/Makefile
===================================================================
RCS file: /home/ncvs/www/fr/Makefile,v
retrieving revision 1.7
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.7 Makefile
--- fr/Makefile	6 Oct 2004 12:55:04 -0000	1.7
+++ fr/Makefile	29 Dec 2004 19:20:24 -0000
@@ -92,15 +92,22 @@
 .include "${WEB_PREFIX}/share/mk/web.site.mk"
 
 index.html: index.xsl ${XML_INCLUDES}\
-		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
-		${XML_MIRRORS} ${XML_TRANSTABLE} ${XML_ADVISORIES} ${XML_NAVIGATION}
+		${XML_NEWS_INCLUDES} \
+		${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
+		${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
+		${XML_MIRRORS} ${XML_TRANSTABLE} \
+		${XML_ADVISORIES} ${XML_NOTICES} \
+		${XML_NAVIGATION}
 	${XSLTPROC} ${XSLTPROCOPTS} \
 		-o $@ \
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param advisories.xml "'${XML_ADVISORIES}'" \
+		--param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
+		--param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param notices.xml "'${XML_NOTICES}'" \
 		--param navigation.xml "'${XML_NAVIGATION}'" \
 		${.CURDIR}/index.xsl ${XML_NEWS_NEWS}
 .if !defined(NO_TIDY)
Index: fr/index.xsl
===================================================================
RCS file: /home/ncvs/www/fr/index.xsl,v
retrieving revision 1.11
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.11 index.xsl
--- fr/index.xsl	24 Nov 2004 21:29:06 -0000	1.11
+++ fr/index.xsl	29 Dec 2004 18:48:26 -0000
@@ -21,7 +21,9 @@
   <xsl:param name="advisories.xml" select="'none'"/>
   <xsl:param name="notices.xml" select="'none'"/>
   <xsl:param name="mirrors.xml" select="'none'"/>
+  <xsl:param name="news.press.xml-master" select="'none'"/>
   <xsl:param name="news.press.xml" select="'none'"/>
+  <xsl:param name="news.project.xml-master" select="'none'"/>
   <xsl:param name="news.project.xml" select="'none'"/>
 
   <xsl:output type="html" encoding="iso-8859-1"
@@ -281,12 +283,13 @@
              <font color="#990000">(<a href="news/news.rdf">RSS</a>)</font><br/>
 			    <font size="-1">Dernière mise à jour :
 			      <xsl:call-template name="html-index-news-project-items-lastmodified">
-				     <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+				     <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
-			      
+
 			      <xsl:call-template name="html-index-news-project-items">
+				     <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 				     <xsl:with-param name="news.project.xml" select="$news.project.xml" />
 			      </xsl:call-template>
 
@@ -298,12 +301,13 @@
 			    <font size="-1">
 			      Dernière mise à jour :
 			      <xsl:call-template name="html-index-news-press-items-lastmodified">
-				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-press-items">
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
 			      </xsl:call-template>
 			      
Index: fr/news/Makefile
===================================================================
RCS file: /home/ncvs/www/fr/news/Makefile,v
retrieving revision 1.7
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.7 Makefile
--- fr/news/Makefile	29 Feb 2004 13:20:40 -0000	1.7
+++ fr/news/Makefile	22 Nov 2004 18:46:49 -0000
@@ -40,28 +40,32 @@
 DATA=		newsflash.html news.rdf press.html
 CLEANFILES+=	newsflash.html news.rdf press.html
 
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
+
 newsflash.html: newsflash.xsl news.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+			includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
+		--param "news.project.xml" "'${XML_NEWS_NEWS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
 
 news.rdf: news-rdf.xsl news.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
 
 press.html: press.xsl press.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
+		--param "news.press.xml" "'${XML_NEWS_PRESS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/press.xsl ${.CURDIR}/press.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
-
-.include "${WEB_PREFIX}/share/mk/web.site.mk"
Index: fr/news/newsflash.xsl
===================================================================
RCS file: /home/ncvs/www/fr/news/newsflash.xsl,v
retrieving revision 1.6
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.6 newsflash.xsl
--- fr/news/newsflash.xsl	7 Aug 2004 15:33:38 -0000	1.6
+++ fr/news/newsflash.xsl	22 Nov 2004 18:48:30 -0000
@@ -24,6 +24,9 @@
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
 
+  <xsl:param name="news.project.xml-master" select="'none'" />
+  <xsl:param name="news.project.xml" select="'none'" />
+
   <xsl:output type="html" encoding="iso-8859-1"/>
 
   <xsl:template match="news">
@@ -72,70 +75,28 @@
 	<p>Pour les avis de sécurité concernant FreeBSD, veuillez consulter la page
 	  <a href="{$base}/security/#adv">d'information sur la sécurité</a>.</p>
 
-	<xsl:apply-templates select="descendant::month"/>
+	<xsl:call-template name="html-news-list-newsflash">
+          <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
+          <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+	</xsl:call-template>
 
-	<p>Anciennes annonces :
-          <a href="2002/index.html">2002</a>,
-          <a href="2001/index.html">2001</a>,
-	  <a href="2000/index.html">2000</a>,
-	  <a href="1999/index.html">1999</a>,
-	  <a href="1998/index.html">1998</a>,
-	  <a href="1997/index.html">1997</a>,
-	  <a href="1996/index.html">1996</a></p>
-	
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::day"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="day">
-    <xsl:apply-templates select="event"/>
-  </xsl:template>
-
-  <xsl:template match="event">
-    <li><p><a>
-	  <xsl:attribute name="name">
-	    <xsl:call-template name="generate-event-anchor"/>
-	  </xsl:attribute>
-	</a>
-
-	<b><xsl:value-of select="ancestor::day/name"/>
-	  <xsl:text> </xsl:text>
-	  <xsl:call-template name="transtable-lookup">
-	    <xsl:with-param name="word-group" select="'number-month'" />
-	    <xsl:with-param name="word">
-	      <xsl:value-of select="ancestor::month/name"/>
-	    </xsl:with-param>
-	  </xsl:call-template>
-	  <xsl:text>, </xsl:text>
-	  <xsl:value-of select="ancestor::year/name"/>:</b><xsl:text> </xsl:text>
-	<xsl:apply-templates select="p"/>
-	</p>
-
-    </li>
+  <xsl:template name="html-news-make-olditems-list">
+    <p>Anciennes annonces :
+      <a href="2002/index.html">2002</a>,
+      <a href="2001/index.html">2001</a>,
+      <a href="2000/index.html">2000</a>,
+      <a href="1999/index.html">1999</a>,
+      <a href="1998/index.html">1998</a>,
+      <a href="1997/index.html">1997</a>,
+      <a href="1996/index.html">1996</a></p>
   </xsl:template>
 
-  <xsl:template match="date"/>    <!-- Deliberately left blank -->
-
   <!-- When the href attribute contains a '$base', expand it to the current
        value of the $base variable. -->
 
Index: fr/news/press.xsl
===================================================================
RCS file: /home/ncvs/www/fr/news/press.xsl,v
retrieving revision 1.2
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.2 press.xsl
--- fr/news/press.xsl	8 Jan 2004 00:26:44 -0000	1.2
+++ fr/news/press.xsl	22 Nov 2004 18:49:29 -0000
@@ -23,6 +23,9 @@
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
 
+  <xsl:param name="news.press.xml-master" select="'none'" />
+  <xsl:param name="news.press.xml" select="'none'" />
+
   <xsl:output type="html" encoding="iso-8859-1"/>
 
   <xsl:template match="press">
@@ -41,46 +44,15 @@
 
 	<p>Vous pouvez également consulter la page <a href="{$base}/java/press.html">FreeBSD/Java
 	    dans la Presse</a> pour des nouvelles sur le projet Java pour FreeBSD</p>
-	
-	<xsl:apply-templates select="//month"/>
-	
+
+	<xsl:call-template name="html-news-list-press">
+	  <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
+	  <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+	</xsl:call-template>
+
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
-
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1><xsl:value-of select="name"/>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::story"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="story">
-    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
-    <xsl:variable name="site-url"><xsl:value-of
-    select="site-url"/></xsl:variable>
-
-    <li>
-      <a>
-	<xsl:attribute name="name">
-	  <xsl:call-template name="generate-story-anchor"/>
-	</xsl:attribute>
-      </a>
-
-      <p><a href="{$url}"><b><xsl:value-of
-      select="name"/></b></a><br/>
-	  
-	<a href="{$site-url}"><xsl:value-of
-	select="site-name"/></a>, <xsl:value-of select="author"/><br/>
-	<xsl:copy-of select="p/child::node()"/>
-      </p>
-    </li>
-  </xsl:template>
 </xsl:stylesheet>
Index: ja/Makefile
===================================================================
RCS file: /home/ncvs/www/ja/Makefile,v
retrieving revision 1.67
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.67 Makefile
--- ja/Makefile	9 Dec 2004 19:48:57 -0000	1.67
+++ ja/Makefile	29 Dec 2004 17:37:09 -0000
@@ -87,15 +87,20 @@
 .include "${WEB_PREFIX}/share/mk/web.site.mk"
 
 index.html: index.xsl ${XML_INCLUDES}\
-		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
-		${XML_MIRRORS} ${XML_ADVISORIES} \
-		${XML_NOTICES} ${XML_NAVIGATION}
+		${XML_NEWS_INCLUDES} \
+		${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
+		${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
+		${XML_MIRRORS} ${XML_TRANSTABLE} \
+		${XML_ADVISORIES} ${XML_NOTICES} \
+		${XML_NAVIGATION}
 	${XSLTPROC} ${XSLTPROCOPTS} \
 		-o $@ \
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param advisories.xml "'${XML_ADVISORIES}'" \
 		--param notices.xml "'${XML_NOTICES}'" \
+		--param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
+		--param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		--param navigation.xml "'${XML_NAVIGATION}'" \
Index: ja/includes.xsl
===================================================================
RCS file: /home/ncvs/www/ja/includes.xsl,v
retrieving revision 1.22
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.22 includes.xsl
--- ja/includes.xsl	9 Dec 2004 20:11:38 -0000	1.22
+++ ja/includes.xsl	29 Dec 2004 18:22:53 -0000
@@ -102,32 +102,32 @@
   <!-- template: "html-index-news-project-items-lastmodified" -->
 
   <xsl:template name="html-index-news-project-items-lastmodified">
-    <xsl:param name="news.project.xml" select="''" />
+    <xsl:param name="news.project.xml-master" select="''" />
 
-    <xsl:value-of select="document($news.project.xml)/descendant::year[position() = 1]/name"/>
+    <xsl:value-of select="document($news.project.xml-master)/descendant::year[position() = 1]/name"/>
     <xsl:text> ?? </xsl:text>
     <xsl:call-template name="transtable-lookup">
       <xsl:with-param name="word-group" select="'number-month'" />
       <xsl:with-param name="word">
-	<xsl:value-of select="document($news.project.xml)/descendant::month[position() = 1]/name"/>
+	<xsl:value-of select="document($news.project.xml-master)/descendant::month[position() = 1]/name"/>
       </xsl:with-param>
     </xsl:call-template>
     <xsl:text> </xsl:text>
-    <xsl:value-of select="document($news.project.xml)/descendant::day[position() = 1]/name"/>
+    <xsl:value-of select="document($news.project.xml-master)/descendant::day[position() = 1]/name"/>
     <xsl:text> ?? </xsl:text>
   </xsl:template>
 
   <!-- template: "html-index-news-press-items-lastmodified" -->
 
   <xsl:template name="html-index-news-press-items-lastmodified">
-    <xsl:param name="news.press.xml" select="''" />
+    <xsl:param name="news.press.xml-master" select="''" />
 
-    <xsl:value-of select="document($news.press.xml)/descendant::year[position() = 1]/name"/>
+    <xsl:value-of select="document($news.press.xml-master)/descendant::year[position() = 1]/name"/>
     <xsl:text> ?? </xsl:text>
     <xsl:call-template name="transtable-lookup">
       <xsl:with-param name="word-group" select="'number-month'" />
       <xsl:with-param name="word">
-	<xsl:value-of select="document($news.press.xml)/descendant::month[position() = 1]/name"/>
+	<xsl:value-of select="document($news.press.xml-master)/descendant::month[position() = 1]/name"/>
       </xsl:with-param>
     </xsl:call-template>
     <xsl:text> </xsl:text>
Index: ja/index.xsl
===================================================================
RCS file: /home/ncvs/www/ja/index.xsl,v
retrieving revision 1.38
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.38 index.xsl
--- ja/index.xsl	9 Dec 2004 19:48:57 -0000	1.38
+++ ja/index.xsl	29 Dec 2004 18:53:36 -0000
@@ -18,7 +18,9 @@
   <xsl:param name="advisories.xml" select="'none'"/>
   <xsl:param name="notices.xml" select="'none'"/>
   <xsl:param name="mirrors.xml" select="'none'"/>
+  <xsl:param name="news.press.xml-master" select="'none'"/>
   <xsl:param name="news.press.xml" select="'none'"/>
+  <xsl:param name="news.project.xml-master" select="'none'"/>
   <xsl:param name="news.project.xml" select="'none'"/>
 
   <xsl:output type="html" encoding="EUC-JP"
@@ -32,7 +34,7 @@
 	<meta name="description" content="The FreeBSD Project"/>
 
 	<meta name="keywords" content="FreeBSD, BSD, UNIX, Support, Gallery,
-	      Release, Application, Software, Handbook, FAQ, Tutorials, Bugs, 
+	      Release, Application, Software, Handbook, FAQ, Tutorials, Bugs,
 	      CVS, CVSup, News, Commercial Vendors, homepage, CTM, Unix"/>
 	<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
 	<link rel="icon" href="/favicon.ico" type="image/x-icon"/>
@@ -53,7 +55,7 @@
 		     alt="FreeBSD: ??????????????????????????" border="0"/></a></td>
 
 	    <td align="right" valign="bottom">
-	      <form action="http://www.FreeBSD.org/cgi/mirror.cgi" 
+	      <form action="http://www.FreeBSD.org/cgi/mirror.cgi"
 		    method="get">
 
 		<br/>
@@ -63,7 +65,7 @@
 		<br/>
 
 		<select name="goto">
-		  <!--  Only list TRUE mirrors here! Native language pages 
+		  <!--  Only list TRUE mirrors here! Native language pages
 		        which are not mirrored should be listed in
 		        support.sgml.  -->
 
@@ -269,14 +271,15 @@
 			    <xsl:text> </xsl:text>
 			    <font color="#990000">(<a href="{$enbase}/news/news.rdf">RSS</a>)</font><br/>
 			    <font size="-1">
-			      ????????: 
+			      ????????:
 			      <xsl:call-template name="html-index-news-project-items-lastmodified">
-				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-project-items">
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
 			      </xsl:call-template>
 
@@ -286,14 +289,15 @@
 			  <p><font size="+1" color="#990000"><b>FreeBSD Press</b></font><br/>
 
 			    <font size="-1">
-			      ????????: 
+			      ????????:
 			      <xsl:call-template name="html-index-news-press-items-lastmodified">
-				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-press-items">
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
 			      </xsl:call-template>
 
@@ -306,7 +310,7 @@
 			    <font color="#990000">(<a href="{$enbase}/security/advisories.rdf">RSS</a>)</font><br/>
 
 			    <font size="-1">
-			      ????????: 
+			      ????????:
 			      <xsl:call-template name="html-index-advisories-items-lastmodified">
 				<xsl:with-param name="advisories.xml" select="$advisories.xml" />
 				<xsl:with-param name="type" select="'advisory'" />
@@ -403,7 +407,7 @@
 		valign="top"><small><a href="{$base}/mailto.html">??????????????</a> : <a href="jabout.html">????????????????</a><br/>
 		<xsl:value-of select="$date"/></small></td>
 
-	    <td align="right" 
+	    <td align="right"
 		valign="top"><small><a href="copyright/index.html">??????????????????</a><br/> © 1995-2004
 		The FreeBSD Project.<br/>
 		All rights reserved.</small></td>
Index: ja/news/Makefile
===================================================================
RCS file: /home/ncvs/www/ja/news/Makefile,v
retrieving revision 1.35
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.35 Makefile
--- ja/news/Makefile	21 Sep 2003 17:18:14 -0000	1.35
+++ ja/news/Makefile	22 Nov 2004 17:49:52 -0000
@@ -37,22 +37,33 @@
 #SUBDIR+=	status
 
 DATA=		newsflash.html press.html
-#+= news.rdf
 CLEANFILES+=	newsflash.html press.html
 
-newsflash.html: newsflash.xsl news.xml includes.xsl ../includes.xsl
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
+
+newsflash.html: newsflash.xsl news.xml\
+			includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
+		--param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
+		--param "news.project.xml" "'${XML_NEWS_NEWS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
 
-news.rdf: news-rdf.xsl news.xml includes.xsl ../includes.xsl
+news.rdf: news-rdf.xsl news.xml\
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
+		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
 
-press.html: press.xsl press.xml includes.xsl ../includes.xsl
+press.html: press.xsl press.xml\
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
+		--param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
+		--param "news.press.xml" "'${XML_NEWS_PRESS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/press.xsl ${.CURDIR}/press.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
@@ -60,5 +71,3 @@
 
 ### Revision checking
 REVCHECK=	YES
-
-.include "${WEB_PREFIX}/share/mk/web.site.mk"
Index: ja/news/newsflash.xsl
===================================================================
RCS file: /home/ncvs/www/ja/news/newsflash.xsl,v
retrieving revision 1.9
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.9 newsflash.xsl
--- ja/news/newsflash.xsl	3 Nov 2003 11:41:05 -0000	1.9
+++ ja/news/newsflash.xsl	22 Nov 2004 18:11:17 -0000
@@ -16,6 +16,9 @@
   <xsl:variable name="date">
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
+
+  <xsl:param name="news.project.xml-master" select="'none'" />
+  <xsl:param name="news.project.xml" select="'none'" />
   
   <xsl:output type="html" encoding="EUC-JP"/>
 
@@ -64,54 +67,45 @@
 	<p>FreeBSD ????????????????????????????<a href="{$base}/security/#adv">
 	  ????????????????</a> ????????????????????????</p>
 	
-	<xsl:apply-templates select="descendant::month"/>
-	
-	<p>Older announcements:
-	  <a href="{$enbase}/news/2002/index.html">2002</a>,
-	  <a href="{$enbase}/news/2001/index.html">2001</a>,
-	  <a href="2000/index.html">2000</a>,
-	  <a href="1999/index.html">1999</a>,
-	  <a href="1998/index.html">1998</a>,
-	  <a href="1997/index.html">1997</a>,
-	  <a href="1996/index.html">1996</a></p>
-	
+	<xsl:call-template name="html-news-list-newsflash">
+          <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
+          <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+	</xsl:call-template>
+
+        <xsl:call-template name="html-news-make-olditems-list" />
+
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1><xsl:value-of select="ancestor::year/name"/>
-      <xsl:text>?? </xsl:text>
-      <xsl:value-of select="name"/> ??</h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::day"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="day">
-    <xsl:apply-templates select="event"/>
+  <!-- for l10n -->
+  <xsl:template name="html-news-datelabel">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+    <xsl:param name="day" />
+    <xsl:value-of select="concat($month, ' ', $day, ' ??:')" />
   </xsl:template>
 
-  <xsl:template match="event">
-    <li><p><a>
-	  <xsl:attribute name="name">
-	    <xsl:call-template name="generate-event-anchor"/>
-	  </xsl:attribute>
-	</a>
-
-	<b><xsl:value-of select="format-number(number(ancestor::year/name),'0000')"/>/<xsl:value-of select="format-number(number(ancestor::month/name),'00')"/>/<xsl:value-of select="format-number(number(ancestor::day/name),'00')"/>:</b><xsl:text> </xsl:text>
-	<xsl:apply-templates select="p"/>
-	</p>
+  <!-- for l10n -->
+  <xsl:template name="html-news-month-headings">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
 
-    </li>
+    <xsl:value-of select="concat($year, ' ?? ', $month)" />
   </xsl:template>
 
-  <xsl:template match="date"/>    <!-- Deliberately left blank -->
+  <xsl:template name="html-news-make-olditems-list">
+    <p>??????????????:
+      <a href="2002/index.html">2002</a>,
+      <a href="2001/index.html">2001</a>,
+      <a href="2000/index.html">2000</a>,
+      <a href="1999/index.html">1999</a>,
+      <a href="1998/index.html">1998</a>,
+      <a href="1997/index.html">1997</a>,
+      <a href="1996/index.html">1996</a></p>
+  </xsl:template>
 
   <!-- When the href attribute contains a '$base', expand it to the current
        value of the $base variable. -->
Index: ja/news/press.xsl
===================================================================
RCS file: /home/ncvs/www/ja/news/press.xsl,v
retrieving revision 1.4
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.4 press.xsl
--- ja/news/press.xsl	3 Nov 2003 11:41:05 -0000	1.4
+++ ja/news/press.xsl	22 Nov 2004 18:12:14 -0000
@@ -14,9 +14,20 @@
   <xsl:variable name="base" select="'..'"/>
   <xsl:variable name="title" select="'FreeBSD In The Press'"/>
   <xsl:variable name="date" select="'$FreeBSD: www/ja/news/press.xsl,v 1.4 2003/11/03 11:41:05 rushani Exp $'"/>
+
+  <xsl:param name="news.press.xml-master" select="'none'" />
+  <xsl:param name="news.press.xml" select="'none'" />
   
   <xsl:output type="html" encoding="EUC-JP"/>
 
+  <!-- for l10n -->
+  <xsl:template name="html-news-month-headings">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+
+    <xsl:value-of select="concat($year, ' ?? ', $month)" />
+  </xsl:template>
+
   <xsl:template match="press">
     <html>
       
@@ -35,43 +46,14 @@
 	  <a href="{$base}/java/press.html">FreeBSD/Java Press</a>
 	  ??????????????</p>
 	
-	<xsl:apply-templates select="//month"/>
-	
+	<xsl:call-template name="html-news-list-press">
+	  <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
+	  <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+	</xsl:call-template>
+
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
       </body>
     </html>
   </xsl:template>
-
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1><xsl:value-of select="ancestor::year/name"/> ?? <xsl:value-of select="name"/> ??</h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::story"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="story">
-    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
-    <xsl:variable name="site-url"><xsl:value-of
-    select="site-url"/></xsl:variable>
-
-    <li>
-      <a>
-	<xsl:attribute name="name">
-	  <xsl:call-template name="generate-story-anchor"/>
-	</xsl:attribute>
-      </a>
-
-      <p><a href="{$url}"><b><xsl:value-of
-      select="name"/></b></a><br/>
-	  
-	<a href="{$site-url}"><xsl:value-of
-	select="site-name"/></a>, <xsl:value-of select="author"/><br/>
-	<xsl:copy-of select="p/child::node()"/>
-      </p>
-    </li>
-  </xsl:template>
 </xsl:stylesheet>
Index: ru/Makefile
===================================================================
RCS file: /home/ncvs/www/ru/Makefile,v
retrieving revision 1.41
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.41 Makefile
--- ru/Makefile	2 Nov 2004 08:53:08 -0000	1.41
+++ ru/Makefile	29 Dec 2004 18:54:56 -0000
@@ -82,7 +82,9 @@
 XML_NEWS_PRESS=		${XML_NEWS_PRESS_MASTER}
 
 index.html: index.xsl ${XML_INCLUDES}\
-		${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\
+		${XML_NEWS_INCLUDES} \
+		${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
+		${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
 		${XML_MIRRORS} ${XML_TRANSTABLE} \
 		${XML_ADVISORIES} ${XML_NOTICES} \
 		${XML_NAVIGATION}
@@ -91,7 +93,9 @@
 		--param mirrors.xml "'${XML_MIRRORS}'" \
 		--param advisories.xml "'${XML_ADVISORIES}'" \
 		--param notices.xml "'${XML_NOTICES}'" \
+		--param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
 		--param news.press.xml "'${XML_NEWS_PRESS}'" \
+		--param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
 		--param news.project.xml "'${XML_NEWS_NEWS}'" \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		--param navigation.xml "'${XML_NAVIGATION}'" \
Index: ru/index.xsl
===================================================================
RCS file: /home/ncvs/www/ru/index.xsl,v
retrieving revision 1.23
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.23 index.xsl
--- ru/index.xsl	9 Nov 2004 14:41:00 -0000	1.23
+++ ru/index.xsl	29 Dec 2004 18:56:52 -0000
@@ -24,6 +24,8 @@
   <xsl:param name="notices.xml" select="'none'"/>
   <xsl:param name="mirrors.xml" select="'none'"/>
   <xsl:param name="news.press.xml" select="'none'"/>
+  <xsl:param name="news.press.xml-master" select="'none'"/>
+  <xsl:param name="news.project.xml-master" select="'none'"/>
   <xsl:param name="news.project.xml" select="'none'"/>
 
   <xsl:output type="html" encoding="koi8-r"
@@ -290,11 +292,12 @@
 			    <font size="-1">
 			      ????????? ?????????: 
 			      <xsl:call-template name="html-index-news-project-items-lastmodified">
-				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 			      </xsl:call-template>
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-project-items">
+				<xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
 				<xsl:with-param name="news.project.xml" select="$news.project.xml" />
 			      </xsl:call-template>
 
@@ -306,12 +309,13 @@
 			    <font size="-1">
 			      ????????? ?????????: 
 			      <xsl:call-template name="html-index-news-press-items-lastmodified">
-				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 			      </xsl:call-template>
 
 			      <br/>
 
 			      <xsl:call-template name="html-index-news-press-items">
+				<xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
 				<xsl:with-param name="news.press.xml" select="$news.press.xml" />
 			      </xsl:call-template>
 
Index: ru/news/Makefile
===================================================================
RCS file: /home/ncvs/www/ru/news/Makefile,v
retrieving revision 1.10
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.10 Makefile
--- ru/news/Makefile	9 Apr 2004 12:08:13 -0000	1.10
+++ ru/news/Makefile	22 Nov 2004 18:56:09 -0000
@@ -37,25 +37,31 @@
 DATA=		newsflash.html news.rdf press.html
 CLEANFILES+=	newsflash.html news.rdf press.html
 
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
+
 newsflash.html: newsflash.xsl news.xml\
-			includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
+		--param "news.project.xml" "'${XML_NEWS_NEWS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
 .endif
 
 news.rdf: news-rdf.xsl news.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
 		--param transtable.xml "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
 
 press.html: press.xsl press.xml\
-		includes.xsl ../includes.xsl ${XML_TRANSTABLE}
+		includes.xsl ${XML_INCLUDES}
 	${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
-		--param transtable.xml "'${XML_TRANSTABLE}'" \
+		--param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
+		--param "news.press.xml" "'${XML_NEWS_PRESS}'" \
+		--param "transtable.xml" "'${XML_TRANSTABLE}'" \
 		${.CURDIR}/press.xsl ${.CURDIR}/press.xml
 .if !defined(NO_TIDY)
 	-${TIDY} ${TIDYOPTS} ${.TARGET}
Index: ru/news/newsflash.xsl
===================================================================
RCS file: /home/ncvs/www/ru/news/newsflash.xsl,v
retrieving revision 1.7
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.7 newsflash.xsl
--- ru/news/newsflash.xsl	9 Apr 2004 11:57:33 -0000	1.7
+++ ru/news/newsflash.xsl	22 Nov 2004 18:57:21 -0000
@@ -74,16 +74,12 @@
 	<p>????????? ?? ???????????? FreeBSD ????????? ?? ???????? <a
 	  href="{$base}/security/#adv">?????????? ? ????????????</a>.</p>
 
-	<xsl:apply-templates select="descendant::month"/>
+	<xsl:call-template name="html-news-list-newsflash">
+          <xsl:with-param name="news.project.xml-master" select="$news.project.xml-master" />
+          <xsl:with-param name="news.project.xml" select="$news.project.xml" />
+	</xsl:call-template>
 
-	<p>?????? ??????? ???:
-          <a href="2002/index.html">2002</a>,
-          <a href="2001/index.html">2001</a>,
-	  <a href="2000/index.html">2000</a>,
-	  <a href="1999/index.html">1999</a>,
-	  <a href="1998/index.html">1998</a>,
-	  <a href="1997/index.html">1997</a>,
-	  <a href="1996/index.html">1996</a></p>
+	<xsl:call-template name="html-news-make-olditems-list" />
 
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
@@ -91,53 +87,17 @@
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::day"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="day">
-    <xsl:apply-templates select="event"/>
-  </xsl:template>
-
-  <xsl:template match="event">
-    <li><p><a>
-	  <xsl:attribute name="name">
-	    <xsl:call-template name="generate-event-anchor"/>
-	  </xsl:attribute>
-	</a>
-
-	<b><xsl:value-of select="ancestor::day/name"/>
-	  <xsl:text> </xsl:text>
-	  <xsl:call-template name="transtable-lookup">
-	    <xsl:with-param name="word-group" select="'number-month'" />
-	    <xsl:with-param name="word">
-	      <xsl:value-of select="ancestor::month/name"/>
-	    </xsl:with-param>
-	  </xsl:call-template>
-	  <xsl:text>, </xsl:text>
-	  <xsl:value-of select="ancestor::year/name"/>:</b><xsl:text> </xsl:text>
-	<xsl:apply-templates select="p"/>
-	</p>
-
-    </li>
+  <xsl:template name="html-news-make-olditems-list">
+    <p>?????? ??????? ???:
+      <a href="2002/index.html">2002</a>,
+      <a href="2001/index.html">2001</a>,
+      <a href="2000/index.html">2000</a>,
+      <a href="1999/index.html">1999</a>,
+      <a href="1998/index.html">1998</a>,
+      <a href="1997/index.html">1997</a>,
+      <a href="1996/index.html">1996</a></p>
   </xsl:template>
 
-  <xsl:template match="date"/>    <!-- Deliberately left blank -->
-
   <!-- When the href attribute contains a '$base', expand it to the current
        value of the $base variable. -->
 
Index: ru/news/press.xsl
===================================================================
RCS file: /home/ncvs/www/ru/news/press.xsl,v
retrieving revision 1.6
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.6 press.xsl
--- ru/news/press.xsl	9 Apr 2004 11:56:13 -0000	1.6
+++ ru/news/press.xsl	22 Nov 2004 18:59:22 -0000
@@ -20,7 +20,10 @@
   <xsl:variable name="date">
     <xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
   </xsl:variable>
-  
+
+  <xsl:param name="news.press.xml-master" select="'none'" />
+  <xsl:param name="news.press.xml" select="'none'" />
+
   <xsl:output type="html" encoding="koi8-r"/>
 
   <xsl:template match="press">
@@ -40,14 +43,12 @@
           ??????? ????????? <a
           href="{$base}/java/press.html">FreeBSD/Java ? ??????</a>.</p>
 
-	<xsl:apply-templates select="//month"/>
+	<xsl:call-template name="html-news-list-press">
+	  <xsl:with-param name="news.press.xml-master" select="$news.press.xml-master" />
+	  <xsl:with-param name="news.press.xml" select="$news.press.xml" />
+	</xsl:call-template>
 
-	<p>?????????? ??????? ???:
-	  <a href="2002/press.html">2002</a>,
-	  <a href="2001/press.html">2001</a>,
-	  <a href="2000/press.html">2000</a>,
-	  <a href="1999/press.html">1999</a>,
-	  <a href="1998/press.html">1998-1996</a></p>
+	<xsl:call-template name="html-news-make-olditems-list" />
 
 	<xsl:copy-of select="$newshome"/>
 	<xsl:copy-of select="$footer"/>
@@ -55,43 +56,12 @@
     </html>
   </xsl:template>
 
-  <!-- Everything that follows are templates for the rest of the content -->
-  
-  <xsl:template match="month">
-    <h1>
-      <xsl:call-template name="transtable-lookup">
-	<xsl:with-param name="word-group" select="'number-month'" />
-	<xsl:with-param name="word">
-	  <xsl:value-of select="name"/>
-	</xsl:with-param>
-      </xsl:call-template>
-      <xsl:text> </xsl:text>
-      <xsl:value-of select="ancestor::year/name"/></h1>
-
-    <ul>
-      <xsl:apply-templates select="descendant::story"/>
-    </ul>
-  </xsl:template>
-
-  <xsl:template match="story">
-    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
-    <xsl:variable name="site-url"><xsl:value-of
-    select="site-url"/></xsl:variable>
-
-    <li>
-      <a>
-	<xsl:attribute name="name">
-	  <xsl:call-template name="generate-story-anchor"/>
-	</xsl:attribute>
-      </a>
-
-      <p><a href="{$url}"><b><xsl:value-of
-      select="name"/></b></a><br/>
-	  
-	<a href="{$site-url}"><xsl:value-of
-	select="site-name"/></a>, <xsl:value-of select="author"/><br/>
-	<xsl:copy-of select="p/child::node()"/>
-      </p>
-    </li>
+  <xsl:template name="html-news-make-olditems-list">
+    <p>?????????? ??????? ???:
+      <a href="2002/press.html">2002</a>,
+      <a href="2001/press.html">2001</a>,
+      <a href="2000/press.html">2000</a>,
+      <a href="1999/press.html">1999</a>,
+      <a href="1998/press.html">1998-1996</a></p>
   </xsl:template>
 </xsl:stylesheet>
Index: share/sgml/includes.misc.xsl
===================================================================
RCS file: /home/ncvs/www/share/sgml/includes.misc.xsl,v
retrieving revision 1.13
diff -d -u -I\$FreeBSD:.*\$ -I\$NetBSD:.*\$ -I\$OpenBSD:.*\$ -I\$DragonFly:.*\$ -I\$Id:.*\$ -I\$hrs:.*\$ -r1.13 includes.misc.xsl
--- share/sgml/includes.misc.xsl	27 Jun 2004 19:18:00 -0000	1.13
+++ share/sgml/includes.misc.xsl	29 Dec 2004 18:18:35 -0000
@@ -25,6 +25,13 @@
   <!--
      template name                               used in
 
+     html-news-list-newsflash                    news/newsflash.xsl
+     html-news-list-press                        news/press.xsl
+     html-news-list-datelabel                    news/newsflash.xsl (for l10n)
+     html-news-generate-anchor                   news/newsflash.xsl
+     html-news-make-olditems-list                news/newsflash.xsl (for l10n)
+     html-news-month-headings                    news/newsflash.xsl (for l10n)
+
      html-list-advisories                        security/mkindex.xsl
      html-list-advisories-putitems               security/mkindex.xsl
      html-list-advisories-release-label          security/mkindex.xsl (for l10n)
@@ -41,6 +48,248 @@
      html-index-mirrors-options-list             index.xsl
   -->
 
+  <!-- template: "html-news-make-olditems-list" -->
+  <xsl:template name="html-news-make-olditems-list">
+    <p>Old announcement:
+      <a href="2002/index.html">2002</a>,
+      <a href="2001/index.html">2001</a>,
+      <a href="2000/index.html">2000</a>,
+      <a href="1999/index.html">1999</a>,
+      <a href="1998/index.html">1998</a>,
+      <a href="1997/index.html">1997</a>,
+      <a href="1996/index.html">1996</a></p>
+  </xsl:template>
+
+  <!-- template: "html-news-list-newsflash" -->
+  <xsl:template name="html-news-list-newsflash">
+    <xsl:param name="news.project.xml-master" select="'none'" />
+    <xsl:param name="news.project.xml" select="'none'" />
+
+    <xsl:for-each select="document($news.project.xml-master)//descendant::year">
+      <xsl:param name="year" select="name" />
+
+      <xsl:for-each select="month">
+	<xsl:param name="month" select="name" />
+
+	<h1>
+	  <!-- generate month headings -->
+	  <xsl:call-template name="html-news-month-headings">
+	    <xsl:with-param name="year" select="$year" />
+	    <xsl:with-param name="month">
+	      <xsl:call-template name="transtable-lookup">
+		<xsl:with-param name="word-group" select="'number-month'" />
+		<xsl:with-param name="word" select="$month" />
+	      </xsl:call-template>
+	    </xsl:with-param>
+	  </xsl:call-template>
+	</h1>
+
+	<ul>
+	  <xsl:for-each select="day">
+	    <xsl:param name="day" select="name" />
+	    <xsl:param name="index" select="position()" />
+
+	    <!-- search localized items per day basis -->
+	    <xsl:param name="localizeditems"
+	      select="document($news.project.xml)
+	              //descendant::year[name = $year]
+	              /month[name = $month]
+	              /day[name = $day and position() = $index]" />
+
+	    <xsl:choose>
+	      <xsl:when test="$localizeditems">
+		<!-- when localized item exists -->
+		<xsl:for-each select="$localizeditems/event">
+		  <xsl:param name="anchor-position" select="position()" />
+
+		  <li><p class="localized">
+		      <a><xsl:attribute name="name">
+			  <xsl:call-template name="html-news-generate-anchor">
+			    <xsl:with-param name="label" select="local-name()" />
+			    <xsl:with-param name="year" select="$year" />
+			    <xsl:with-param name="month" select="$month" />
+			    <xsl:with-param name="day" select="$day" />
+			    <xsl:with-param name="pos" select="$anchor-position" />
+			  </xsl:call-template>
+			</xsl:attribute></a>
+		      <b><xsl:call-template name="html-news-datelabel">
+			  <xsl:with-param name="year" select="$year" />
+			  <xsl:with-param name="month">
+			    <xsl:call-template name="transtable-lookup">
+			      <xsl:with-param name="word-group" select="'number-month'" />
+			      <xsl:with-param name="word" select="$month" />
+			    </xsl:call-template>
+			  </xsl:with-param>
+			  <xsl:with-param name="day" select="$day" />
+			</xsl:call-template></b>
+		      <!-- put localized text -->
+		      <xsl:text> </xsl:text>
+		      <xsl:apply-templates select="p" />
+		    </p>
+		  </li>
+		</xsl:for-each>
+	      </xsl:when>
+
+	      <xsl:otherwise>
+		<!-- when localized item does not exist -->
+		<xsl:for-each select="event">
+		  <xsl:param name="anchor-position" select="position()" />
+
+		  <li><p class="original">
+		      <a><xsl:attribute name="name">
+			  <xsl:call-template name="html-news-generate-anchor">
+			    <xsl:with-param name="label" select="local-name()" />
+			    <xsl:with-param name="year" select="$year" />
+			    <xsl:with-param name="month" select="$month" />
+			    <xsl:with-param name="day" select="$day" />
+			    <xsl:with-param name="pos" select="$anchor-position" />
+			  </xsl:call-template>
+			</xsl:attribute></a>
+		      <b><xsl:call-template name="html-news-datelabel">
+			  <xsl:with-param name="year" select="$year" />
+			  <xsl:with-param name="month">
+			    <xsl:call-template name="transtable-lookup">
+			      <xsl:with-param name="word-group" select="'number-month'" />
+			      <xsl:with-param name="word" select="$month" />
+			    </xsl:call-template>
+			  </xsl:with-param>
+			  <xsl:with-param name="day" select="$day" />
+			</xsl:call-template></b>
+		      <!-- put English text -->
+		      <xsl:text> </xsl:text>
+		      <xsl:apply-templates select="p" />
+		    </p>
+		  </li>
+		</xsl:for-each>
+	      </xsl:otherwise>
+	    </xsl:choose>
+	  </xsl:for-each>
+	</ul>
+      </xsl:for-each>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- template: "html-news-list-press" -->
+  <xsl:template name="html-news-list-press">
+    <xsl:param name="news.press.xml-master" select="'none'" />
+    <xsl:param name="news.press.xml" select="'none'" />
+
+    <xsl:for-each select="document($news.press.xml-master)//descendant::year">
+      <xsl:param name="year" select="name" />
+
+      <xsl:for-each select="month">
+	<xsl:param name="month" select="name" />
+
+	<h1>
+	  <!-- generate month headings -->
+	  <xsl:call-template name="html-news-month-headings">
+	    <xsl:with-param name="year" select="$year" />
+	    <xsl:with-param name="month">
+	      <xsl:call-template name="transtable-lookup">
+		<xsl:with-param name="word-group" select="'number-month'" />
+		<xsl:with-param name="word" select="$month" />
+	      </xsl:call-template>
+	    </xsl:with-param>
+	  </xsl:call-template>
+	</h1>
+
+	<ul>
+	  <xsl:for-each select="story">
+	    <xsl:variable name="url"><xsl:value-of select="url"/></xsl:variable>
+	    <xsl:variable name="site-url"><xsl:value-of select="site-url"/></xsl:variable>
+
+	    <!-- search localized items per story(URL) basis -->
+	    <xsl:param name="localizeditems"
+	      select="document($news.press.xml)
+	              //descendant::year[name = $year]
+	              /month[name = $month]
+	              /story[url = $url]" />
+
+	    <xsl:param name="anchor-position" select="position()" />
+
+	    <xsl:choose>
+	      <xsl:when test="$localizeditems">
+		<xsl:for-each select="$localizeditems">
+		  <li><p>
+		      <a><xsl:attribute name="name">
+			  <xsl:call-template name="html-news-generate-anchor">
+			    <xsl:with-param name="label" select="local-name()" />
+			    <xsl:with-param name="year" select="$year" />
+			    <xsl:with-param name="month" select="$month" />
+			    <xsl:with-param name="pos" select="$anchor-position" />
+			  </xsl:call-template>
+			</xsl:attribute></a>
+		      <a href="{$url}"><b><xsl:value-of select="name"/></b></a><br/>
+		      <a href="{$site-url}"><xsl:value-of select="site-name"/></a>,
+		      <xsl:value-of select="author"/><br/>
+		      <xsl:copy-of select="p/child::node()"/>
+		    </p>
+		  </li>
+		</xsl:for-each>
+	      </xsl:when>
+
+	      <xsl:otherwise>
+		<xsl:for-each select=".">
+		  <li><p>
+		      <a><xsl:attribute name="name">
+			  <xsl:call-template name="html-news-generate-anchor">
+			    <xsl:with-param name="label" select="local-name()" />
+			    <xsl:with-param name="year" select="$year" />
+			    <xsl:with-param name="month" select="$month" />
+			    <xsl:with-param name="pos" select="$anchor-position" />
+			  </xsl:call-template>
+			</xsl:attribute></a>
+
+		      <a href="{$url}"><b><xsl:value-of select="name"/></b></a><br/>
+		      <a href="{$site-url}"><xsl:value-of select="site-name"/></a>,
+		      <xsl:value-of select="author"/><br/>
+		      <xsl:copy-of select="p/child::node()"/>
+		    </p>
+		  </li>
+		</xsl:for-each>
+	      </xsl:otherwise>
+	    </xsl:choose>
+	  </xsl:for-each>
+	</ul>
+      </xsl:for-each>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- template: "html-news-datelabel" (for l10n) -->
+  <xsl:template name="html-news-datelabel">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+    <xsl:param name="day" />
+
+    <xsl:value-of select="concat($day, ' ', $month, ', ', $year, ':')" />
+  </xsl:template>
+
+  <!-- template: "html-news-generate-anchor" (for l10n) -->
+  <xsl:template name="html-news-generate-anchor">
+    <xsl:param name="label" />
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+    <xsl:param name="day" />
+    <xsl:param name="pos" />
+
+    <xsl:value-of select="concat(
+      $label,
+      format-number($year, '0000'),
+      format-number($month, '00'))" />
+    <xsl:if test="$label = 'event'" >
+      <xsl:value-of select="format-number($day, '00')" />
+    </xsl:if>
+    <xsl:value-of select="format-number($pos, ':00')" />
+  </xsl:template>
+
+  <!-- template: "html-news-month-headings" (for l10n) -->
+  <xsl:template name="html-news-month-headings">
+    <xsl:param name="year" />
+    <xsl:param name="month" />
+
+    <xsl:value-of select="concat($month, ' ', $year)" />
+  </xsl:template>
+
   <!-- template: "html-list-advisories"
        generate a list of all security advisories -->
 
@@ -282,71 +531,135 @@
        pulls in the 5 most recent project items -->
 
   <xsl:template name="html-index-news-project-items">
-    <xsl:param name="news.project.xml" select="''" />
+    <xsl:param name="news.project.xml-master" select="'none'" />
+    <xsl:param name="news.project.xml" select="'none'" />
 
-    <xsl:for-each select="document($news.project.xml)/descendant::event[position() <= 5]">
-      <xsl:value-of select="$leadingmark" /><a>
-	<xsl:attribute name="href">
-	  news/newsflash.html#<xsl:call-template name="generate-event-anchor"/>
-	</xsl:attribute>
-	<xsl:choose>
-	  <xsl:when test="count(child::title)">
-	    <xsl:value-of select="title"/><br/>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:value-of select="p"/><br/>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </a>
+    <xsl:for-each select="document($news.project.xml-master)/descendant::day[position() <= 5]">
+      <xsl:param name="year" select="ancestor::year/name" />
+      <xsl:param name="month" select="ancestor::month/name" />
+      <xsl:param name="day" select="name" />
+
+      <!-- search localized items per day basis -->
+      <xsl:param name="localizeditems"
+	select="document($news.project.xml)
+	//descendant::year[name = $year]
+	/month[name = $month]
+	/day[name = $day]" />
+
+      <xsl:choose>
+	<xsl:when test="$localizeditems/event">
+	  <xsl:for-each select="$localizeditems/event">
+	    <xsl:value-of select="$leadingmark" /><a>
+	      <xsl:attribute name="href">
+		news/newsflash.html#<xsl:call-template name="generate-event-anchor"/>
+	      </xsl:attribute>
+
+	      <xsl:choose>
+		<xsl:when test="count(child::title)">
+		  <xsl:value-of select="title"/><br/>
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:value-of select="p"/><br/>
+		</xsl:otherwise>
+	      </xsl:choose>
+	    </a>
+	  </xsl:for-each>
+	</xsl:when>
+
+	<xsl:otherwise>
+	  <xsl:for-each select="event">
+	    <xsl:value-of select="$leadingmark" /><a>
+	      <xsl:attribute name="href">
+		news/newsflash.html#<xsl:call-template name="generate-event-anchor"/>
+	      </xsl:attribute>
+
+	      <xsl:choose>
+		<xsl:when test="count(child::title)">
+		  <xsl:value-of select="title"/><br/>
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:value-of select="p"/><br/>
+		</xsl:otherwise>
+	      </xsl:choose>
+	    </a>
+	  </xsl:for-each>
+	</xsl:otherwise>
+      </xsl:choose>
     </xsl:for-each>
   </xsl:template>
 
   <!-- template: "html-index-news-project-items-lastmodified" -->
 
   <xsl:template name="html-index-news-project-items-lastmodified">
-    <xsl:param name="news.project.xml" select="''" />
+    <xsl:param name="news.project.xml-master" select="''" />
 
     <xsl:call-template name="transtable-lookup">
       <xsl:with-param name="word-group" select="'number-month'" />
       <xsl:with-param name="word">
-	<xsl:value-of select="document($news.project.xml)/descendant::month[position() = 1]/name"/>
+	<xsl:value-of select="document($news.project.xml-master)/descendant::month[position() = 1]/name"/>
       </xsl:with-param>
     </xsl:call-template>
     <xsl:text> </xsl:text>
-    <xsl:value-of select="document($news.project.xml)/descendant::day[position() = 1]/name"/>
+    <xsl:value-of select="document($news.project.xml-master)/descendant::day[position() = 1]/name"/>
     <xsl:text>, </xsl:text>
-    <xsl:value-of select="document($news.project.xml)/descendant::year[position() = 1]/name"/>
+    <xsl:value-of select="document($news.project.xml-master)/descendant::year[position() = 1]/name"/>
   </xsl:template>
 
   <!-- template: "html-index-news-press-items"
        pulls in the 5 most recent press items -->
 
   <xsl:template name="html-index-news-press-items">
+    <xsl:param name="news.press.xml-master" select="'none'" />
     <xsl:param name="news.press.xml" select="''" />
 
-    <xsl:for-each select="document($news.press.xml)/descendant::story[position() <= 5]">
-      <xsl:value-of select="$leadingmark" /><a>
+    <xsl:for-each select="document($news.press.xml-master)/descendant::story[position() <= 5]">
+      <xsl:param name="year" select="../../year/name" />
+      <xsl:param name="month" select="../month/name" />
+      <xsl:param name="pos" select="position()" />
+      <xsl:param name="url" select="url" />
+      <xsl:param name="site-url" select="site-url" />
+
+      <!-- search localized items per story(URL) basis -->
+      <xsl:param name="localizeditems"
+	select="document($news.press.xml)
+	//descendant::year[name = $year]
+	/month[name = $month]
+	/story[url = $url]" />
+
+      <xsl:value-of select="$leadingmark" />
+      <a>
 	<xsl:attribute name="href">
 	  news/press.html#<xsl:call-template name="generate-story-anchor"/>
 	</xsl:attribute>
-	<xsl:value-of select="name"/>
-      </a><br/>
+
+	<xsl:choose>
+	  <xsl:when test="$localizeditems">
+	    <xsl:value-of select="$localizeditems/name"/>
+	  </xsl:when>
+
+	  <xsl:otherwise>
+	    <xsl:value-of select="name"/>
+	  </xsl:otherwise>
+	</xsl:choose>
+      </a>
+
+      <br/>
     </xsl:for-each>
   </xsl:template>
 
   <!-- template: "html-index-news-press-items-lastmodified" -->
 
   <xsl:template name="html-index-news-press-items-lastmodified">
-    <xsl:param name="news.press.xml" select="''" />
+    <xsl:param name="news.press.xml-master" select="''" />
 
     <xsl:call-template name="transtable-lookup">
       <xsl:with-param name="word-group" select="'number-month'" />
       <xsl:with-param name="word">
-	<xsl:value-of select="document($news.press.xml)/descendant::month[position() = 1]/name"/>
+	<xsl:value-of select="document($news.press.xml-master)/descendant::month[position() = 1]/name"/>
       </xsl:with-param>
     </xsl:call-template>
     <xsl:text> </xsl:text>
-    <xsl:value-of select="document($news.press.xml)/descendant::year[position() = 1]/name"/>
+    <xsl:value-of select="document($news.press.xml-master)/descendant::year[position() = 1]/name"/>
   </xsl:template>
 
   <!-- template: "html-index-navigation-link-list"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-doc/attachments/20041230/4b000b96/attachment.sig>


More information about the freebsd-doc mailing list