рдЖрдкрдХреЗ рдРрдк рдХреА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдВ
рдЕрдкрдиреЗ рдРрдк рдФрд░ рдЙрд╕рдХреА рд╕реНрдЯреЛрд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЛ 48 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЗрд╡рд▓ 5 рдорд┐рдирдЯ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ
рдЕрдкрдиреА рд╡рд┐рдХрд╛рд╕ рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦреЗрдВ рдЬреИрд╕реЗ рдХрд┐ i18n рд╡рд╣рд╛рдБ рдерд╛ рд╣реА рдирд╣реАрдВред
5-рдорд┐рдирдЯ рд╕реЗрдЯрдЕрдк
рдЖрдкрдХрд╛ рдкреВрд░рд╛ i18n рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 5 рдорд┐рдирдЯ рдореЗрдВред рдордЬрд╝рд╛рдХ рдирд╣реАрдВред
рдХреЛрдИ рдХреБрдВрдЬреА рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ
рдЖрдкрдХрд╛ рджрд┐рдорд╛рдЧ рдРрд╕реА рдирд┐рд░рд░реНрдердХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ
рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рдмрд╛рдЬрд╛рд░реЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рднреЗрдЬреЗрдВред
рд╕реЗрдЯрдЕрдк i18n, рдЕрдкрдирд╛ рдХреЛрдбрдмреЗрд╕ рд╕рд╛рдл рд░рдЦреЗрдВ рдФрд░ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░реЗрдВ
рд╡рд░реНрддрдорд╛рди i18n рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ PITA (рд╕рдорд╕реНрдпрд╛рдПрдВ) рд╣реИрдВред рджрд░реНрдж рдЗрддрдиреЗ рдмрдбрд╝реЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ i18n рдореЗрдВ рджреЗрд░реА рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдордп рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╕рдореБрджреНрд░ рддрдЯ рдкрд░ рдмрд┐рддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░реЗрдВ: рд╡рд░рд┐рд╖реНрда рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдХрдо рд╕реЗ рдХрдо 1 рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп
рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ: рдкреНрд░рддрд┐ рдХреБрдВрдЬреА 1 рдорд┐рдирдЯ, x500 рдХреБрдВрдЬрд┐рдпрд╛рдБ, x2 рднрд╛рд╖рд╛рдПрдБ = 17 рдШрдВрдЯреЗ
i18n-keyless рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ i18n рдкреНрд░рдгрд╛рд▓реА рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдкрдбрд╝рддреАред рдЖрдк рд╕рдореБрджреНрд░ рддрдЯ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдореЛрд╣реАрддреЛ рдСрд░реНрдбрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЬ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рда рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдЗрд╕рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рджрд░реНрджрдирд╛рдХ рд╣реИред рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рджрд░реНрджрдирд╛рдХ рд╣реИред
рдЬрдм рдЖрдк рдРрдк рдореЗрдВ рдХреЛрдИ рдЯреЗрдХреНрд╕реНрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдВрдЬреА рдвреВрдВрдврдиреА рд╣реЛрдЧреАред
i18n-keyless рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ i18n рдкреНрд░рдгрд╛рд▓реА рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рд╣реИред рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХрд░рдиреЗ рдореЗрдВ рдХрд░реЗрдВред
рдЕрдиреБрд╡рд╛рдж AI рдХреЛ рд╕реМрдВрдкреЗрдВ
рдХреБрдВрдЬреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдРрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рдРрдк рдореЗрдВ someheader.welcome.title рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
i18n-keyless рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ i18n рд╕рд┐рд╕реНрдЯрдо рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИред рдмрд╕ рдЕрдЪреНрдЫреЗ рд╣реЗрдбрд▓рд╛рдЗрди рд▓рд┐рдЦреЗрдВ, рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ рдмрд┐рдХреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдХреЛрдбрдмреЗрд╕ рд╕реБрдВрджрд░ рд╣реЛрддреЗ рд╣реИрдВ... рдЬрдм рддрдХ i18n рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╕рдВрдХреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАрдВ
рдХреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде, рдЬрдм рдЖрдк рдХреЛрдб рдФрд░ рд╕рд╛рдордЧреНрд░реА рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдкрдврд╝рдиреА рд╣реЛрддреА рд╣реИрдВ, рди рдХрд┐ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ред
рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдПрдХ рдлрд┐рдХреНрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╡рд╛рдХреНрдп рд╡реНрдпрд╛рдХрд░рдгрд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреБрдВрдЬрд┐рдпрд╛рдБ рдкрдврд╝рддреЗ рд╣реИрдВред
i18n-keyless рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ i18n рд╕рд┐рд╕реНрдЯрдо рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдкрдбрд╝рддреАред рдХреЛрдбрдмреЗрд╕ рд╕реБрдВрджрд░ рд░рд╣рддрд╛ рд╣реИред
рдЖрдкрдХреА i18n рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MCP рд╕рд░реНрд╡рд░
рдПрдЬреЗрдВрдЯрд┐рдХ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдЗрддрдирд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЫрд╣ рдЕрдиреНрдп рдХрд╛рд░рдгред
рдХреЛрдИ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ
рдПрдХ рдХреБрдВрдЬреА рдПрдХ рдирд╛рдордХрд░рдг рдирд┐рд░реНрдгрдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╕рд╣реА рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИред рджреЛ рдПрдЬреЗрдВрдЯ рдЙрд╕реА рдмрдЯрди рдХреЗ рд▓рд┐рдП login.submit рдФрд░ auth.button.send рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред
рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреАрд╕ рдирд╣реАрдВ
рдПрдХ рдХреБрдВрдЬреА-рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдШрдЯрдХ рдФрд░ рд╣рд░ рд╕реНрдерд╛рдиреАрдп JSON рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдЬреЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрди рд╣реИред
рдПрдЬреЗрдВрдЯ рдмреЗрдбрд╝реЛрдВ рдореЗрдВ рд╢реВрдиреНрдп рд╡рд┐рд▓рдп рд╕рдВрдШрд░реНрд╖
рдкрд╛рдВрдЪ рд╢рд╛рдЦрд╛рдУрдВ рдкрд░ рдкрд╛рдВрдЪ рдПрдЬреЗрдВрдЯ рд╕рднреА en.json рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдПрдХ рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд╕рдВрдШрд░реНрд╖ред рдХреЛрдИ рд╕рд╛рдЭрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрдХрдЯреНрд░реАрдЬрд╝ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдПрдЬреЗрдВрдЯ рдХрднреА рдирд╣реАрдВ рдЯрдХрд░рд╛рддреЗ рд╣реИрдВред
рдЯреЛрдХрди рдореЗрдВ рд╕рд╕реНрддрд╛
рдХрд┐рд╕реА рдХреБрдВрдЬреА рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЛ рд╣рд░ рд╕рдВрдкрд╛рджрди рдкрд░ рд▓реЛрдХрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреАред рдмрд┐рдирд╛ рдХреБрдВрдЬреА рдХреЗ рд▓реЛрдб рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛: рдкрд╛рда рд╕реАрдзреЗ рдШрдЯрдХ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред
рдкрдардиреАрдп рдЕрдВрддрд░
рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рдХреНрдп рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдПрдХ рдорд╛рдирд╡ рдпрд╛ рд╕рдореАрдХреНрд╖рд╛ рдПрдЬреЗрдВрдЯ рдХреБрдВрдЬреА рдХреНрдпрд╛ рджрд░реНрд╢рд╛рддреА рд╣реИ рдпрд╣ рдЦреЛрджреЗ рдмрд┐рдирд╛ рд╣реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд╛ рдиреНрдпрд╛рдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЗ CLAUDE.md рдореЗрдВ рдПрдХ рдирд┐рдпрдо
рдЖрдк рдЬреЛ рднреА i18n рдирд┐рдпрдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рдПрдХ рдирд┐рдпрдо рд╣реИ рдЬрд┐рд╕реЗ рдПрдЬреЗрдВрдЯ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдирд┐рдпрдо рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ тАФ рдФрд░ рдлреЙрд▓рдмреИрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╛рда рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЧрд▓рддреА рд╕реНрдХреНрд░реАрди рдкрд░ a.b.c рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддреАред
рдЖрдкрдХреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рдЪрд╛рд╣рд┐рдП рдПрдХрдорд╛рддреНрд░ i18n рдирд┐рдпрдо
# CLAUDE.md Write the UI copy in English and wrap it in <T>тАж</T> from i18n-keyless-react. That is the whole i18n setup.
рдЖрдкрдХрд╛ рдПрдЬреЗрдВрдЯ рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдРрд╕рд╛ рдирд╣реАрдВ
MCP рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрдЬреЗрдВрдЯ рд▓рд╛рдкрддрд╛ рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдЦрд░рд╛рдм рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХреЙрдкреА рдХреЛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ тАФ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ OAuth рд▓реЙрдЧрд┐рди рдХреЗ рд╕рд╛рде, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреБрдВрдЬреА рдХреЛ рдкреЗрд╕реНрдЯ рдХрд┐рдПред
MCP рдЧрд╛рдЗрдб рдкрдврд╝реЗрдВрдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрддрд░ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг i18n рдореЗрдВ рджреЗрд░реА рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдЗрд╕реЗ 5 рдорд┐рдирдЯ рдореЗрдВ, рджрд┐рдиреЛрдВ рдореЗрдВ рдирд╣реАрдВ, рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдЕрдкрдиреА рд╡рд┐рдХрд╛рд╕ рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦреЗрдВ рдЬреИрд╕реЗ рдХрд┐ i18n рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
- 5-рдорд┐рдирдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ред рдордЬрд╝рд╛рдХ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдПрдХ рд╕рд░рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЖрдк рд╣реЛ рдЧрдПред
- рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦреЗрдВ
рдЬреИрд╕реЗ рдХрд┐ i18n рдмрд┐рд▓реНрдХреБрд▓ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рд╡реИрд╕реЗ рдХреЛрдб рд▓рд┐рдЦреЗрдВред
- рд╡реИрд╢реНрд╡рд┐рдХ рдмрд╛рдЬрд╛рд░реЛрдВ рдореЗрдВ рднреЗрдЬреЗрдВ
рдирдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдХреЗрд▓ рдХрд░рддреЗ рд╕рдордп рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
- рдПрд╕рдПрд╕рдЖрд░ рдФрд░ рдПрд╕рдИрдУ рддреИрдпрд╛рд░
Next.js, Remix, TanStack Start рдФрд░ Astro рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЦреЛрдЬ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░-рд░реЗрдВрдбрд░ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ тАФ рд╕рдорд╛рди 5-рдорд┐рдирдЯ рд╕реЗрдЯрдЕрдкред
рдкрд╛рд░рдВрдкрд░рд┐рдХ i18n
i18n-рдХреБрдВрдЬреАрд░рд╣рд┐рдд
рдЗрд╕рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдХреЛрдИ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ
рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЙрдиреНрдлрд┐рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ, рдЖрдкрдХрд╛ рдПрдЬреЗрдВрдЯ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред
1. рдореВрд▓ рд╕реЗрдЯрдЕрдк
import * as I18nKeyless from "i18n-keyless-react";
I18nKeyless.init({
API_KEY: "YOUR_API_KEY",
storage: window.localStorage,
languages: {
primary: "en",
supported: ["en", "fr"],
},
});2. рдШрдЯрдХ рдЙрдкрдпреЛрдЧ
import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works
// Just write in your primary language
<I18nKeylessText>
Welcome to our website
</I18nKeylessText>3. рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЙрдкрдпреЛрдЧ (рдЬреИрд╕реЗ: Node.js)
import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';
const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);
await sendExpoPushNotification({ user, title, body });4. рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рдкрд╛рда рдХреЗ рд▓рд┐рдП
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
i18n-keyless рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рдЬреЛ рдПрдХ API рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдпрджрд┐ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ I18nKeyless рдХреА API рд╕реЗ AI API рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ fetch рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рдСрдкрд░реЗрд╢рди рдЖрдорддреМрд░ рдкрд░ рдбреЗрд╡ рдореЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЖрдк рдХреЛрдбрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рдЪреВрдХ рдЧрдП, рддреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХреА рдХрдореА рд╣реИ, рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рджреЗрдЦреЗрдЧрд╛, рдлрд┐рд░ рдпрд╣ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдкрдХреА рд╕реНрдЯреЛрд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╣рд░ рднрд╛рд╖рд╛ рдореЗрдВ, рд╣рд░ рд░рд┐рд▓реАрдЬрд╝ рдкрд░
рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдбреЗрдЯ рдХрд╛ рдорддрд▓рдм рд╣реИ рдирдП рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕, рд╡рд┐рд╡рд░рдг рдФрд░ рдХреАрд╡рд░реНрдб тАФ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рд╕реНрдЯреЛрд░реЛрдВ рдкрд░ред рдпрд╣реА рд╡рд╣ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рднрд╛рд╖рд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдРрдк рдирд╣реАрдВред
- рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕, рдПрдХ рдХреЙрд▓ рдореЗрдВ
рдЕрдкрдбреЗрдЯ рдХреЛ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦреЗрдВред awaitForTranslation рдЗрд╕реЗ рд╣рд░ рдЙрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдмреЗрдЪрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреА рд╕реНрдЯреЛрд░ рдХреЙрдиреНрдлрд┐рдЧ рдЗрд╕реЗ EAS рдпрд╛ fastlane рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред
- 48 рднрд╛рд╖рд╛рдПрдБ, рдРрдк рд╕реНрдЯреЛрд░ рд╕реНрд▓реЙрдЯреНрд╕ рдореЗрдВ рдореИрдк рдХреА рдЧрдИ рд╣реИрдВ
pt-BR рдФрд░ pt-PT рджреЛ рд╕реВрдЪрд┐рдпрд╛рдБ рд╣реИрдВ; en-GB, en-AU рдФрд░ en-CA рддреАрди рд╣реИрдВред toAppStoreLocale рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд╡рд╛рдж рдХреЛ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддрд╛ рд╣реИред
- рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЦрд░рд╛рдм рдЕрдиреБрд╡рд╛рдж рдареАрдХ рдХрд░реЗрдВ
рдРрдк рдореЗрдВ, рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдПрдХ рдмрд╛рд░ рдореЗрдВ рд▓рд╛рдЗрд╡ рд╣реЛрддрд╛ рд╣реИ тАФ рдХреЛрдИ рд╣реЙрдЯрдлрд┐рдХреНрд╕ рдмрд┐рд▓реНрдб рдирд╣реАрдВ, рдХреЛрдИ рд╕реНрдЯреЛрд░ рд╕рдореАрдХреНрд╖рд╛ рдирд╣реАрдВред рд╕реВрдЪреА рдореЗрдВ, рдкреБрд╢ рдХреЛ рдкреБрдирдГ рдЪрд▓рд╛рдПрдБред
- рдкреНрд░рддрд┐ рд╢рдмреНрдж рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ
рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд▓рдЧрднрдЧ тВм0.10 рдкреНрд░рддрд┐ рд╢рдмреНрдж рд▓реЗрддрд╛ рд╣реИред 10 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ 2,000 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдПрдХ рдРрд╕рд╛ рдмрдЬрдЯ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдбреЗрд╡рд▓рдкрд░ рд╡рд╣рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣рд╛рдВ рд╢рдмреНрджреЛрдВ рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
рдПрдХ рдПрдХреНрд╕рдкреЛ рдРрдк рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдиреБрд╕реНрдЦрд╛
// store.config.js тАФ EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");
const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleepтАж";
module.exports = async () => {
init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
const info = {};
for (const lang of LANGS) {
info[toAppStoreLocale(lang)] = {
title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
};
}
return { configVersion: 0, apple: { info } };
};рд╡рд╣реА рдХреЙрд▓ Google Play рдХреЗ рд▓рд┐рдП fastlane рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред рдХреИрдкреНрд╕ рд╕рд▓рд╛рд╣рдХрд╛рд░ рд╣реИрдВ: рд╕реАрдорд╛ рдХреЛ рд╕рдВрджрд░реНрдн рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдкреБрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕реИрдВрдбрдмреЙрдХреНрд╕
рджреЗрдЦреЗрдВ рдХрд┐ i18n-keyless рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реА рдЕрдиреБрд╡рд╛рджреЛрдВ рдХреЛ рд╣рд▓ рд╣реЛрддреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрд╡, рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдЯреИрдХрдмреНрд▓рд┐рдЯреНрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд░рд▓рддрд╛ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
рджреЗрдЦреЗрдВ рдХрд┐ рджреВрд╕рд░реЗ i18n-keyless рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ
рдореИрдВ рдЕрдкрдиреЗ MVP рдореЗрдВ i18n рдХреЛ рдХреЗрд╡рд▓ 5 рдорд┐рдирдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╣рдордиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд╛рд╕ рд╕рдордп рдХреЗ 7 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рд╣рдорд╛рд░рд╛ рдХреЛрдбрдмреЗрд╕ рд╕рд╛рдл рд░рд╣рд╛ рдФрд░ рд╣рдо рдЕрдиреБрд╡рд╛рдж рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрдЬрд╛рдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗред
Jamie Smith
рдПрдХ рдХреВрд▓ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рд╕реАрдЯреАрдУ
рдЕрдиреБрд╡рд╛рдж рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдорд╛рдирд╕рд┐рдХ рднрд╛рд░ рд╣рдорд╛рд░реА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдирд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред i18n-keyless рдХреЗ рд╕рд╛рде, рд╣рдо рдмрд╕ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ i18n рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдЕрдм рдореМрдЬреВрдж рд╣реА рдирд╣реАрдВ рд╣реИред
Alex Lee
рджреВрд╕рд░реЗ рдПрдХ рдХреВрд▓ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рд▓реАрдб рдбреЗрд╡рд▓рдкрд░
рд╣рдо рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рддрдХ i18n рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдереЗред i18n-keyless рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ MVP рдЪрд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрддрд░ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред ROI рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░рд╣рд╛ рд╣реИред
Maria Rodriguez
рдЧреНрд▓реЛрдмрд▓рдПрдк рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдкрдХ
рд╕рд╛рдзрд╛рд░рдг, рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдп рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг
рдЖрдкрдХреЗ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдпред
рдкреНрд░рддреНрдпреЗрдХ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣рд░ рд╕реБрд╡рд┐рдзрд╛ред
рдкреНрд░рддрд┐ рд╢рдмреНрдж рдХреЛрдИ рд╢реБрд▓реНрдХ рдирд╣реАрдВ, рдЯреЛрдХрди рдЧрдгрдирд╛ рдирд╣реАрдВред
рдкреНрд░рддрд┐ рдорд╛рд╣ 1,000 рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХ
рдЗрдВрдбреА рдРрдкреНрд╕ рдФрд░ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП
рдкреНрд░рддрд┐ рдорд╛рд╣ 5,000 рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рддрдХ
рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрдкрдиреЗ рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдвреВрдВрдв рд░рд╣реЗ рд╣реИрдВ
рдкреНрд░рддрд┐ рдорд╛рд╣ 50,000 рддрдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреНрд░реИрдХреНрд╢рди рд╡рд╛рд▓реЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП
рдЕрдзрд┐рдХрддрдо 500,000 рдорд╛рд╕рд┐рдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рд╡рд┐рд╕реНрддреГрдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП
рдкреНрд░рддреНрдпреЗрдХ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:
рд╕рднреА 48 рднрд╛рд╖рд╛рдПрдБред рдкреВрд░реА рджреБрдирд┐рдпрд╛, рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ
рдЕрд╕реАрдорд┐рдд рдЕрдиреБрд╡рд╛рдж, AI рд╢рд╛рдорд┐рд▓ред рдирдП рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реНрд╡рдпрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЬрдирд┐рдд рд╕рд╛рдордЧреНрд░реА (UGC) рдХрд╛ рд▓рд╛рдЗрд╡ рдЕрдиреБрд╡рд╛рдж
рдХрд┐рд╕реА рднреА рд╕рдордп рдЕрдкрдЧреНрд░реЗрдб, рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдпрд╛ рд░рджреНрдж рдХрд░реЗрдВ
500,000 рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рд╕рд┐рдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛? рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ
рд╡рд╣реА рдРрдк рдХрд╣реАрдВ рдФрд░ рдХрд┐рддрдиреА рдХреАрдордд рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ
рджреЛрдиреЛрдВ рд╕реНрд▓рд╛рдЗрдбрд░реНрд╕ рдХреЛ рд╣рд┐рд▓рд╛рдПрдВред рдЖрдкрдХрд╛ рдРрдк рдмрд┐рд▓ рд╕рднреА 48 рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╣реИред
| рд╕рдорд╛рдзрд╛рди | рдЖрдкрдХрд╛ рдорд╛рд╕рд┐рдХ рдмрд┐рд▓ | рдЖрдк рдкреНрд░рддрд┐ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ | рдЕрдиреБрд╡рд╛рдж | рднрд╛рд╖рд╛рдПрдБ |
|---|---|---|---|---|
| i18n-keylessрд╣рдо | тВм4/ рдорд╛рд╣ | рдорд╛рд╕рд┐рдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреАрдд рдЬреАрдд. | AI, рдЕрд╕реАрдорд┐рдд, рд╢рд╛рдорд┐рд▓ | рд╕рднреА 48, рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ |
| Crowdin | тВм88/ рдорд╛рд╣1 | рд╣реЛрд╕реНрдЯреЗрдб рд╢рдмреНрдж: рдЖрдкрдХреЗ рд╢рдмреНрдж ├Ч 48 | рдХреНрд░рд╛рдЙрдбрд┐рди AI, рдПрдХ рдХреЛрдЯрд╛ рдХреЗ рднреАрддрд░ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Intlayer | тВм27/ рдорд╛рд╣2 | рд╕реАрдЯреЗрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ | AI рдкреАрдврд╝реА, рдХреЛрдЯрд╛ рдХреЗ рдЕрдВрджрд░ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Lingo.dev | тВм91/ рдорд╛рд╣3 | рдПрдХ рдЖрдзрд╛рд░ рд╢реБрд▓реНрдХ, рдлрд┐рд░ рдПрдЖрдИ рдЯреЛрдХрди | AI рдмрд┐рд▓ рд╕реАрдзреЗ рдЖрдк рддрдХ рдЬрд╛рддрд╛ рд╣реИ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Locize | тВм77/ рдорд╛рд╣4 | рд╢рдмреНрдж ├Ч 48, рдФрд░ рд╕реАрдбреАрдПрди рдбрд╛рдЙрдирд▓реЛрдб | рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА AI рдХреБрдВрдЬреА рд▓рд╛рддреЗ рд╣реИрдВ | рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рдмрд╕реЗ рдмрдбрд╝реА рдпреЛрдЬрдирд╛ рдореЗрдВ 10 |
| Lokalise | тВм132/ рдорд╛рд╣5 | рд╕реАрдЯреЗрдВ, рдлрд┐рд░ рдЪрд╛рдмрд┐рдпрд╛рдБ | рдЕрдиреБрд╡рд╛рджрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдмрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Phrase | тВм483/ рдорд╛рд╣6 | рд╕реАрдЯреЗрдВ, рдлрд┐рд░ рдкреНрд░рдмрдВрдзрд┐рдд рд╢рдмреНрдж | рдкреНрд░рддрд┐ рд╢рдмреНрдж $0.06, рдЕрд▓рдЧ рд╕реЗ рдмрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Smartling | тВм552/ рдорд╛рд╣7 | рд╣рд░ рд╢рдмреНрдж, рд╣рд░ рднрд╛рд╖рд╛ | AI рдЕрдиреБрд╡рд╛рдж $0.06 рдкреНрд░рддрд┐ рд╢рдмреНрдж рд╕реЗ | рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ |
| Tolgee | тВм49/ рдорд╛рд╣8 | рдЪрд╛рдмрд┐рдпрд╛рдБ рдФрд░ рд╕реАрдЯреЗрдВ | рдорд╢реАрди рдЕрдиреБрд╡рд╛рдж рдХреНрд░реЗрдбрд┐рдЯреНрд╕ | рдЖрдк рд╣рд░ рдПрдХ рдХреЛ рднрд░рддреЗ рд╣реИрдВ |
| Weglot | тВм1,678/ рдорд╛рд╣9 | рд╢рдмреНрдж ├Ч рднрд╛рд╖рд╛рдПрдБ, рдПрдХ рд╡реЗрдм рдкреГрд╖реНрда рдкрд░ | рдорд╢реАрди, рдХреЛрдЯрд╛ рдХреЗ рдЕрдВрджрд░ | рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рдмрд╕реЗ рдмрдбрд╝реА рдпреЛрдЬрдирд╛ рдореЗрдВ 20 |
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реВрдЪреА рдореВрд▓реНрдп, рдЕрдЧрд╕реНрдд 2026 рдореЗрдВ рдкрдврд╝реЗ рдЧрдПред рд╡рд┐рдХреНрд░реЗрддрд╛ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реАрдврд╝реА рдХреА рд╣рдорд╛рд░реА рдкрдарди рд╣реИ, рдФрд░ рд╣рдо рд╣рдореЗрд╢рд╛ рдЖрдкрдХрд╛ рдРрдк рдмрдирд╛рдП рд░рдЦрдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рд╕рд╕реНрддреА рднреБрдЧрддрд╛рди рдпреЛрдЬрдирд╛ рд▓реЗрддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рд╡рд┐рдХреНрд░реЗрддрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдиреБрд╡рд╛рдж рдмрд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдмрд╛рд░рд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдлреИрд▓рд╛ рджреЗрддреЗ рд╣реИрдВред
1 Crowdin рдкреНрд░рддрд┐ рдорд╛рд╣ 44 рдпреВрд░реЛ 60,000 рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛ рдкреНрд▓рд╛рди рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рд▓рд╛рдирд╛ рдмрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╢рдмреНрдж рдПрдХ рд▓рдХреНрд╖реНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рд╣реИред рд╣рдо 60,000 рд╕реЗ рдКрдкрд░ рдЙрд╕ рдмреНрд▓реЙрдХ рдореВрд▓реНрдп рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред
2 Intlayer рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИред $29 рдкреНрд░рддрд┐ рдорд╛рд╣ CMS рдФрд░ AI рдЬрдирд░реЗрд╢рди рдХреЛрдЯрд╛ рдЦрд░реАрджрддрд╛ рд╣реИред рдХреЛрдЯрд╛ рд╕реЗ рдКрдкрд░ рдЬрд╛рдиреЗ рдкрд░ рдЖрдк рдЕрдкрдиреА рдЦреБрдж рдХреА AI рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рддрд┐ рдорд┐рд▓рд┐рдпрди рдЯреЛрдХрди рдкрд░ $10 рдХрд╛ рдореЙрдбрд▓ рдмрд┐рд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдмрд╛рд░рд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдлреИрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
3 рд▓рд┐рдВрдЧреЛ.рдбреЗрд╡ рд╣рд░ рдорд╣реАрдиреЗ 99 рдбреЙрд▓рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдкреНрд░рддрд┐ рдорд┐рд▓рд┐рдпрди рдЯреЛрдХрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд 2 рдбреЙрд▓рд░, рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдореЙрдбрд▓ рдмрд┐рд▓ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдкреНрд░рддрд┐ рд╢рдмреНрдж 1.4 рдЯреЛрдХрди рдФрд░ рдореЙрдбрд▓ рд▓рд╛рдЧрдд рдХреЗ рдкреНрд░рддрд┐ рдорд┐рд▓рд┐рдпрди рдЯреЛрдХрди рдкрд░ 10 рдбреЙрд▓рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╕ рд╢реБрд▓реНрдХ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рд╣реИред
4 Locize рдкреНрд░рддрд┐ рдорд╛рд╣ 7, 19 рдФрд░ 49 рдпреВрд░реЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд░рдорд╢рдГ 15,000, 30,000 рдФрд░ 60,000 рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ 1, 3 рдФрд░ 5 рдорд┐рд▓рд┐рдпрди CDN рдбрд╛рдЙрдирд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрд╣ рдкреНрд░рддрд┐ 1,000 рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП $0.50 рдФрд░ рдкреНрд░рддрд┐ рдорд┐рд▓рд┐рдпрди рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП $5 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рд╣рд░ рдорд╣реАрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рддреАрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд┐рдирддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдпреЛрдЬрдирд╛ 48 рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
5 Lokalise рд╣рд░ рдорд╣реАрдиреЗ $144, $375 рдФрд░ $999 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рдХреБрдВрдЬреА рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рддреАрди рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ 5,000, 20,000 рдФрд░ 100,000 рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдмрд╛рд░рд╣ рд╢рдмреНрдж рд╣реИрдВред рдорд╛рдирд╡ рдЕрдиреБрд╡рд╛рдж рдЕрд▓рдЧ рд╕реЗ рдмрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
6 рд╡рд╛рдХреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдпреЛрдЬрдирд╛ рдкрд░ рдкреНрд░рддрд┐ рдорд╛рд╣ 1 рдорд┐рд▓рд┐рдпрди рдкреНрд░рдмрдВрдзрд┐рдд рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП $525 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ 3 рдорд┐рд▓рд┐рдпрди рдХреЗ рд▓рд┐рдП $1,245ред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рд╢рдмреНрдж рдЧрд┐рдирддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдКрдкрд░ рджрд┐рдП рдЧрдП $1,245 рдмреНрд▓реЙрдХ рдХреЛ 3 рдорд┐рд▓рд┐рдпрди рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред
7 Smartling рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдХреАрдордд рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ AI рдЕрдиреБрд╡рд╛рдж рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рдХрд╛рд╢рд┐рдд $0.06 рдкреНрд░рддрд┐ рд╢рдмреНрдж рдХреА рджрд░ рдкрд░, рдмрд╛рд░рд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдлреИрд▓рд╛ рд╣реБрдЖред рдЖрдкрдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рд▓ рдЕрдзрд┐рдХ рд╣реИред
8 Tolgee рд╢рдмреНрджреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдмрд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдмрд╛рд░рд╣ рд╢рдмреНрдж рдЧрд┐рдирддреЗ рд╣реИрдВред рдпрд╣ рд╕рд╛рд▓рд╛рдирд╛ рдмрд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ 2,000 рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП тВм49, 5,000 рдХреЗ рд▓рд┐рдП тВм179 рдФрд░ 20,000 рдХреЗ рд▓рд┐рдП тВм499 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо тВм499 рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред рдорд╢реАрди рдЕрдиреБрд╡рд╛рдж рдХреНрд░реЗрдбрд┐рдЯ рдЕрд▓рдЧ рд╕реЗ рдЧрд┐рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред
9 Weglot рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рдРрдк рдХрд╛ рдирд╣реАрдВред рдЗрд╕рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдпреЛрдЬрдирд╛ 20 рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП 699 рдпреВрд░реЛ рдкреНрд░рддрд┐ рдорд╛рд╣ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрд╕ рдореВрд▓реНрдп рдХреЛ 48 рднрд╛рд╖рд╛рдУрдВ рддрдХ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рд╢рдмреНрдж рдЗрди рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд╕рд╛рде рдмрдврд╝рддреА рд╣реИред рд╣рдорд╛рд░реА рдХреАрдордд рдирд┐рд╢реНрдЪрд┐рдд рд╣реИред
рдбреЗрдореЛ рджреЗрдЦреЗрдВ
рдЗрд╕ рдЫреЛрдЯреА рд╡реАрдбрд┐рдпреЛ рдХреЛ рджреЗрдЦреЗрдВ рддрд╛рдХрд┐ рдЖрдк i18n-keyless рдХреЛ рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХреЗрдВ
рдПрдХ рдРрдк рдХреЗ рд▓рд┐рдП API рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЖрдкрдХрд╛ рдкреВрд░рд╛ i18n рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 5 рдорд┐рдирдЯ рдореЗрдВред iykykред