Files
Commerce/admin/language.php
2025-02-23 15:25:46 +01:00

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();