PHP, рд╕реНрдорд╛рд░реНрдЯреА рдФрд░ рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг

рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рди рдкрд░ рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд░реЗрдХ рдереЗ, рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдПрдХ рдХрд╛рд░реНрдп рд╕реНрдерд▓ рдорд┐рд▓рд╛ред рдФрд░ рдЕрдм рдореИрдВ рдмрд╣реБрднрд╛рд╖реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдиреБрд╕реНрдЦрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
PHP 5.3.3 (Linux) / PHP 5.3.1 (рд╡рд┐рдВрдбреЛрдЬ) + рд╕реНрдорд╛рд░реНрдЯреА 3.0.7 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВ "рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ phpclub рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд░рд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░,
  1. рд╕реНрдорд╛рд░реНрдЯреА рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг 1.0b1, 0.9.1 рдирд╣реАрдВ, рдЬреЛ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ рд╣реИ!): рдбрд╛рдЙрдирд▓реЛрдб , рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ (рдЕрдиреБрд╢рдВрд╕рд┐рдд)
  2. рд╣рдо рд╡рд╣рд╛рдВ рд╕реЗ block.t.php рдлрд╝рд╛рдЗрд▓ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдорд╛рд░реНрдЯреА / рдкреНрд▓рдЧрдЗрдиреНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ
  3. рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рд▓реЛрдХреЗрд▓ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ (рдЖрдк рджреВрд╕рд░реА рдЬрдЧрд╣ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ), рдФрд░ рдЗрд╕рдореЗрдВ рд░рдл рдлреЛрд▓реНрдбрд░
  4. рдЖрд░рдпреВ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, LC_MESSAGES рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ - рдпрд╣рд╛рдВ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  5. рдлрд┐рд░ рдЖрдкрдХреЛ рд╕рднреА * .tpl рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдШреЗрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдЯреИрдЧ {t} рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ:

    {t}Members{/t}
    {t 1=$user}Here is your payment for %1{/t}


    рд╕реНрдорд╛рд░реНрдЯреА рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЯреИрдЧ рдкреНрд░рд╛рд░реВрдк {t} рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
  6. рдЕрдм, рд╕реНрдорд╛рд░реНрдЯ рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рд╕реЗ tsmarty2c.php рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдпрд╣ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕реЗ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ / рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ .tpl рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ .tpl рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдЙрди рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ ред/locale/langfrases.cред - tsmarty2c.phps
  7. рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрдХ, рдкреЛрдПрдбрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред
    рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдлрд╛рдЗрд▓-рдХреНрд░рд┐рдПрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА) рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рд▓реЛрдХреЗрд▓ рдлреЛрд▓реНрдбрд░ рдХреЗ рдкрде "рдЯреИрдм" рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА langfrases.c рдлрд╛рдЗрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ - рдкрде рдХреЗ рдЕрдВрдд рдореЗрдВ Poedit рдмрд┐рд▓реНрдХреБрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ!)ред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ LC_MESSAGES рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╛рдо messages.po рдХреЗ рддрд╣рдд рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдВрдкрд╛рджрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдпреБрдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛:



    рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, LC_MESSAGES рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рд╕реЗрд╡ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП - messages.mo рдФрд░ messages.po , рдЬрд┐рд╕рдореЗрдВ рд░реВрд╕реА рдореЗрдВ рд▓рд╛рдЗрди рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рд╣реИрдВред
  8. рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рд╛рдЗрди рдлрд╝реАрдбреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рд╛рдЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рджреЛ рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ - рдЕрдВрдЧреНрд░реЗрдЬреА рдФрд░ рд░реВрд╕реАред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - en_US рдФрд░ ru_RU.utf8 ред PHP рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб ( рдбрд╛рдЙрдирд▓реЛрдб ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

     $ lang = 'ru_RU.utf8';
    
     рдЕрдЧрд░ (рдкрд░рд┐рднрд╛рд╖рд┐рдд ('LC_MESSAGES')) рдкрд░рд┐рднрд╛рд╖рд┐рдд ('LC_MESSAGES', 5);  // рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЗрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
     setlocale (LC_MESSAGES, $ рд▓реИрдВрдЧ);  // рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ
        
     if (isset ($ _COOKIE ['lang'])) setcookie ('lang', $ lang, 1640995200);  // рднрд╛рд╖рд╛ рдХреЛ рдХреБрдХреА рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ
     bind_textdomain_codeset ("рд╕рдВрджреЗрд╢", 'UTF8');  // рдореИрд╕реЗрдЬ.рдореЛ рдлрд╛рдЗрд▓ рдХреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ
    
     рдЕрдЧрд░ ($ lang == 'ru_RU.utf8') {
         // рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
         bindtextdomain ("рд╕рдВрджреЗрд╢", "./locale");
         рдЯреЗрдХреНрд╕рдбреЗрдЯреЛрдореИрди ("рд╕рдВрджреЗрд╢");
     }
     рдФрд░ {
         // рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реМрдЯрд╛рдирд╛
         bindtextdomain ("рд╕рдВрджреЗрд╢", "");
     }
    
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЬрдм рдЖрдк рдкреГрд╖реНрда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреИрдЧ {t} рд╕реЗ рдШрд┐рд░реА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рд╡реЗ рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдорд╕реНрдпрд╛рдПрдВ рдЬреЛ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЙрдирдХреА рдмрд╣реБрд╡рдЪрди рдХреЗ рд╕рд╛рде рд╕рдВрдЬреНрдЮрд╛рдУрдВ рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХреА рд╕рдорд╕реНрдпрд╛ рдЕрдирд╕реБрд▓рдЭреА рд░рд╣реАред
Tsmarty2c рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрд╣реБрд╡рдЪрди рд░реВрдкреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рдирдЧреЗрдЯреЗрдХреНрд╕ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкреЛрдПрдбрд┐рдЯ рдиреЗ рдореБрдЭреЗ рдЙрдирд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╕рдордп рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдмреЗрд╣рддрд░, рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ =

Source: https://habr.com/ru/post/In115300/


All Articles