рдмреИрдмрд▓ рдФрд░ рд╣реИрдВрдбрд▓рдмрд╛рд░, рдпрд╣ рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ рдмрд╛рдмреЗрд▓, рдпрд╛ рдкрд╛рдЗрдмреЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдкреИрдХреЗрдЬ, рдЬреЛ рдЧреЗрдЯрдЯреЗрдХреНрд╕реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ (рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдкрддрд╛ рд╣реИ)ред

рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ, рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВрдбрд▓рдмрд╛рд░ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдереЗ, рдФрд░ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдерд╛ред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреМрди рд╣реИред

рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореБрдЭреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдЪреБрдирд╛рд╡ рдореЗрдВ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рдерд╛ред
рдЕрдВрддрддрдГ, рд╣рдо рд╕реНрдереИрддрд┐рдХ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд░реВрдмреА (рдХрдореНрдкрд╛рд╕), рдиреЛрдб (рдХреЙрдлреА, рдЧреНрд░рдВрдЯ, рдЖрд╡рд╢реНрдпрдХрддрд╛), рдЕрдЬрдЧрд░ (рдмреИрдХрдПрдВрдб рдФрд░ рд╕рдм рдХреБрдЫ рдФрд░ рд╕рдм рдХреБрдЫ рдХреА рдиреАрдВрд╡), рд╢реИрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИред

рд╡реИрд╕реЗ, рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрд┐рд▓реНрдб рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреЗрдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ + scss + рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА, рдЗрд╕ рд╕рдордп рдмрд┐рд▓реНрдб рдФрд░ рд╣рд┐рд░реЛрдХреЛ рдХреЗ рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб + рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓рдЧрднрдЧ 1000+ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрд┐рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╣ рд╕рдм рдорд┐рд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ - рдЬреЛ рд╕рдХреНрд╖рдо рд╣реИ:
a) рд╣реИрдВрдбрд▓рдмрд╛рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВ
b) рдмреИрдмрд▓ рдХреЗ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ - рдЕрд░реНрдерд╛рдд, рд▓рд╛рдЗрди рдХреБрдВрдЬреА рд╣реИ, рди рдХрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ, рдЬрдм рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред
рдЧ) рдкрд╛рдпрд╛ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдПрдХ .po рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░реЗрдВ

рдЖрдЧреЗ рдХреЗ рд╣рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдирдЫреБрдП рд╣реИрдВ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рд╣реИрдВред

рдХрдИ рдШрдВрдЯреЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрд┐рд╕реА рдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬреЛ рдХреБрдЫ рднреА рдореМрдЬреВрдж рдерд╛ рд╡рд╣ "рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛" рдФрд░ "рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред"

рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ?
рд╕рдлрд▓рддрд╛ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рдЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЙрдиреНрд╣реЛрдВрдиреЗ рд░реЗрдЧреАрдЬрд╝ рдХреЗ рддрд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реБрдирд╛рдпрд╛ред рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ ngettext рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдпрд╛ "рд╕реНрдЯреНрд░рд┐рдВрдЧ = рдХреБрдВрдЬреА" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХред

рдпрд╣ рд╕рдм рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдХрд╛рд░реНрдп рдХреЛ рддреБрд░рдВрдд рдЕрдВрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ рднреА рдкрд▓ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

1) рдЕрдиреБрд╡рд╛рдж рдкрд╛рда рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, "рд╕реНрдЯреНрд░рд┐рдВрдЧ = рдХреБрдВрдЬреА" рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд
рдпрд╣ рдХрд╛рдо рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рдХреБрдВрдЬреА = рдирд┐рд░рдВрддрд░ рдирд╛рдоред рддреНрд░реБрдЯрд┐ рдХреА рдХреАрдордд рднреА рдХрдо рд╣реИ, рдЕрдзрд┐рдХрддрдо рдХрд┐рд╕реА рдХреЛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрдЬрд╛рдп рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛

