mirror of
https://github.com/misterunknown/ifm.git
synced 2025-08-10 10:04:01 +02:00
add compiler options for languages, closes #72
This commit is contained in:
@@ -554,7 +554,7 @@ f00bar;
|
||||
$this->templates = $templates;
|
||||
|
||||
$i18n = array();
|
||||
$i18n['en'] = <<<'f00bar'
|
||||
$i18n["en"] = <<<'f00bar'
|
||||
{
|
||||
"ajax_request": "AJAX Request",
|
||||
"cancel": "Cancel",
|
||||
@@ -610,67 +610,8 @@ f00bar;
|
||||
"word_wrap": "Word Wrap"
|
||||
}
|
||||
f00bar;
|
||||
$i18n['en'] = json_decode($i18n['en'], true);
|
||||
$i18n['de'] = <<<'f00bar'
|
||||
{
|
||||
"ajax_request": "AJAX Request",
|
||||
"archivename": "Name des Archivs",
|
||||
"cancel": "Abbrechen",
|
||||
"close": "Schließen",
|
||||
"copy": "Kopieren",
|
||||
"data": "Daten",
|
||||
"delete": "Löschen",
|
||||
"directoryname": "Ordner Name",
|
||||
"editor_options": "Editor Optionen",
|
||||
"extract": "Auspacken",
|
||||
"extract_filename": "Folgende Datei auspacken -",
|
||||
"file_delete_confirm": "Soll die folgende Datei wirklich gelöscht werden:",
|
||||
"file_edit_success": "Datei erfolgreich geändert / angelegt.",
|
||||
"file_multi_delete_confirm": "Sollen diese Dateien wirklich gelöscht werden:",
|
||||
"file_new": "Neue Datei",
|
||||
"file_save_confirm": "Soll diese Datei wirklich gelöscht werden:",
|
||||
"filename": "Dateiname",
|
||||
"filename_new": "Neuer Dateiname",
|
||||
"folder_new": "Neue Ordner",
|
||||
"footer": "IFM - verbesserter file manager | ifm.php versteckt |",
|
||||
"github": "Besuche das Projekt auf GitHub",
|
||||
"group": "Gruppe",
|
||||
"last_modified": "Zuletzt geändert",
|
||||
"login": "Anmeldung",
|
||||
"logout": "Abmelden",
|
||||
"method": "Methode",
|
||||
"move": "Verschieben",
|
||||
"options": "Optionen",
|
||||
"owner": "Besitzer",
|
||||
"password": "Passwort",
|
||||
"path_content": "Inhalt von",
|
||||
"permissions": "Berechtigungen",
|
||||
"refresh": "Auffrischen",
|
||||
"rename": "Umbenennen",
|
||||
"rename_filename": "Folgende Datei umbenennen -",
|
||||
"request": "Anfrage",
|
||||
"response": "Antwort",
|
||||
"save": "Speichen",
|
||||
"save_wo_close": "Speichen ohne Schließen",
|
||||
"search": "Suchen",
|
||||
"search_pattern": "Muster",
|
||||
"select_destination": "Zielort auswählen",
|
||||
"size": "Größe",
|
||||
"soft_tabs": "Leichte Tabulatoren",
|
||||
"tab_size": "Tabulatoren Größe",
|
||||
"tasks": "Aufgaben",
|
||||
"toggle_nav": "Navigation umschalten",
|
||||
"upload": "Hochladen",
|
||||
"upload_drop": "Dateien zum hochladen hier hinziehen",
|
||||
"upload_file": "Datei hochladen",
|
||||
"upload_remote": "Hochladen von ausserhalb",
|
||||
"upload_remote_url": "Entfernte URL zum hochladen",
|
||||
"username": "Benutzername",
|
||||
"word_wrap": "Zeilenumbruch"
|
||||
}
|
||||
$i18n["en"] = json_decode( $i18n["en"], true );
|
||||
|
||||
f00bar;
|
||||
$i18n['de'] = json_decode($i18n['de'], true);
|
||||
$this->i18n = $i18n;
|
||||
}
|
||||
|
||||
@@ -2840,7 +2781,12 @@ function IFM( params ) {
|
||||
} elseif( $_REQUEST["api"] == "getTemplates" ) {
|
||||
$this->jsonResponse( $this->templates );
|
||||
} elseif( $_REQUEST["api"] == "getI18N" ) {
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
if( isset( $this->i18n[$this->config['language']] ) )
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
else {
|
||||
foreach( $this->i18n as $lang ) break;
|
||||
$this->jsonResponse( $lang );
|
||||
}
|
||||
} elseif( $_REQUEST["api"] == "logout" ) {
|
||||
unset( $_SESSION );
|
||||
session_destroy();
|
||||
|
28
compiler.php
28
compiler.php
@@ -18,6 +18,21 @@ $IFM_BUILD_STANDALONE = "ifm.php";
|
||||
$IFM_BUILD_STANDALONE_COMPRESSED = "build/ifm.min.php";
|
||||
$IFM_BUILD_LIB_PHP = "build/libifm.php";
|
||||
|
||||
$options = getopt( null, array( "language::" ) );
|
||||
$vars['languages'] = isset( $options['language'] ) ? explode( ',', $options['language'] ) : array( "en" );
|
||||
$vars['defaultlanguage'] = $vars['languages'][0];
|
||||
$vars['languageincludes'] = "";
|
||||
foreach( $vars['languages'] as $l ) {
|
||||
if( file_exists( "src/i18n/".$l.".json" ) )
|
||||
$vars['languageincludes'] .=
|
||||
'$i18n["'.$l.'"] = <<<\'f00bar\'' . "\n"
|
||||
. file_get_contents( "src/i18n/".$l.".json" ) . "\n"
|
||||
. 'f00bar;' . "\n"
|
||||
. '$i18n["'.$l.'"] = json_decode( $i18n["'.$l.'"], true );' . "\n" ;
|
||||
else
|
||||
print "WARNING: Language file src/i18n/".$l.".json not found.\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Concat PHP Files
|
||||
*/
|
||||
@@ -30,13 +45,20 @@ foreach( $IFM_SRC_PHP as $phpfile ) {
|
||||
$compiled = join( $compiled );
|
||||
|
||||
/**
|
||||
* Process includes
|
||||
* Process file includes
|
||||
*/
|
||||
$includes = NULL;
|
||||
preg_match_all( "/\@\@\@file:([^\@]+)\@\@\@/", $compiled, $includes, PREG_SET_ORDER );
|
||||
foreach( $includes as $file ) {
|
||||
foreach( $includes as $file )
|
||||
$compiled = str_replace( $file[0], file_get_contents( $file[1] ), $compiled );
|
||||
}
|
||||
|
||||
/**
|
||||
* Process variable includes
|
||||
*/
|
||||
$includes = NULL;
|
||||
preg_match_all( "/\@\@\@vars:([^\@]+)\@\@\@/", $compiled, $includes, PREG_SET_ORDER );
|
||||
foreach( $includes as $var )
|
||||
$compiled = str_replace( $var[0], $vars[$var[1]], $compiled );
|
||||
|
||||
/**
|
||||
* Build standalone script
|
||||
|
70
ifm.php
70
ifm.php
@@ -554,7 +554,7 @@ f00bar;
|
||||
$this->templates = $templates;
|
||||
|
||||
$i18n = array();
|
||||
$i18n['en'] = <<<'f00bar'
|
||||
$i18n["en"] = <<<'f00bar'
|
||||
{
|
||||
"ajax_request": "AJAX Request",
|
||||
"cancel": "Cancel",
|
||||
@@ -610,67 +610,8 @@ f00bar;
|
||||
"word_wrap": "Word Wrap"
|
||||
}
|
||||
f00bar;
|
||||
$i18n['en'] = json_decode($i18n['en'], true);
|
||||
$i18n['de'] = <<<'f00bar'
|
||||
{
|
||||
"ajax_request": "AJAX Request",
|
||||
"archivename": "Name des Archivs",
|
||||
"cancel": "Abbrechen",
|
||||
"close": "Schließen",
|
||||
"copy": "Kopieren",
|
||||
"data": "Daten",
|
||||
"delete": "Löschen",
|
||||
"directoryname": "Ordner Name",
|
||||
"editor_options": "Editor Optionen",
|
||||
"extract": "Auspacken",
|
||||
"extract_filename": "Folgende Datei auspacken -",
|
||||
"file_delete_confirm": "Soll die folgende Datei wirklich gelöscht werden:",
|
||||
"file_edit_success": "Datei erfolgreich geändert / angelegt.",
|
||||
"file_multi_delete_confirm": "Sollen diese Dateien wirklich gelöscht werden:",
|
||||
"file_new": "Neue Datei",
|
||||
"file_save_confirm": "Soll diese Datei wirklich gelöscht werden:",
|
||||
"filename": "Dateiname",
|
||||
"filename_new": "Neuer Dateiname",
|
||||
"folder_new": "Neue Ordner",
|
||||
"footer": "IFM - verbesserter file manager | ifm.php versteckt |",
|
||||
"github": "Besuche das Projekt auf GitHub",
|
||||
"group": "Gruppe",
|
||||
"last_modified": "Zuletzt geändert",
|
||||
"login": "Anmeldung",
|
||||
"logout": "Abmelden",
|
||||
"method": "Methode",
|
||||
"move": "Verschieben",
|
||||
"options": "Optionen",
|
||||
"owner": "Besitzer",
|
||||
"password": "Passwort",
|
||||
"path_content": "Inhalt von",
|
||||
"permissions": "Berechtigungen",
|
||||
"refresh": "Auffrischen",
|
||||
"rename": "Umbenennen",
|
||||
"rename_filename": "Folgende Datei umbenennen -",
|
||||
"request": "Anfrage",
|
||||
"response": "Antwort",
|
||||
"save": "Speichen",
|
||||
"save_wo_close": "Speichen ohne Schließen",
|
||||
"search": "Suchen",
|
||||
"search_pattern": "Muster",
|
||||
"select_destination": "Zielort auswählen",
|
||||
"size": "Größe",
|
||||
"soft_tabs": "Leichte Tabulatoren",
|
||||
"tab_size": "Tabulatoren Größe",
|
||||
"tasks": "Aufgaben",
|
||||
"toggle_nav": "Navigation umschalten",
|
||||
"upload": "Hochladen",
|
||||
"upload_drop": "Dateien zum hochladen hier hinziehen",
|
||||
"upload_file": "Datei hochladen",
|
||||
"upload_remote": "Hochladen von ausserhalb",
|
||||
"upload_remote_url": "Entfernte URL zum hochladen",
|
||||
"username": "Benutzername",
|
||||
"word_wrap": "Zeilenumbruch"
|
||||
}
|
||||
$i18n["en"] = json_decode( $i18n["en"], true );
|
||||
|
||||
f00bar;
|
||||
$i18n['de'] = json_decode($i18n['de'], true);
|
||||
$this->i18n = $i18n;
|
||||
}
|
||||
|
||||
@@ -2840,7 +2781,12 @@ function IFM( params ) {
|
||||
} elseif( $_REQUEST["api"] == "getTemplates" ) {
|
||||
$this->jsonResponse( $this->templates );
|
||||
} elseif( $_REQUEST["api"] == "getI18N" ) {
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
if( isset( $this->i18n[$this->config['language']] ) )
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
else {
|
||||
foreach( $this->i18n as $lang ) break;
|
||||
$this->jsonResponse( $lang );
|
||||
}
|
||||
} elseif( $_REQUEST["api"] == "logout" ) {
|
||||
unset( $_SESSION );
|
||||
session_destroy();
|
||||
|
18
src/main.php
18
src/main.php
@@ -24,7 +24,7 @@ class IFM {
|
||||
"tmp_dir" => "",
|
||||
"defaulttimezone" => "Europe/Berlin",
|
||||
"forbiddenChars" => array(),
|
||||
"language" => "en",
|
||||
"language" => "@@@vars:defaultlanguage@@@",
|
||||
|
||||
// api controls
|
||||
"ajaxrequest" => 1,
|
||||
@@ -159,14 +159,7 @@ f00bar;
|
||||
$this->templates = $templates;
|
||||
|
||||
$i18n = array();
|
||||
$i18n['en'] = <<<'f00bar'
|
||||
@@@file:src/i18n/en.json@@@
|
||||
f00bar;
|
||||
$i18n['en'] = json_decode($i18n['en'], true);
|
||||
$i18n['de'] = <<<'f00bar'
|
||||
@@@file:src/i18n/de.json@@@
|
||||
f00bar;
|
||||
$i18n['de'] = json_decode($i18n['de'], true);
|
||||
@@@vars:languageincludes@@@
|
||||
$this->i18n = $i18n;
|
||||
}
|
||||
|
||||
@@ -252,7 +245,12 @@ f00bar;
|
||||
} elseif( $_REQUEST["api"] == "getTemplates" ) {
|
||||
$this->jsonResponse( $this->templates );
|
||||
} elseif( $_REQUEST["api"] == "getI18N" ) {
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
if( isset( $this->i18n[$this->config['language']] ) )
|
||||
$this->jsonResponse( $this->i18n[$this->config['language']] );
|
||||
else {
|
||||
foreach( $this->i18n as $lang ) break;
|
||||
$this->jsonResponse( $lang );
|
||||
}
|
||||
} elseif( $_REQUEST["api"] == "logout" ) {
|
||||
unset( $_SESSION );
|
||||
session_destroy();
|
||||
|
Reference in New Issue
Block a user