parent
a6fe7c4dc6
commit
9144e59cae
@ -0,0 +1,79 @@ |
|||||||
|
<?php |
||||||
|
/* For licensing terms, see /license.txt */ |
||||||
|
|
||||||
|
require_once 'main/inc/global.inc.php'; |
||||||
|
|
||||||
|
//Source language do not change |
||||||
|
$dir = api_get_path(SYS_CODE_PATH).'lang/'; |
||||||
|
|
||||||
|
//Destination |
||||||
|
$save_path = api_get_path(SYS_PATH).'resources/locale/'; |
||||||
|
|
||||||
|
if (!is_dir(api_get_path(SYS_PATH).'resources')) { |
||||||
|
mkdir(api_get_path(SYS_PATH).'resources'); |
||||||
|
} |
||||||
|
|
||||||
|
//The new po files will be saved in $dir.'/LC_MESSAGES/'; |
||||||
|
|
||||||
|
if (!is_dir($save_path)) { |
||||||
|
mkdir($save_path); |
||||||
|
} |
||||||
|
/* |
||||||
|
if (!is_dir($save_dir_path).'/LC_MESSAGES') { |
||||||
|
mkdir($save_dir_path.'/LC_MESSAGES'); |
||||||
|
}*/ |
||||||
|
|
||||||
|
$englishDir = api_get_path(SYS_CODE_PATH).'lang/english'; |
||||||
|
|
||||||
|
$iterator = new FilesystemIterator($dir); |
||||||
|
foreach ($iterator as $folder) { |
||||||
|
if ($folder->isDir()) { |
||||||
|
$langPath = $folder->getPathname(); |
||||||
|
|
||||||
|
if ($folder->getBasename() != 'spanish') { |
||||||
|
//continue; |
||||||
|
} |
||||||
|
|
||||||
|
$langIterator = new FilesystemIterator($langPath); |
||||||
|
$filter = new RegexIterator($langIterator, '/\.(php)$/'); |
||||||
|
foreach ($filter as $phpFile) { |
||||||
|
$phpFilePath = $phpFile->getPathname(); |
||||||
|
$po = file($phpFilePath); |
||||||
|
$translations = array(); |
||||||
|
$englishFile = $englishDir.'/'.$phpFile->getBasename(); |
||||||
|
foreach ($po as $line) { |
||||||
|
$pos = strpos($line, '='); |
||||||
|
if ($pos) { |
||||||
|
$variable = (substr($line, 1, $pos-1)); |
||||||
|
$variable = trim($variable); |
||||||
|
|
||||||
|
require $englishFile; |
||||||
|
$my_variable_in_english = $variable; |
||||||
|
|
||||||
|
require $phpFilePath; |
||||||
|
$my_variable = $$variable; |
||||||
|
$translations[] = array('msgid' => $my_variable_in_english, 'msgstr' =>$my_variable); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
$code = api_get_language_isocode($folder->getBasename()); |
||||||
|
//LC_MESSAGES |
||||||
|
$new_po_file = $save_path.$folder->getBasename().'/'.$phpFile->getBasename('.php').'.po'; |
||||||
|
|
||||||
|
if (!is_dir($save_path.$folder->getBasename())) { |
||||||
|
mkdir($save_path.$folder->getBasename()); |
||||||
|
} |
||||||
|
$fp = fopen($new_po_file, 'w'); |
||||||
|
foreach ($translations as $item) { |
||||||
|
$line = 'msgid "'.addslashes($item['msgid']).'"'."\n"; |
||||||
|
$line .= 'msgstr "'.addslashes($item['msgstr']).'"'."\n\n"; |
||||||
|
fwrite($fp, $line); |
||||||
|
} |
||||||
|
fclose($fp); |
||||||
|
} |
||||||
|
if ($folder->getBasename() == 'bosnian') { |
||||||
|
//exit; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,75 @@ |
|||||||
|
<?php |
||||||
|
/* For licensing terms, see /license.txt */ |
||||||
|
|
||||||
|
require_once 'main/inc/global.inc.php'; |
||||||
|
|
||||||
|
//Source language do not change |
||||||
|
$dir = api_get_path(SYS_CODE_PATH).'lang/english'; |
||||||
|
|
||||||
|
//Translate this language |
||||||
|
$to_dir = api_get_path(SYS_CODE_PATH).'lang/spanish'; |
||||||
|
|
||||||
|
$po_lang = 'es_ES'; |
||||||
|
|
||||||
|
$save_path = api_get_path(SYS_PATH).'resources/locale/'; |
||||||
|
$save_dir_path = $save_path.$po_lang; |
||||||
|
|
||||||
|
//The new po files will be saved in $dir.'/LC_MESSAGES/'; |
||||||
|
|
||||||
|
if (!is_dir($save_path)) { |
||||||
|
mkdir($save_path); |
||||||
|
} |
||||||
|
|
||||||
|
if (!is_dir($save_dir_path)) { |
||||||
|
mkdir($save_dir_path); |
||||||
|
} |
||||||
|
if (!is_dir($save_dir_path).'/LC_MESSAGES') { |
||||||
|
mkdir($save_dir_path.'/LC_MESSAGES'); |
||||||
|
} |
||||||
|
|
||||||
|
if (is_dir($dir)) { |
||||||
|
if ($dh = opendir($dir)) { |
||||||
|
while (($file = readdir($dh)) !== false) { |
||||||
|
$info = pathinfo($file); |
||||||
|
if ($info['extension'] != 'php') { |
||||||
|
continue; |
||||||
|
} |
||||||
|
|
||||||
|
echo "filename: $file : filetype: " . filetype($dir.'/'.$file) . "<br >"; |
||||||
|
|
||||||
|
$translations = array(); |
||||||
|
$filename = $dir.'/'.$file; |
||||||
|
$po = file($filename); |
||||||
|
if (!file_exists($filename) || !file_exists($to_dir.'/'.$file)) { |
||||||
|
continue; |
||||||
|
} |
||||||
|
|
||||||
|
foreach ($po as $line) { |
||||||
|
$pos = strpos($line, '='); |
||||||
|
if ($pos) { |
||||||
|
$variable = (substr($line, 1, $pos-1)); |
||||||
|
$variable = trim($variable); |
||||||
|
require $filename; |
||||||
|
$my_variable_in_english = $$variable; |
||||||
|
require $to_dir.'/'.$file; |
||||||
|
$my_variable = $$variable; |
||||||
|
$translations[] = array('msgid' =>$my_variable_in_english, 'msgstr' =>$my_variable); |
||||||
|
} |
||||||
|
} |
||||||
|
//var_dump($translations); |
||||||
|
$info['filename'] = explode('.', $info['filename']); |
||||||
|
$info['filename'] = $info['filename'][0]; |
||||||
|
$new_po_file = $save_dir_path.'/LC_MESSAGES/'.$info['filename'].'.po'; |
||||||
|
var_dump($new_po_file); |
||||||
|
$fp = fopen($new_po_file, 'w'); |
||||||
|
var_dump($fp); |
||||||
|
foreach ($translations as $item) { |
||||||
|
$line = 'msgid "'.addslashes($item['msgid']).'"'."\n"; |
||||||
|
$line .= 'msgstr "'.addslashes($item['msgstr']).'"'."\n\n"; |
||||||
|
fwrite($fp, $line); |
||||||
|
} |
||||||
|
fclose($fp); |
||||||
|
} |
||||||
|
closedir($dh); |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue