Wielojęzyczna treść i interfejs administratora w jednym języku

14

Chcę, aby treść mojej witryny była wielojęzyczna. Mam przełącznik języka, który może przełączać między tłumaczeniem strony na angielski i hiszpański. Chcę, aby interfejs administracyjny zawsze był w języku angielskim, bez względu na to, czy nawigujesz do niego z hiszpańskiego czy angielskiego tłumaczenia strony.

Oto moja konfiguracja w / admin / config / regional / language / detection :

wprowadź opis zdjęcia tutaj

Oto moja konfiguracja w user / 1 / edit :

wprowadź opis zdjęcia tutaj

Mój interfejs administracyjny jest zawsze w języku angielskim, ale teraz moja treść jest również zawsze w języku angielskim, bez względu na to, czy przełączę stronę na hiszpański.

Próbowałem wielu ustawień, w tym ustawień wykrywania języka treści .

Jaka jest poprawna konfiguracja, aby to osiągnąć?


/ es / node / 1

wprowadź opis zdjęcia tutaj

/ admin / config / regional / language / detection / url

wprowadź opis zdjęcia tutaj

/ admin / config / regional / language

wprowadź opis zdjęcia tutaj

24ma13wg
źródło
Co się stanie, jeśli ręcznie zmienisz ścieżkę URL na stronie angielskiej na hiszpańską? Spróbuj także umieścić adres URL na pierwszym miejscu, a strony administratora konta na drugim.
Patrick Kenny
Treść pozostaje w języku angielskim, ale otaczający interfejs jest w języku hiszpańskim. Zrzut ekranu dodany do pytania.
24ma13wg
W ustawieniach użytkownika ustawiasz język strony na angielski. Co się stanie, jeśli się wylogujesz?
Jeśli się wyloguję, działa poprawnie. Mogę przełączać się między treścią w języku angielskim i hiszpańskim.
24ma13wg

Odpowiedzi:

16

Przy świeżej instalacji mogę uruchomić to w ten sposób:

W admin/config/regional/language/detection

  • umieścić stron administracji konta na szczycie wykrywania języka tekst interfejsu zezwoleniem go oczywiście.
  • włącz metodę URL jako drugi wybór
  • włącz wykrywanie języka treści i umieść adres URL nad metodami wykrywania.

     Konfiguracja administracji domowej Języki regionalne i językowe

W user/1/editustawieniach językowych:

  • ustaw język stron administracyjnych na preferowany język

Istnieją różne kwestie związane z DO, może to jest najbardziej istotne: gdy wykrywanie języka treści różni się od wykrywania języka interfejsu, wykrywany język nie jest stosowany do renderowanej treści .

Zastosuj te łatki:

Puste skrzynki:

  • $ drush cache-rebuild

Przełącznik rozwijanego języka i wszystko inne wydaje się teraz działać dobrze!

Przykład treści hiszpańskiej, ciągi przekazywane przez t () są tłumaczone, pasek narzędzi administratora w języku angielskim ...

Przykład treści hiszpańskiej

Ta sama strona została edytowana: interfejs administratora w całości w języku angielskim, ale treść pokazuje prawidłowe tłumaczenie ....

interfejs administratora w pełni w języku angielskim, ale treść pokazuje prawidłowe tłumaczenie

Kojo
źródło
Jeśli dobrze rozumiem twoją odpowiedź, problem z twoją konfiguracją jest następujący: (a) przełącznik języka znika (gdy URL jest wyłączony w wykrywaniu języka interfejsu tekstowego; oraz (b) tylko treść jest tłumaczona w es / node / 1 : cokolwiek w kod działa przez t()lub |tpozostaje nieprzetłumaczony. Na przykład: „Powered by Drupal” nie przekształca się w „Funciona con Drupal”. Chcę tylko, aby strony / admin były tylko w języku angielskim.
24ma13wg
@ 24ma13wg my bad! Racja, pracowałem trochę więcej nad twoim problemem i uważam, że teraz działa dobrze. Mam zamiar edytować odpowiedź. Zameldowanie za 15 min;)
Kojo
@ 24ma13wg, ze względu na przejrzystość i przyszłe odniesienia, przepisałem odpowiedź z dokładną konfiguracją i łatkami.
Kojo
1
Wydaje się, że działa. Dobra odpowiedź :-)
24ma13wg
1
Dziękuję Ci! Nie rozumiem, dlaczego to rozwiązanie nadal nie jest gotowe do zainstalowania łatki mniej włączonej w rdzeniu ... w sierpniu 2018!
mogio
0

Preferowanym językiem użytkownika są chińczycy (zh-hans). Gdy loguję się do witryny, adres URL nie ma prefiksu językowego. Podczas przełączania języka na rozwijany język dla wszystkich języków jest tłumaczony zgodnie z oczekiwaniami. Kiedy zmieniam język na angielski (domyślny język witryny) i pozostaje on językiem preferowanym przez użytkownika.

Uwaga: używam dropdown_language do przełączania języków.

Prosimy o pomoc w tym zakresie.

Govindaraju V.
źródło