feat(i18n): add danish localization

This commit is contained in:
Jesper Ordrup
2026-05-15 14:26:33 +02:00
committed by Linus Rath
parent fae15f073e
commit 5fdf226ebe
7 changed files with 2931 additions and 3 deletions
+1 -1
View File
@@ -98,7 +98,7 @@
## Internationalization
15 languages: English · Français · 日本語 · Español · Italiano · Deutsch · Nederlands · Português · Русский · Türkçe · 한국어 · Polski · Latviešu · 简体中文 · Українська
15 languages: English · Français · 日本語 · Español · Italiano · Danish · Deutsch · Nederlands · Português · Русский · Türkçe · 한국어 · Polski · Latviešu · 简体中文 · Українська
Automatic browser detection with persistent preference. Configurable locale URL prefix via `NEXT_PUBLIC_LOCALE_PREFIX`.
+2
View File
@@ -19,6 +19,7 @@ import ruMessages from '@/locales/ru/common.json';
import trMessages from '@/locales/tr/common.json';
import ukMessages from '@/locales/uk/common.json';
import zhMessages from '@/locales/zh/common.json';
import daMessages from '@/locales/da/common.json';
// Pre-loaded translations (loaded at build time, not runtime)
const ALL_MESSAGES = {
@@ -38,6 +39,7 @@ const ALL_MESSAGES = {
tr: trMessages,
uk: ukMessages,
zh: zhMessages,
da: daMessages
};
interface IntlProviderProps {
+10
View File
@@ -201,6 +201,16 @@ export function FlagCS(props: FlagProps) {
);
}
/** Danish flag - Red with a white cross */
export function FlagDa(props: FlagProps) {
return (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 28" width={W} height={H} className={flagClass} {...props}>
<path fill="#c8102e" d="M0,0H37V28H0Z" />
<path stroke="#fff" stroke-width="4" d="M0,14h37M14,0v28" />
</svg>
);
}
/** Map locale codes to flag components */
export const flagComponents: Record<string, (props: FlagProps) => ReactElement> = {
en: FlagGB,
+2 -1
View File
@@ -13,9 +13,10 @@ const languages = [
{ value: 'fr', label: 'Français' },
{ value: 'ja', label: '日本語' },
{ value: 'ko', label: '한국어' },
{ value: 'da', label: 'Danish' },
{ value: 'de', label: 'Deutsch' },
{ value: 'es', label: 'Español' },
{ value: 'it', label: 'Italiano' },
{ value: 'de', label: 'Deutsch' },
{ value: 'lv', label: 'Latviešu' },
{ value: 'nl', label: 'Nederlands' },
{ value: 'pl', label: 'Polski' },
+3
View File
@@ -17,6 +17,9 @@ export default getRequestConfig(async ({ requestLocale }) => {
case 'fr':
messages = (await import('../locales/fr/common.json')).default;
break;
case 'da':
messages = (await import('../locales/da/common.json')).default;
break;
case 'de':
messages = (await import('../locales/de/common.json')).default;
break;
+1 -1
View File
@@ -13,7 +13,7 @@ const localePrefix = (process.env.NEXT_PUBLIC_LOCALE_PREFIX ?? 'never') as
| 'as-needed';
export const routing = defineRouting({
locales: ['cs', 'en', 'fr', 'de', 'es', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ru', 'tr', 'uk', 'zh'],
locales: ['cs', 'en', 'fr', 'da', 'de', 'es', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ru', 'tr', 'uk', 'zh'],
defaultLocale: 'en',
localePrefix
});
File diff suppressed because it is too large Load Diff