āφāχ18āĻāύ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ°ā§āĻŦāĻļ⧇āώ āĻĄāĻŋāĻāĻ•ā§āϏ

āĻ­āĻžāĻ™āĻž āϝāĻžāϝāĻŧ āύāĻž āĻāĻŽāύ i18n āĻāĻœā§‡āĻ¨ā§āϟāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āĻŽāĻžāύ⧁āώāĻĻ⧇āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻŋāϝāĻŧ

āϕ⧋āύ āύāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϕ⧀ āύāϝāĻŧ, āϕ⧋āύ āϞ⧋āϕ⧇āϞ āĻĢāĻžāχāϞ āϏāĻŋāĻ™ā§āĻ• āĻ•āϰāĻžāϰ āύāϝāĻŧ, āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āϕ⧋āύ a.b.c āύāϝāĻŧ
āĻ‰ā§ŽāϏ āĻĒāĻžāĻ  āĻšāϞ āϕ⧀, āĻ…āύ⧁āĻŦāĻžāĻĻāϗ⧁āϞāĻŋ āĻ…āĻŦāĻŋāĻšā§āϛ⧇āĻĻā§āϝāĨ¤

ā§Ģ-āĻŽāĻŋāύāĻŋāϟ āϏ⧇āϟāφāĻĒ

āφāĻĒāύāĻžāϰ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ i18n āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻŽāĻžāĻ¤ā§āϰ ā§Ģ āĻŽāĻŋāύāĻŋāĻŸā§‡āĨ¤ āĻŽāϜāĻž āύāϝāĻŧāĨ¤

āϕ⧋āύ āϕ⧀ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āύāϝāĻŧ

āφāĻĒāύāĻžāϰ āĻŽāĻ¸ā§āϤāĻŋāĻˇā§āĻ•āϕ⧇ āĻāĻŽāύ āĻ…āĻ°ā§āĻĨāĻšā§€āύ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āϜāĻĄāĻŧāĻŋāϤ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤ āύāϝāĻŧāĨ¤

āĻāĻ•āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ āĻŦ⧈āĻļā§āĻŦāĻŋāĻ•

āφāĻ¨ā§āϤāĻ°ā§āϜāĻžāϤāĻŋāĻ• āĻŦāĻžāϜāĻžāϰ⧇ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĒā§āϰāĻšā§‡āĻˇā§āϟāĻž āĻ›āĻžāĻĄāĻŧāĻžāχ āĻĒāĻžāĻ āĻžāύāĨ¤

āϏ⧇āϟāφāĻĒ i18n, āφāĻĒāύāĻžāϰ āϕ⧋āĻĄāĻŦ⧇āϏ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āĻĻā§āϰ⧁āϤ āĻļāĻŋāĻĒ āĻ•āϰ⧁āύ

āĻŦāĻ°ā§āϤāĻŽāĻžāύ i18n āϏāĻŽāĻžāϧāĻžāύāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āϏāĻŽāĻ¸ā§āϝāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻŦā§āϝāĻĨāĻžāϗ⧁āϞāĻŋ āĻāϤāϟāĻžāχ āĻŦāĻĄāĻŧ āϝ⧇ āφāĻĒāύāĻŋ āϝāϤāϟāĻž āϏāĻŽā§āĻ­āĻŦ i18n āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻ•āϰ⧇āύāĨ¤

āĻāϟāĻŋ āĻāĻŽāύ āϏāĻŽāϝāĻŧ āĻŦā§āϝāϝāĻŧ āĻ•āϰ⧇ āϝāĻž āφāĻĒāύāĻžāϰ āϏāĻŽā§āĻĻā§āϰ āϏ⧈āĻ•āϤ⧇ āĻŦā§āϝāϝāĻŧ āĻ•āϰāĻž āωāϚāĻŋāϤ

āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϕ⧀ āϏ⧇āϟāφāĻĒ āĻ•āϰ⧁āύ: āϏāĻŋāύāĻŋāϝāĻŧāϰ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ⧇āϰ āĻ…āĻ¨ā§āϤāϤ ā§§ āϘāĻŖā§āϟāĻž āϏāĻŽāϝāĻŧ āĻĒā§āϰāϝāĻŧā§‹āϜāύ

āĻĒā§āϰāϤāĻŋ āύāϤ⧁āύ āϕ⧀-āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ—āĻŋāϝāĻŧ⧇ āĻĒāĻŋāĻ›āύ⧇: āĻĒā§āϰāϤāĻŋ āϕ⧀-āĻāϰ āϜāĻ¨ā§āϝ 1 āĻŽāĻŋāύāĻŋāϟ, x500 āϕ⧀, x2 āĻ­āĻžāώāĻž = 17 āϘāĻ¨ā§āϟāĻž

i18n-keyless āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āφāĻĒāύāĻŋ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ i18n āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āφāĻĒāύāĻŋ āϏāĻŽā§āĻĻā§āϰ āϏ⧈āĻ•āϤ⧇ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŽā§‹āϜāĻŋāĻŸā§‹ āĻ…āĻ°ā§āĻĄāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āφāϜ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϗ⧁āϞāĻŋ āĻĒāĻžāĻ ā§āϝ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•āϰāϤ⧇ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇

āĻāϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝāĻ¨ā§āĻ¤ā§āϰāĻŖāĻžāĻĻāĻžāϝāĻŧāĻ•āĨ¤ āĻāϟāĻŋ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāĻ–āĻž āϝāĻ¨ā§āĻ¤ā§āϰāĻŖāĻžāĻĻāĻžāϝāĻŧāĻ•āĨ¤

