Flutter如何设置泰语Locale

Flutter项目需要支持泰语,但默认不支持泰语的Locale设置,请问该如何正确配置?我已经尝试在MaterialApp的supportedLocales中添加’th’,但似乎不起作用,有没有完整的示例或需要注意的细节?

2 回复

在MaterialApp中设置locale属性为Locale('th', 'TH'),并确保应用支持泰语本地化。

更多关于Flutter如何设置泰语Locale的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中设置泰语 Locale,需要以下步骤:

  1. 添加依赖(在 pubspec.yaml 中):
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:  # 添加本地化包
    sdk: flutter
  1. 配置 MaterialApp
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: [
        Locale('th', 'TH'), // 泰语(泰国)
      ],
      locale: Locale('th', 'TH'), // 强制使用泰语
      home: MyHomePage(),
    );
  }
}
  1. 动态切换语言(可选):
// 使用 Provider 或状态管理更新 locale
locale: _currentLocale, // 动态变量

// 切换语言示例
void _changeLanguage(Locale locale) {
  setState(() {
    _currentLocale = locale;
  });
}

注意事项

  • 确保设备/模拟器已安装泰语语言包
  • 如果使用 locale: Locale('th', 'TH') 会强制应用使用泰语,忽略系统语言设置
  • 如需跟随系统语言,可移除 locale 参数或使用 window.locale 检测

通过以上配置,应用即可正确显示泰语本地化内容(如日期选择器、按钮文本等)。

回到顶部