Adding new translations | Next.js Supabase SaaS Kit
Learn how to add new translations to your Next.js Supabase SaaS project.
Makerkit projects store translations at the application level, specifically in the apps/web/public/locales
directory. By default, English translations are provided and can be found at apps/web/public/locales/en
.
If you're looking to expand your application's language support, follow these two steps:
1. Create Language Files
First, create a new folder in apps/web/public/locales/[lng]
, where [lng]
represents the appropriate language code. This could be de
for German, it
for Italian, es
for Spanish, ja
for Japanese, and so on.
2. Update Language Settings
Next, add the new language to the settings file located at apps/web/lib/i18n/i18n.settings.ts
:
/** * The list of supported languages. * By default, only the default language is supported. * Add more languages here if needed. */export const languages: string[] = [defaultLanguage, 'es'];
In the example above, the language es
(Spanish) is added to the languages
array. Feel free to add as many languages as your application requires.
3. Add new namespaces
If you want to add a new namespace (for example, chatbots.json
) where you will store translations for chatbots, you can do so by creating a new file in the apps/web/public/locales/[lng]
directory. For example, apps/web/public/locales/en/chatbots.json
.
Then, you register the new namespace in the i18n.settings.ts
file:
export const defaultI18nNamespaces = [ 'common', 'auth', 'account', 'teams', 'billing', 'marketing', 'chatbots',];
In the example above, the chatbots
namespace is added to the defaultI18nNamespaces
array. And that's it! You can now start adding translations to your new namespace.