release-notes/devel/scripts Makefile, 1.1, 1.2 index.html.in, 1.2, 1.3 mkindex.awk, 1.2, 1.3 mkindex.map, 1.2, 1.3

Tommy Reynolds (jtr) fedora-docs-commits at redhat.com
Tue Sep 19 01:03:48 UTC 2006


Author: jtr

Update of /cvs/docs/release-notes/devel/scripts
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7509

Modified Files:
	Makefile index.html.in mkindex.awk mkindex.map 
Log Message:
I think I have the mapping infrastructure figured out; now all I need
is for folk to submit mapping entries for supported languages in 
each locale.  Failure is good, that's how we will learn the correct mappings.



Index: Makefile
===================================================================
RCS file: /cvs/docs/release-notes/devel/scripts/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile	17 Sep 2006 21:11:31 -0000	1.1
+++ Makefile	19 Sep 2006 01:03:39 -0000	1.2
@@ -1,15 +1,18 @@
 # The values below will be overriden when this script is invoked from
 # Makefile.common with the proper values.
 
-PRI_LANG=en_US
+PRI_LANG=en
 OTHERS	=de ru
 
 all::	index.html
 
-index.html:: mkindex mkindex.awk mkindex.map
+index.html:: mkindex mkindex.awk mkindex.map index.html.in
 	./mkindex -o $@ ${PRI_LANG} ${OTHERS}
 
 clean::
 
 distclean clobber:: clean
 	${RM} index.html
+
+view::	index.html
+	htmlview index.html


Index: index.html.in
===================================================================
RCS file: /cvs/docs/release-notes/devel/scripts/index.html.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.html.in	17 Sep 2006 21:49:12 -0000	1.2
+++ index.html.in	19 Sep 2006 01:03:39 -0000	1.3
@@ -8,19 +8,17 @@
 function getlanguage() {
 	language=navigator.language.replace( /-/, "_");
 	if( language == "" )	{
-		language = "C";
+		language = "<pri_lang/>";
 	}
 	prefix = "<prefix/>";
 	suffix = "<suffix/>";
 	switch( language )	{
 	default :
-		middle = language.substring( 0, 1 );
+		middle = language;
 		switch( middle )	{
 			default:
-				middle = "C";
+				middle = "<pri_lang/>";
 				break;
-			//* No direct support for this browser location, try remapping
-			//* to generate something appropriate
 			<REMAP/>
 		}
 		break;


Index: mkindex.awk
===================================================================
RCS file: /cvs/docs/release-notes/devel/scripts/mkindex.awk,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- mkindex.awk	17 Sep 2006 21:49:12 -0000	1.2
+++ mkindex.awk	19 Sep 2006 01:03:39 -0000	1.3
@@ -1,3 +1,9 @@
+function trim( s,	v )	{
+	v = s
+	sub( /^[ \t]*/, "", v )
+	sub( /[ \t]*$/, "", v )
+	return( v )
+}
 BEGIN	{
 	prefix="/usr/share/doc/fedora-release-5/RELEASE-NOTES-";
 	suffix=".html";
@@ -5,48 +11,58 @@
 	for( i = 1; i <= nLangs; ++i )	{
 		lang = langs[ i ]
 		loc = substr( lang, 1, 2 )
-		shorts[ loc ] = loc
+		shorts[ loc ] = lang
 	}
+	pri_lang = langs[ 1 ]
 	# Read in the maps
 	while( getline < MAP > 0 )	{
 		sub( /#.*$/, "" )
 		if( NF >= 2 )	{
-			src = $1
-			dst = $2
+			lang = $1
+			pseudo = $2
 			$1 = ""
 			$2 = ""
-			note = $0
-			maps[ src ] = dst
-			notes[ src ] = note
-			printf "<!-- %s|%s|%s -->\n", src, dst, note
+			note = trim( $0 )
+			pseudo2lang[ pseudo ] = lang
+			notes[ lang ] = note
+			printf "<!-- %s|%s|%s -->\n", lang, pseudo, note
 		}
 	}
 }
+# Perform our macro substitutions
 {
 	gsub( /<prefix\/>/, prefix )
 	gsub( /<suffix\/>/, suffix )
+	gsub( /<pri_lang\/>/, pri_lang )
 }
+# Fill in matches for our known ${LANGUAGES}
 /<LANGS\/>/	{
-	printf "\t// Attempt to match specific locales\n"
+	printf "\t// Attempt to match supported locales\n"
 	for( i = 1; i <= nLangs; ++i )	{
 		lang = langs[ i ]
+		printf "\t<!-- %s:%s -->\n", lang, notes[ lang ]
 		printf "\tcase \"%s\":\n", lang
-		if( lang in maps )	{
-			printf "\t\tmiddle = \"%s\";\n", maps[ lang ]
-		}
 		printf "\t\tbreak;\n"
 	}
 	next
 }
+# If ${LANGUAGES} matching fails, try to match the short form
 /<REMAP\/>/	{
 	printf "\t\t\t// Attempt to match generic locales\n"
-	for( lang in shorts )	{
-		printf "\t\t\tcase \"%s\":\n", lang
-		if( lang in maps )	{
-			printf "\t\t\t//* %s;\n", notes[ lang ]
-			printf "\t\t\t\tmiddle = \"%s\";\n", maps[ lang ]
+	for( lang in pseudo2lang )	{
+		found = 0
+		for( i = 1; i <= nLangs; ++i )	{
+			if( lang == langs[i] )	{
+				found = 1
+				break
+			}
+		}
+		if( !found )	{
+			printf "\t\t\tcase \"%s\":\n", lang
+			printf "\t\t\t\t//* %s;\n", notes[ lang ]
+			printf "\t\t\t\tmiddle = \"%s\";\n", pseudo2lang[ lang ]
+			printf "\t\t\t\tbreak;\n"
 		}
-		printf "\t\t\t\tbreak;\n"
 	}
 	next
 }
@@ -54,13 +70,12 @@
 	for( i = 1; i <= nLangs; ++i )	{
 		lang = langs[ i ]
 		print "<DT><PARA>"
+		printf "%s - ", lang
 		if( lang in notes )	{
 			print notes[ lang ]
-		} else	{
-			print lang
 		}
-		if( lang in maps )	{
-			lang = maps[ lang ]
+		if( lang in pseudo2lang )	{
+			lang = pseudo2lang[ lang ]
 		}
 		url = prefix lang suffix
 		print "</PARA></DT>"


Index: mkindex.map
===================================================================
RCS file: /cvs/docs/release-notes/devel/scripts/mkindex.map,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- mkindex.map	17 Sep 2006 21:49:12 -0000	1.2
+++ mkindex.map	19 Sep 2006 01:03:39 -0000	1.3
@@ -8,7 +8,7 @@
 # This isn't very robust, but it's a (perhaps, false) start.
 #
 # Hint: map the language to itself so you can provide notes
-# BROWSER LANG Notes
-en_US	en	US English
+# ${LANG} BROWSER Notes
+en	en_US	US English
 ru	ru	Russian
 de	de	German




More information about the docs-commits mailing list