import React from 'react'; import { IcNavBack, IcCheck, IcGlobe, } from '../res/icons'; import { useMapGestures } from '../hooks/useMapGestures'; import { useMapStrings } from '../hooks/useMapStrings'; import { useMapStore } from '../state'; import { useLocale } from '../locale'; import { useLocale as useOsLocale } from '@/os/locale'; const SUGGESTED_LANGUAGES: { id: string | null; labelKey: 'language_system_default' | 'language_chinese' | 'language_english' }[] = [ { id: null, labelKey: 'language_system_default' }, { id: 'zh-Hans', labelKey: 'language_chinese' }, { id: 'en', labelKey: 'language_english' }, ]; const ALL_LANGUAGES = [ { native: 'Afrikaans', zhLabel: '南非荷兰语', enLabel: 'Afrikaans' }, { native: 'አማርኛ', zhLabel: '阿姆哈拉语', enLabel: 'Amharic' }, { native: 'العربية', zhLabel: '阿拉伯语', enLabel: 'Arabic' }, { native: 'azərbaycan', zhLabel: '阿塞拜疆语', enLabel: 'Azerbaijani' }, { native: 'български', zhLabel: '保加利亚语', enLabel: 'Bulgarian' }, { native: 'বাংলা', zhLabel: '孟加拉语', enLabel: 'Bengali' }, ]; export const LanguagePage: React.FC = () => { const { bindBack, bindTap } = useMapGestures(); const s = useMapStrings(); const currentLanguage = useMapStore((state) => state.settings.appDisplay.language); const updateAppDisplay = useMapStore((state) => state.updateAppDisplay); const isEnglish = useLocale() === 'en'; const osLocale = useOsLocale(); const systemLanguageLabel = osLocale === 'en' ? s.language_english : s.language_chinese; const handleSelect = (id: string | null) => { updateAppDisplay('language', id); }; return (