• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Übersetzung für Zend_Validate

Vik

New member
Hallo,

ich habe gerade die Fehlermeldungen der default Validators ins Deutsche gebracht. (Ist ja für Formulare sehr praktisch). Die Übersetzungen haben bei mir eher auffordernden Charakter - also nicht "Der Wert ist nicht so und so", sondern "Der Wert muss so und so sein". Vielleicht kann das ja jmd. gebrauchen. Korrekturen und Verbesserungsvorschläge sind natürlich willkommen.

PHP:
<?php
    return array(
        //Alnum
        'notAlnum'                      => "'%value%' darf nur Buchstaben und Zahlen enthalten",
        'stringEmpty'                   => "'%value%' Dieser Wert darf nicht leer sein",
        //Alpha
        'notAlpha'                      => "'%value%' Darf nur Buchstaben enthalten",
        //Barcode
        //Between
        'notBetween'                    => "'%value%' muss zwischen '%min%' und '%max%' sein",
        'notBetweenStrict'              => "'%value%' muss genau zwischen '%min%' und '%max%' sein",
        //Ccnum
        'ccnumLength'                   => "'%value%' muss 13 bis 19 Ziffern enthalten",
        'ccnumChecksum'                 => "Die Anwendung des Luhn Algorithmus (mod-10 Prüfsumme) auf '%value%' schlug fehl",
        //Date
        'dateNotYYYY-MM-DD'             => "'%value%' muss das Format JJJJ-MM-TT habe",
        'dateInvalid'                   => "'%value%' scheint kein gültiges Datum zu sein",
        'dateFalseFormat'               => "'%value%' hat ein falsches Datumsformat",
        //Digits
        'notDigits'                     => "'%value%' darf nur aus nummerischen Zeichen bestehen",
        //EmailAddress
        'emailAddressInvalid'           => "'%value%' ist keine valide E-Mail Adresse im Format name@domain",
        'emailAddressInvalidHostname'   => "'%hostname%' ist kein güliger Servername bei der E-Mail Adresse '%value%'",
        'emailAddressInvalidMxRecord'   => "'%hostname%' scheint keinen gültigen MX Eintrag zu haben für die E-Mail Adresse '%value%'",
        'emailAddressDotAtom'           => "'%localPart%' dieser Empfängername stimmt nicht mit dem dot-atom Format überein",
        'emailAddressQuotedString'      => "'%localPart%' dieser Empfängername stimmt nicht mit dem quoted-string Format überein",
        'emailAddressInvalidLocalPart'  => "'%localPart%' diser Empfängername ist kein gültiger Empfänger bei der E-Mail Adresse '%value%'",
        //Float
        'notFloat'                      => "'%value%' scheint keine Gleitkommazahl zu sein",
        //GreaterThan
        'notGreaterThan'                => "'%value%' muss größer sein als '%min%'",
        //Hex
        'notHex'                        => "'%value%' muss ein Hexadezimalwert sein",
        //Hostname
        'hostnameIpAddressNotAllowed'   => "'%value%' scheint eine IP Adresse zu sein, diese sind aber nicht erlaubt",
        'hostnameUnknownTld'            => "'%value%' scheint ein DNS Servername zu sein, die Länderkennung kann aber nicht bestätigt werden",
        'hostnameDashCharacter'         => "'%value%' scheint ein DNS Servername zu sein, enthält aber einen Bindestrich (-) an einer unzulässigen Position",
        'hostnameInvalidHostnameSchema' => "'%value%' scheint ein DNS Servername zu sein, entspricht aber nicht dem Servernamensschema für Länderkennungen '%tld%'",
        'hostnameUndecipherableTld'     => "'%value%' scheint ein DNS Servername zu sein, die Länderkennung kann aber nicht ermittelt werden.",
        'hostnameInvalidHostname'       => "'%value%' entspricht nicht dem erforderlichen Muster für Servernamen",
        'hostnameInvalidLocalName'      => "'%value%' scheint kein gültiger Name in einem lokalen Netzwerk zu sein",
        'hostnameLocalNameNotAllowed'   => "'%value%' scheint ein gültiger Name in einem lokalen Netzwerk zu sein, diese sind aber nicht erlaubt",
        //Identical
        'notSame'                       => "Die Werte müssen übereinstimmen",
        'missingToken'                  => "Es wurde kein Vergleichswert übermittelt",
        //InArray
        'notInArray'                    => "'%value%' ist kein zulässiger Wert",
        //Int
        'notInt'                        => "'%value%' muss eine Ganzzahl sein",
        //Ip
        'notIpAddress'                  => "'%value%' scheint keine gültige IP Adresse zu sein",
        //LessThan
        'notLessThan'                   => "'%value%' muss kleiner sein als '%max%'",
        //NotEmpty
        'isEmpty'                       => "Dieses Feld darf nicht leer sein",
        //Regex
        'regexNotMatch'                 => "'%value%' muss dem Suchmuster des regulären Ausdrucks '%pattern%' entsprechen",
        //StringLength
        'stringLengthTooShort'          => "'%value%' muss mindestens %min% Zeichen lang sein",
        'stringLengthTooLong'           => "'%value%' darf höchstens %max% Zeichen lang sein"
    );
