• Blog
  • Documentation
  • Courses
  • Changelog
  • AI Starters
  • UI Kit
  • FAQ
  • Supamode
    New
  • Pricing

Launch your next SaaS in record time with Makerkit, a React SaaS Boilerplate for Next.js and Supabase.

Makerkit is a product of Makerkit Pte Ltd (registered in the Republic of Singapore)Company Registration No: 202407149CFor support or inquiries, please contact us

About
  • FAQ
  • Contact
  • Verify your Discord
  • Consultation
  • Open Source
  • Become an Affiliate
Product
  • Documentation
  • Blog
  • Changelog
  • UI Blocks
  • Figma UI Kit
  • AI SaaS Starters
License
  • Activate License
  • Upgrade License
  • Invite Member
Legal
  • Terms of License
  • Global Configuration
    • Environment Variables
    • Feature Flags
  • Server Actions
    • Sending CSRF Token to Actions
    • Server Actions Error Handling
  • The Makerkit SDK
    • User SDK
    • Organization SDK
    • Organization Subscription SDK
    • Data Loader SDK
  • Architecture and Folder Structure
    • Structure your Application
    • Data Model
    • Adding API Routes
    • Change Authentication strategy
    • Fetching the signed in User
    • Reading Records from Postgres
    • Creating a Record
    • Seeding Local Data
    • Introduction
    • Configuring Plans
    • Project Configuration
    • Updating the Navigation menu
    • Adding a new translation string
    • Supabase is not starting
    • Calling API Routes from the client
    • Adding Pages
    • Updating the Sidebar menu
    • Setup oAuth
    • Fetching the selected Organization
    • Resetting the local DB
    • Running the Stripe Webhook locally
    • Branding
    • Setting a Default Language
    • Supabase is not stopping
    • Dark Theme
    • Theming
    • API Routes vs Server Actions
    • Generating Database Types
    • Updating the Logo
    • Adding a new language in the Next.js Supabase SaaS Kit
    • Tables/Functions not found
    • Updating the Fonts
    • Adding Pages
    • Adding a new translation file
    • Contentlayer gets stuck
    • Guarding Pages
    • Using Lemon Squeezy instead of Stripe
    • Updating the Favicons
    • Using the Language Switcher
    • Dynamic server usage error
    • Environment variables
    • Detect current Locale
    • 403 error with API/Actions
    • Setting up Emails
This documentation is for a legacy version of Next.js and Supabase. For the latest version, please visit the Next.js and Supabase V2 documentation

Adding a new translation string

Adding new translations to your application is easy. This guide will show you how to add a new translation string to your application.

The translations of the application are stored at public/locales/<en>.

We have various translations languages JSON files by default (only in English):

  • public/locales/en/common.json - where we store the common translations
  • public/locales/en/auth.json - where we store the auth translations
  • public/locales/en/profile.json - where we store the profile settings translations
  • public/locales/en/organization.json - where we store the organization settings translations
  • public/locales/en/subscription.json - where we store the subscription settings translations

You can keep adding translations to these files if you wish, or create new bundles for your translations.

Adding a new translation string

Let's say we want to add a new translation string to the common.json file.

  1. Open the public/locales/en/common.json file and add the new translation string:
json
{
"new_translation_string": "This is a new translation string"
}

You can then reference this key in your application like this:

  1. Using the Trans component from ~/core/ui/Trans
  2. Using the useTranslation hook from react-i18next

For example, using the Trans component:

tsx
<Trans i18nKey="common:new_translation_string" />

or using the useTranslation hook:

tsx
const { t } = useTranslation();
const newTranslationString = t('common:new_translation_string');
On this page
  1. Adding a new translation string