gettext
(PHP 4, PHP 5, PHP 7, PHP 8)
gettext β ΠΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
message
-
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ (string) ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ°
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, ΠΈΠ½Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ gettext()
<?php
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ
putenv('LC_ALL=ru_RU');
setlocale(LC_ALL, 'ru_RU');
// Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ²
bindtextdomain("myPHPApp", "./locale");
// ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π΄ΠΎΠΌΠ΅Π½
textdomain("myPHPApp");
// Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ ./locale/ru_RU/LC_MESSAGES/myPHPApp.mo
// ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
echo gettext("Welcome to My PHP Application");
// ΠΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ gettext() β ΡΡΠ½ΠΊΡΠΈΡ _()
echo _("Have a nice day");
?>
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ Β«_Β» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ·ΡΠΊΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ putenv().
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
- _() - ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ gettext
- setlocale() - Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