0

我有一个问题,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', 'JP'),
  );

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

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

 

iOS模拟器中的截图(日文) 在此处输入图像描述

iOS 应用中的截图(中文) 在此处输入图像描述

我想展示日本的。

这是一个应用程序设置屏幕截图。① 在模拟器中 在此处输入图像描述

② 在 iPhone 中 在此处输入图像描述

4

1 回答 1

0

对于中文语言环境

  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', scriptCode: 'Hant', countryCode: 'HK'), // 'zh_Hant_HK'

对于日本语言环境

locale: Locale('ja', '')

并更新 iOS 应用程序包

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

更多详情

于 2021-03-29T08:19:32.240 回答