PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suse locales



hiyeah
16.11.09, 11:39
Hallo beisammen,
Ich habe mir das Issue-Tracking-Tool "mysql eventum" sowohl auf einem Server (OpenSuse 11.1), alsauch testweise auf einem Desktop (ebenfalls OpenSuse 11.1) installiert.

Es läuft auch soweit, nur dass auf dem Desktop sehr viel mehr Sprachen verfügbar sind. Die Recherche ergab, dass sich eventum an den locales orientiert.
aber auf beiden Systemen sehen diese gleich aus:



LANG=de_DE.UTF-8
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=


locales sind auf dem Server sogar noch mehr installiert. Weiß vielleicht jemand, welches Paket nachgerüstet werden müsste?
Ich habe mir mal alle installierten Pakete anzeigen lassen und mit diff verglichen. Leider waren alle Pakete, welche irgendwie was damit zu tun haben könnten, identisch.

Vielleicht (hoffentlich) habe ich aber doch irgendwas übersehen?!
Falls ihr mehr Infos braucht, bitte einfach fragen!

Danke

hiyeah
17.11.09, 22:28
Niemand? Nichtmal ne Idee? ;)

drcux
17.11.09, 22:36
Ist das gleiche in misc/localization?

hiyeah
18.11.09, 17:57
ja, sind sie.

hiyeah
19.11.09, 15:07
falsch. unter misc/ gibt es den Punkt localizations nicht, aber hab ihn anderswo gefunden!

drcux
19.11.09, 16:11
falsch. unter misc/ gibt es den Punkt localizations nicht, aber hab ihn anderswo gefunden!

Wie jetzt, ich dachte es sind identische Installationen?

hiyeah
20.11.09, 06:27
ja, aber ich habe bemerkt, dass mir yast und dem Punkt "misc" nichts mit localization anzeigt. den hab ich woanders gefunden.
Aber dennoch sind sie gleich. sorry, wenn ich etwas schreibfaul war.
und zugegeben: ganz identisch sind sie ja nicht, da auf der einen Kiste KDE drauf ist.

Das Verzeichnis /usr/share/locales/de_DE/LC_MESSAGES (o.ä) ist dagegen komischerweise leer (das en_GB nicht!). Spaßeshalber habe ich mal die en_GB Files nach de_DE kopiert.

Welches Runlevel muss man resetten, damit das System die locales neu lädt?
Oder gibt es eventuell noch mehr solcher versteckter Späße? ;)

Danke

drcux
20.11.09, 07:40
Was haben die Dateien in /usr/share/locales denn mit der Installation von Eventum zu tun? Wir reden hier doch von http://dev.mysql.com/downloads/other/eventum/ , dieses ist eine Webanwendung mit eigenen Sprachdateien.

hiyeah
20.11.09, 09:09
afaik nutzt eventum die locales.


to actually use a language in eventum your server has to support that locale.

drcux
20.11.09, 09:36
Also nochmal: Die Sprachdateien findest du in $EVENTUMROOT/misc/localization, bei mit zB. in /srv/www/htdocs/eventum/misc/localization.

hiyeah
20.11.09, 10:14
Oh, sorry.
ich dachte du meinst mit misc/localization YAST :/
im Eventumverzeichnis befinden sich alle nötigen Files für die Deutsche Sprache : de.po + eventum.mo (im de-Verzeichnis).


Danke

//Edit:
dafür ist "en" leer.

hiyeah
22.11.09, 17:42
Hallo,

hast du das Ganze auch auf ner Susekiste installiert?
wenn ja, kannst du mir mal die Ausgabe von:


rpm -qa | grep gettext


geben?
Ich habe die Vermutung, dass es an den falschen Paketen liegt.

Ciao

hiyeah
23.11.09, 11:15
hat sich wohl erledigt (die gettext Geschichte). Auf der Testmaschine ist auch nicht mehr installiert..

ciao

hiyeah
23.11.09, 20:06
Die Frage muss doch sein: Woher kriegt eventum seine Sprachen.
In der Datei class.language.php finde ich das nicht sonderlich hilfreich dokumentiert.
er Vergleich ob seine ass. Array mit Language::set passt. Wenn ja, wird die Sprache verfügbar, wenn nicht, dann nicht.

drcux
23.11.09, 20:32
Hab zu Testzwecken auf drei verschiedenen openSUSE Rechnern eventum "installiert", also nach /srv/www/htdocs entpackt, und konnte bei allen alle Sprachen auswählen.

Das es an gettext etc. liegt, glaube ich nicht, die Dateien sind ja alle da und müssen nicht mehr angepackt werden.

hiyeah
23.11.09, 20:48
hallo,
mir gehts genauso.
noch mal auf 2 suse kisten und 1x debian.
immer war mind. Deutsch verfügbar.

Nur auf dem Produktivsystem nicht.

Ich betreibe gerade etwas bugtracking und haue ein paar echos in die Files.
Leider kommt nichts neues bei raus. ich finde einfach nicht, wo die blöden sprachpakete liegen ;/




*/
function getAvailableLanguages()
{
global $avail_langs;

$languages = array();
echo "<br>";
foreach ($avail_langs as $code => $language) {
$res = Language::set($code);
if ($res) {
$languages[$code] = $language;
echo "lang richtig: " . $language . "<br>";
}
else
echo "lang falsch: " . $language . "<br>";
}

Language::restore();
return $languages;
}


leider sind meine php Kentnisse auch sehr begrenzt, sodass ich diesen Vergleich einfach nicht verstehe. die zuweisung findet dann in set() statt, aber da Vergleich er nur LC_MESSAGES, LC_TIME und gettext(). Was genau das ist, muss ich mir jetzt ergooglen. bzw bestätigt meinen locales Verdacht vom Ausgangspost


//Edit:
okay, durchgewühlt. jetzt hab ich die variable $path


$p = isset($text_domains[$domain]->path) ? $text_domains[$domain]->path : './';
$s = $LC_CATEGORIES[$category] ."/$domain.mo";
list($l,) = explode('.', $locale); // skip charset
$path = "$p$l/$s";


^^ *entcrypt*


//EDIT2:
so auf meiner debiankiste haben die Pakete locales-xx (=länderkürzel) definitiv etwas mit den Sprachen zu tun. Mal sehen, was das Produktivsystem morgen macht. Wobei ja "locales" installiert ist und mir "locale" auch was richtiges anzeigt.