āϝāĻ–āύ āφāĻĒāύāĻŋ āĻ…ā§āϝāĻžāĻĒ⧇ āĻāĻ•āϟāĻŋ āϞ⧇āĻ–āĻž āĻĻ⧇āϖ⧇āύ, āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āĻāϟāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āϚāĻžāύ, āϤāĻ–āύ āφāĻĒāύāĻžāϕ⧇ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āϕ⧀āϟāĻŋ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

i18n-keyless-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āφāĻĒāύāĻŋ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ i18n āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āφāĻĒāύāĻžāϰ āĻŽāĻ¸ā§āϤāĻŋāĻˇā§āĻ•āϕ⧇ āφāϰāĻ“ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻ•āĻŋāϛ⧁āϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

āĻāφāχāϕ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•āϰāϤ⧇ āĻĻāĻŋāύ

āϕ⧀ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϏāĻžāĻĨ⧇, āφāĻĒāύāĻžāϕ⧇ āĻ…ā§āϝāĻžāĻĒ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻ…åĻ则 āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āϤāĻžāĻĻ⧇āϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻ•āĻŋāϛ⧁header.welcome.title āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύāĨ¤

i18n-keyless-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āφāĻĒāύāĻŋ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ i18n āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āύāĻŋāϝāĻŧ⧇ āϚāĻŋāĻ¨ā§āϤāĻŋāϤ āύāύāĨ¤ āĻļ⧁āϧ⧁ āĻ­āĻžāϞ⧋ āĻšā§‡āĻĄāϞāĻžāχāύ āϞāĻŋāϖ⧁āύ, āĻŽāĻžāĻ°ā§āϕ⧇āϟāĻŋāĻ‚-āĻ āĻŽāύ⧋āϝ⧋āĻ— āĻĻāĻŋāύ, āĻŦāĻŋāĻ•ā§āϰāϝāĻŧ āĻŦāĻžāĻĄāĻŧāĻžāύāĨ¤

āϕ⧋āĻĄāĻŦ⧇āϏāϗ⧁āϞāĻŋ āϏ⧁āĻ¨ā§āĻĻāϰ... āϝāϤāĻ•ā§āώāĻŖ āύāĻž i18n āϕ⧀āϗ⧁āϞāĻŋāϰ āϏāĻ‚āĻ•ā§āϰāĻŽāĻŖ āϘāĻŸā§‡

āϕ⧀ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡, āϝāĻ–āύ āφāĻĒāύāĻŋ āϕ⧋āĻĄ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āĻĒāĻĄāĻŧ⧇āύ, āϤāĻ–āύ āφāĻĒāύāĻžāϕ⧇ āϕ⧀āϗ⧁āϞāĻŋ āĻĒāĻĄāĻŧāϤ⧇ āĻšāĻŦ⧇, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ­āĻžāώāĻž āύāϝāĻŧāĨ¤

āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āφāĻĒāύāĻžāϰ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻž āωāϚāĻŋāϤ āĻ•āĻžāϰāĻŖ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ•ā§āϝ āĻŦā§āϝāĻžāĻ•āϰāĻŖāĻ—āϤāĻ­āĻžāĻŦ⧇ āϏāĻ āĻŋāĻ• āύāϝāĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻŋ āϤāĻž āϜāĻžāύ⧇āύ āύāĻž āĻ•āĻžāϰāĻŖ āφāĻĒāύāĻŋ āϕ⧀āϗ⧁āϞāĻŋ āĻĒāĻĄāĻŧ⧇āύāĨ¤

āφāĻĒāύāĻŋ i18n-keyless āĻāϰ āϏāĻžāĻĨ⧇ āϝ⧇āϕ⧋āύ⧋ i18n āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āύāĻŋāϝāĻŧ⧇ āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āϕ⧋āĻĄāĻŦ⧇āϏ āϏ⧁āĻ¨ā§āĻĻāϰ āĻĨāĻžāϕ⧇āĨ¤

āĻāĻ•āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ āφāĻĒāύāĻžāϰ āĻŦāĻŋāĻ•āĻžāĻļ⧇āϰ āĻ—āϤāĻŋ āϕ⧋āύ⧋ āĻĒā§āϰāĻ­āĻžāĻŦ āύāĻž āĻĢ⧇āϞ⧇ i18n āϝ⧋āĻ— āĻ•āϰ⧁āύ
āϕ⧋āĻĄāĻŋāĻ‚ āĻāĻœā§‡āĻ¨ā§āϟāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻŽāĻŋāϤ

āφāĻĒāύāĻžāϰ i18n āĻĒā§āϰāϝāĻŧā§‹āϜāύāϗ⧁āϞāĻŋ āĻĒā§‚āϰāĻŖ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻŽāϏāĻŋāĻĒāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ

āĻāĻœā§‡āĻ¨ā§āϟāĻŋāĻ• āϕ⧋āĻĄāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āĻāϤāϟāĻž āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜāĻĄ āĻšāĻ“āϝāĻŧāĻžāϰ āφāϰāĻ“ āĻ›āϝāĻŧāϟāĻŋ āĻ•āĻžāϰāĻŖāĨ¤

āϕ⧋āύ āύāĻžāĻŽ āωāĻĻā§āĻ­āĻžāĻŦāύ āĻ•āϰāĻž āύ⧇āχ

