import { headers } from 'next/headers'
import { getLanguageFromHeaders } from './cookie'
import { createTranslationEngine } from './engine'
import type { Language } from './config'

export async function getServerTranslation() {
  const headersList = await headers()
  const language = getLanguageFromHeaders(headersList) as Language

  const dictionary = await import(`./dictionaries/${language}.json`).then(m => m.default)
  const { t, plural, formatNumber, formatDate, formatRelativeTime } = createTranslationEngine(dictionary)

  return {
    t,
    plural,
    formatNumber,
    formatDate,
    formatRelativeTime,
    language,
    isRTL: language === 'ar',
  }
}
