#!/usr/bin/perl # select_lang: Copyright 1996 Andrew Daviel, Vancouver Webpages # This script may be copied or modified as desired. # No warranty is expressed or implied. # Language Selection script # see http://vancouver-webpages.com/CacheNow/negotiation.html # This script returns an HTTP 1.0 redirect (302) to a # requested natural-language document. $root = $ENV{'DOCUMENT_ROOT'} ; $path = $ENV{'PATH_INFO'} ; $path =~ s/\.[a-z]*$/./i ; # strip suffix $server = $ENV{'SERVER_NAME'} ; $_ = $ENV{'HTTP_ACCEPT_LANGUAGE'} ; tr/A-Z/a-z/ ; tr/ //d ; @lang_d = split(/,/,$_) ; # ordered set of requested languages $prefix = "http://".$server.$path ; $url = $prefix."html" ; $lang = "en" ; # set default document and language foreach (@lang_d) { tr/-/_/ ; $file = $root.$path.$_.".html" ; if (-r $file) { $url = $prefix.$_.".html" ; $lang = $_ ; last ; } elsif(/_/) { s/_.*// ; # strip off dialect $file = $root.$path.$_.".html" ; if (-r $file) { $url = $prefix.$_.".html" ; $lang = $_ ; last ; } } } print <here EOT