āĻāĻ•āϟāĻŋ āϕ⧀ āĻšāϞ āĻāĻ•āϟāĻŋ āύāĻžāĻŽāĻ•āϰāϪ⧇āϰ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āϝāĻžāϰ āϕ⧋āύ āϏāĻ āĻŋāĻ• āωāĻ¤ā§āϤāϰ āύ⧇āχāĨ¤ āĻĻ⧁āχāϜāύ āĻāĻœā§‡āĻ¨ā§āϟ āĻāĻ•āχ āĻŦāĻžāϟāύ⧇āϰ āϜāĻ¨ā§āϝ 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 āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āĻĒāĻĄāĻŧ⧁āύ
MVPāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧁āĻ•ā§āϤ

āĻĒā§āϰāĻĨāĻŽ āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§€ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύ

āϜāϟāĻŋāϞāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇ i18n āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ āĻ•āϰāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧁āύāĨ¤ ā§Ģ āĻŽāĻŋāύāĻŋāĻŸā§‡, āĻĻāĻŋāύ āύāϝāĻŧ, āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧁āύāĨ¤ i18n āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āύāĻž āĻĨāĻžāĻ•āϞ⧇āĻ“ āφāĻĒāύāĻžāϰ āωāĻ¨ā§āύāϝāĻŧāύ āĻ—āϤāĻŋ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāϖ⧁āύāĨ¤

  • ā§Ģ-āĻŽāĻŋāύāĻŋāĻŸā§‡āϰ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύāĨ¤ āĻŽāϜāĻž āĻ•āϰāĻ›āĻŋ āύāĻžāĨ¤

    āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āύāĻĢāĻŋāĻ— āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āĻšāϝāĻŧ⧇ āϗ⧇āϛ⧇āύāĨ¤

  • āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āĻ—āϤāĻŋ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāϖ⧁āύ

    āϝ⧇āύ i18n āĻāϕ⧇āĻŦāĻžāϰ⧇āχ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧāύāĻŋ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āϕ⧋āĻĄ āĻ•āϰ⧁āύāĨ¤

  • āĻŦāĻŋāĻļā§āĻŦāĻŦāĻžāϜāĻžāϰ⧇ āĻĒā§āϰ⧇āϰāĻŖ

    āύāϤ⧁āύ āĻ­āĻžāώāĻžāϝāĻŧ āĻ¸ā§āϕ⧇āϞ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϰāĻŋāĻĢā§āϝāĻžāĻ•ā§āϟāϰāĻŋāĻ‚āϝāĻŧ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āύ⧇āχāĨ¤

  • āĻāϏāĻāϏāφāϰ āĻāĻŦāĻ‚ āĻāϏāχāĻ“ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ

    āĻ•āĻžāϜ āĻ•āϰ⧇ Next.js, Remix, TanStack Start āĻāĻŦāĻ‚ Astro āĻāϰ āϏāĻžāĻĨ⧇āĨ¤ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āχāĻžā§āϜāĻŋāύāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϝ⧇āϕ⧋āύ⧋ āĻ­āĻžāώāĻžāϝāĻŧ āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰ⧁āύ — āĻāĻ•āχ ā§Ģ-āĻŽāĻŋāύāĻŋāĻŸā§‡āϰ āϏ⧇āϟāφāĻĒāĨ¤

āϐāϤāĻŋāĻšā§āϝāĻŦāĻžāĻšā§€ i18n

āϏ⧇āϟāφāĻĒ āϕ⧀ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ (ā§§ āϘāĻŖā§āϟāĻž)
āĻ…āύ⧁āĻŦāĻžāĻĻ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ (⧍ āϘāĻ¨ā§āϟāĻž)
āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋ āĻĒ⧁āύāĻ°ā§āĻ—āĻ āύ āĻ•āϰ⧁āύ (ā§Ē āϘāĻŖā§āϟāĻž)
āϏāĻŽāĻ¸ā§āϤ āĻ­āĻžāώāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύ (⧍ āϘāĻ¨ā§āϟāĻž)
āϞ⧇āφāωāϟ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋ āĻ āĻŋāĻ• āĻ•āϰ⧁āύ (ā§Š āϘāĻ¨ā§āϟāĻž)
⧧⧍+ āϘāĻ¨ā§āϟāĻžāϰ āĻ•āĻžāϜ

āφāχ18āĻāύ-āϕ⧀āϞ⧇āϏ

āĻĒā§āϝāĻžāϕ⧇āϜ āϝ⧋āĻ— āĻ•āϰ⧁āύ (ā§§ āĻŽāĻŋāύāĻŋāϟ)
API āϕ⧀ āĻĻāĻŋāϝāĻŧ⧇ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ (⧍ āĻŽāĻŋāύāĻŋāϟ)
āĻĒāĻžāĻ ā§āϝ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋ āĻŽā§‹āĻĄāĻŧāĻžāύ⧋ (⧍ āĻŽāĻŋāύāĻŋāϟ)
āĻ•āĻžāĻœā§‡āϰ ā§Ģ āĻŽāĻŋāύāĻŋāϟ
āĻāϟāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇

āĻāϟāĻž āϏ⧇āϟāφāĻĒ āĻ•āϰāĻž āϕ⧋āύ⧋ āĻŦā§āϝāĻžāĻĒāĻžāϰ āύāĻž

