feat: add Slovak translation

This commit is contained in:
Peter Gonda
2026-07-04 14:54:07 +02:00
committed by Linus Rath
parent 14c2807f0a
commit e05ab48a45
6 changed files with 3265 additions and 2 deletions
+2
View File
@@ -20,6 +20,7 @@ import plMessages from '@/locales/pl/common.json';
import ptMessages from '@/locales/pt/common.json';
import roMessages from '@/locales/ro/common.json';
import ruMessages from '@/locales/ru/common.json';
import skMessages from '@/locales/sk/common.json';
import trMessages from '@/locales/tr/common.json';
import ukMessages from '@/locales/uk/common.json';
import zhMessages from '@/locales/zh/common.json';
@@ -43,6 +44,7 @@ const ALL_MESSAGES = {
pt: ptMessages,
ro: roMessages,
ru: ruMessages,
sk: skMessages,
tr: trMessages,
uk: ukMessages,
zh: zhMessages,
+37 -1
View File
@@ -245,9 +245,45 @@ export function FlagIR(props: FlagProps) {
);
}
/** Map locale codes to flag components */
const skShield =
"m269.993 459.98-3.906-1.867c-25.267-12.173-56.294-30.4-81.294-58.133" +
"-25-27.733-43.8-65.307-43.8-114.24 0-93.6 4.52-136.68 4.52-136.68" +
"l.84-8.067h247.28l.84 8.067s4.534 43.093 4.534 136.68" +
"c0 48.933-18.8 86.507-43.814 114.24-25 27.733-56.026 45.96-81.293 58.133Z";
const skCross =
"M280.56 261.28c13.36.22 39.45.74 62.67-7.03 0 0-.61 8.31-.61 17.99" +
" 0 9.67.61 17.98.61 17.98-21.3-7.12-47.61-7.27-62.67-7.08v51.54h-21.12" +
"v-51.54c-15.07-.2-41.37-.04-62.68 7.08 0 0 .62-8.3.62-17.98s-.62-17.99" +
"-.62-17.99c23.23 7.77 49.31 7.25 62.68 7.03v-32.37c-12.19-.1-29.74.48" +
"-49.6 7.12 0 0 .62-8.3.62-17.98s-.62-17.98-.62-17.98c19.83 6.62 37.36" +
" 7.22 49.54 7.11-.62-20.5-6.6-46.33-6.6-46.33s12.3.96 17.22.96c4.92 0" +
" 17.21-.96 17.21-.96s-5.97 25.83-6.6 46.33c12.18.1 29.72-.49 49.55-7.11" +
" 0 0-.62 8.3-.62 17.98 0 9.67.62 17.98.62 17.98-19.86-6.64-37.42-7.22-49.6-7.12v32.37";
const skHills =
"M270 329.1c-24.87 0-38.19 34.46-38.19 34.46s-7.4-16.34-27.68-16.34" +
"c-13.73 0-23.82 12.2-30.25 23.5 24.97 39.7 64.8 64.2 96.11 79.28" +
" 31.32-15.07 71.16-39.58 96.13-79.28-6.43-11.3-16.52-23.5-30.25-23.5" +
"a30.52 30.52 0 0 0-27.69 16.34s-13.32-34.46-38.19-34.46Z";
/** Slovakia White, Blue, Red horizontal with coat of arms */
export function FlagSK(props: FlagProps) {
return (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 600" width={W} height={H} className={flagClass} {...props}>
<path fill="#fff" d="M0 200h900V0H0Z" />
<path fill="#254aa5" d="M0 400h900V200H0Z" />
<path fill="#ed1c24" d="M0 600h900V400H0Z" />
<path fill="#fff" d={skShield} />
<path fill="#ed1c24" d="M270 450c-49.38-23.76-120-70.94-120-164.25S154.46 150 154.46 150h231.07S390 192.44 390 285.75 319.37 426.24 270 450" />
<path fill="#fff" d={skCross} />
<path fill="#254aa5" d={skHills} />
</svg>
);
}
export const flagComponents: Record<string, (props: FlagProps) => ReactElement> = {
cs: FlagCS,
sk: FlagSK,
da: FlagDK,
de: FlagDE,
en: FlagGB,
+1
View File
@@ -9,6 +9,7 @@ import { flagComponents } from './flag-icons';
const languages = [
{ value: 'cs', label: 'Česky' },
{ value: 'sk', label: 'Slovenčina' },
{ value: 'da', label: 'Dansk' },
{ value: 'de', label: 'Deutsch' },
{ value: 'en', label: 'English' },
+3
View File
@@ -59,6 +59,9 @@ export default getRequestConfig(async ({ requestLocale }) => {
case 'ru':
messages = (await import('../locales/ru/common.json')).default;
break;
case 'sk':
messages = (await import('../locales/sk/common.json')).default;
break;
case 'tr':
messages = (await import('../locales/tr/common.json')).default;
break;
+1 -1
View File
@@ -12,7 +12,7 @@ const localePrefix = (process.env.NEXT_PUBLIC_LOCALE_PREFIX ?? 'never') as
| 'always'
| 'as-needed';
const SUPPORTED_LOCALES = ['cs', 'da', 'de', 'en', 'es', 'fa', 'fr', 'hu', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'tr', 'uk', 'zh'] as const;
const SUPPORTED_LOCALES = ['cs', 'da', 'de', 'en', 'es', 'fa', 'fr', 'hu', 'it', 'ja', 'ko', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'sk', 'tr', 'uk', 'zh'] as const;
// Fallback locale used when the visitor's Accept-Language header does not
// match any supported locale (and no NEXT_LOCALE cookie is set yet). Admins
File diff suppressed because it is too large Load Diff