From 2849e973118a5e9677a306c002543dfd8622f98c Mon Sep 17 00:00:00 2001 From: Fraenkiman Date: Sun, 29 Jan 2023 02:06:29 +0100 Subject: [PATCH 1/4] Setup should use the user's browser language. This closes issue #197 Please check if it works with php8.1. Tested with php 7.4 Update main.php 'el-gr','es-es','fr-fr' removed as browser language, because the FlatPress setup currently has no language files for it Update lang.de-de.php Update main.php some code formatting --- setup/lang/lang.de-de.php | 2 +- setup/main.php | 70 +++++++++++++++++++++++++++++++++++---- 2 files changed, 65 insertions(+), 7 deletions(-) diff --git a/setup/lang/lang.de-de.php b/setup/lang/lang.de-de.php index ddde6df..73aaeaf 100644 --- a/setup/lang/lang.de-de.php +++ b/setup/lang/lang.de-de.php @@ -63,7 +63,7 @@ $lang ['step3'] = array( ); $lang ['buttonbar'] = array( - 'next' => 'Next >' + 'next' => 'Weiter >' ); $lang ['samplecontent'] = array(); diff --git a/setup/main.php b/setup/main.php index 37cc5b8..38187d7 100644 --- a/setup/main.php +++ b/setup/main.php @@ -1,6 +1,66 @@ - $intCurrentQ) { + $strCurrentLanguage = strtolower (join ('-', $arrLangCode)); + $intCurrentQ = $intLangQuality; + break; + } + } + if ($boolStrictMode) break; + array_pop ($arrLangCode); + } + } + return $strCurrentLanguage; +} -$language = @$_POST['language']? $_POST['language'] :'en-us'; +// accept the following languages, otherwise fall back to "en-us" +$browserLang = getBrowserLanguage(array('cs-cz', 'de-de', 'en-us', 'it-it', 'ja-jp', 'nl-nl', 'pt-br'), 'en-us'); + +$language = @$_POST ['language']? $_POST ['language'] : $browserLang; $lf = "lang.$language.php"; if (!preg_match('|^lang\.[a-z]{2}-[a-z]{2}\.php$|', $lf)) @@ -13,12 +73,10 @@ $step = null; $id = getstep($step); -$l =& $lang[$step]; - +$l =& $lang [$step]; include("./setup/tpls/header.tpl.php"); include("./setup/tpls/{$step}.tpl.php"); include("./setup/tpls/footer.tpl.php"); - -?> \ No newline at end of file +?> From eee662da15cf532317a636f15763be5c57c4f5f5 Mon Sep 17 00:00:00 2001 From: Frank Hochmuth Date: Fri, 24 Mar 2023 23:23:28 +0100 Subject: [PATCH 2/4] Delete lang.de-de.php is fixed with #219 --- setup/lang/lang.de-de.php | 165 -------------------------------------- 1 file changed, 165 deletions(-) delete mode 100644 setup/lang/lang.de-de.php diff --git a/setup/lang/lang.de-de.php b/setup/lang/lang.de-de.php deleted file mode 100644 index 73aaeaf..0000000 --- a/setup/lang/lang.de-de.php +++ /dev/null @@ -1,165 +0,0 @@ - 'Installation ist gesperrt', - 'descr' => 'Sieht so aus, als würde die Installation bereits laufen: Die Sperr-Datei %s existiert bereits. - - Wenn du die Installation noch einmal neu starten möchtest, lösche bitte zuerst diese Datei. - - Achtung! Die Datei setup.php und das Verzeichnis setup/ sollten nicht auf dem Server bleiben, bitte lösche sie nach Abschluss der Installation! - - ' -); - -$lang ['step1'] = array( - 'head' => 'Willkommen bei FlatPress!', - 'descr' => 'Danke, dass du dich für FlatPress entschieden hast. - - Bevor du mit deinem brandneuen Blog loslegen kannst, musst du noch ein paar Kleinigkeiten angeben. - - Aber keine Sorge, es dauert nicht lange!', - 'descrl1' => 'Wähle deine Sprache.', - 'descrl2' => 'Nicht in der Liste?', - 'descrlang' => 'Wenn du deine Sprache nicht in der Liste findest, schau einmal nach, ob es ein passendes Sprachpaket gibt: - -
%s
- - Für die Installation eines Sprachpakets lade dessen Inhalt einfach in dein flatpress/-Verzeichnis. Dann starte die Installation erneut.', - 'descrw' => 'Das Einzige, was du für den Betrieb von FlatPress benötigst, ist ein beschreibbares Verzeichnis. - -
%s
' -); - -$lang ['step2'] = array( - 'head' => 'Benutzer anlegen', - 'descr' => 'Fast fertig! Nur noch die folgenden Details:', - 'fpuser' => 'Benutzername', - 'fppwd' => 'Passwort', - 'fppwd2' => 'Passwort (Wiederholung)', - 'www' => 'Homepage', - 'email' => 'E-Mail' -); - -$lang ['step3'] = array( - 'head' => 'Fertig', - 'descr' => 'Das war\'s schon. - - Nicht zu glauben? - - Nein, tatsächlich geht es jetzt erst richtig los! Aber das Bloggen ist nun deine Aufgabe ;) - - - - Danke, dass du dich für FlatPress entschieden hast!' -); - -$lang ['buttonbar'] = array( - 'next' => 'Weiter >' -); - -$lang ['samplecontent'] = array(); - -$lang ['samplecontent'] ['menu'] ['subject'] = 'Menü'; -$lang ['samplecontent'] ['menu'] ['content'] = '[list] -[*][url=?]Startseite[/url] -[*][url=?paged=1]Blog[/url] -[*][url=static.php?page=about]Über[/url] -[*][url=contact.php]Kontakt[/url] -[/list]'; - -$lang ['samplecontent'] ['entry'] ['subject'] = 'Willkommen bei FlatPress!'; -$lang ['samplecontent'] ['entry'] ['content'] = 'Das ist ein Beispiel-Beitrag, er zeigt dir einige Funktionen von [url=https://www.flatpress.org]FlatPress[/url]. - -Das "more"-Element erlaubt es dir, vom Anriss des Beitrags zum kompletten Artikel zu springen. - -[more] - - -[h4]Textformatierung[/h4] - -In FlatPress formatierst du deine Inhalte mit [url=http://wiki.flatpress.org/doc:plugins:bbcode]BBcode[/url] (Bulletin-Board-Code). Mit BBCode geht das sehr einfach. Beispiele gefällig? [b] macht [b]fetten Text[/b], [i] [i]kursiven[/i]. - -[quote]Mit dem [b]quote[/b]-Element lassen sich Zitate auszeichnen. [/quote] - -[code]Das \'code\'-Element erzeugt einen Abschnitt mit fester Zeichenbreite. -Es kann auch - Einrückungen darstellen.[/code] - -Die Elemente \'img\' (Bilder) und \'url\' (Links) haben spezielle Optionen. Mehr darüber erfährst du im [url=https://wiki.flatpress.org/doc:plugins:bbcode]FlatPress-Wiki[/url]. - - -[h4]Einträge (Blogartikel) und statische Seiten[/h4] - -Das hier ist ein Eintrag, während [url=static.php?page=about]Über[/url] eine [b]statische Seite[/b] ist. Eine statische Seite kann im Gegensatz zum Eintrag nicht kommentiert werden und taucht auch nicht in den Auflistungen der Blogeinträge auf. - -Statische Seiten sind sinvoll für generelle Informationen, zum Beispiel eine feste Startseite oder das Impressum. Man könnte sogar komplett auf die Blog-Funktionen verzichten und mit FlatPress eine Website mit ausschließlich statischen Seiten erstellen. - -Im [url=admin.php]Administrationsbereich[/url] kannst du Einträge und statische Seiten erstellen - und festlegen, ob die Startseite deines FlatPress-Blogs eine statische Seite oder die Blog-Übersicht sein soll. - - -[h4]Plugins[/h4] - -Du kannst FlatPress umfassend an deine Bedürfnisse anpassen, indem du es mit [url=https://wiki.flatpress.org/doc:plugins:standard]Plugins[/url] erweiterst. BBCode ist z.B. ein Plugin. - -Es folgt noch etwas mehr Beispiel-Inhalt, der dir noch mehr FlatPress-Funktionen zeigt :) -Zwei statische Seiten sind für dich schon vorbereitet: -[list] -[*][url=static.php?page=about]Über[/url] -[*][url=static.php?page=menu]Menü[/url] (Der Inhalt dieser statischen Seite taucht auch in der Seitenleiste deines Blogs auf - das ist die Magie des [b]Blockparser-Widgets[/b]. Das [url=http://wiki.flatpress.org/]FlatPress-Wiki[/url] hat Informationen dazu, und noch viel mehr!) -[/list] - - -[h4]Widgets[/h4] - -Keines der Elemente in der Seitenleiste deines Blogs ist fest vorgegeben, du kannst sie im Administrationsbereich verschieben, entfernen und neue hinzufügen. - -Diese Elemente werden [b]Widgets[/b] genannt. Natürlich hat das FlatPress-Wiki auch zu diesem Thema [url=https://wiki.flatpress.org/doc:tips:widgets]viele hilfreiche Informationen[/url]. - - -[h4]Noch mehr[/h4] - -Du möchtest gern mehr über FlatPress wissen? - -[list] -[*]Im [url=https://www.flatpress.org/?x]Projekt-Blog[/url] erfährst du, was im FlatPress-Projekt aktuell los ist. -[*]Besuche das [url=https://forum.flatpress.org/]Supportforum[/url] für Unterstützung und den Kontakt zu anderen FlatPress-Benutzern. -[*]Lade dir großartige von der Community erstellte [b]Themes[/b] aus dem [url=https://wiki.flatpress.org/res:themes]Wiki[/url] herunter. -[*]Dort gibt es auch tolle [url=https://wiki.flatpress.org/res:plugins]Plugins[/url]. -[*]FlatPress kannst du auch [url=https://twitter.com/FlatPress]auf Twitter folgen[/url]. -[/list] - - -[h4]Wie kannst ich FlatPress unterstützen?[/h4] - -[list] -[*][url=https://www.flatpress.org/contact/]Melde[/url] aufgetretene Fehler oder schick uns Verbesserungsvorschläge. -[*]Programmierer sind herzlich eingeladen, uns auf [url="https://github.com/flatpressblog/flatpress"]GitHub[/url] zu unterstützen. -[*]Übersetze FlatPress und seine Dokumentation in [url=https://wiki.flatpress.org/res:language]deine Sprache[/url]. -[*]Sei ein Teil der FlatPress-Gemeinschaft im [url=https://forum.flatpress.org/]Supportforum[/url]. -[*]Erzähl der Welt, wie toll FlatPress ist! :) -[/list] - - -[h4]So, und nun?[/h4] - -[url=login.php]Logge dich ein[/url], um im [url=admin.php]Administrationsbereicht[/url] mit dem Bloggen zu beginnen. - -Viel Spaß! :) - -[i]Das [url=https://www.flatpress.org]FlatPress[/url]-Team[/i] - -'; - -$lang ['samplecontent'] ['about'] ['subject'] = 'Über'; -$lang ['samplecontent'] ['about'] ['content'] = "Schreib hier etwas über dich und diesen Blog. ([url=admin.php?p=static&action=write&page=about]Bearbeite mich![/url])"; - -?> From 859a2d8ab8d264b6c0d57c9e0422131a99129422 Mon Sep 17 00:00:00 2001 From: Fraenkiman Date: Fri, 24 Mar 2023 23:41:09 +0100 Subject: [PATCH 3/4] Create lang.de-de.php to avoid conflicts copied from #219 --- setup/lang/lang.de-de.php | 175 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 setup/lang/lang.de-de.php diff --git a/setup/lang/lang.de-de.php b/setup/lang/lang.de-de.php new file mode 100644 index 0000000..6426173 --- /dev/null +++ b/setup/lang/lang.de-de.php @@ -0,0 +1,175 @@ + 'Installation ist gesperrt', + 'descr' => 'Sieht so aus, als würde die Installation bereits laufen: Die Sperr-Datei %s existiert bereits. + + Wenn du die Installation noch einmal neu starten möchtest, lösche bitte zuerst diese Datei. + + Achtung! Die Datei setup.php und das Verzeichnis setup/ sollten nicht auf dem Server bleiben, bitte lösche sie nach Abschluss der Installation! + + ' +); + +$lang ['step1'] = array( + 'head' => 'Willkommen bei FlatPress!', + 'descr' => 'Danke, dass du dich für FlatPress entschieden hast. + + Bevor du mit deinem brandneuen Blog loslegen kannst, musst du noch ein paar Kleinigkeiten angeben. + + Aber keine Sorge, es dauert nicht lange!', + 'descrl1' => 'Wähle deine Sprache.', + 'descrl2' => 'Nicht in der Liste?', + 'descrlang' => 'Wenn du deine Sprache nicht in der Liste findest, schau einmal nach, ob es ein passendes Sprachpaket gibt: + +
%s
+ + Für die Installation eines Sprachpakets lade dessen Inhalt einfach in dein flatpress/-Verzeichnis. Dann starte die Installation erneut.', + 'descrw' => 'Das Einzige, was du für den Betrieb von FlatPress benötigst, ist ein beschreibbares Verzeichnis. + +
%s
' +); + +$lang ['step2'] = array( + 'head' => 'Benutzer anlegen', + 'descr' => 'Fast fertig! Nur noch die folgenden Details:', + 'fpuser' => 'Benutzername', + 'fppwd' => 'Passwort', + 'fppwd2' => 'Passwort (Wiederholung)', + 'www' => 'Homepage', + 'email' => 'E-Mail' +); + +$lang ['step3'] = array( + 'head' => 'Fertig', + 'descr' => 'Das war\'s schon. + + Nicht zu glauben? + + Nein, tatsächlich geht es jetzt erst richtig los! Aber das Bloggen ist nun deine Aufgabe ;) + + + + Danke, dass du dich für FlatPress entschieden hast!' +); + +$lang ['buttonbar'] = array( + 'next' => 'Weiter >' +); + +$lang ['samplecontent'] = array(); + +$lang ['samplecontent'] ['menu'] ['subject'] = 'Menü'; +$lang ['samplecontent'] ['menu'] ['content'] = '[list] +[*][url=?]Startseite[/url] +[*][url=?paged=1]Blog[/url] +[*][url=static.php?page=about]Über[/url] +[*][url=contact.php]Kontakt[/url] +[/list]'; + +$lang ['samplecontent'] ['entry'] ['subject'] = 'Willkommen bei FlatPress!'; +$lang ['samplecontent'] ['entry'] ['content'] = 'Das ist ein Beispiel-Beitrag, er zeigt dir einige Funktionen von [url=https://www.flatpress.org]FlatPress[/url]. + +Das "more"-Element erlaubt es dir, vom Anriss des Beitrags zum kompletten Artikel zu springen. + +[more] + + +[h4]Textformatierung[/h4] + +In FlatPress formatierst du deine Inhalte mit [url=http://wiki.flatpress.org/doc:plugins:bbcode]BBcode[/url] (Bulletin-Board-Code). Mit BBCode geht das sehr einfach. Beispiele gefällig? [b] macht [b]fetten Text[/b], [i] [i]kursiven[/i]. + +[quote]Mit dem [b]quote[/b]-Element lassen sich Zitate auszeichnen. [/quote] + +[code]Das \'code\'-Element erzeugt einen Abschnitt mit fester Zeichenbreite. +Es kann auch + Einrückungen darstellen.[/code] + +Die Elemente \'img\' (Bilder) und \'url\' (Links) haben spezielle Optionen. Mehr darüber erfährst du im [url=https://wiki.flatpress.org/doc:plugins:bbcode]FlatPress-Wiki[/url]. + + +[h4]Einträge (Blogartikel) und statische Seiten[/h4] + +Das hier ist ein Eintrag, während [url=static.php?page=about]Über[/url] eine [b]statische Seite[/b] ist. Eine statische Seite kann im Gegensatz zum Eintrag nicht kommentiert werden und taucht auch nicht in den Auflistungen der Blogeinträge auf. + +Statische Seiten sind sinvoll für generelle Informationen, zum Beispiel eine feste Startseite oder das Impressum. Man könnte sogar komplett auf die Blog-Funktionen verzichten und mit FlatPress eine Website mit ausschließlich statischen Seiten erstellen. + +Im [url=admin.php]Administrationsbereich[/url] kannst du Einträge und statische Seiten erstellen - und festlegen, ob die Startseite deines FlatPress-Blogs eine statische Seite oder die Blog-Übersicht sein soll. + + +[h4]Plugins[/h4] + +Du kannst FlatPress umfassend an deine Bedürfnisse anpassen, indem du es mit [url=https://wiki.flatpress.org/doc:plugins:standard]Plugins[/url] erweiterst. BBCode ist z.B. ein Plugin. + +Es folgt noch etwas mehr Beispiel-Inhalt, der dir noch mehr FlatPress-Funktionen zeigt :) + +Zwei statische Seiten sind für dich schon vorbereitet: +[list] +[*][url=static.php?page=about]Über[/url] +[*][url=static.php?page=menu]Menü[/url] (Der Inhalt dieser statischen Seite taucht auch in der Seitenleiste deines Blogs auf - das ist die Magie des [b]Blockparser-Widgets[/b]. Das [url=http://wiki.flatpress.org/]FlatPress-Wiki[/url] hat Informationen dazu, und noch viel mehr!) +[/list] + +Mit dem [b]PhotoSwipe-Plugin[/b] platzierst du jetzt noch einfacher deine Bilder, wahlweise als float="left"- oder float="right" ausgerichtetes Einzelbild, vom Text umschlossen. +Du kannst sogar mit dem Element \'gallery\' deinen Besuchern ganze Galerien präsentieren. Wie einfach es funktioniert, [url="https://wiki.flatpress.org/res:plugins:photoswipe"]erfährst du hier[/url]. + + +[h4]Widgets[/h4] + +Keines der Elemente in der Seitenleiste deines Blogs ist fest vorgegeben, du kannst sie im Administrationsbereich verschieben, entfernen und neue hinzufügen. + +Diese Elemente werden [b]Widgets[/b] genannt. Natürlich hat das FlatPress-Wiki auch zu diesem Thema [url=https://wiki.flatpress.org/doc:tips:widgets]viele hilfreiche Informationen[/url]. + + +[h4]Themes[/h4] + +[gallery="images/Leggero-Themepreview/" width="140"] +Mit dem FlatPress-Leggero-Theme stehen dir 3 Stil-Vorlagen zur Verfügung - von Klassisch bis Modern. Diese Vorlagen sind ein wunderbarer Start etwas eigenes zu kreieren. + +[h4]Noch mehr[/h4] + +Du möchtest gern mehr über FlatPress wissen? + +[list] +[*]Unterstütze das Projekt mit einer [url=http://www.flatpress.org/home/static.php?page=donate]kleinen Spende[/url]. +[*]Im [url=https://www.flatpress.org/?x]Projekt-Blog[/url] erfährst du, was im FlatPress-Projekt aktuell los ist. +[*]Besuche das [url=https://forum.flatpress.org/]Supportforum[/url] für Unterstützung und den Kontakt zu anderen FlatPress-Benutzern. +[*]Lade dir großartige von der Community erstellte [b]Themes[/b] aus dem [url=https://wiki.flatpress.org/res:themes]Wiki[/url] herunter. +[*]Dort gibt es auch tolle [url=https://wiki.flatpress.org/res:plugins]Plugins[/url]. +[*]FlatPress kannst du auch [url=https://twitter.com/FlatPress]auf Twitter folgen[/url]. +[/list] + + +[h4]Wie kannst ich FlatPress unterstützen?[/h4] + +[list] +[*][url=https://www.flatpress.org/contact/]Melde[/url] aufgetretene Fehler oder schick uns Verbesserungsvorschläge. +[*]Programmierer sind herzlich eingeladen, uns auf [url="https://github.com/flatpressblog/flatpress"]GitHub[/url] zu unterstützen. +[*]Übersetze FlatPress und seine Dokumentation in [url=https://wiki.flatpress.org/res:language]deine Sprache[/url]. +[*]Sei ein Teil der FlatPress-Gemeinschaft im [url=https://forum.flatpress.org/]Supportforum[/url]. +[*]Erzähl der Welt, wie toll FlatPress ist! :) +[/list] + + +[h4]So, und nun?[/h4] + +[url=login.php]Logge dich ein[/url], um im [url=admin.php]Administrationsbereicht[/url] mit dem Bloggen zu beginnen. + +Viel Spaß! :) + +[i]Das [url=https://www.flatpress.org]FlatPress[/url]-Team[/i] + +'; + +$lang ['samplecontent'] ['about'] ['subject'] = 'Über'; +$lang ['samplecontent'] ['about'] ['content'] = "Schreib hier etwas über dich und diesen Blog. ([url=admin.php?p=static&action=write&page=about]Bearbeite mich![/url])"; + +?> From 73153cffed6ffcd58a381ce5361100bf1f0ab6a0 Mon Sep 17 00:00:00 2001 From: Fraenkiman Date: Tue, 18 Apr 2023 23:27:40 +0200 Subject: [PATCH 4/4] The setup, blog and admin area is automatically determined by the user agent Fixes #216 Fixes #197 The exchange between browser and server transmits information about the client and its capabilities in headers - user agent, what it accepts, and (what interests us) language. The browser sends the language information in a header. These values indicate that the browser accepts, for example, US English (en-us) or German (de-de). We make use of this. The setup of FlatPress now starts automatically in the language of the user. The determined language will also be used as default language for the FlatPressblog and the administration area until the user defines a language himself. For the setup the language files 'el-gr','es-es','fr-fr' are still missing. Therefore I limited the automatic determination of the language to 'cs-cz', 'de-de', 'en-us', 'it-it', 'ja-jp', 'nl-nl', 'pt-br'. See #239 --- defaults.php | 3 +- fp-defaults/settings-defaults.php | 6 ++- fp-interface/lang/browserlang.php | 64 +++++++++++++++++++++++++++++++ setup/main.php | 61 ----------------------------- 4 files changed, 70 insertions(+), 64 deletions(-) create mode 100644 fp-interface/lang/browserlang.php diff --git a/defaults.php b/defaults.php index 439c190..cf91023 100755 --- a/defaults.php +++ b/defaults.php @@ -93,7 +93,8 @@ define('IMAGES_DIR', FP_CONTENT . 'images/'); // here is where all the attachments will be saved define('ATTACHS_DIR', FP_CONTENT . 'attachs/'); -define('LANG_DEFAULT', 'en-us'); +include(LANG_DIR . 'browserlang.php'); +define('LANG_DEFAULT', $browserLang); define('BPT_SORT', SORT_DESC); set_include_path(ABS_PATH); diff --git a/fp-defaults/settings-defaults.php b/fp-defaults/settings-defaults.php index f8f2ac9..22cd99a 100755 --- a/fp-defaults/settings-defaults.php +++ b/fp-defaults/settings-defaults.php @@ -21,7 +21,7 @@ $fp_config = array( 'dateformat' => '%A, %B %e, %Y', 'dateformatshort' => '%Y-%m-%d', 'charset' => 'utf-8', - 'lang' => 'en-us' + 'lang' => '' ), 'plugins' => array( 'blockparser' => array( @@ -37,4 +37,6 @@ $fp_config = array( 'url-maxlen' => 40, ), ), -); \ No newline at end of file +); + +?> diff --git a/fp-interface/lang/browserlang.php b/fp-interface/lang/browserlang.php new file mode 100644 index 0000000..7305a60 --- /dev/null +++ b/fp-interface/lang/browserlang.php @@ -0,0 +1,64 @@ + $intCurrentQ) { + $strCurrentLanguage = strtolower (join ('-', $arrLangCode)); + $intCurrentQ = $intLangQuality; + break; + } + } + if ($boolStrictMode) break; + array_pop ($arrLangCode); + } + } + return $strCurrentLanguage; +} + +// accept the following languages, otherwise fall back to "en-us" +$browserLang = getBrowserLanguage(array('cs-cz', 'de-de', 'en-us', 'it-it', 'ja-jp', 'nl-nl', 'pt-br'), 'en-us'); + +?> diff --git a/setup/main.php b/setup/main.php index 38187d7..e796cb2 100644 --- a/setup/main.php +++ b/setup/main.php @@ -1,65 +1,4 @@ $intCurrentQ) { - $strCurrentLanguage = strtolower (join ('-', $arrLangCode)); - $intCurrentQ = $intLangQuality; - break; - } - } - if ($boolStrictMode) break; - array_pop ($arrLangCode); - } - } - return $strCurrentLanguage; -} - -// accept the following languages, otherwise fall back to "en-us" -$browserLang = getBrowserLanguage(array('cs-cz', 'de-de', 'en-us', 'it-it', 'ja-jp', 'nl-nl', 'pt-br'), 'en-us'); - $language = @$_POST ['language']? $_POST ['language'] : $browserLang; $lf = "lang.$language.php";