Podręcznik użytkownika CodeIgniter wersja 2.2.1


Klasa Language

Klasa Language dostarcza funkcji do ładowania plików językowych i zwracania z nich określonych linii tekstu w celach internacjonalizacji.

W Twojej instalacji CodeIgnitera, w folderze system, znajdziesz katalog language, który zawiera zestaw plików językowych. Jeśli potrzebujesz, możesz stworzyć swoje własne pliki aby wyświetlać komunikaty błędów lub inne wiadomości w innych językach.

Pliki językowe są zazwyczaj przechowywane w folderze system/language. Można też stworzyć folder language wewnątrz katalogu application i tam przechowywać pliki językowe. CodeIgniter najpierw będzie sprawdzał folder application/language. Jeśli ten folder nie istnieje lub dany plik językowy się tam nie znajduje, CI zacznie sprawdzać globalny folder system/language.

Uwaga:  Każdy z języków powinien być przechowywany w swoim własnym folderze. Dla przykładu, angielskie pliki językowe są przechowywane w: system/language/english

Tworzenie plików językowych

Pliki językowe muszą mieć w nazwie _lang.php jako rozszerzenie. Dla przykładu, powiedzmy że chcesz stworzyć plik zawierający komunikaty błędu. Możesz go nazwać: error_lang.php

Wewnątrz pliku, każda linijka tekstu musi zostać przypisana do tablicy o nazwie $lang, w ten sposób:

$lang['language_key'] = "The actual message to be shown";

Uwaga: Dobrą zasadą jest używanie wspólnego prefiksu dla wszystkich wiadomości w danym pliku, w ten sposób unikamy możliwości wystąpienia kolizji nazw, które mogłyby nastąpić po wczytaniu innych plików językowych. Dla przykładu, jeśli tworzysz komunikaty błędu, możesz je poprzedzić ciągiem error_

$lang['error_email_missing'] = "You must submit an email address";
$lang['error_url_missing'] = "You must submit a URL";
$lang['error_username_missing'] = "You must submit a username";

Ładowanie plików językowych

W celu pobrania linii tekstu, należy najpierw załadować plik językowy. Ładowanie plików językowych odbywa się za pomocą następującego kodu:

$this->lang->load('filename', 'language');

Gdzie filename jest nazwą pliku, ktory chciałbyś załadować (bez rozszerzenia), a language określa wybraną wersję językową (np. english). Jeśli nie podasz drugiego parametru, zostanie wykorzystany domyślny język ustawiony w pliku application/config/config.php.

Pobieranie linii tekstu

Kiedy załadujesz już plik językowy, możesz odwołać się do każdej linii tekstu, za pomocą tej funkcji:

$this->lang->line('language_key');

Gdzie language_key jest kluczem tablicy, który odwołuje się do linii tekstu, którą chciałbyć pokazać.

Uwaga: Ta funkcja tylko zwraca linię tekstu - nie wyświetla jej za Ciebie.

Używanie linii tekstu w etykietach folmularza

Ta funkcja została przeniesiona do funkcji lang() helpera Language.

Automatyczne ładowanie języków

Jeśli uznasz, że potrzebujesz danego języka globalnie, w obrębie całej aplikacji, możesz nakazać aby CodeIgniter ładował ten język podczas inicjalizacji systemu. Możesz to zrobić poprzez otworzenie pliku application/config/autoload.php i dodanie języka/ów do tablicy automatycznego ładowania.