2) рдмрд╛рдмреЗрд▓ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдкрд╛рд╕ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рд▓рд╛рдЗрди рдирдВрдмрд░ рднреА
рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдмреИрдмреЗрд▓ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рд▓рд╛рдЗрди рдирдВрдмрд░ рди рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ
3) рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕реЗ .po рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╛рдмреЗрд▓ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ
4)ред рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рдмрд╛рдж .po рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ, .json рдлрд╛рдЗрд▓реНрд╕ рдмрдирд╛рдПрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдВред рд░реВрдкрд╛рдВрддрд░рдг - po2json рдХрд╛рд░реНрдп
5) рд╣реИрдВрдбрд▓рдмрд╛рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдкрд░-рдПрд╕ рдмрдирд╛рдПрдВ, рджреЛрдиреЛрдВ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдФрд░ рдПрдирдЬреЗрдЯреЗрдХреНрд╕ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
рдлрд┐рд░, рд╣рд░ рд░реЛрдЬ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд┐рдзрддрд╛
6) рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
7) рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрдиреБрд╡рд╛рдж рдХреЛ "рд╕рдмрд╕реЗ рдКрдкрд░" рдХреЗ рд▓рд┐рдП рдкрд╛рда рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╣реА .json рдлрд╛рдЗрд▓реЗрдВ рд░рдЦрддрд╛ рд╣реИ
8) рдЙрд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

8 рд╡реЗрдВ рдЖрдЗрдЯрдо рдкрд░, рдЬреЗрдб рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛, рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдкреНрд░рд┐рдВрдЯрдл рдерд╛, рдЬрд┐рд╕рдиреЗ рддреБрд░рдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред

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

рдореБрдЭреЗ рд╣реИрдВрдбрд▓рдмрд╛рд░реНрд╕ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдЖрдИ - рдЙрд╕рдХрд╛ рд▓реЗрдХреНрд╕рд░ рдЬреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкрд╛рд░реНрд╕рд░ рдЬреЗрд▓рд╛рдирд╛, рд╣реИрдВрдбрд▓рдмрд╛рд░ рд╕реЗ рд╕реАрдзреЗ рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЕрдВрджрд░ рд╕реАрд╡рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдФрд░ Handlebars.parse (рдЯреЗрдореНрдкрд▓реЗрдЯ) рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА JSON рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдм рдХреБрдЫ рдЕрджреНрднреБрдд рд▓рдЧ рд░рд╣рд╛ рдерд╛ - рд▓реЗрдХрд┐рди рдХреЛрдИ рд▓рд╛рдЗрди рдирдВрдмрд░ рдирд╣реАрдВ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЦреБрд╢реА рдХрд░реАрдм рдереА рдФрд░ рдпрд╣ рдЙрд╕реА рджрд┐рд╢рд╛ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рдереА - рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдХрдЯреНрдареЗ рд╣реИрдВрдбрд▓рдмрд╛рд░реНрд╕ рдореЗрдВ, рдЙрддреНрдкрдиреНрди рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХреЛрдб рдореЗрдВ, рдпрд╣ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рд╡реЙрдпрд▓рд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд░рд╣реА, рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдЕрдВрдд рд▓рд╛рдЗрдиреЗрдВ рдЗрдВрдЧрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рд╕рдм рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рд╣реА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╣реА рд╕рдордп рдкрд░ рд╕рд╣реА рд╕рдордп рдкрд░ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реБрдЖред

рдлрд┐рд░ рддрдХрдиреАрдХ рдХрд╛ рдорд╛рдорд▓рд╛ рдерд╛, рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрд┐рдордЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдмрд▓ рдХреЛ рдЬрдХрдбрд╝рдирд╛
рдЕрд░реНрдерд╛рддреН:
рдкрд╛рдпрдерди (рдПрдХреНрд╕реНрдЯреНрд░реЗрдХреНрдЯрд░) рдореЗрдВ рдПрдХ рдлрдВрдХреНрд╢рди, рдЬреЛ рдкреИрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВрдбрд▓рдмрд╛рд░.рдЬреЗрдПрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдиреЛрдб.рдЬреЗрдПрд╕ рдХрд╣рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИ, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рднреА рдмреЗрдмрд▓ рддрд░реНрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддреЗ рд╣реИрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд┐рд╖реНрдХрд░реНрд╖рдг рддрд░реНрдХ рднреА handlebars.js рдХреЗ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╣реИред рдпрд╣ рд╕рдм рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЖрдирдиреНрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рдЗрд╕ рдкреЛрд╕реНрдЯ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдмрд╛рдж рдХреА рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рдереАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рд╕рд╣реА рджрд┐рд╢рд╛ рдХреА рдЦреЛрдЬ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдордп рдХрд┐рд╕реА рдХреЛ рднреА рдмрдЪрд╛рдПрдЧрд╛ред
- рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдЗрдмреЗрд▓рдм-рдПрдЪрдмреАрдПрд╕
- github.com/tigrawap/pybabel-hbs

