Rev 211 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
1
<?php
$encoding = 'UTF-8';
header("Content-Type: text/html" . ($encoding ?
"; charset=$encoding" : ""));
$modi = max(array(
@filemtime(__FILE__),
@filemtime('LocaleData'),
@filemtime('index.phtml'),
@filemtime('footer.phtml'),
@filemtime('styles/lcars-basic.css'),
@filemtime('styles/lcars22.css'),
@filemtime('styles/lcars22-ie6.css'),
@filemtime('styles/lcars-ani.css'),
@filemtime('scripts/object.js'),
));
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $modi) . ' GMT');
/* Cached resource expires in HTTP/1.1 caches 24h after last retrieval */
header('Cache-Control: max-age=86400, s-maxage=86400, must-revalidate, proxy-revalidate');
/* Cached resource expires in HTTP/1.0 caches 24h after last retrieval */
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
// $vulcan = 'x-vulcan-latin';
$vulcan = 'vuh-Latn-Gol-modern';
$languages = array(
'en' => 'English',
'de' => 'Deutsch',
'ru' => 'по-русски',
// 'x-klingon-latin' => array(
// 'key' => 'tlh',
// 'name' => 'tlhIngan Hol'
// ),
// $vulcan => array(
// 'key' => 'vu',
// 'name' => '<abbr title="Gen-lis">G-l</abbr> Vuhlkansu'
// )
);
/**
* Returns the short language key.
*
* Needed for safely mapping extra-terrestrial languages.
*/
function language_key_short
($key)
{
global $languages;
preg_match('/^[^-]{2,3}/', $key, $matches);
$language = $languages[$key];
return (is_array($language) && isset($language['key'])
?
$language['key']
: $matches[0]);
}
/**
* Returns the language name.
*
* Needed for safely mapping extra-terrestrial languages.
*/
function language_name
($key)
{
global $languages;
$language = $languages[$key];
return (is_array($language) && isset($language['name'])
?
$language['name']
: $language);
}
require_once 'Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader
(array('autoregister_zf' => true));
$loader->register();
$translator = new Zend\I18n\Translator\Translator
();
// $translator->setCache(new Zend\Cache\Storage\*Adapter());
$type = 'gettext';
$baseDir = './i18n/LocaleData';
$textDomain = 'de.pointedears';
$pattern = "%s/LC_MESSAGES/{$textDomain}.mo";
$translator->addTranslationFilePattern($type, $baseDir, $pattern, $textDomain);
/**
* Returns the translation of the parameter, if any,
* using Zend Framework 2.1 Translate
*
* @param string $s
* String to be translated
* @param string $lang = null
* Target language. The default is the document language
* ($language).
* @return string
*/
function tr
($s, $lang = null)
{
global $translator;
global $textDomain;
global $language;
if ($lang === null)
{
$lang = $language;
}
/* DEBUG */
// echo "return \$translator->translate(\"$s\", \"$textDomain\", \"$language\");<br>\n";
return $translator->translate($s, $textDomain, $lang);
}
$menu = array(
'scripts' => array('path' => 'scripts/', 'text' => tr
('Scripting')),
'es-matrix' => array(
'path' => 'es-matrix',
'text' => 'ES Matrix',
'title' => 'ECMAScript Support Matrix: ' . tr
("A comparison of features of ECMAScript implementations")
),
'devel' => array('path' => 'wsvn/', 'text' => tr
('Software projects')),
'series' => array('path' => "media/video/series/", 'text' => 'Seri-o-meter'),
'ufpdb' => array(
'path' => "ufpdb/index.$language",
'text' => 'UFPDB',
'title' => tr
('United Federation of Planets DataBase')
)
);