Esempio n. 1
0
 /**
  * @param string $ryzomDataPath
  *
  * @return \Ryzom\Translation\StringsManager
  */
 public function load($ryzomDataPath)
 {
     $bnp = new BnpFile($ryzomDataPath . '/gamedev.bnp');
     $sm = new StringsManager();
     $sm->register(new WordsLoader());
     $sm->load('place', $bnp->readFile('place_words_en.txt'), 'en');
     $sm->load('place', $bnp->readFile('place_words_fr.txt'), 'fr');
     $sm->load('place', $bnp->readFile('place_words_de.txt'), 'de');
     $sm->load('place', $bnp->readFile('place_words_es.txt'), 'es');
     $sm->load('place', $bnp->readFile('place_words_ru.txt'), 'ru');
     return $sm;
 }
Esempio n. 2
0
 /**
  * @param CContinent[] $continents
  * @param StringsManager $sm
  * @param string $outFile
  */
 protected function buildLabels(array $continents, StringsManager $sm, $outFile)
 {
     $strings = $sm->getStrings('place');
     $json = array();
     foreach ($continents as $cont) {
         $labels = array();
         $result = $this->filterContLabel($cont, $strings);
         if ($result) {
             list($key, $label) = $result;
             $labels[$key] = $label;
         }
         foreach ($cont->ContLandMarks as $lm) {
             $result = $this->filterLabel($lm, $strings);
             if ($result) {
                 list($key, $label) = $result;
                 if (in_array($key, array('region_matis_island_1', 'region_matis_island_2'))) {
                     // there is no 'continent' text for Almati and Dantes, so make one up
                     // also move region text up a bit or it conflicts other text
                     $label['pos'][1] += 100;
                     $contlabel = $label;
                     $contlabel['lmtype'] = -1;
                     $contlabel['regionforce'] = 0;
                     $labels[$key . '_cont'] = $contlabel;
                 }
                 $labels[$key] = $label;
             }
         }
         $json[$cont->Name] = $labels;
     }
     file_put_contents($outFile, json_encode($json, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
 }
Esempio n. 3
0
<?php

use Nel\Misc\BnpFile;
use Ryzom\Sheets\PackedSheetsLoader;
use Ryzom\Translation\Loader\UxtLoader;
use Ryzom\Translation\Loader\WordsLoader;
use Ryzom\Translation\StringsManager;
require __DIR__ . '/../vendor/autoload.php';
$sm = new StringsManager();
$sm->register(new UxtLoader());
$sm->register(new WordsLoader());
$leveldesign = new BnpFile('/srv/home2/ryzom/data/gamedev.bnp');
// loading en.uxt file
$buffer = $leveldesign->readFile('en.uxt');
$sm->load('uxt', $buffer, 'en');
$strings = $sm->getStrings('uxt', 'en');
// all keys are in lowercase
$key = 'languagename';
$value = $strings[$key];
printf("%s = [%s]\n", $key, $value['name']);
// loading outpost_words_en.txt
$buffer = $leveldesign->readFile('outpost_words_en.txt');
$sm->load('outpost', $buffer, 'en');
$strings = $sm->getStrings('outpost', 'en');
$key = 'fyros_outpost_04';
$value = $strings[$key];
printf("%s\n  name = %s\n  description = %s\n", $key, $value['name'], $value['description']);
/*****************************************************************************/
echo "\n";
$psLoader = new PackedSheetsLoader('/srv/home2/ryzom/data');
printf("+ loading sitem.packed_sheets file...\n");