Uzyskaj wybranego języka hosting Drupal

Jest możliwe, aby dostosować proces negocjacji języka zarówno w jaki sposób możemy wykryć język użytkownika, a także od rodzaju danych, które są zainteresowanie.

Rokowania język API opiera się na dwóch głównych założeniach:

  • Typy języku. które opisują możliwe rodzaje translacji treści
  • dostawcy języku. które pozwalają wykryć Drupal, który język powinien służyć użytkownikowi (zauważ, że usługodawcy język nazywane są metody językowe w Drupal 8)

Ustawienia domyślne dostarczane przez Drupala

Typy języków

Drupal rdzeń definiuje trzy typy wbudowane językowych:

hosting

Język interfejsu jest głównym językiem na stronie. Jest on używany do przedstawienia elementów interfejsu użytkownika, takie jak przetłumaczone tytuły, etykiety, tekst pomocy i wiadomości. język zawartość służy do wyboru w jakim języku do wyświetlania treści, które są dostępne w więcej niż jednym języku (patrz wielojęzyczne możliwości nowego pola API dla szczegółów). URL język ten jest językiem związane z adresami URL. Podczas generowania adresów URL, wartość ta zostanie wykorzystana przez url () jako domyślny, jeśli nie jest wyraźna preferencja.

Różne typy językowe często podzielają te same wartości, ale potem może mieć niezależne wartości w razie potrzeby.

Dostawcy językowe

Rdzeń składa się z następujących dostawców:

  • URL - Określ język w adresie URL (prefix ścieżki lub domeny).
  • Sesja - Określić język z parametru żądanie / sesji.
  • Użytkownik - Follow preferowany język użytkownika.
  • Przeglądarka - Określić język z ustawień językowych twojej.
  • Domyślny język - Użyj domyślnego języka witryny.

Oto obraz, który pokazuje zależność pomiędzy typami i dostawców:

Definiowanie typów językowych

Zaczynając w Drupal 7, API języka pozwala przyczyniły moduły zdefiniować dodatkowe typy językowych poprzez hook_language_types_info () i zmiany definicji istniejącego typu język poprzez hook_language_types_info_alter ().

Typ język może być konfigurowane lub naprawione. Konfigurowalny typ języka pojawia się w Konfiguracja> Regionalne i język> Języki> Wykrywanie i wybór strony, gdzie można skonfigurować dostawcy językowe dla tego typu języka. Są też trwałe rodzaje językowe, które z góry ustalone ustawienia negocjacyjne (moduł zdefiniowane), a zatem nie pojawiają się na stronie konfiguracji. Oto fragment kodu, który sprawia, że ​​język zawartości (które domyślnie dziedziczy wartości język interfejsu użytkownika) konfigurowalne:

Każdy typ konfigurowalny język będzie mieć swój własny (niezależny) Język blok przełącznika. Oczywiście, jeśli dwa typy językowe są skonfigurowane w ten sam sposób, ich język blokuje Switcher będzie funkcjonalnie identyczne i będą działać na obu typach językowych.

Uzyskaj wybranego języka Drupal hosting provider na podstawie wagi

W Drupal 6.x, istnieje tylko jeden rodzaj języka, nazwany właśnie język. Podczas inicjalizacji języka wybrane ustawienia negocjacyjne język są wykorzystywane do określenia jego wartości. W Drupala 7.x, ten sam proces dzieje się dla każdego określonego rodzaju języka, zobaczyć drupal_language_initialize () aby uzyskać szczegółowe informacje.

Definiowanie niestandardowych dostawców językowych

Każdy rodzaj języka może mieć różne ustawienia negocjacyjne język, to znaczy każdy rodzaj języka może mieć inny zestaw metod wykrywania języka. lub dostawców. przypisane do niego.

dostawcy językowe są proste funkcje zwrotne, które implementują szczególną logikę powrotu kod języka. Na przykład, locale_language_from_url () wyszukuje ważnego przedrostek ścieżki lub nazwy domeny w bieżącym adresie URL żądania. Jeśli dostawca język nie zwraca poprawny kod języka, kolejnym dostawcą związane z rodzajem języka (na podstawie wagi operatora) jest wywoływany. W ten sposób pojęcie awaryjnej jest uogólnione i niezwiązane z prefiksu ustalona path> preferencji użytkownika> Ustawienia przeglądarki> Default systemu językowego stosowanego w Drupal 6.x.

Również dostawcy językowe są definiowane przez moduł-hook_language_negotiation_info () i definicje dostawców językowe mogą być zmieniane przez hook_language_negotiation_info_alter (). Oto przykładowy fragment kodu, który pozwala prefiksy ścieżki być ignorowane ścieżek administracyjnych:

Aby powyższe zmiany mają być zrealizowane, „Wykrywanie i wybór języka” potrzebuje formularz należy złożyć.

definicje dostawcy język może zawierać dwa kolejne wywołania zwrotne oprócz języka samego dostawcy:

  • Jeśli dostawca język mogą skorzystać z bloku język przełącznika, callback przełącznik pozwoli na powrót linki zmienić język dostosować swoją logikę, zobacz locale_language_switcher_url () na przykład.
  • Jeśli dostawca język musi przepisać adresy URL, może określić url_rewrite zwrotnego, która zapewni logikę przepisywanie.

Powiązane artykuły

Miglior gospodarzem drupal tematówCzym jest Drupal? Drupal jest open source platformy zarządzania treścią, które można pobrać i używać za darmo. Składa się ona z podstawowej grupy plików, które są standardem we wszystkich instalacjach ...
Dodaj nową stronę w Drupal hostingTen poradnik pokaże Ci, jak dodać nową stronę oraz nową kartę menu wskazał na strony na swojej stronie Drupal. W tym celu: Zaloguj się do swojego interfejsu backend Drupal; Kliknij...
Tim millwood hosting DrupalJego krzywa uczenia się jest znany, ale Tim Millwood twierdzi, że Drupal nie jest tak przerażający, i pokazuje, jak można go używać do budowania wiedzy pokładzie zadanie potrzebne. Podstawowe tworzenie stron internetowych oraz ...
Zmień typ pola Drupal hostingPodczas pracy z obrazami w Drupal 7, można kontrolować, które typy obrazów chcesz być przesłane do każdego typu treści. Być może chcesz ograniczyć pliki gif i jpg lub tylko ...
nawigacja książka blok hosting DrupalJak zarządzać bloków w Drupal Układ witryny Drupal jest podzielona na regiony. Liczba i pozycje tych regionów zależy od tematu swojej stronie. Regiony te są zajęte przez ...