āĻļ⧁āϧ⧁ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜ āĻ•āύāĻĢāĻŋāĻ— āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§€ āϝ⧇āϤ⧇ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤāĨ¤
āĻāĻŦāĻ‚ āφāϰāĻ“ āĻŦ⧇āĻļāĻŋ, āφāĻĒāύāĻžāϰ āĻāĻœā§‡āĻ¨ā§āϟ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āϜāĻ¨ā§āϝ āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻŦ⧇āĨ¤

ā§§. āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āϏ⧇āϟāφāĻĒ

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

⧍. āωāĻĒāĻžāĻĻāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ

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>

ā§Š. āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āϏāĻžāχāĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ (āϝ⧇āĻŽāύ: 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 });

ā§Ē. āωāĻĒāĻžāĻĻāĻžāύ āĻŦāĻšāĻŋāĻ°ā§āĻ­ā§‚āϤ āĻĒāĻžāĻ ā§āϝ⧇āϰ āϜāĻ¨ā§āϝ

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 āĻ•āϞ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤

āĻāχ āĻ…āĻĒāĻžāϰ⧇āĻļāύāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĄā§‡āĻ­ āĻŽā§‹āĻĄā§‡ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻ–āύ āφāĻĒāύāĻŋ āϕ⧋āĻĄāĻŋāĻ‚ āĻ•āϰāϛ⧇āύāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻŋāϏ āĻ•āϰ⧇āύ, āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝāĻŋāύāĻŋ āĻ…āύ⧁āĻŦāĻžāĻĻāϟāĻŋ āĻŽāĻŋāϏ āĻ•āϰāĻŦ⧇āύ āϤāĻŋāύāĻŋ āĻāĻ•āϟāĻŋ āĻ¤ā§āϰ⧁āϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ, āϤāĻžāϰāĻĒāϰ āϤāĻžā§ŽāĻ•ā§āώāĻŖāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§€ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āωāĻĒāϞāĻŦā§āϧ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇āĨ¤

āĻ…ā§āϝāĻžāĻĒ āĻ¸ā§āĻŸā§‹āϰ āĻ“ āϗ⧁āĻ—āϞ āĻĒā§āϞ⧇

āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰāĻŋāϞāĻŋāĻœā§‡ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āφāĻĒāύāĻžāϰ āĻ¸ā§āĻŸā§‹āϰ āϤāĻžāϞāĻŋāĻ•āĻž

āĻĒā§āϰāϤāĻŋāϟāĻŋ āφāĻĒāĻĄā§‡āϟ āĻŽāĻžāύ⧇ āύāϤ⧁āύ āϰāĻŋāϞāĻŋāϜ āύ⧋āϟ, āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻŦāĻ‚ āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ — āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻžāϰ āϜāĻ¨ā§āϝ, āωāĻ­āϝāĻŧ āĻ¸ā§āĻŸā§‹āϰ⧇āχāĨ¤ āĻāϟāĻŋāχ āφāĻĒāύāĻžāϕ⧇ āĻ­āĻžāώāĻž āϝ⧋āĻ— āĻ•āϰāĻž āĻĨ⧇āϕ⧇ āĻŦāĻŋāϰāϤ āϰāĻžāϖ⧇āĨ¤ āĻ…ā§āϝāĻžāĻĒ āύāϝāĻŧāĨ¤

  • āĻāĻ•āϟāĻŋ āĻ•āϞ⧇āχ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻžāϰ āϜāĻ¨ā§āϝ āϰāĻŋāϞāĻŋāϜ āύ⧋āϟ

    āĻāĻ•āĻŦāĻžāϰ āφāĻĒāĻĄā§‡āϟāϟāĻŋ āϞāĻŋāϖ⧁āύāĨ¤ awaitForTranslation āĻāϟāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧ āϝāĻž āφāĻĒāύāĻŋ āĻŦāĻŋāĻ•ā§āϰāĻŋ āĻ•āϰ⧇āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ¸ā§āĻŸā§‹āϰ āĻ•āύāĻĢāĻŋāĻ— āĻāϟāĻŋ EAS āĻŦāĻž fastlane-āĻ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤

  • ā§Ēā§ŽāϟāĻŋ āĻ­āĻžāώāĻž, āĻ…ā§āϝāĻžāĻĒ āĻ¸ā§āĻŸā§‹āϰ āĻ¸ā§āϞāϟāϗ⧁āϞāĻŋāϤ⧇ āĻŽā§āϝāĻžāĻĒ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇

    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 āϰāĻŋāϝāĻŧ⧇āϞ-āϟāĻžāχāĻŽā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇

āĻāĻ•āϟāĻŋ āϞāĻžāχāĻ­, āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϝ⧋āĻ—ā§āϝ StackBlitz āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϖ⧁āϞ⧁āύ āϝāĻžāϤ⧇ āφāĻĒāύāĻŋ āϟāĻžāχāĻĒ āĻ•āϰāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻāϗ⧁āϞāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻšāϤ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻāĻ–āύāĻ“ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āύāϝāĻŧ āĻĒā§āϰāĻļāĻ‚āϏāĻžāĻĒāĻ¤ā§āϰāϗ⧁āϞāĻŋ

āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰāϰāĻž āϏāϰāϞāϤāĻžāϕ⧇ āĻ­āĻžāϞ⧋āĻŦāĻžāϏ⧇āύ

āĻĻ⧇āϖ⧁āύ āĻ…āĻ¨ā§āϝāϰāĻž i18n-keyless āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϕ⧀ āĻŦāϞāϛ⧇

