在 Flutter iOS 应用中设置中文字体在 MaterialApp 中设置日语

问题描述

我遇到了一个问题,即 iOS 应用中的文本以中文字体显示。所以我尝试了三种模式。但它不仅适用于构建 iOS 应用程序。在 iOS 模拟器中,所有模式都有效。如何体现本地化?

① 在 supportedLocales 中设置语言环境。

return MaterialApp(
      localizationsDelegates: [
          GlobalCupertinoLocalizations.delegate,GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,],supportedLocales: [
          const Locale('ja','JP'),const Locale('en',''),.....
    );

②在Text()中设置textStyle

  static const BoldBlack20 = TextStyle(
    fontWeight: FontWeight.bold,fontSize: 20,locale: Locale('ja',);

③在iOS/Runner/info.plist中设置CFBundleLocalizations

<key>CFBundleLocalizations</key>
    <array>
        <string>English</string>
        <string>ja</string>
    </array>

iOS模拟器截图(日文)

enter image description here

iOS app中的截图(中文

enter image description here

我想展示日文。

这是一个应用设置截图。 ① 在模拟器中

enter image description here

② 在 iPhone 中

enter image description here

解决方法

对于中文语言环境

  const Locale.fromSubtags(languageCode: 'zh'),// generic Chinese 'zh'
  const Locale.fromSubtags(languageCode: 'zh',scriptCode: 'Hans'),// generic simplified Chinese 'zh_Hans'
  const Locale.fromSubtags(languageCode: 'zh',scriptCode: 'Hant'),// generic traditional Chinese 'zh_Hant'
  const Locale.fromSubtags(languageCode: 'zh',scriptCode: 'Hans',countryCode: 'CN'),// 'zh_Hans_CN'
  const Locale.fromSubtags(languageCode: 'zh',scriptCode: 'Hant',countryCode: 'TW'),// 'zh_Hant_TW'
  const Locale.fromSubtags(languageCode: 'zh',countryCode: 'HK'),// 'zh_Hant_HK'

日本地区

locale: Locale('ja','')

并更新 iOS 应用程序包

  1. 打开项目的 ios/Runner.xcworkspace Xcode 文件。
  2. 在 Project Navigator 中,打开 Runner 下的 Info.plist 文件 项目的 Runner 文件夹。
  3. 选择信息属性列表项。然后选择从 编辑器菜单,然后从弹出菜单中选择本地化。
  4. 选择并展开新创建的 Localizations 项。对于每个 您的应用程序支持的区域设置,添加一个新项目并选择 您希望从值字段的弹出菜单中添加的区域设置。这 列表应与列表中列出的语言一致 支持的Locales 参数。
  5. 添加完所有支持的语言环境后,保存文件。

More detail

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...