Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Language Handling

Supported Codes

The package uses ISO 639-1 language codes:

import { getSupportedLanguages } from 'supabase-error-translator-js';

console.log(getSupportedLanguages());
// ['en', 'ar', 'de', 'es', 'fr', 'ja', 'ko', 'pl', 'pt', 'zh']

Default Language

The default language is English:

import { getCurrentLanguage } from 'supabase-error-translator-js';

console.log(getCurrentLanguage());
// 'en'

Call setLanguage() to change the default:

import { setLanguage } from 'supabase-error-translator-js';

setLanguage('fr');

Unsupported values fall back to English.

Browser Detection

Pass auto to use the primary browser language from navigator.language:

import { setLanguage } from 'supabase-error-translator-js';

setLanguage('auto');

For example, de-DE resolves to de. Unsupported browser languages fall back to en. When navigator is unavailable, detection also falls back to en.

Per-Call Language Override

The third argument to translateErrorCode() overrides the current default without mutating it:

import { getCurrentLanguage, translateErrorCode } from 'supabase-error-translator-js';

const message = translateErrorCode('phone_exists', 'auth', 'pt');

console.log(getCurrentLanguage());
// Still whatever was previously set.

This is the safer pattern for multi-user server code because setLanguage() stores module-level state.