āφāĻŽāĻŋ āĻŽāĻžāĻ¤ā§āϰ ā§Ģ āĻŽāĻŋāύāĻŋāĻŸā§‡ āφāĻŽāĻžāĻĻ⧇āϰ MVP-āϤ⧇ i18n āϝ⧋āĻ— āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻšāϝāĻŧ⧇āĻ›āĻŋāĨ¤ āφāĻŽāϰāĻž āϕ⧋āύ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āωāĻ¨ā§āύāϝāĻŧāύ āϏāĻŽāϝāĻŧ āĻŦā§āϝāϝāĻŧ āύāĻž āĻ•āϰ⧇āχ ā§­āϟāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āϚāĻžāϞ⧁ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āĻĄāĻŦ⧇āϏ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ›āĻŋāϞ āĻāĻŦāĻ‚ āφāĻŽāϰāĻž āĻ…āύ⧁āĻŦāĻžāĻĻ āϕ⧀āϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āύāĻŋāĻ°ā§āĻŽāĻžāϪ⧇ āĻŽāύ⧋āύāĻŋāĻŦ⧇āĻļ āĻ•āϰāϤ⧇ āĻĒ⧇āϰ⧇āĻ›āĻŋāĨ¤

JS

Jamie Smith

āĻāĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻ¸ā§āϟāĻžāĻ°ā§āϟāφāĻĒ⧇āϰ āϏāĻŋāϟāĻŋāĻ“

āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āĻ…āύ⧁āĻŦāĻžāĻĻ āϕ⧀ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āĻŽāĻžāύāϏāĻŋāĻ• āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āφāĻŽāĻžāĻĻ⧇āϰ āĻ‰ā§ŽāĻĒāĻžāĻĻāύāĻļā§€āϞāϤāĻž āĻ§ā§āĻŦāĻ‚āϏ āĻ•āϰ⧇ āĻĻāĻŋāĻšā§āĻ›āĻŋāϞāĨ¤ i18n-keyless-āĻāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇, āφāĻŽāϰāĻž āϕ⧇āĻŦāϞ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ­āĻžāώāĻžāϝāĻŧ āϞ⧇āĻ–āĻŋ āĻāĻŦāĻ‚ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āĻāĻŽāύ āϝ⧇āύ āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āĻ°ā§āĻŽāĻĒā§āϰāĻŦāĻžāĻšā§‡ i18n āφāϰ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύāχ āύ⧇āχāĨ¤

AL

Alex Lee

āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻ¸ā§āϟāĻžāĻ°ā§āϟāφāĻĒ⧇āϰ āĻĒā§āϰāϧāĻžāύ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀

āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻĒāĻŖā§āϝ⧇āϰ āϜāĻ¨ā§āϝ āϞāĻžā§āĻšā§‡āϰ āĻĒāϰ⧇ āφāχ18āĻāύ āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻž āĻ­āĻžāĻŦāĻ›āĻŋāϞāĻžāĻŽāĨ¤ āφāχ18āĻāύ-āĻ•āĻŋāϞ⧇āϏ āĻĻāĻŋāϝāĻŧ⧇, āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻāĻŽāĻ­āĻŋāĻĒāĻŋ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇ āĻāϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āĻ›āĻŋ āĻāĻŦāĻ‚ āĻĒā§āϰāĻĨāĻŽ āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āϝāĻžāĻĒā§€ āϚāĻžāϞ⧁ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āφāϰāĻ“āφāχ āĻ…āϏāĻžāϧāĻžāϰāĻŖ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

MR

Maria Rodriguez

āĻ—ā§āϞ⧋āĻŦāĻžāϞāĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻžāϤāĻž

āĻŽā§‚āĻ˛ā§āϝ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ

āϏāĻšāϜ, āĻĒā§‚āĻ°ā§āĻŦāĻžāĻ­āĻžāϏāϝ⧋āĻ—ā§āϝ āĻŽā§‚āĻ˛ā§āϝ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ

āφāĻĒāύāĻžāϰ āĻ¸ā§āϕ⧇āϞ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŽāϤāϞ āĻŽā§‚āĻ˛ā§āϝāĨ¤
āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻžāϝāĻŧ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāĨ¤
āĻĒā§āϰāϤāĻŋ-āĻļāĻŦā§āĻĻ āĻĢāĻŋ āύāϝāĻŧ, āĻŸā§‹āϕ⧇āύ āĻ—āĻŖāύāĻž āύāϝāĻŧāĨ¤

āĻļ⧁āϰ⧁
â‚Ŧ4/ āĻŽāĻžāϏ

āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 1,000 āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀

āχāĻ¨ā§āĻĄāĻŋ āĻ…ā§āϝāĻžāĻĒāϏ āĻāĻŦāĻ‚ āύāϤ⧁āύ āĻĒāĻŖā§āϝāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ

āχāĻ¨ā§āĻĄāĻŋ
â‚Ŧ9/ āĻŽāĻžāϏ

āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 5,000 āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀

āĻ…ā§āϝāĻžāĻĒāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϤāĻžāĻĻ⧇āϰ āĻļā§āϰ⧋āϤāĻžāĻĻ⧇āϰ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻ“āϝāĻŧāĻž

āĻŦ⧃āĻĻā§āϧāĻŋ
â‚Ŧ29/ āĻŽāĻžāϏ

āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 50,000 āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀

āĻŦāĻžāĻ¸ā§āϤāĻŦ āϟāĻžāύāĻžāĻĒā§‹āĻĄāĻŧ⧇āύ āϏāĻš āĻ…ā§āϝāĻžāĻĒāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ

