mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-04 21:32:39 +02:00
- Implement next-intl framework for scalable i18n - Add complete Chinese (Simplified) localization - Support 400+ translated strings across all pages - Add language switcher with persistent preference - Zero breaking changes to existing functionality Framework additions: - i18n routing and middleware - LocaleContext for client-side state - LanguageSwitcher component - Translation files (en.json, zh.json) Translated components: - Homepage: Hero, features, CTA, navbar - Auth: Login, register - Dashboard: Main page, layout - Connectors: Management, add page (all categories) - Documents: Upload, manage, filters - Settings: LLM configs, role assignments - Onboarding: Add provider, assign roles - Logs: Task logs viewer Adding a new language now requires only: 1. Create messages/<locale>.json 2. Add locale to i18n/routing.ts
24 lines
796 B
TypeScript
24 lines
796 B
TypeScript
import {defineRouting} from 'next-intl/routing';
|
|
import {createNavigation} from 'next-intl/navigation';
|
|
|
|
/**
|
|
* Internationalization routing configuration
|
|
* Defines supported locales and routing behavior for the application
|
|
*/
|
|
export const routing = defineRouting({
|
|
// A list of all locales that are supported
|
|
locales: ['en', 'zh'],
|
|
|
|
// Used when no locale matches
|
|
defaultLocale: 'en',
|
|
|
|
// The `localePrefix` setting controls whether the locale is included in the pathname
|
|
// 'as-needed': Only add locale prefix when not using the default locale
|
|
localePrefix: 'as-needed'
|
|
});
|
|
|
|
// Lightweight wrappers around Next.js' navigation APIs
|
|
// that will consider the routing configuration
|
|
export const {Link, redirect, usePathname, useRouter, getPathname} =
|
|
createNavigation(routing);
|
|
|