• 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

Form Emement Translation

igor_g

New member
Hi zusammen!

Ich habe ungefähr folgendes Code...

PHP:
// Zend Form Elements Erstellung
$form->addElement("text", "login", array("label"=>"login"))
                ->addElement("password", "password", array("label"=>"password"))
                ->addElement("button", "submitButton", array("label"=>"submitButton"));

// Tmx-Translators zuweisen
$form->setTranslator($authTrans);
$form->getElement("submitButton")->setTranslator($commonTrans);
Das Problem ist - Buttons Label übersetzt sich nicht, obwohl ich sicher bin, dass passende Übersetzung existiert.

Was konnte es sein?
 

Kaiuwe

Super-Moderator
Willkommen im Forum!
Das Problem ist - Buttons Label übersetzt sich nicht, obwohl ich sicher bin, dass passende Übersetzung existiert.

Was konnte es sein?
Hier ein lauffähiges Beispiel:
PHP:
// Translator
$translate = new Zend_Translate(
    array(
        'adapter' => 'array',
        'content' => array('Push' => 'Drücken'),
        'locale'  => 'de',
    )
);
$translate->setLocale('de');

// Form
$form = new Zend_Form();
$form->setTranslator($translate);

// Elements
$form->addElement(
    'button',
    'foo',
    array(
        'label' => 'Push',
    )
);

// View
$view = new Zend_View();
$view->setEncoding('utf-8');
$view->doctype('XHTML1_STRICT');

echo $form->render($view);
Ausgabe:
HTML:
<form enctype="application/x-www-form-urlencoded" action="" method="post">
    <dl class="zend_form">
        <dt id="foo-label">
             
        </dt>
        <dd id="foo-element">
            <button name="foo" id="foo" type="button">Drücken</button>
        </dd>
    </dl>
</form>
 

crash

New member
Würde ich einfach Debuggen, so kann ich erstmal nichts erkennen. Zend_Form(_Element) holt sich normalerweise automatisch die Zend_Translate-Instanz aus der Registry, so dass man nichts dazu tun muss (sofern die Resource konfiguriert ist).
 

igor_g

New member
Würde ich einfach Debuggen, so kann ich erstmal nichts erkennen. Zend_Form(_Element) holt sich normalerweise automatisch die Zend_Translate-Instanz aus der Registry, so dass man nichts dazu tun muss (sofern die Resource konfiguriert ist).
Ich habe Element submitButton mit print_r ausgedrükt. Angegebenes Translator ist drin. Aber er funktioniert nicht.
 
Zuletzt bearbeitet:

Kaiuwe

Super-Moderator
Kannst du mal ein Beispiel des Problems, also nur einen Auszug, hier bereitstellen? Damit wir es besser nachvollziehen können.
Welche Version vom Zend Framework verwendest du?
 

igor_g

New member
Welche Version vom Zend Framework verwendest du?
1.11

Kannst du mal ein Beispiel des Problems, also nur einen Auszug, hier bereitstellen?
Wenn ich nutze Code aus Topic Start, dann bekomme ich als Ausgabe...

HTML:
<button name="submitButton">submitButton</button>
statt

HTML:
<button name="submitButton">senden!</button>
also gibt es kein Translation nämlich für dieses Button.
 

Kaiuwe

Super-Moderator
Ich habe eine Ahnung: Setze mal nicht den „Translator“ für das Formular nicht, sondern für das Element und schau mal ob du dann die entsprechende Übersetzung bekommst.
 
Oben