āĻ¸ā§āϕ⧇āϞ
â‚Ŧ99/ āĻŽāĻžāϏ

āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ ā§Ģā§Ļā§Ļ,ā§Ļā§Ļā§Ļ āĻŽāĻžāϏāĻŋāĻ• āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀

āĻŦ⧃āĻšā§Ž āĻĒāϰāĻŋāϏāϰ⧇ āĻĒāĻŖā§āϝ⧇āϰ āϜāĻ¨ā§āϝ

āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧇:

āϏāĻŽāĻ¸ā§āϤ ā§Ēā§ŽāϟāĻŋ āĻ­āĻžāώāĻžāĨ¤ āĻĒ⧁āϰ⧋ āĻŦāĻŋāĻļā§āĻŦ, āĻĒā§āϰāĻĨāĻŽ āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ

āĻ…āϏ⧀āĻŽ āĻ…āύ⧁āĻŦāĻžāĻĻ, āĻāφāχ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāĨ¤ āĻ‰ā§ŽāĻĒāĻžāĻĻāύ⧇ āύāϤ⧁āύ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϗ⧁āϞāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻāĻŋāϤ āĻšāϝāĻŧ

UGC (āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĻā§āĻŦāĻžāϰāĻž āϤ⧈āϰāĻŋ āϏāĻžāĻŽāĻ—ā§āϰ⧀āϰ) āϏāϰāĻžāϏāϰāĻŋ āĻ…āύ⧁āĻŦāĻžāĻĻ

āϝ⧇āϕ⧋āύ⧋ āϏāĻŽāϝāĻŧ āφāĻĒāĻ—ā§āϰ⧇āĻĄ, āĻĄāĻžāωāύāĻ—ā§āϰ⧇āĻĄ āĻŦāĻž āĻŦāĻžāϤāĻŋāϞ āĻ•āϰ⧁āύ

ā§Ģ āϞāĻ•ā§āώ⧇āϰ āĻŦ⧇āĻļāĻŋ āĻŽāĻžāϏāĻŋāĻ• āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀? āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰ⧁āύ

āĻāĻ•āχ āĻ…ā§āϝāĻžāĻĒ āĻ…āĻ¨ā§āϝ āϕ⧋āĻĨāĻžāĻ“ āĻ•āϤ āĻ–āϰāϚ?

āĻĻ⧁āϟāĻŋ āĻ¸ā§āϞāĻžāχāĻĄāĻžāϰ āϏāϰāĻžāύāĨ¤ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ¸ā§āϤ 48āϟāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āĻŦāĻŋāϞ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

1,000
2,500
āϏāĻŽāĻžāϧāĻžāύāφāĻĒāύāĻžāϰ āĻŽāĻžāϏāĻŋāĻ• āĻŦāĻŋāϞāφāĻĒāύāĻŋ āĻĒā§āϰāϤāĻŋ āĻĻāĻŋāϤ⧇āĻ…āύ⧁āĻŦāĻžāĻĻāĻ­āĻžāώāĻžāϏāĻŽā§‚āĻš
i18n-keylessāφāĻŽāϰāĻžâ‚Ŧ4/ āĻŽāĻžāϏāĻŽāĻžāϏāĻŋāĻ• āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀
āϜāϝāĻŧ āϜāϝāĻŧ.
āĻāφāχ, āϏ⧀āĻŽāĻžāĻšā§€āύ, āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāϏāĻŦ 48, āĻĒā§āϰāĻĨāĻŽ āĻĻāĻŋāύ āĻĨ⧇āϕ⧇āχ
Crowdinâ‚Ŧ88/ āĻŽāĻžāϏ1āĻšā§‹āĻ¸ā§āĻŸā§‡āĻĄ āĻļāĻŦā§āĻĻāϏāĻŽā§‚āĻš: āφāĻĒāύāĻžāϰ āĻļāĻŦā§āĻĻ Ã— 48
āĻ•ā§āϰāĻžāωāĻĄāĻŋāύ āĻāφāχ, āĻāĻ•āϟāĻŋ āϕ⧋āϟāĻžāϰ āĻ­āĻŋāϤāϰ⧇āφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Intlayerâ‚Ŧ27/ āĻŽāĻžāϏ2āφāϏāύ āĻāĻŦāĻ‚ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϏāĻŽā§‚āĻš
āĻāφāχ āĻœā§‡āύāĻžāϰ⧇āĻļāύ, āϕ⧋āϟāĻžāϰ āĻ­āĻŋāϤāϰ⧇āφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Lingo.devâ‚Ŧ91/ āĻŽāĻžāϏ3āĻāĻ•āϟāĻŋ āĻŦ⧇āϏ āĻĢāĻŋ, āϤāĻžāϰāĻĒāϰ āĻāφāχ āĻŸā§‹āϕ⧇āύ
āĻāφāχ āĻŦāĻŋāϞāϟāĻŋ āϏāϰāĻžāϏāϰāĻŋ āφāĻĒāύāĻžāϰ āĻ•āĻžāϛ⧇ āϝāĻžāϝāĻŧāφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Locizeâ‚Ŧ77/ āĻŽāĻžāϏ4āĻļāĻŦā§āĻĻ Ã— 48, āĻāĻŦāĻ‚ āϏāĻŋāĻĄāĻŋāĻāύ āĻĄāĻžāωāύāϞ⧋āĻĄ
āφāĻĒāύāĻŋ āύāĻŋāĻœā§‡āϰ AI āϕ⧀ āύāĻŋāϝāĻŧ⧇ āφāϏ⧇āύāĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻŦ⧃āĻšāĻ¤ā§āϤāĻŽ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻžāϝāĻŧ ā§§ā§Ļ
Lokaliseâ‚Ŧ132/ āĻŽāĻžāϏ5āφāϏāύ, āϤāĻžāϰāĻĒāϰ āϚāĻžāĻŦāĻŋ
āĻ…āύ⧁āĻŦāĻžāĻĻāĻ•āϰāĻž āφāϞāĻžāĻĻāĻžāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧāφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Phraseâ‚Ŧ483/ āĻŽāĻžāϏ6āφāϏāύ, āϤāĻžāϰāĻĒāϰ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻļāĻŦā§āĻĻ
āĻĒā§āϰāϤāĻŋ āĻļāĻŦā§āĻĻ⧇ $0.06, āφāϞāĻžāĻĻāĻžāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧāφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Smartlingâ‚Ŧ552/ āĻŽāĻžāϏ7āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻļāĻŦā§āĻĻ, āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻž
AI āĻ…āύ⧁āĻŦāĻžāĻĻ āĻĒā§āϰāϤāĻŋ āĻļāĻŦā§āĻĻ⧇ $0.06 āĻĨ⧇āϕ⧇āφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ
Tolgeeâ‚Ŧ49/ āĻŽāĻžāϏ8āϚāĻžāĻŦāĻŋ āĻāĻŦāĻ‚ āφāϏāύ
āϝāĻžāĻ¨ā§āĻ¤ā§āϰāĻŋāĻ• āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•ā§āϰ⧇āĻĄāĻŋāϟāφāĻĒāύāĻŋ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻŋāϕ⧇ āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰ⧇āύ
Weglotâ‚Ŧ1,678/ āĻŽāĻžāϏ9āĻļāĻŦā§āĻĻ Ã— āĻ­āĻžāώāĻž, āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ
āϝāĻ¨ā§āĻ¤ā§āϰ, āϕ⧋āϟāĻžāϰ āĻ­āĻŋāϤāϰ⧇āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻŦ⧃āĻšāĻ¤ā§āϤāĻŽ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻžāϝāĻŧ 20

