ZARAFA_LOCALE oder: Ordnernamen auf deutsch

Status
Für weitere Antworten geschlossen.

AHoMK

Benutzer
Mitglied seit
10. Jan 2012
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Nachdem ich hier keine Lösung gefunden habe, wie ich deutschsprachige Ordnernamen erhalte, habe ich nach ein wenig Recherche folgende Lösung in zwei Schritten gefunden:

1. Änderung /etc/sysconfig/zarafa
In der Datei /etc/sysconfig/zarafa ist für die Variablen ZARAFA_LOCALE und ZARAFA_USERSCRIPT_LOCALE das "C" gegen "de_DE.UTF-8" zu ersetzen.

2. Korrektur /etc/zarafa/userscripts/createuser
Danach funktionierte es leider aber noch nicht. Grund ist eine Änderung an dem Skript /etc/zarafa/userscripts/createuser gegenüber der Originalversion: Durch auskommentieren des Aufrufs des Skripts users_common.sh wird die Variable ZARAFA_LANG nicht definiert und exportiert. Daher vor dem Aufruf von 00createstore (letzte Zeile) einfach die entsprechenden Zeilen ergänzen:

ZARAFA_LANG="${ZARAFA_USERSCRIPT_LOCALE:-${LC_MESSAGES:-en_US}}"
export ZARAFA_LANG

Dann funktioniert es.

Ich hoffe, vielleicht einigen weitergeholfen zu haben.

@Jdo2002: Vielleicht kann man dies ja in einer neuen Version berücksichtigen. Oder gibt es einen anderen Weg, auf deutsche Ordnernamen umzuschalten?

Viele Grüße
Axel
 

Jdo2002

Benutzer
Mitglied seit
24. Dez 2011
Beiträge
692
Punkte für Reaktionen
1
Punkte
38
Hi,

die scripte musste ich anpassen da das users_common.sh Skript meine ich Probleme verursacht hat (wg. fehlender bash meine ich). Ich gucke mal wie man das am besten in der neuen Version mit integrieren kann bzw. dokumentiert wird.

Gruß Julian
 

mammut47

Benutzer
Mitglied seit
15. Jun 2012
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Rückmeldung zu Ordnernamen auf Deutsch

Hat bei mir einwandfrei funktioniert.
Das einzige war, dass ich den schon angelegten Benutzer löschen musste.
Erst nach Neuanlage des Bneutzers hat es einwandfrei funktioniert.
Da bisher nur ein Benutzer vorhanden war, ist das für mich kein Problem gewesen.
Vielen Dank
Manfred
 

Binzisback

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo,

bei mir hat das leider nicht geklappt.

Ich habe in der /etc/sysconfig/zarafa das C gegen de_DE.UTF-8 getauscht und in der /etc/zarafa/userscripts/createuser in der letzten Zeite folgendes ergänzt:
ZARAFA_LANG="${ZARAFA_USERSCRIPT_LOCALE:-${LC_MESSAGES:-en_US}}"
export ZARAFA_LANG

Anschließend habe ich den Benutzer mit zarafa-admin -d username einmal gelöscht und neu erstellt. Aber selbst bei einem komplett neuen Benutzer hat es nicht geklappt.
 

AHoMK

Benutzer
Mitglied seit
10. Jan 2012
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Hallo Binzisback,

die Ergänzung darf nicht in der letzten Zeile, sondern unmittelbar vor dem Aufruf von 00createstore stehen. Der Aufruf von 00createstore steht in der letzten Zeile, also müssen diese Zeilen in die vorletzte Zeile.

Hoffe, das klappt.

Gruß
Axel
 

Binzisback

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo Axel,

das hat leider auch nicht geklappt. Ich habe mal einen Screenshot mit beigefügt.

Gruß

Michaelcreateuser.JPG
 

AHoMK

Benutzer
Mitglied seit
10. Jan 2012
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Also das ist soweit richtig!

Hast Du auch sicher beide Variablen in /etc/sysconf/zarafa geändert? Also:

ZARAFA_LOCALE="de_DE.UTF-8"
ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8"

Ansonsten weiß ich auch nicht weiter.

Gruß
Axel
 

Binzisback

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Noch mal kontrolliert

Ich hab es noch mal kontrolliert und zur Sicherheit einen Screenshot erstellt.

Screenshot.PNG

Ich sehe so keinen Fehler!
 

andyeaust

Benutzer
Mitglied seit
30. Apr 2010
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Also das ist soweit richtig!

Hast Du auch sicher beide Variablen in /etc/sysconf/zarafa geändert? Also:

