Fix language stuff

This commit is contained in:
Eike Foken
2011-08-11 02:16:01 +02:00
parent 5c29fdba9e
commit 2daa1a6fad
3 changed files with 119 additions and 7 deletions

View File

@@ -32,22 +32,43 @@ class MY_Lang extends CI_Lang {
if ($user_lang) { if ($user_lang) {
$this->_gettext_language = $user_lang; $this->_gettext_language = $user_lang;
} else { } else {
$this->_gettext_language = 'en_EN'; $this->_gettext_language = 'en_US';
} }
log_message('debug', 'The gettext language was set by parameter: ' . $this->_gettext_language); log_message('debug', 'The gettext language was set by parameter: ' . $this->_gettext_language);
putenv("LANG=$this->_gettext_language"); putenv("LC_ALL=$this->_gettext_language");
setlocale(LC_ALL, $this->_gettext_language); setlocale(LC_ALL, $this->_gettext_language . ".utf8");
// set the path of .po files // set the path of .po files
$this->_gettext_path = APPPATH . 'language/locale'; $this->_gettext_path = APPPATH . 'language/locale';
log_message('debug', 'Gettext Class path chosen is: ' . $this->_gettext_path); log_message('debug', 'Gettext Class path chosen is: ' . $this->_gettext_path);
bindtextdomain($this->_gettext_domain, $this->_gettext_path); $filename = $this->_gettext_path . '/' . $this->_gettext_language . '/LC_MESSAGES/' . $this->_gettext_domain . '.mo';
textdomain($this->_gettext_domain); $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); 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); log_message('debug', 'Language file loaded: language/' . $idiom . '/' . $langfile);
return true; return true;
} }
} }
/* End of file MY_Lang.php */
/* Location: ./application/libraries/MY_Lang.php */

View File

@@ -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 <karsten@disposed.de>\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"

View File

@@ -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 <karsten@disposed.de>\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" msgid "users"
msgstr "Users" msgstr "Users"