So übersetzen Sie benutzerdefinierte Feldbezeichnungen

6

Ich möchte die Beschriftungen und Beschreibungen von benutzerdefinierten Feldern auf Niederländisch übersetzen lassen, aber egal was ich versuche, sie bleiben immer auf Englisch (der Sprache, in der ich sie erstelle). Ich hoffe, dass meine Schritte unten Sinn machen, weil ich nicht verstehe, warum es nicht funktioniert.

Ich erstelle ein Feld (mit der auf Englisch eingestellten Site-Sprache) entweder in einem Profil (mithilfe des Profile 2-Moduls) oder direkt im Konto.

Dann bearbeite ich das Feld und benutze die Übersetzungsschaltfläche (bereitgestellt von Field Translation in i18n), um eine niederländische Übersetzung hinzuzufügen. Wenn ich dann die Sprache der Site auf Niederländisch umstelle, sind die Feldbezeichnung und die Beschreibung immer noch in Englisch.

Wenn ich das Feld erneut bearbeite (wobei die Site-Sprache immer noch auf Niederländisch eingestellt ist), wird auf der Registerkarte "Übersetzen" jetzt die niederländische Übersetzung mit dem Status "Original" und Englisch als "niet vertaald" oder nicht übersetzt angezeigt. Wenn ich die niederländische Übersetzung bearbeite, wird mir die englische Version angezeigt.

Ich kann das wieder in den niederländischen Text ändern und er wird korrekt angezeigt (auf Niederländisch). Schön, aber wenn ich die Seite wieder auf Englisch umstelle, bleibt das Feld niederländisch! Wenn ich das Feld bearbeite, wird auf der Registerkarte "Übersetzen" der niederländische Text in englischer Sprache angezeigt, der Status für Englisch ist jedoch wieder original.

Ich kann weder Kopf noch Zahl daraus machen. Vermisse ich etwas komplett oder ist das vielleicht ein Fehler? Ich benutze Drupal 7.

Whiskey
quelle
Was ist die Standardsprache? Verwenden Sie auch Entity Translation oder nur i18n-Module? Haben Sie den Cache nach der Übersetzung geleert? Haben Sie Ihre Spracherkennungseinstellungen noch einmal überprüft? / admin / config / regional / language / configure
Patrick Kenny
Die Standardsprache ist Englisch. Zum Testen habe ich die Standardsprache auf Niederländisch und zurück umgestellt (um zu vermeiden, dass bei den Spracherkennungseinstellungen etwas schief geht). Ich hatte irgendwann die Entitätsübersetzung aktiviert, aber es schien nicht notwendig zu sein, da i18n die erforderlichen Übersetzungsregisterkarten und -felder bereitstellte. Ich habe den Cache nicht geleert, könnte das sein? Ich kann im Moment nicht nachsehen.
Whisky
Ich würde immer zuerst versuchen, den Cache zu leeren. das behebt viele Probleme.
Patrick Kenny
Habe gerade einen weiteren Test in meiner Entwicklungsumgebung zu Hause gemacht. I18n und Variable installiert, Feldübersetzung aktiviert und versucht, ein Feld zu übersetzen, das ich in den Kontoeinstellungen erstellt habe. Gleiche Ergebnisse, egal wie oft ich den Cache geleert habe :(
Whisky
1
Bitte werfen Sie einen Blick auf drupal.stackexchange.com/questions/36065/…
Kalabro

Antworten:

6

Sie sollten die Standardsprache nicht in Niederländisch ändern, um sie zu testen, da dann festgelegt wird, dass Ihre Feldnamen (und alle anderen Elemente auf der Website) auf Niederländisch sind.

Stattdessen schlage ich vor, die Optionen "Erkennung und Auswahl" zu verwenden und Browser oder Benutzer zu aktivieren und sie dann in einem anderen Browser auf Niederländisch oder mit einem anderen Benutzer zu testen, dessen Sprache auf Niederländisch eingestellt ist.

Der bessere und bequemere Weg wäre die Verwendung des Sprachumschaltblocks, mit dem URL oder Sitzung unter den Einstellungen für Erkennung und Auswahl aktiviert werden.

Damit bleibt die Standardsprache der Website weiterhin Englisch und die Felder werden übersetzt, wenn jemand die Website auf Niederländisch verwendet.

Елин Й.
quelle
Vielen Dank für den Hinweis. Ich hätte nie gedacht, dass die Standardeinstellung für die Sprache auch für den Ursprung der Zeichenfolgen auf der Site gilt. Und jetzt funktioniert die Übersetzung auch mit der Schaltfläche "Übersetzen", wenn Sie ein Feld in "Felder verwalten" bearbeiten.
Whisky
12

Letzte Tage hatte ich das gleiche Problem beim Übersetzen von Etiketten und Beschreibungen von benutzerdefinierten. Hier ist, was ich getan habe, um es zu lösen.

  • Aktivieren Sie das i18_field-Submodul "Feldübersetzung" von i18n
  • Gehe zu admin/config/regional/translate/i18n_string
  • Aktivierte 'Felder' (alle korrekt überprüfen) und klicken Sie auf "Zeichenfolgen aktualisieren".
  • Gehe zu admin/config/regional/translate/translate
  • Suchen Sie die gewünschte Zeichenfolge und übersetzen Sie sie in eine andere Sprache.
Monymirza
quelle
10

Ich drucke übersetzte Feldbezeichnungen auf diese Weise (mit i18n_field.module):

$instance = field_info_instance('node', $my_field_name, $my_node_type);
$my_translated_label = i18n_field_translate_property($instance, 'label');

Ich hoffe es hilft.

Jordan Austin
quelle
2
Dies ist eine interessante Lösung. Wo setzen Sie diesen Code ein? Warum macht i18n_field das nicht sofort?
James Wilson
1

Ich denke, Sie hätten Niederländisch als Standardsprache beibehalten und Englisch als Ausgangssprache unter admin / config / regional / i18n / strings festlegen können.

Sylvain DELBOSC
quelle
1

Der einfachste Weg, dies zu tun, ist die Installation des Localize- Feldmoduls.

Es bietet Übersetzungen für Folgendes:

  • Titel und Beschreibung aller Kernfelder, Datumsfelder und Felder
  • Sammlungspräfix, Suffix und Dezimaltrennzeichen
  • Optionsbezeichnungen von Listentypen

Sie können es auch dann verwenden, wenn Sie i18n_field installiert haben (Feldübersetzung)

Anas Kh
quelle