ZARAFA_LOCALE="de_DE.UTF-8"
ZARAFA_USERSCRIPT_LOCALE="de_DE.UTF-8"

Ansonsten weiß ich auch nicht weiter.

Gruß
Axel

Bei mir ist genau das gleiche Problem. Hab die Einträge wie beschrieben geändert, jedoch ist weiterhin alles Englisch bzw. Denglisch

Gruß
Andy
 

Jdo2002

Benutzer
Mitglied seit
24. Dez 2011
Beiträge
692
Punkte für Reaktionen
1
Punkte
38
Probiert doch mal einen neuen User anzulegen (den es vom Namen her vorher auch noch nicht gab). Klappt es dann?
Ich werde das die Tage nochmal ausprobieren und das Wiki dazu aktualisieren.
 

Binzisback

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Ich habe jetzt mal einen neuen User eingerichtet, den es vorher nicht gab. Hat leider nichts gebracht.

Bei der ersten Anmeldung mit dem Benutzer habe ich darauf geachtet, dass ich mit "Deutsch" anmelde. Ich glaube, dass es auch wichtig ist, mit welcher Sprache man sich das erste Mal anmeldet.

Ich habe mal nachgeschaut, welche Befehle man mit zarafa-admin ausführen kann. Dabei taucht auch folgender Option auf:

--lang language
store in this language (e.g. en_EN)

Kann es sein, dass ich hier noch was angeben kann oder muss? Ich habe versucht die Option zu ergänzen, aber die Option ist dann ungültig.

Bei einem Exchange Server kann man mit der Option outlook.exe /resetfolder auch die Ordnernamen in der richtigen Sprache schreiben lassen. Vielleicht gibt es eine ähnliche Option.

Werde mir bei Gelgenheit mal das Handbuch anschauen.

Gruß

Michael
 

Jdo2002

Benutzer
Mitglied seit
24. Dez 2011
Beiträge
692
Punkte für Reaktionen
1
Punkte
38
Hallo Michael,

die Skripte die da zum Ändern angegeben waren führen u.a. das in Zarafa-admin angegebene Kommando zur Anlage des Users aus. Ich schau mir das wie gesagt die Tage nochmal an.
Funktionieren tuts auf jeden Fall, das hab ich shcon mehrfach getestet...
 

Ygolonys

Benutzer
Mitglied seit
04. Okt 2012
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo Jdo2002,

ich hab in diesem Beitrag

http://www.synology-forum.de/showthread.html?33479-Zarafa-Benutzer-anlegen-mit-Umlauten

das Problem beim Anlegen von Benutzern mit Umlauten beschrieben und einen Hinweis auf diesen Beitrag hier bekommen.
Leider hat sich nicht´s an der Situation geändert. Sind noch andere Konfigurationsdateien oder Skripte dafür verantwortlich, dass ich keine Umlaute verwenden kann?

Die Ausgangslage:
Synology DS 412+
DSM4.1
Zarafa SPK Version: 0.2.9
Zarafa Version: 7.0.7
Fetchmail Version: 6.3.21
 

dead969

Benutzer
Mitglied seit
05. Okt 2012
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
So Problem gelöst mit Sprachen für Benutzer.

1. Benutzer anlegen:
zarafa-admin -c USERNAME -P -e EMAILADRESS -f "FULL NAME"

2. Mailstore abkoppeln
zarafa-admin --unhook-store USERNAME

3. alten Mailstore löschen
3.1. auflisten der Mailstores
zarafa-admin --list-orphans
3.2. löschen des alten Mailstore
zarafa-admin --remove-store STORE GUID (lange ID)

4. neuen Store auf Deutsch für den User anlegen
zarafa-admin --create-store USERNAME --lang de_DE.UTF-8

Viele Grüße
 

Ygolonys

Benutzer
Mitglied seit
04. Okt 2012
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo dead969,

ahhhh jetzt hab ich den Rat von maDDin_1338

http://www.synology-forum.de/showthread.html?33479-Zarafa-Benutzer-anlegen-mit-Umlauten

könnte man auch mit ue machen..

zumindest is es so in jeder firma in der ich bisher gearbeitet hab gelöst (egal ob zarafa, exchange oder sonst was..)
überall werden umlaute ersetzt.. ebenso wie é oder sonstiges..

befolgt und unsere Benutzernamen (fullname) ohne Umlaute eingegeben.
Trotzdem vielen, vielen Dank an dich für die Lösung. Ich war der Meinung, dass es dann doch keine Lösung gibt.
Aber der Ruf der Synology Community eilt den Geräten nicht umsonst voraus. Sicherlich gibt es noch andere, die diese Verhaltensweise von Zarafa stört.

