export const languages = { cs: 'CS', en: 'EN' };
export const defaultLang = 'cs' as const;

export const ui = {
  cs: {
    'nav.articles': 'Články',
    'nav.bio': 'Bio',
    'nav.search': 'Hledat',
    'filter.all': 'Vše',
    'article.back': '← Všechny články',
    'article.no-translation': 'Tento článek není dostupný v angličtině. Zobrazujeme českou verzi.',
    'search.placeholder': 'Hledat v článcích…',
    'search.empty': 'Žádné výsledky.',
    'search.results.one': 'výsledek',
    'search.results.few': 'výsledky',
    'search.results.many': 'výsledků',
    'empty.articles': 'Zatím žádné články.',
  },
  en: {
    'nav.articles': 'Articles',
    'nav.bio': 'Bio',
    'nav.search': 'Search',
    'filter.all': 'All',
    'article.back': '← All articles',
    'article.no-translation': 'This article is not available in English. Showing the Czech version.',
    'search.placeholder': 'Search articles…',
    'search.empty': 'No results.',
    'search.results.one': 'result',
    'search.results.few': 'results',
    'search.results.many': 'results',
    'empty.articles': 'No articles yet.',
  },
} as const;

export type Lang = keyof typeof ui;

export function useTranslations(lang: Lang) {
  return function t(key: keyof typeof ui[typeof defaultLang]) {
    return (ui[lang] as Record<string, string>)[key] ?? (ui[defaultLang] as Record<string, string>)[key];
  };
}

export function getArticlesPath(lang: Lang) {
  return lang === 'cs' ? `/${lang}/clanky` : `/${lang}/articles`;
}

export function getSearchPath(lang: Lang) {
  return lang === 'cs' ? `/${lang}/hledat` : `/${lang}/search`;
}