āϜāύāϏāĻžāϧāĻžāϰāĻŖ āϤāĻžāϞāĻŋāĻ•āĻžāϰ āĻĻāĻžāĻŽ, āφāĻ—āĻ¸ā§āϟ ⧍ā§Ļ⧍ā§Ŧ āϏāĻžāϞ⧇ āĻĒāĻ āĻŋāϤāĨ¤ āĻŦāĻŋāĻ•ā§āϰ⧇āϤāĻžāϰāĻž āĻāϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇, āϤāĻžāχ āĻ…āύ⧁āĻ—ā§āϰāĻš āĻ•āϰ⧇ āϝāĻžāϚāĻžāχ āĻ•āϰ⧁āύāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦāĻŋāϞ āĻšāϞ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻŽāχ-āĻāϰ āφāĻŽāĻžāĻĻ⧇āϰ āĻĒāĻžāĻ , āĻāĻŦāĻ‚ āφāĻŽāϰāĻž āϏāĻ°ā§āĻŦāĻĻāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϧāϰ⧇ āϰāĻžāĻ–āĻžāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻ¸ā§āϤāĻž āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻŋāĨ¤ āϝāĻ–āύ āϕ⧋āύāĻ“ āĻŦāĻŋāĻ•ā§āϰ⧇āϤāĻž āĻĒā§āϰāĻĨāĻŽ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻāĻ•āĻŦāĻžāϰ āĻŦāĻŋāϞ āĻ•āϰ⧇, āφāĻŽāϰāĻž āϤāĻž āĻŦāĻžāϰ⧋ āĻŽāĻžāϏ⧇ āĻ›āĻĄāĻŧāĻŋāϝāĻŧ⧇ āĻĻāĻŋāχāĨ¤

1 Crowdin āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ 44 āχāωāϰ⧋ āĻŽā§‚āĻ˛ā§āϝ⧇ āĻĒā§āϰ⧋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻžāϰ āĻ…āϧ⧀āύ⧇ 60,000āϟāĻŋ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻĄ āĻļāĻŦā§āĻĻ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇, āĻŦāĻžāĻ°ā§āώāĻŋāĻ• āĻŦāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ•āϟāĻŋ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻĄ āĻļāĻŦā§āĻĻ āĻšāϞ āĻāĻ•āϟāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻ­āĻžāώāĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻļāĻŦā§āĻĻāĨ¤ āφāĻŽāϰāĻž 60,000-āĻāϰ āĻŦ⧇āĻļāĻŋ āĻšāϞ⧇ āϏ⧇āχ āĻŦā§āϞāĻ• āĻŽā§‚āĻ˛ā§āϝ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰāĻŋāĨ¤

2 Intlayer āĻ“āĻĒ⧇āύ āϏ⧋āĻ°ā§āϏāĨ¤ āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ $29 āϚāĻžāĻ°ā§āϜ āĻ•āϰ⧇ āϏāĻŋāĻāĻŽāĻāϏ āĻāĻŦāĻ‚ āĻāφāχ āĻœā§‡āύāĻžāϰ⧇āĻļāύ āϕ⧋āϟāĻž āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤ āϕ⧋āϟāĻžāϰ āωāĻĒāϰ⧇ āϗ⧇āϞ⧇ āφāĻĒāύāĻŋ āύāĻŋāĻœā§‡āϰ āĻāφāχ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϤāĻžāχ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ $10 āĻŽāĻĄā§‡āϞ āĻŦāĻŋāϞ āϝ⧋āĻ— āĻ•āϰāĻŋ, āϝāĻž āĻŦāĻžāϰ⧋ āĻŽāĻžāϏ⧇ āĻ›āĻĄāĻŧāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧāĨ¤

