90 lines
2.8 KiB
PHP
90 lines
2.8 KiB
PHP
<?php
|
|
defined('admin') or exit;
|
|
|
|
//------------------------------------------
|
|
// Languages supported
|
|
//------------------------------------------
|
|
$supportedLanguages = ['US', 'NL', 'DE', 'ES','FR', 'IT'];
|
|
|
|
if(isset($_POST['generatefile'])){
|
|
|
|
$language_key = (isset($_POST['language'])) ? $_POST['language'] : '';
|
|
|
|
function generateFile($language_key,$token){
|
|
//GET TRANSLATION RECORDS
|
|
$api_url = '/v2/translations/generatefile='.$language_key;
|
|
$responses = ioAPIv2($api_url,'',$token);
|
|
|
|
if (!empty($responses)){
|
|
//define translation variable
|
|
$translation = '<?php'.PHP_EOL;
|
|
|
|
//decode the API response
|
|
$responses = json_decode($responses,true);
|
|
|
|
//loop through translation records and create variables
|
|
foreach ($responses as $response){
|
|
$text = str_replace(
|
|
['\\', "'", "\r", "\n", "\0", "\t"],
|
|
['\\\\', "\\'", '\\r', '\\n', '\\0', '\\t'],
|
|
$response['translation']
|
|
);
|
|
|
|
//create variable_name = translation per item
|
|
$translation .= '$'.$response['variable'].' = \''.$text.'\';'.PHP_EOL;
|
|
}
|
|
//ADD closure tag for PHP
|
|
$translation .= '?>';
|
|
//Target dir
|
|
$target_dir = '../custom/translations/';
|
|
//Filename
|
|
$input_file = $target_dir.'translations_'.strtoupper($language_key).'.php';
|
|
//store translation to the file
|
|
file_put_contents($input_file, $translation);
|
|
}
|
|
}
|
|
|
|
if ($language_key != ''){
|
|
generateFile($language_key,$clientsecret);
|
|
} else {
|
|
|
|
foreach ($supportedLanguages as $language){
|
|
generateFile($language,$clientsecret);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
template_admin_header('Language', 'language');
|
|
|
|
$view .='
|
|
<form action="" method="post">
|
|
<div class="content-title responsive-flex-wrap responsive-pad-bot-3">
|
|
<h2 class="responsive-width-100">Maintenance</h2>
|
|
</div>';
|
|
|
|
$view .= '<div class="tabs">
|
|
<a href="#" class="active">'.($general_actions ?? 'Actions' ).'</a>
|
|
</div>
|
|
';
|
|
|
|
$view .= '<div class="content-block tab-content active">
|
|
<div class="form responsive-width-100">
|
|
<label for="">Language</label>
|
|
<select id="language" name="language">';
|
|
$view .='<option value=""></option>';
|
|
foreach ($supportedLanguages as $language){
|
|
$view .='<option value="'.$language.'">'.$language.'</option>';
|
|
}
|
|
$view .=' </select>
|
|
<input type="submit" name="generatefile" style="width: 15%;" value="Generate language" class="btn">
|
|
</div>
|
|
</div>';
|
|
|
|
$view .= '</form>';
|
|
|
|
//Output
|
|
echo $view;
|
|
|
|
template_admin_footer(); |