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