Ich bin jetzt gerade fertig mit der Migration der .pst-Dateien zu Zarafa. Und es funktioniert alles soweit.

Wie wäre denn die Ablauf, wenn ich jetzt meine bestehenden Mailstores mit den bereits migrierten Daten ändern möchte?

Gruß Ygolonys
 

Axel-Berlin

Benutzer
Mitglied seit
24. Feb 2012
Beiträge
44
Punkte für Reaktionen
0
Punkte
6
Habe vorher die Daten mit Zarafa Migrator gesichert und dann wieder aufgespielt.

Die Ordner haben aber weiterhin Probleme mit den Umlauten :-(
Gel?schte Objekte
Entw?rfe
 

dead969

Benutzer
Mitglied seit
05. Okt 2012
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
So jetzt hab ich die Ordnernamen soweit abgeändert, das keine Umlaute mehr im Ordnernamen vorhanden sind. Schöner nebeneffekt, Outlook geht dadurch besser.

einfach eine php datei erstellen z.B. renamefoldername.php im ordner vom webaccess (/volume1/web/webaccess/)

Meinen php code in der datei einfügen und per command im putty ausführen:
/volume1/web/webaccess/renamefolder.php USERNAME de_DE.UTF-8

geht aber nur mit der neusten zarafa version.

PHP:
#!/usr/bin/php
<?PHP

$LOCALE_PATH = '/volume1/web/webaccess/';

function isUnicodeStore($store) {
                $supportmask = mapi_getprops($store, array(PR_STORE_SUPPORT_MASK));
                if (isset($supportmask[PR_STORE_SUPPORT_MASK]) && ($supportmask[PR_STORE_SUPPORT_MASK] & STORE_UNICODE_OK)) {
                        print("Store supports properties containing Unicode characters.\n");
                        define('STORE_SUPPORTS_UNICODE', true);
                } else {
                        print("Store does not support properties containing Unicode characters.\n");
                        define('STORE_SUPPORTS_UNICODE', false);
                }
}

function renamefolder($store, $entryid, $name)
{
    if(!$entryid) {
        print("Unable to find $name folder\n");
        return;
    }

    $folder = mapi_msgstore_openentry($store, $entryid);
    if(!$folder) {
        print("Unable to open folder " . bin2hex($entryid) . "\n");
        return;
    }
    mapi_setprops($folder, array(PR_DISPLAY_NAME => $name));

    if(mapi_last_hresult() != 0)
        print("Unable to rename " . bin2hex($entryid) . " to '$name'\n");
    else
        print("Renamed " . bin2hex($entryid) . " to '$name'\n");
}

include('/volume1/web/webaccess/include/mapi/mapi.util.php');
include('/volume1/web/webaccess/include/mapi/mapidefs.php');
include('/volume1/web/webaccess/include/mapi/mapicode.php');
include('/volume1/web/webaccess/include/mapi/mapitags.php');
include('/volume1/web/webaccess/include/mapi/mapiguid.php');


function translate($lang, $test=0)
{
  global $LOCALE_PATH;
  putenv("LANGUAGE=$lang");
  bindtextdomain("zarafa", "$LOCALE_PATH");
  if (STORE_SUPPORTS_UNICODE == false) {
    bind_textdomain_codeset('zarafa', "windows-1252");
  } else {
    bind_textdomain_codeset('zarafa', "utf-8");
  }
  textdomain('zarafa');
  setlocale(LC_ALL,$lang);
  
  // Hier ändern ****************************************
  $trans_array["Sent Items"] = "Gesendete Objekte";
  $trans_array["Outbox"] = "Postausgang";
  $trans_array["Deleted Items"] = "Geloeschte Objekte";
  $trans_array["Inbox"] =  "Posteingang";
  $trans_array["Calendar"] = "Kalender";
  $trans_array["Contacts"] = "Kontakte";
  $trans_array["Drafts"] = "Entwuerfe";
  $trans_array["Journal"] = "Journal";
  $trans_array["Notes"] = "Notizen";
  $trans_array["Tasks"] = "Aufgaben";
  $trans_array["Junk E-mail"] = "Junk E-mail";
  return $trans_array;
}



if(count($argv) != 3) {
    print("Usage: foldernames <useraccount> <language>\n");
    print("\n");
    print("To do a test translation, use:  -t <language>\n");
    print("\n");
    print("A <language> could be: nl_NL.UTF-8\n");
    print("\n");
    exit(2);
}

if($argv[1] == "-t") {
  $trans_array=translate($argv[2], 1);
  foreach ($trans_array as $key => $value) {
    echo str_pad($key, 20, " ");
    echo "$value\n";
  }
  exit(0);
}

$session = mapi_logon_zarafa("SYSTEM", "", "file:///var/run/zarafa");
$msgstorestable = mapi_getmsgstorestable($session);
$msgstores = mapi_table_queryallrows($msgstorestable, array(PR_DEFAULT_STORE, PR_ENTRYID));

foreach ($msgstores as $row) {
    if($row[PR_DEFAULT_STORE]) {
        $storeentryid = $row[PR_ENTRYID];
    }
}

if(!$storeentryid) {
    print "Can't find default store\n";
    exit(1);
}

$store = mapi_openmsgstore($session, $storeentryid);

if(!$store) {
    print "Unable to open system store\n";
    exit(1);
}

$userstoreentryid = mapi_msgstore_createentryid($store, $argv[1]);
if(!$userstoreentryid) {
    print "Unknown user\n";
    exit(1);
}

$userstore = mapi_openmsgstore($session, $userstoreentryid);
if(!$userstore) {
    print "Unable to open user store\n";
    exit(1);
}

isUnicodeStore($userstore);

$inbox = mapi_msgstore_getreceivefolder($userstore);
$root = mapi_msgstore_openentry($userstore);

$storeprops = mapi_getprops($userstore, array(PR_IPM_SENTMAIL_ENTRYID, PR_IPM_OUTBOX_ENTRYID, PR_IPM_WASTEBASKET_ENTRYID));
$inboxprops = mapi_getprops($inbox, array(PR_ENTRYID, PR_IPM_APPOINTMENT_ENTRYID, PR_IPM_CONTACT_ENTRYID, PR_IPM_DRAFTS_ENTRYID, PR_IPM_JOURNAL_ENTRYID, PR_IPM_NOTE_ENTRYID, PR_IPM_TASK_ENTRYID));
$rootprops = mapi_getprops($root, array(PR_ADDITIONAL_REN_ENTRYIDS));

$trans_array = translate($argv[2]);

renamefolder($userstore, $storeprops[PR_IPM_SENTMAIL_ENTRYID], $trans_array["Sent Items"]);
renamefolder($userstore, $storeprops[PR_IPM_OUTBOX_ENTRYID], $trans_array["Outbox"]);
renamefolder($userstore, $storeprops[PR_IPM_WASTEBASKET_ENTRYID], $trans_array["Deleted Items"]);
renamefolder($userstore, $inboxprops[PR_ENTRYID], $trans_array["Inbox"]);
renamefolder($userstore, $inboxprops[PR_IPM_APPOINTMENT_ENTRYID], $trans_array["Calendar"]);
renamefolder($userstore, $inboxprops[PR_IPM_CONTACT_ENTRYID], $trans_array["Contacts"]);
renamefolder($userstore, $inboxprops[PR_IPM_DRAFTS_ENTRYID], $trans_array["Drafts"]);
renamefolder($userstore, $inboxprops[PR_IPM_JOURNAL_ENTRYID], $trans_array["Journal"]);
renamefolder($userstore, $inboxprops[PR_IPM_NOTE_ENTRYID], $trans_array["Notes"]);
renamefolder($userstore, $inboxprops[PR_IPM_TASK_ENTRYID], $trans_array["Tasks"]);
renamefolder($userstore, $rootprops[PR_ADDITIONAL_REN_ENTRYIDS][4], $trans_array["Junk E-mail"]);

?>
 
Zuletzt bearbeitet:

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
449
Punkte für Reaktionen
8
Punkte
18
Moin Zusammen,

wie kann ich denn die .renamefolder Datei ausführen? Ich befinde mich mit Putty als root eingeloggt im webaccess Verzeichnis.

Beim renamefolder.php XXX de_DE.UTF-8 kommt folgende Fehlermeldung:

-ash renamefolder.php not found

Allerdings liegt die Datei genau in dem Ordner. Wo ist der Fehler?
 

dead969

Benutzer
Mitglied seit
05. Okt 2012
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Das kann nur ein was kleines sein. Navigiere am besten zu Datei und führe dann nur das aus:
./renamefolder.php USERNAME de_DE.UTF-8
 

rozu

Benutzer
Mitglied seit
04. Mrz 2009
Beiträge
97
Punkte für Reaktionen
1
Punkte
8
Vielen Dank!
Ich hatte dasselbe Problem auch bei der experimentellen Version 0.4 und konnte es mit Deiner Anleitung plus User löschen/neu erstellen lösen. Jdo2002 hat das Problem mit Version 0.4.1 nun bereits behoben!
Gruss, Robert
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat