Subversion Repositories LCARS

Rev

Rev 191 | 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 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 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
 * @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')
  )
);