?>
 
Zuletzt bearbeitet:

Zendy

New member
Hallo Vik,

danke für's reinstellen.

Würde Deine Fehlermeldungen gerne übernehmen, aber ich habe leider nicht heraus gefunden, wie das geht. :confused: Nur dass Fehlermeldungen scheinbar ein ziemlich großes Thema ist und mit ZF 1.8 wohl ne neue Methode kommen soll. :)

Wie kann man also Dein array implementieren?
 

Vik

New member
ZF eingebaute validatoren

Hallo Zendy,

das sind doch die Meldungen der in ZF eingebauten Validatoren. Du kannst das Ganze z.B. wie folgt aufrufen:

PHP:
class Form_FooForm extends Zend_Form
{
    public function init()
    {
        $translate = new Zend_Translate('array', 'form_validate_de.php', 'de');
        Zend_Validate_Abstract::setDefaultTranslator($translate);
    }
}
form_validate_de.php ist dann die Datei mit den Übersetzungen.
Sobald du dann einen Validator zu einem Formularelement hinzu fügst, werden die Meldungen deutsch ausgegeben.
 

DrakeL

New member
Statt den Adapter für die Übersetzung in jedem Formular zu setzen, würde ich es lieber irgendwo zentral machen. Falls noch die Übersetzungen für Zend_Auth brauchst oder generell an Übersetzungen arbeitest kannst gerne mal auf meiner Homepage (siehe Signatur) unter DragonTranslate schauen. ;)
 

webdevilopers

New member
Vielen Dank, haben mich einiges an Tipparbeit gespart.

Mir ist beim Einbinden von Zend_Captch_Word noch aufgefallen, dass es hier auch einige Texte für Validatoren gibt. Viell. besteht Interesse die nachzutragen.

const MISSING_VALUE = 'missingValue';
const MISSING_ID = 'missingID';
const BAD_CAPTCHA = 'badCaptcha';
 

webdevilopers

New member
Schade übrigens, dass es in der Meldung 'isEmpty' nicht den '%field%' Platzhalter gibt.
Obwohl es, ähnlich wie '%value%', Sinn machen würde!
 

KingCrunch

New member
Welchen? Sämtliche Validatoren werden mit Werten, nicht mit Feldern aufgerufen. Wie sollte er also das Feld überhaupt kennen, bzw wieso sollte er davon ausgehen, dass er überhaupt von irgendwas aufgerufen wurde, was in Feldern organisiert ist?
 

DrakeL

New member
Vielen Dank, haben mich einiges an Tipparbeit gespart.

Mir ist beim Einbinden von Zend_Captch_Word noch aufgefallen, dass es hier auch einige Texte für Validatoren gibt. Viell. besteht Interesse die nachzutragen.

const MISSING_VALUE = 'missingValue';
const MISSING_ID = 'missingID';
const BAD_CAPTCHA = 'badCaptcha';
Der Bedarf besteht, danke für den Hinweis. Ich trage die Sachen dann die nächsten Tage nach, im Moment ist wegen Job und Wohnungswechsel etwas ruhig um meine Homepage und die Projekte geworden. *g*
 

Sangreal

New member
Gibt es eigentlich schon eine Zusammenstellung über alle Fehlermeldungen?

Ich meine nämlich gelesen zu haben, dass die hier verwendeten Fehler-Codes zur Übersetzung in der Manual als deprecated eingestuft wurden und in kommenden Versionen des ZF nicht mehr zum Einsatz kommen sollen.
 

webdevilopers

New member
Einen hab ich noch für Zend_Validate_Db_(No)RecordExists:

const ERROR_NO_RECORD_FOUND = 'noRecordFound';
const ERROR_RECORD_FOUND = 'recordFound';

self::ERROR_NO_RECORD_FOUND => 'No record matching %value% was found'
self::ERROR_RECORD_FOUND => 'A record matching %value% was found'

:)
 

Papafant

New member
PHP:
class Form_FooForm extends Zend_Form
{
    public function init()
    {
        $translate = new Zend_Translate('array', 'form_validate_de.php', 'de');
        Zend_Validate_Abstract::setDefaultTranslator($translate);
    }
}

Hi

wie kann man das für alle Formulare erweitern?
.....oder muss man schon einen PlugIn schreiben?
 
Oben