рдкреИрдХреЗрдЬ рдХреЛ рдкреИрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВрдбрд▓рдмрд╛рд░ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕реНрд░реЛрдд рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЙрдлреА рдкрд░)
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрджрд░реНрд╢ рдирд┐рдХрд▓рд╛, рдЧрд┐рддреБрдм рдкрд░ 4 рд╕рд╣рд╛рдпрдХ, рдпрд╣рд╛рдБ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ "рдореЛрдЯреА" рд╣реИ

{{#ntrans num_to_check_aganst param_1="something" num=num_to_check_against}} Some text to be translated with %(param_1)s and %(num)s {{else}} Some plural text to be translated with %(param_1)s and %(num)s {{/ntrans}} 


рдХреЛрд▓рд╛рд╣рд▓ рдХреЛ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

 [hbs: path/to/project/**.hbs] 


рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдиреЛрдб.рдЬреЗ.рдИ.рдПрд╕.
рдпреЛрдЬрдирд╛рдПрдБ рдЕрдиреБрдХреВрд▓рди рдХрд░ рд░рд╣реА рд╣реИрдВ рддрд╛рдХрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдЕрд▓рдЧ рд╕реЗ рд╢реБрд░реВ рди рд╣реЛ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд╛рдмреЗрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ред
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 0.2.0 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреЛрд╕реНрдЯ рдореЙрдбрд░реЗрд╢рди рдкрд░ рдерд╛ред
рдмреЗрд╢рдХ, рддреНрд╡рд░рдг рдЦрд░рд╛рдм рдирд╣реАрдВ рдерд╛, ~ рдПрдХ рдорд┐рдирдЯ рдореЗрдВ 150 рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдПрдХ рдкреИрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдорд┐рдирдЯ рд▓рдЧреЗ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдерд╛ред
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд┐рдирдЯ рд╣реИред

рдЧреМрд░рддрд▓рдм рд╣реИ рдХрд┐ (рдПрдХ рдФрд░ 4 рдмрд╛рд░) рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЬрдЧрд░ рд╕реЗ pexpect рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЕрдм (рд╕рдВрд╕реНрдХрд░рдг 0.2.1) рдореИрдВ рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдиреЛрдб.jj рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрдврд╝рддрд╛ рд╣реИред (рдпрд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдмрджрд▓реЗ рдореЗрдВ рдлрд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ)
рдЕрдм 150 рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ 15 рд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЕрднреА рднреА рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдореИрдВ рдЦреБрд╢ рд╣реВрдВред
рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдоред

- рдЗрд╕ рдХрд▓реНрдкрд┐рдд рдХрд╣рд╛рдиреА рдХрд╛ рдиреИрддрд┐рдХ рдпрд╣ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рдПрдВ, рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЙрдВрдбрдЕрдмрд╛рдЙрдЯ рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ - рдпрд╣ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЦреБрдж рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдЖрд╕рд╛рди рд╣реИред
рдЕрдВрдд рдореЗрдВ, рд╕рдВрдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕реНрд╡рдпрдВ рд╣реИрдВрдбрд▓рдмрд╕ рдореЗрдВ рдЕрдВрдХрд┐рдд рдереЗред рдФрд░ рдЖрдЬ рдЬреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ... рд╡рд╣ рдХрдо рд╕реЗ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред

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


All Articles