From 2daa1a6fadcfd4c3e4fbe6af0e59f6867035500b Mon Sep 17 00:00:00 2001 From: Eike Foken Date: Thu, 11 Aug 2011 02:16:01 +0200 Subject: [PATCH] Fix language stuff --- application/core/MY_Lang.php | 38 ++++++++-- .../language/locale/de_DE/LC_MESSAGES/lang.po | 74 +++++++++++++++++++ .../{en_EN => en_US}/LC_MESSAGES/lang.po | 14 ++++ 3 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 application/language/locale/de_DE/LC_MESSAGES/lang.po rename application/language/locale/{en_EN => en_US}/LC_MESSAGES/lang.po (63%) diff --git a/application/core/MY_Lang.php b/application/core/MY_Lang.php index d13f71d..5716079 100644 --- a/application/core/MY_Lang.php +++ b/application/core/MY_Lang.php @@ -32,22 +32,43 @@ class MY_Lang extends CI_Lang { if ($user_lang) { $this->_gettext_language = $user_lang; } else { - $this->_gettext_language = 'en_EN'; + $this->_gettext_language = 'en_US'; } log_message('debug', 'The gettext language was set by parameter: ' . $this->_gettext_language); - putenv("LANG=$this->_gettext_language"); - setlocale(LC_ALL, $this->_gettext_language); + putenv("LC_ALL=$this->_gettext_language"); + setlocale(LC_ALL, $this->_gettext_language . ".utf8"); // set the path of .po files $this->_gettext_path = APPPATH . 'language/locale'; log_message('debug', 'Gettext Class path chosen is: ' . $this->_gettext_path); - bindtextdomain($this->_gettext_domain, $this->_gettext_path); - textdomain($this->_gettext_domain); + $filename = $this->_gettext_path . '/' . $this->_gettext_language . '/LC_MESSAGES/' . $this->_gettext_domain . '.mo'; + $mtime = filemtime($filename); + + $newFilename = $this->_gettext_path . '/' . $this->_gettext_language . '/LC_MESSAGES/' . $this->_gettext_domain . '_' . $mtime . '.mo'; + + if (!file_exists($newFilename)) { + $dir = scandir(dirname($filename)); + foreach ($dir as $file) { + // remove all the old files + if (!in_array($file, array('.', '..', $this->_gettext_domain . '.po', $this->_gettext_domain . '.mo'))) { + @unlink(dirname($filename) . '/' . $file); + } + } + + @copy($filename, $newFilename); + } + + $newDomain = $this->_gettext_domain . '_' . $mtime; + + bindtextdomain($newDomain, $this->_gettext_path); + bind_textdomain_codeset($newDomain, "UTF-8"); + textdomain($newDomain); + log_message('debug', 'The gettext domain chosen is: '. $this->_gettext_domain); - return true; + return true; } /** @@ -115,4 +136,7 @@ class MY_Lang extends CI_Lang { log_message('debug', 'Language file loaded: language/' . $idiom . '/' . $langfile); return true; } -} \ No newline at end of file +} + +/* End of file MY_Lang.php */ +/* Location: ./application/libraries/MY_Lang.php */ diff --git a/application/language/locale/de_DE/LC_MESSAGES/lang.po b/application/language/locale/de_DE/LC_MESSAGES/lang.po new file mode 100644 index 0000000..6584152 --- /dev/null +++ b/application/language/locale/de_DE/LC_MESSAGES/lang.po @@ -0,0 +1,74 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-10 21:25+0200\n" +"PO-Revision-Date: 2011-08-10 22:00+0200\n" +"Last-Translator: Karsten Heiken \n" +"Language-Team: German <>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +msgid "Users" +msgstr "Benutzer" + +msgid "Available users" +msgstr "Alle verfügbaren Benutzer" + +msgid "Username" +msgstr "Benutzername" + +msgid "Full name" +msgstr "Vollständiger Name" + +msgid "Actions" +msgstr "Aktionen" + +msgid "Edit" +msgstr "Bearbeiten" + +msgid "Delete" +msgstr "Löschen" + +msgid "Create new user" +msgstr "Neuen Benutzer erstellen" + +msgid "Edit user '%s'" +msgstr "Benutzer »%s« bearbeiten" + +msgid "Required information" +msgstr "Erforderliche Angaben" + +msgid "Optional information" +msgstr "Optionale Angaben" + +msgid "Email address" +msgstr "E-Mail-Adresse" + +msgid "First name" +msgstr "Vorname" + +msgid "Last name" +msgstr "Nachname" + +msgid "Institution" +msgstr "Institution" + +msgid "Phone number" +msgstr "Telefonnummer" + +msgid "Language" +msgstr "Sprache" + +msgid "Example" +msgstr "Beispiel" + +msgid "Save" +msgstr "Speichern" + +msgid "Cancel" +msgstr "Abbrechen" + diff --git a/application/language/locale/en_EN/LC_MESSAGES/lang.po b/application/language/locale/en_US/LC_MESSAGES/lang.po similarity index 63% rename from application/language/locale/en_EN/LC_MESSAGES/lang.po rename to application/language/locale/en_US/LC_MESSAGES/lang.po index dfd678f..cba01f1 100644 --- a/application/language/locale/en_EN/LC_MESSAGES/lang.po +++ b/application/language/locale/en_US/LC_MESSAGES/lang.po @@ -1,3 +1,17 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-10 21:25+0200\n" +"PO-Revision-Date: 2011-08-10 22:00+0200\n" +"Last-Translator: Karsten Heiken \n" +"Language-Team: English <>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + msgid "users" msgstr "Users"