Flutter iOS 显示名称本地化无法正常运行,但仅适用于 zh-Hans 语言环境

问题描述 投票:0回答:1

当我为使用 Flutter 开发的 iOS 应用程序实现显示名称本地化时,我遇到了一个特殊问题。除了简体中文 (zh-Hans) 之外,所有语言环境中的一切都按预期工作。当我在设备或模拟器上切换到 zh-Hans 时,应用程序图标下显示的名称默认为

Runner
,这是默认的 Flutter 名称。

更令人费解的是,只有主页和设置屏幕上的显示名称显示为

Runner
。我尝试使用 Dart 检索应用程序内的显示名称,它返回了我设置的确切字符串。甚至删除确认对话框也显示正确的名称!

以下为

InfoPlist.xcstrings
内容:

{
  "sourceLanguage" : "en",
  "strings" : {
    "CFBundleDisplayName" : {
      "comment" : "Display name",
      "extractionState" : "manual",
      "localizations" : {
        "en" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "xBangon"
          }
        },
        "zh-Hans" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工帮"
          }
        },
        "zh-Hant" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工幫"
          }
        },
        "zh-HK" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工帮"
          }
        }
      }
    },
    "CFBundleName" : {
      "comment" : "Bundle name",
      "extractionState" : "extracted_with_value",
      "localizations" : {
        "en" : {
          "stringUnit" : {
            "state" : "new",
            "value" : "xBangon"
          }
        },
        "zh-Hans" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工帮"
          }
        },
        "zh-Hant" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工幫"
          }
        },
        "zh-HK" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "瓦工帮"
          }
        }
      }
    }
  },
  "version" : "1.0"
}
ios flutter localization
1个回答
0
投票

我终于解决了这个问题。在

zh-CN
文件中将本地化从
zh
更改为
Info.plist
后,它现在适用于所有语言。

© www.soinside.com 2019 - 2024. All rights reserved.