import 'dart:ui'; import 'i18n_data.dart'; const _defaultLocale = 'ko'; const _supportedLocales = ['ko', 'en']; String _resolveLocale() { final locale = PlatformDispatcher.instance.locale; final code = locale.languageCode.toLowerCase(); if (_supportedLocales.contains(code)) { return code; } return _defaultLocale; } String _formatTemplate(String template, Map? params) { if (params == null || params.isEmpty) { return template; } var result = template; params.forEach((key, value) { result = result.replaceAll('{{$key}}', value); }); return result; } String tr( String key, { String? fallback, Map? params, }) { final locale = _resolveLocale(); final map = locale == 'en' ? enStrings : koStrings; final value = map[key]; final template = (value != null && value.isNotEmpty) ? value : (fallback ?? key); return _formatTemplate(template, params); }