3 āϞāĻŋāĻ™ā§āĻ—ā§‹.āĻĄā§‡āĻ­ āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ ⧝⧝ āĻĄāϞāĻžāϰ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇, āϏāĻžāĻĨ⧇ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹āϰ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ ⧍ āĻĄāϞāĻžāϰ, āĻāĻŦāĻ‚ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻŽāĻĄā§‡āϞ⧇āϰ āĻŦāĻŋāϞ āĻĒāĻžāϏ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āφāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋ āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ ā§§.ā§Ē āĻŸā§‹āϕ⧇āύ āĻāĻŦāĻ‚ āĻŽāĻĄā§‡āϞ āĻ–āϰāĻšā§‡āϰ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻŸā§‹āϕ⧇āύ⧇āϰ āϜāĻ¨ā§āϝ ā§§ā§Ļ āĻĄāϞāĻžāϰ āĻ—āĻŖāύāĻž āĻ•āϰāĻŋāĨ¤ āĻŦ⧇āϏ āĻĢāĻŋ āĻāχ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ…āĻ‚āĻļāĨ¤

4 Locize āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ ā§­, ⧧⧝ āĻāĻŦāĻ‚ ā§Ē⧝ āχāωāϰ⧋ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇ āϝāĻĨāĻžāĻ•ā§āϰāĻŽā§‡ ā§§ā§Ģ,ā§Ļā§Ļā§Ļ, ā§Šā§Ļ,ā§Ļā§Ļā§Ļ āĻāĻŦāĻ‚ ā§Ŧā§Ļ,ā§Ļā§Ļā§Ļ āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ, āϏāĻžāĻĨ⧇ āϰāϝāĻŧ⧇āϛ⧇ ā§§, ā§Š āĻāĻŦāĻ‚ ā§Ģ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āϏāĻŋāĻĄāĻŋāĻāύ āĻĄāĻžāωāύāϞ⧋āĻĄāĨ¤ āĻāϰ āωāĻĒāϰ⧇ āĻĒā§āϰāϤāĻŋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ ā§§,ā§Ļā§Ļā§Ļ āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ ā§Ļ.ā§Ģā§Ļ āχāωāϰ⧋ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻĄāĻžāωāύāϞ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ ā§Ģ āχāωāϰ⧋āĨ¤ āφāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϜāĻ¨ā§āϝ āĻ¤ā§āϰāĻŋāĻļāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ—āĻŖāύāĻž āĻ•āϰāĻŋāĨ¤ āϕ⧋āύāĻ“ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž ā§Ēā§ŽāϟāĻŋ āĻ­āĻžāώāĻž āϧāĻžāϰāĻŖ āĻ•āϰ⧇ āύāĻžāĨ¤

5 Lokalise āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ $144, $375 āĻāĻŦāĻ‚ $999 āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϕ⧋āύāĻ“ āϕ⧀ āϏ⧀āĻŽāĻž āύ⧇āχāĨ¤ āφāĻŽāϰāĻž āϧāϰ⧇ āύāĻŋāχ āϝ⧇ āϤāĻŋāύāϟāĻŋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϝāĻĨāĻžāĻ•ā§āϰāĻŽā§‡ 5,000, 20,000 āĻāĻŦāĻ‚ 100,000āϟāĻŋ āϕ⧀ āϧāĻžāϰāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϕ⧀-āĻāϰ āϜāĻ¨ā§āϝ āĻŦāĻžāϰ⧋āϟāĻŋ āĻļāĻŦā§āĻĻāĨ¤ āĻŽāĻžāύāĻŦ āĻ…āύ⧁āĻŦāĻžāĻĻ āφāϞāĻžāĻĻāĻžāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

6 āĻŦāĻžāĻ•ā§āϝ āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ ā§§ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻĢāϟāĻ“āϝāĻŧā§āϝāĻžāϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻžāϝāĻŧ $ā§Ģ⧍ā§Ģ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ ā§Š āĻŽāĻŋāϞāĻŋāϝāĻŧāύ⧇āϰ āϜāĻ¨ā§āϝ $ā§§,⧍ā§Ēā§ĢāĨ¤ āφāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻžāώāĻžāϝāĻŧ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻļāĻŦā§āĻĻ āĻ—āĻŖāύāĻž āĻ•āϰāĻŋ āĻāĻŦāĻ‚ āφāĻŽāϰāĻž āωāĻĒāϰ⧇ āωāĻ˛ā§āϞ⧇āĻ–āĻŋāϤ $ā§§,⧍ā§Ēā§Ģ āĻŦā§āϞāĻ•āϟāĻŋ ā§Š āĻŽāĻŋāϞāĻŋāϝāĻŧāύ⧇āϰ āϜāĻ¨ā§āϝ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰāĻŋāĨ¤

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 āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻŽāĻžāĻ¤ā§āϰ ā§Ģ āĻŽāĻŋāύāĻŋāĻŸā§‡āĨ¤ iykykāĨ¤