Support a Language
Goals:
- Translate your app in another language
Steps
💿 Add the new locale info at app/locale/supportedLocales.ts
:
export default [
{
lang: "en",
flag: "us",
},
{
lang: "es",
flag: "mx",
},
+ {
+ lang: "fr",
+ flag: "fr",
+ },
];
Ironically, you need to translate the new language name on the currently supported languages.
💿 Open the english translation file public/locales/en/translations.json
and add the new language i18n key:
{
"shared": {
...
"locales": {
"en": "English",
"es": "Spanish",
+ "fr": "French"
},
...
💿 Open the spanish translation file public/locales/es/translations.json
and add the new language i18n key:
{
"shared": {
...
"locales": {
"en": "Inglés",
"es": "Español",
+ "fr": "Francés"
},
...
💿 At the landing page, click on the locale selector, there should be the new language displayed correctly.
💿 Select the language, you should get an error:
💿 Add the new fr
locale to the app/locale/i18n.server.ts
file:
export let i18n = new RemixI18Next(backend, {
fallbackLng: "en", // here configure your default (fallback) language
- supportedLanguages: ["es", "en"], // here configure your supported languages
+ supportedLanguages: ["es", "en", "fr"], // here configure your supported languages
});
💿 Duplicate the folder public/locales/en
and rename it to fr
.
💿 On the new public/locales/fr/translations.json
file, replace Easily Build Your Own SaaS
to Créez votre propre SaaS
.
You should now have 3 front.hero.headline1 translations
:
- en/translations.json → front.hero.headline1: Easily Build Your Own SaaS
- es/translations.json → front.hero.headline1: Construye tu propio SaaS
- fr/translations.json → front.hero.headline1: Créez votre propre SaaS
💿 Finally, refresh the landing page and select the new language.
I hope this quick guide was useful! Let me know if you have any question.