Use json files as language and move files to i18n folder
This commit is contained in:
@@ -6,7 +6,7 @@ use \Settings;
|
|||||||
/**
|
/**
|
||||||
* Translator Class
|
* Translator Class
|
||||||
* @author franzz
|
* @author franzz
|
||||||
* @version 1.1
|
* @version 2.0
|
||||||
*/
|
*/
|
||||||
class Translator extends PhpObject
|
class Translator extends PhpObject
|
||||||
{
|
{
|
||||||
@@ -15,9 +15,8 @@ class Translator extends PhpObject
|
|||||||
private $asLanguages;
|
private $asLanguages;
|
||||||
private $asTranslations; // [lang][key_word] = translation
|
private $asTranslations; // [lang][key_word] = translation
|
||||||
|
|
||||||
const LANG_FOLDER = '../languages/';
|
const LANG_FOLDER = '../i18n/';
|
||||||
const LANG_EXT = '.lang';
|
const LANG_EXT = '.json';
|
||||||
const LANG_SEP = '=';
|
|
||||||
const DEFAULT_LANG = 'en';
|
const DEFAULT_LANG = 'en';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -115,19 +114,15 @@ class Translator extends PhpObject
|
|||||||
|
|
||||||
private function loadLanguageFile($sLang)
|
private function loadLanguageFile($sLang)
|
||||||
{
|
{
|
||||||
if(!in_array($sLang, $this->asTranslations))
|
if(!array_key_exists($sLang, $this->asTranslations))
|
||||||
{
|
{
|
||||||
$sData = file_get_contents(self::getLangPath($sLang));
|
$sData = file_get_contents(self::getLangPath($sLang));
|
||||||
$asData = explode("\n", $sData);
|
$asData = json_decode($sData, true);
|
||||||
foreach($asData as $sTranslation)
|
|
||||||
{
|
if(is_array($asData)) $this->asTranslations[$sLang] = $asData;
|
||||||
$iSepPos = mb_stripos($sTranslation, self::LANG_SEP);
|
else {
|
||||||
if($iSepPos !== false)
|
$this->asTranslations[$sLang] = array();
|
||||||
{
|
$this->addWarning('Invalid JSON translation file for language "'.$sLang.'": '.json_last_error_msg());
|
||||||
$sTransKey = trim(mb_substr($sTranslation, 0, $iSepPos));
|
|
||||||
$sTransText = trim(mb_substr($sTranslation, $iSepPos+1));
|
|
||||||
$this->asTranslations[$sLang][$sTransKey] = $sTransText;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user