Added language into the build process and rebuilt index
This commit is contained in:
parent
bedd520711
commit
47ad738329
2 changed files with 126 additions and 5 deletions
|
@ -9,10 +9,22 @@
|
|||
* @license MIT, https://acollington.mit-license.org/
|
||||
*/
|
||||
|
||||
$options = getopt('j', ['local-js']);
|
||||
$options = getopt('jl:', ['local-js', 'lang:']);
|
||||
$makeJsLocal = (isset($options['j']) || isset($options['local-js']));
|
||||
$useLanguage = $options['l'] ?? $options['lang'] ?? null;
|
||||
$languagePack = 'null';
|
||||
$parentPath = dirname(__DIR__);
|
||||
|
||||
if ($useLanguage !== null) {
|
||||
$useLanguage = preg_replace('/[^a-z_-]/', '', $useLanguage);
|
||||
$languageFile = __DIR__ . "/_languages/{$useLanguage}.json";
|
||||
if (!file_exists($languageFile)) {
|
||||
echo "The '{$useLanguage}' file does not exist - using default English\n\n";
|
||||
} else {
|
||||
$languagePack = "<<< EOJSON\n" . file_get_contents($languageFile) . "\nEOJSON";
|
||||
}
|
||||
}
|
||||
|
||||
if (!file_exists($parentPath . '/node_modules')) {
|
||||
echo "🐢 Installing node modules\n";
|
||||
exec('npm install');
|
||||
|
@ -28,9 +40,10 @@ $template = trim(file_get_contents(__DIR__ . '/template.phps'));
|
|||
$jsOutput = trim(file_get_contents(__DIR__ . '/interface.js'));
|
||||
$cssOutput = trim(file_get_contents(__DIR__ . '/interface.css'));
|
||||
$phpOutput = trim(implode('', array_slice(file($parentPath . '/src/Opcache/Service.php'), 3)));
|
||||
|
||||
$output = str_replace(
|
||||
['{{JS_OUTPUT}}', '{{CSS_OUTPUT}}', '{{PHP_OUTPUT}}', '{{LANGUAGE_PACK}}'],
|
||||
[$jsOutput, $cssOutput, $phpOutput, 'null'],
|
||||
[$jsOutput, $cssOutput, $phpOutput, $languagePack],
|
||||
$template
|
||||
);
|
||||
if ($makeJsLocal) {
|
||||
|
|
114
index.php
114
index.php
|
@ -40,7 +40,115 @@ $options = [
|
|||
'jit' => true // show the jit buffer chart/big number
|
||||
],
|
||||
// json structure of all text strings used, or null for default
|
||||
'language_pack' => null
|
||||
'language_pack' => <<< EOJSON
|
||||
{
|
||||
"(unsafe) Collect constants": "(instable) Collecter les constantes",
|
||||
"++, +=, series of jumps": "++, +=, séries de sauts",
|
||||
"Adjust used stack": "Ajuster la pile utilisée",
|
||||
"Ascending": "Croissant",
|
||||
"Available functions": "Fonctions disponibles",
|
||||
"blacklist misses": "Ratés mis sur liste noire",
|
||||
"buffer size": "taille du tampon",
|
||||
"Cached": "En cache",
|
||||
"CALL GRAPH optimization": "Optimisation CALL GRAPH",
|
||||
"CFG based optimization": "Optimisation basée sur CFG",
|
||||
"Compile all functions on script load": "Compiler toutes les fonctions au chargement du script",
|
||||
"Compile functions on first execution": "Compiler les fonctions à la première exécution",
|
||||
"Constant conversion and jumps": "Conversion des constantes et sauts",
|
||||
"CPU-specific optimization": "Optimisation spécifique au CPU",
|
||||
"CSE, STRING construction": "Construction CSE, STRING",
|
||||
"Currently unused": "Actuellement inutilisé",
|
||||
"DCE (dead code elimination)": "DCE (élimination du code mort)",
|
||||
"Descending": "Décroissant",
|
||||
"DFA based optimization": "Optimisation basée sur DFA",
|
||||
"Directives": "Directives",
|
||||
"Disable CPU-specific optimization": "Désactiver l'optimisation spécifique au processeur",
|
||||
"Disable real-time update": "Désactiver la mise à jour en temps réel",
|
||||
"Do not perform register allocation": "Ne pas effectuer d'allocation de registre",
|
||||
"Enable real-time update": "Activer la mise à jour en temps réel",
|
||||
"Enable use of AVX, if the CPU supports it": "Activer l'utilisation d'AVX, si le CPU le prend en charge",
|
||||
"false": "faux",
|
||||
"File list pagination": "Pagination de la liste des fichiers",
|
||||
"force file invalidation": "forcer l'invalidation du fichier",
|
||||
"free memory": "mémoire libre",
|
||||
"General info": "Informations générales",
|
||||
"has been invalidated": "a été invalidé",
|
||||
"hit rate": "taux de succès",
|
||||
"hits": "accès",
|
||||
"Host": "Hôte",
|
||||
"Ignored": "Ignoré",
|
||||
"INIT_FCALL_BY_NAME -> DO_FCALL": "INIT_FCALL_BY_NAME -> DO_FCALL",
|
||||
"Inline functions": "Fonctions inline",
|
||||
"Inline VM handlers": "Gestionnaires de VM inline",
|
||||
"interned strings usage": "utilisation des chaînes internées",
|
||||
"Invalidate all matching files": "Invalider tous les fichiers correspondants",
|
||||
"jit buffer free": "tampon jit libre",
|
||||
"jit buffer": "tampon jit",
|
||||
"keys": "clés",
|
||||
"Last modified": "Dernière modification",
|
||||
"last modified": "dernière modification",
|
||||
"Last used": "Dernière utilisation",
|
||||
"last used": "dernière utilisation",
|
||||
"max cached keys": "max de clés en cache",
|
||||
"Memory consumption": "Consommation mémoire",
|
||||
"memory usage": "utilisation de la mémoire",
|
||||
"memory": "mémoire",
|
||||
"Merge equal constants": "Fusionner les constantes égales",
|
||||
"Minimal JIT (call standard VM handlers)": "JIT minimal (appel des gestionnaires de VM standard)",
|
||||
"Next": "Suivant",
|
||||
"No files have been cached or you have <i>opcache.file_cache_only<\/i> turned on": "Aucun fichier n'a été mis en cache ou vous avez <i>opcache.file_cache_only<\/i> activé",
|
||||
"No files have been ignored via <i>opcache.blacklist_filename<\/i>": "Aucun fichier n'a été ignoré via <i>opcache.blacklist_filename<\/i>",
|
||||
"No files have been preloaded <i>opcache.preload<\/i>": "Aucun fichier n'a été préchargé <i>opcache.preload<\/i>",
|
||||
"No JIT": "Pas de JIT",
|
||||
"no value": "pas de valeur",
|
||||
"NOP removal": "Suppression de NOP",
|
||||
"number of cached files": "nombre de fichiers en cache",
|
||||
"number of cached keys": "nombre de clés en cache",
|
||||
"Number of hits": "Nombre d'accès",
|
||||
"number of hits": "nombre d'accès",
|
||||
"number of misses": "nombre de ratés",
|
||||
"number of strings": "nombre de chaînes",
|
||||
"opcache statistics": "statistiques d'opcache",
|
||||
"Optimization level": "Niveau d'optimisation",
|
||||
"Optimize whole script": "Optimiser tout le script",
|
||||
"Overview": "Vue d'ensemble",
|
||||
"Path": "Chemin",
|
||||
"Perform block-local register allocation": "Effectuer l'allocation de registre local de bloc",
|
||||
"Perform global register allocation": "Effectuer une allocation de registre globale",
|
||||
"preload memory": "précharger la mémoire",
|
||||
"Preloaded": "Préchargé",
|
||||
"Previous": "Précédent",
|
||||
"Profile functions on first request and compile the hottest functions afterwards": "Profiling des fonctions à la première demande et compilation des fonctions les plus fréquentes par la suite",
|
||||
"Profile on the fly and compile hot functions": "Profiling à la volée et compiler les fonctions les plus fréquentes",
|
||||
"Register allocation": "Allocation de registre",
|
||||
"Remove unused variables": "Supprimer les variables inutilisées",
|
||||
"Reset cache": "Réinitialiser le cache",
|
||||
"SCCP (constant propagation)": "SCCP (propagation des constantes)",
|
||||
"Script": "Script",
|
||||
"Server Software": "Logiciel serveur",
|
||||
"Sort order": "Ordre de tri",
|
||||
"Start typing to filter on script path": "Commencez à taper pour filtrer sur le chemin du script",
|
||||
"TMP VAR usage": "Utilisation TMP VAR",
|
||||
"total memory": "mémoire totale",
|
||||
"Trigger": "Déclencheur",
|
||||
"true": "vrai",
|
||||
"Use call graph": "Utiliser le graphe des appels",
|
||||
"Use tracing JIT. Profile on the fly and compile traces for hot code segments": "Utilisez le suivi JIT. Profiling à la volée et compilation des traces pour les segments de code les plus fréquents",
|
||||
"Use type inference": "Utiliser l'inférence de type",
|
||||
"used memory": "mémoire utilisée",
|
||||
"View manual page": "Voir la page du manuel",
|
||||
"View {0} manual entry": "Voir la page {0} du manuel",
|
||||
"wasted memory": "mémoire perdue",
|
||||
"You have <i>opcache.file_cache_only<\/i> turned on. As a result, the memory information is not available. Statistics and file list may also not be returned by <i>opcache_get_statistics()<\/i>.": "Vous avez <i>opcache.file_cache_only<\/i> activé. Par conséquent, les informations sur la mémoire ne sont pas disponibles. Les statistiques et la liste de fichiers peuvent également ne pas être renvoyées par <i>opcache_get_statistics()<\/i>.",
|
||||
"{0} files cached": "{0} fichiers mis en cache",
|
||||
"{0} files cached, {1} showing due to filter '{2}'": "{0} fichiers mis en cache, {1} s'affichent en raison du filtre '{2}'",
|
||||
"{0} ignore file locations": "{0} ignore les fichiers en fonction de l'emplacement",
|
||||
"{0} preloaded files": "{0} fichiers préchargés",
|
||||
"Last reset": "",
|
||||
"Start time": "",
|
||||
"never": ""
|
||||
}
|
||||
EOJSON
|
||||
];
|
||||
|
||||
/*
|
||||
|
@ -394,7 +502,7 @@ class Service
|
|||
->setTimezone($this->tz)
|
||||
->format($this->getOption('datetime_format')),
|
||||
'last_restart_time' => ($status['opcache_statistics']['last_restart_time'] === 0
|
||||
? 'never'
|
||||
? $this->txt('never')
|
||||
: (new DateTimeImmutable("@{$status['opcache_statistics']['last_restart_time']}"))
|
||||
->setTimezone($this->tz)
|
||||
->format($this->getOption('datetime_format'))
|
||||
|
@ -522,7 +630,7 @@ $opcache = (new Service($options))->handle();
|
|||
|
||||
<script type="text/javascript">
|
||||
|
||||
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
|
|
Loading…
Reference in a new issue