带有数字键盘的 Flutter TextField,需要逗号而不是句点(仅 iOS)

Flutter TextField with number keyboard, comma is needed instead of period (Only iOS)

我想在 Flutter 中创建一个 TextField。 TextField 用于十进制数字。所以我设置了keyboardType: TextInputType.numberWithOptions(decimal: true)。现在我在 iOS 上得到了一个数字键盘,但是这个数字键盘有一个句点 (.) 而不是逗号 (,)。 iOS 设备的语言是 德语

我当前的 TextField:

TextField(
  key: Key("pricePerLiter"),
  style: TextStyle(color: inputTextColor),
  textAlign: TextAlign.end,
  focusNode: pricePerLiterFocusNode,
  keyboardType:
      TextInputType.numberWithOptions(decimal: true),
  decoration: inputDecoration.copyWith(
      suffixText: "€", errorText: pricePerLiterError),
  controller: pricePerLiterTextController,
  onEditingComplete: () {},
  onChanged: (value) {},
)

我的本地化设置如下我的 Material 应用程序:

MaterialApp(
  localizationsDelegates: [
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
  ],
  supportedLocales: [
    const Locale('de', 'DE'),
  ],
  home: MyHomePage(),
)

我需要更改什么才能获得使用逗号 (,) 而不是句点 (.) 的数字键盘?

在 iOS 上,您必须在 ios 构建设置中启用 de(或 en_US 以外的任何其他语言环境)语言环境,即使对于 flutter 应用程序也是如此。使用 Xcode 打开 flutter 应用程序的 ios/Runner.xcworkspace。 Select 项目负责人。在 "Info" 页面上,您将在 "Localisations" 下看到为您的应用启用的区域设置。在此处添加 de locale(或任何其他)。重建应用程序(通过 Xcode 或 Flutter,无所谓)。

也可以在这里查看另一种方法:

https://flutter.dev/docs/development/accessibility-and-localization/internationalization#appendix-updating-the-ios-app-bundle