/**
 * i18n React Hook
 */

import { useState, useCallback } from 'react';
import { Language, languageNames } from '../i18n';
import { t, formatNumber, formatDate } from '../i18n/utils';

export interface UseI18nReturn {
  /** 当前语言 */
  currentLanguage: Language;
  /** 翻译函数 */
  t: typeof t;
  /** 切换语言 */
  changeLanguage: (language: Language) => Promise<void>;
  /** 支持的语言列表 */
  supportedLanguages: Language[];
  /** 语言显示名称 */
  languageNames: typeof languageNames;
  /** 格式化数字 */
  formatNumber: typeof formatNumber;
  /** 格式化日期 */
  formatDate: typeof formatDate;
  /** 是否正在加载 */
  loading: boolean;
}

/**
 * i18n Hook - 固定为英语
 */
export const useI18n = (): UseI18nReturn => {
  const [currentLanguage] = useState<Language>('en-US');
  const [loading] = useState(false); // 不需要加载，直接设为false

  // 切换语言 - 空实现，因为只支持英语
  const changeLanguage = useCallback(async () => {
    // 不执行任何操作，因为只支持英语
    console.log('Language switching is disabled, only English is supported');
  }, []);

  return {
    currentLanguage,
    t,
    changeLanguage,
    supportedLanguages: ['en-US'], // 只支持英语
    languageNames,
    formatNumber,
    formatDate,
    loading,
  };
};
