[Jsxe-cvs] SF.net SVN: jsxe: [1222] trunk/web/htdocs
Status: Inactive
Brought to you by:
ian_lewis
From: <ian...@us...> - 2006-09-01 23:33:47
|
Revision: 1222 http://svn.sourceforge.net/jsxe/?rev=1222&view=rev Author: ian_lewis Date: 2006-09-01 16:33:32 -0700 (Fri, 01 Sep 2006) Log Message: ----------- Updated to support Japanese language Modified Paths: -------------- trunk/web/htdocs/content/en/overview.html trunk/web/htdocs/css/main.css trunk/web/htdocs/downloads.php trunk/web/htdocs/features.php trunk/web/htdocs/functions.php trunk/web/htdocs/get-involved.php trunk/web/htdocs/index.php trunk/web/htdocs/links.php trunk/web/htdocs/news.php trunk/web/htdocs/screenshots.php trunk/web/htdocs/sidebar.php Added Paths: ----------- trunk/web/htdocs/content/ja/ trunk/web/htdocs/content/ja/_global.php trunk/web/htdocs/images/de.png trunk/web/htdocs/images/jp.png trunk/web/htdocs/images/ru.png trunk/web/htdocs/images/se.png trunk/web/htdocs/images/us.png Modified: trunk/web/htdocs/content/en/overview.html =================================================================== --- trunk/web/htdocs/content/en/overview.html 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/content/en/overview.html 2006-09-01 23:33:32 UTC (rev 1222) @@ -14,4 +14,4 @@ are not currently implemented. If you are interesting in helping to make jsXe a great editor by contributing your suggestions and needs or if you are a developer and would like to contribute time and code check - out <a href="get-involved.php">how to get involved</a>.</p> \ No newline at end of file + out <a href="get-involved.php">how to get involved</a></p> \ No newline at end of file Added: trunk/web/htdocs/content/ja/_global.php =================================================================== --- trunk/web/htdocs/content/ja/_global.php (rev 0) +++ trunk/web/htdocs/content/ja/_global.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -0,0 +1,12 @@ +<?php +$trans['ja'] = array( + 'News' => 'ニュース', + 'Features' => '機能概要', + 'Screenshot' => 'スクリーンショット', + 'Screenshots' => 'スクリーンショット', + 'Download' => 'ダウンロード', + 'Downloads' => 'ダウンロード', + 'Get Involved' => '参加情報', + 'SourceForge Project' => 'SourceForge プロジェクト' +); +?> \ No newline at end of file Modified: trunk/web/htdocs/css/main.css =================================================================== --- trunk/web/htdocs/css/main.css 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/css/main.css 2006-09-01 23:33:32 UTC (rev 1222) @@ -71,6 +71,13 @@ padding: 5px; } +#languages img { + display: inline; + margin-left: 0px; + margin-right: 0px; + padding: 0px; +} + #mainBody { position: absolute; /*float: right;*/ Modified: trunk/web/htdocs/downloads.php =================================================================== --- trunk/web/htdocs/downloads.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/downloads.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -4,7 +4,7 @@ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo get_locale() ?>" lang="<?php echo get_locale() ?>"> <head> <title>jsXe: Downloads</title> <?php include("meta.php") ?> Modified: trunk/web/htdocs/features.php =================================================================== --- trunk/web/htdocs/features.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/features.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -4,7 +4,7 @@ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo get_locale() ?>" lang="<?php echo get_locale() ?>"> <head> <title>jsXe: Features</title> <?php include("meta.php") ?> @@ -15,6 +15,7 @@ <div id="sidebar"> <?php include("sidebar.php") ?> </div> + <div id="mainBody"> <?php get_content('features'); ?> Modified: trunk/web/htdocs/functions.php =================================================================== --- trunk/web/htdocs/functions.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/functions.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -1,25 +1,124 @@ <?php +/* +:tabSize=4:indentSize=4:noTabs=true: +:folding=explicit:collapseFolds=1: +*/ + if( !defined('ROOT') ) die( 'Please, do not access this page directly.' ); +global $default_locale, $locales; +$default_locale = "en-us"; + +$dir = dirname(__FILE__).'/content/'; +$locales = directory_list($dir); + +//{{{ get_locale() + function get_locale() { - $req_locale="en"; - if (isset($_GET['lang'])) { - //IML: Support the lang attribute - $req_locale = $_GET['lang']; + if (!defined('LOCALE')) { + if (isset($_GET['lang'])) { + //IML: Support the lang attribute + $locale = match_locale($_GET['lang']); + if (!empty($locale)) { + define('LANG', $locale); + return $locale; + } + } + $locale = locale_from_httpaccept(); + define( 'LOCALE', $locale ); + return LOCALE; } - return $req_locale; -} + return LOCALE; +}//}}} -function create_link( $href, $contents ) { +//{{{ match_locale() + +function match_locale($locale) { + + global $locales; + + // echo 'match_locale('.$locale.')'; + // echo '<br/>'; + + + // look for exact match. (lang and country) + foreach ($locales as $key => $value) { + // echo 'searching '.$key; + // echo '<br/>'; + if ($key == $locale) { + // echo 'found '.$key; + // echo '<br/>'; + return $locale; + } + } + + // look for just lang + foreach ($locales as $key => $value) { + $pos = strpos( $locale, '-'); + if ($pos !== false) { + $locale = substr($locale, 0, $pos); + } + // echo 'searching '.$key; + // echo '<br/>'; + if ($key == $locale) { + // echo 'found '.$key; + // echo '<br/>'; + return $locale; + } + } + // echo '<br/>'; + //no matches at all. + return ''; +}//}}} + +//{{{ get_image() + +function get_image($image, $alt='') { + $location = 'http://jsxe.sourceforge.net/images/'.$image; + // $location = 'http://www.ianlewis.org/jsxetest/images/'.$image; + return '<img src="'.$location.'" alt="'.$alt.'"/>'; +}//}}} + +//{{{ create_link() + +function create_link( $href, $contents, $params = array() ) { + global $default_locale; + $link = '<a href="'.$href; - if (isset($_GET['lang'])) { - $locale = $_GET['lang']; - $link = $link.'?lang='.$locale; + + if (isset($_GET['lang']) and empty($params['lang'])) { + $params['lang'] = $_GET['lang']; } + // if (isset($_GET['id'])) { + // $params['id'] = $_GET['id']; + // } + + if (count($params) > 0) { + $link = $link.'?'; + foreach ($params as $key => $value) { + if (!empty($key) and !empty($value)) { + $link = $link.$key.'='.$value.'&'; + } + } + //remove the last '&' + $link = substr($link, 0, -1); + } + $link = $link.'">'.T_($contents).'</a>'; return $link; -} +}//}}} +//{{{ create_language_link() + +function create_language_link($lang, $text) { + $current_file = $_SERVER['PHP_SELF']; + $params = array(); + $params['lang'] = $lang; + return create_link($current_file, $text, $params); +}//}}} + +//{{{ get_content() + function get_content( $name ) { $file = 'content/'.get_locale().'/'.$name.'.html'; if (!file_exists($file)) { @@ -29,8 +128,10 @@ $data = fread($fh, filesize($file)); fclose($fh); echo $data; -} +}//}}} +//{{{ get_news() + function get_news() { $file = 'content/'.get_locale().'/news-header.html'; @@ -51,8 +152,10 @@ echo $header; echo $data; -} +}//}}} +//{{{ T_() + function T_( $string, $lang = '' ) { global $trans; @@ -87,8 +190,118 @@ // Return the English string: return $string; -} +}//}}} +//{{{ locale_from_httpaccept() +/** + * Detect language from HTTP_ACCEPT_LANGUAGE + * + * First matched full locale code in HTTP_ACCEPT_LANGUAGE will win + * Otherwise, first locale in table matching a lang code will win + * + * {@internal locale_from_httpaccept(-)}} + * + * @return locale made out of HTTP_ACCEPT_LANGUAGE or $default_locale, if no match + */ +function locale_from_httpaccept() { + + global $locales, $default_locale; + if ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) { + + $accept = strtolower( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ); + // pre_dump($accept, 'http_accept_language'); + // echo $accept; + // $accept = 'en;q=0.3,ru,ja;q=0.8,ar-sa;q=0.5'; + + $accept_locales = array(); + + $tok = strtok($accept, ","); + + while ($tok !== false) { + // echo "Word=$tok<br/>"; + + $priority = 1; + $locale = $tok; + + $pos = strpos( $tok, ';'); + if ($pos !== false) { + $locale = substr($locale, 0, $pos); + + //check priority + $priority_string = substr($tok, $pos+1); + // echo $priority_string; + // echo '<br/>'; + if (substr($priority_string, 0,2) == 'q=') { + $priority = substr($priority_string, 2); + } + } + + // echo 'locale='.$locale; + // echo '<br/>'; + // echo 'priority='.$priority; + // echo '<br/>'; + $accept_locales[$locale] = $priority; + + $tok = strtok(","); + } + // echo '<br/>'; + $accept_locales = array_sort($accept_locales, 'desc'); + foreach ( $accept_locales as $locale => $priority ) { + // echo $priority.' => '.$locale.'<br/>'; + $selected_locale = match_locale($locale); + if (!empty($selected_locale)) { + return $selected_locale; + } + } + } + return $default_locale; +}//}}} + +//{{{ array_sort() + +function array_sort($array, $type='asc'){ + $result=array(); + foreach($array as $var => $val){ + $set=false; + foreach($result as $var2 => $val2){ + if($set==false){ + if($val>$val2 && $type=='desc' || $val<$val2 && $type=='asc'){ + $temp=array(); + foreach($result as $var3 => $val3){ + if($var3==$var2) $set=true; + if($set){ + $temp[$var3]=$val3; + unset($result[$var3]); + } + } + $result[$var]=$val; + foreach($temp as $var3 => $val3){ + $result[$var3]=$val3; + } + } + } + } + if(!$set){ + $result[$var]=$val; + } + } + return $result; +}//}}} + +//{{{ directory_list() + +function directory_list($dir) { + $d = dir($dir); + while (false !== ($entry = $d->read())) { + if($entry != '.' && $entry != '..' && is_dir($dir.$entry)) + $arDir[$entry] = $dir.$entry.'/'; + } + $d->close(); + return $arDir; +}//}}} + +//{{{ redirect() + // func: redirect($to,$code=307) // spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html function redirect($to,$code=301) @@ -140,5 +353,6 @@ echo "</div>\n</div>\n"; } exit(0); -} +}//}}} + ?> \ No newline at end of file Modified: trunk/web/htdocs/get-involved.php =================================================================== --- trunk/web/htdocs/get-involved.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/get-involved.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -4,7 +4,7 @@ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo get_locale() ?>" lang="<?php echo get_locale() ?>"> <head> <title>jsXe: Getting Involved</title> <?php include("meta.php") ?> @@ -15,6 +15,7 @@ <div id="sidebar"> <?php include("sidebar.php") ?> </div> + <div id="mainBody"> <?php get_content('get-involved') ?> Added: trunk/web/htdocs/images/de.png =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/images/de.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/web/htdocs/images/jp.png =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/images/jp.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/web/htdocs/images/ru.png =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/images/ru.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/web/htdocs/images/se.png =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/images/se.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/web/htdocs/images/us.png =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/images/us.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/web/htdocs/index.php =================================================================== --- trunk/web/htdocs/index.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/index.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -15,6 +15,7 @@ <div id="sidebar"> <?php include("sidebar.php") ?> </div> + <div id="mainBody"> <?php get_content('overview'); ?> Modified: trunk/web/htdocs/links.php =================================================================== --- trunk/web/htdocs/links.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/links.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -1,6 +1,57 @@ <?php -include("functions.php"); +// func: redirect($to,$code=307) +// spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html +function redirect($to,$code=301) +{ + $location = null; + $sn = $_SERVER['SCRIPT_NAME']; + $cp = dirname($sn); + if (substr($to,0,4)=='http') $location = $to; // Absolute URL + else + { + $schema = $_SERVER['SERVER_PORT']=='443'?'https':'http'; + $host = strlen($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:$_SERVER['SERVER_NAME']; + if (substr($to,0,1)=='/') $location = "$schema://$host$to"; + elseif (substr($to,0,1)=='.') // Relative Path + { + $location = "$schema://$host"; + $pu = parse_url($to); + $cd = dirname($_SERVER['SCRIPT_FILENAME']).'/'; + $np = realpath($cd.$pu['path']); + $np = str_replace($_SERVER['DOCUMENT_ROOT'],'',$np); + $location.= $np; + if ((isset($pu['query'])) && (strlen($pu['query'])>0)) $location.= '?'.$pu['query']; + } + } + $hs = headers_sent(); + if ($hs==false) + { + if ($code==301) header("301 Moved Permanently HTTP/1.1"); // Convert to GET + elseif ($code==302) header("302 Found HTTP/1.1"); // Conform re-POST + elseif ($code==303) header("303 See Other HTTP/1.1"); // dont cache, always use GET + elseif ($code==304) header("304 Not Modified HTTP/1.1"); // use cache + elseif ($code==305) header("305 Use Proxy HTTP/1.1"); + elseif ($code==306) header("306 Not Used HTTP/1.1"); + elseif ($code==307) header("307 Temorary Redirect HTTP/1.1"); + else trigger_error("Unhandled redirect() HTTP Code: $code",E_USER_ERROR); + header("Location: $location"); + header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); + } + elseif (($hs==true) || ($code==302) || ($code==303)) + { + // todo: draw some javascript to redirect + $cover_div_style = 'background-color: #ccc; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%;'; + echo "<div style='$cover_div_style'>\n"; + $link_div_style = 'background-color: #fff; border: 2px solid #f00; left: 0px; margin: 5px; padding: 3px; '; + $link_div_style.= 'position: absolute; text-align: center; top: 0px; width: 95%; z-index: 99;'; + echo "<div style='$link_div_style'>\n"; + echo "<p>Please See: <a href='$to'>".htmlspecialchars($location)."</a></p>\n"; + echo "</div>\n</div>\n"; + } + exit(0); +} + // Do stuff here before sending headers redirect('/get-involved.php') ?> Modified: trunk/web/htdocs/news.php =================================================================== --- trunk/web/htdocs/news.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/news.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -1,6 +1,57 @@ <?php -include("functions.php"); +// func: redirect($to,$code=307) +// spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html +function redirect($to,$code=301) +{ + $location = null; + $sn = $_SERVER['SCRIPT_NAME']; + $cp = dirname($sn); + if (substr($to,0,4)=='http') $location = $to; // Absolute URL + else + { + $schema = $_SERVER['SERVER_PORT']=='443'?'https':'http'; + $host = strlen($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:$_SERVER['SERVER_NAME']; + if (substr($to,0,1)=='/') $location = "$schema://$host$to"; + elseif (substr($to,0,1)=='.') // Relative Path + { + $location = "$schema://$host"; + $pu = parse_url($to); + $cd = dirname($_SERVER['SCRIPT_FILENAME']).'/'; + $np = realpath($cd.$pu['path']); + $np = str_replace($_SERVER['DOCUMENT_ROOT'],'',$np); + $location.= $np; + if ((isset($pu['query'])) && (strlen($pu['query'])>0)) $location.= '?'.$pu['query']; + } + } + $hs = headers_sent(); + if ($hs==false) + { + if ($code==301) header("301 Moved Permanently HTTP/1.1"); // Convert to GET + elseif ($code==302) header("302 Found HTTP/1.1"); // Conform re-POST + elseif ($code==303) header("303 See Other HTTP/1.1"); // dont cache, always use GET + elseif ($code==304) header("304 Not Modified HTTP/1.1"); // use cache + elseif ($code==305) header("305 Use Proxy HTTP/1.1"); + elseif ($code==306) header("306 Not Used HTTP/1.1"); + elseif ($code==307) header("307 Temorary Redirect HTTP/1.1"); + else trigger_error("Unhandled redirect() HTTP Code: $code",E_USER_ERROR); + header("Location: $location"); + header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); + } + elseif (($hs==true) || ($code==302) || ($code==303)) + { + // todo: draw some javascript to redirect + $cover_div_style = 'background-color: #ccc; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%;'; + echo "<div style='$cover_div_style'>\n"; + $link_div_style = 'background-color: #fff; border: 2px solid #f00; left: 0px; margin: 5px; padding: 3px; '; + $link_div_style.= 'position: absolute; text-align: center; top: 0px; width: 95%; z-index: 99;'; + echo "<div style='$link_div_style'>\n"; + echo "<p>Please See: <a href='$to'>".htmlspecialchars($location)."</a></p>\n"; + echo "</div>\n</div>\n"; + } + exit(0); +} + // Do stuff here before sending headers redirect('/index.php') ?> Modified: trunk/web/htdocs/screenshots.php =================================================================== --- trunk/web/htdocs/screenshots.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/screenshots.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -4,7 +4,7 @@ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo get_locale() ?>" lang="<?php echo get_locale() ?>"> <head> <title>jsXe: Screenshots</title> <?php include("meta.php") ?> @@ -15,6 +15,7 @@ <div id="sidebar"> <?php include("sidebar.php") ?> </div> + <div id="mainBody"> <?php if (isset($_GET['id'])) { @@ -29,9 +30,11 @@ <table border="0" cellpadding="0" cellspacing="15" width="100%"> <tr> <td> - <a href="screenshots.php?id=86758"> - <img alt="screenshot" border="0" src="http://sourceforge.net/dbimage.php?id=86757"/> - </a> + <?php + $params = array(); + $params['id'] = '86758'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="http://sourceforge.net/dbimage.php?id=86757"/>', $params); + ?> </td> <td> jsXe with Japanese locale. @@ -42,9 +45,11 @@ </tr> <tr> <td> - <a href="screenshots.php?id=59765"> - <img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=59764"/> - </a> + <?php + $params = array(); + $params['id'] = '59765'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=59764"/>', $params); + ?> </td> <td> A screenshot showing the context dialog including cut/paste @@ -56,9 +61,11 @@ <tr> <td> - <a href="screenshots.php?id=34496"> - <img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34495"/> - </a> + <?php + $params = array(); + $params['id'] = '34496'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34495"/>', $params); + ?> </td> <td> A screenshot showing validation features. jsXe allows you to add nodes defined by DTD/Schema @@ -69,9 +76,11 @@ </tr> <tr> <td> - <a href="screenshots.php?id=34498"> - <img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34497"/> - </a> + <?php + $params = array(); + $params['id'] = '34498'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34497"/>', $params); + ?> </td> <td> A screenshot showing the syntax highlighted source view. @@ -82,9 +91,11 @@ </tr> <tr> <td> - <a href="screenshots.php?id=34500"> - <img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34499"/> - </a> + <?php + $params = array(); + $params['id'] = '34500'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34499"/>', $params); + ?> </td> <td> A screenshot of jsXe's options panel. @@ -95,9 +106,11 @@ </tr> <tr> <td> - <a href="screenshots.php?id=34502"> - <img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34501"/> - </a> + <?php + $params = array(); + $params['id'] = '34502'; + echo create_link('screenshots.php', '<img alt="screenshot" border="0" src="https://sourceforge.net/dbimage.php?id=34501"/>', $params); + ?> </td> <td> A screenshot of the edit node dialog. This dialog can be used to edit nodes defined in DTD/Schema Modified: trunk/web/htdocs/sidebar.php =================================================================== --- trunk/web/htdocs/sidebar.php 2006-09-01 12:49:00 UTC (rev 1221) +++ trunk/web/htdocs/sidebar.php 2006-09-01 23:33:32 UTC (rev 1222) @@ -3,9 +3,9 @@ <ul> <li><?php echo create_link("index.php", "News") ?></li> <li><?php echo create_link("features.php", "Features") ?></li> - <li><?php echo create_link("screenshots.php", "Screenshots") ?></a></li> + <li><?php echo create_link("screenshots.php", "Screenshots") ?></li> <li><?php echo create_link("downloads.php", "Downloads") ?></li> - <li><?php echo create_link("get-involved.php", "Get Involved") ?></a></li> + <li><?php echo create_link("get-involved.php", "Get Involved") ?></li> </ul> <ul> @@ -15,3 +15,10 @@ <a href="http://sourceforge.net/"><img alt="SourceForge Logo" src="http://sourceforge.net/sflogo.php?group_id=58584"/></a> <a href="http://sourceforge.jp/"><img alt="SourceForge.jp" src="http://sourceforge.jp/sflogo.php?group_id=2456"/></a> + +<div id="languages"/> + <ul> + <li><?php echo get_image('us.png');?> <?php echo create_language_link('en-us', 'English'); ?></li> + <li><?php echo get_image('jp.png');?> <?php echo create_language_link('ja-jp', '日本語'); ?></li> + </ul> +</div> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |