__
(podwójny znak podkreślenia) to podstawowa funkcja tłumaczenia. Tłumaczy ciąg znaków i zwraca go jako ciąg znaków.
_e
robi to samo co __
, ale echo jest wynikiem natychmiast.
_x
jest funkcją tłumaczenia kontekstowego. Ma drugą opcję zapewnienia kontekstu osobom wykonującym tłumaczenie.
_ex
jest taki sam jak _x
, ale echo jest wynikiem.
Przykład użycia _x
:
$string = _x( 'Buffalo', 'an animal', 'plugin-domain' );
$string = _x( 'Buffalo', 'a city in New York', 'plugin-domain' );
$string = _x( 'Buffalo', 'a verb meaning to confuse somebody', 'plugin-domain' );
Czasami ten sam ciąg znaków może być inny w innych językach. Zapewnienie tłumaczom kontekstu może pomóc im wybrać właściwe słowa.
Funkcje skrótów:
esc_attr__
: Odpowiednik wyniku, __
ale także wynik esc_attr
.
esc_html__
: Odpowiednik wyniku, __
ale także wynik esc_html
.
esc_attr_e
: Odpowiednik wyniku, _e
ale także wynik esc_attr
.
esc_html_e
: Odpowiednik wyniku, _e
ale także wynik esc_html
.
esc_attr_x
: Odpowiednik wyniku, _x
ale także wynik esc_attr
.
esc_html_x
: Odpowiednik wyniku, _x
ale także wynik esc_html
.
_n
jest operatorem pluralizacji. Przykład:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
W tym przykładzie istnieją dwa sposoby określenia liczby tacos, w zależności od tego, czy jest to liczba pojedyncza, czy nie. Pierwsze użycie $ number informuje _n
funkcję, której wersji użyć. Drugie użycie $ number ma miejsce w sprintf, w celu zastąpienia% d rzeczywistą liczbą w ciągu.
Nie istnieje odpowiednik funkcji echa _n
, ale istnieje funkcja o nazwie _nx
. To połączenie _n
i _x
. Pluralizacja i kontekst.
_n_noop
jest wyjątkowy. Służy do tłumaczenia ciągów pluralizowanych, ale nie wykonuje tłumaczenia natychmiast. Jest to przydatne, jeśli chcesz, aby łańcuchy były scentralizowane, ale faktycznie działały gdzie indziej. Funkcja, która faktycznie wykonuje pracę gdzie indziej, to translate_nooped_plural
.
Przykład:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Nie jest to często używane, ale może być przydatne w organizacji. Jeśli na przykład umieścisz wszystkie swoje ciągi w jednym pliku, a następnie odniesiesz je gdzie indziej, nie byłoby to możliwe tylko dlatego _n
, że potrzebujesz czegoś takiego _n_noop
.
_nx_noop
jest taki sam jak _n_noop
, ale może również wziąć kontekst dla tłumaczy, tak samo jak _x
.
Pamiętaj, że możesz umieścić domenę w wywołaniu funkcji noop lub w wywołaniu funkcji translate_nooped_plural. W zależności od tego, co jest bardziej sensowne dla Twojej organizacji. Jeśli oba mają domenę, wygrywa ta przekazana do połączenia noop.
number_format_i18n
jest równoważne wbudowanemu numerowi_formatowi PHP , ale dodaje obsługę takich elementów, jak dziesiętne itp., które różnią się w innych lokalizacjach.
date_i18n
jest odpowiednikiem wbudowanej daty PHP , z wszystkimi stosownymi funkcjami. Nazwy miesięcy, nazwy dni itp.
Nigdy też nie łamaj prawa . Tylko przypomnienie. :)