React-Native Talkback 以错误的语言读取组件accessibilityRole

Wal*_*ari 4 android accessibility talkback react-native

我有一个 React-Native 应用程序,我们希望支持芬兰语和英语的 Talkback。当在芬兰语中使用 Google 的文本转语音模块时,其他一切都工作正常,除了“按钮”被读作“按钮”而不是芬兰语等效的“Painike”。在 iOS 上也能正常工作。我正在三星 A40 上进行测试。三星文本转语音根本不支持芬兰语。

例如,当我按下写有“Paina minua”的按钮时,它会读到“Button, paina minua”,而不是“painike, paina minua”。这仅发生在我正在开发的应用程序中。它还将图像组件读取为图像而不是芬兰语。可能还有其他组件。

在 Discord、Facebook、Instagram 等应用程序中,按钮正确读取为“Painike”而不是“button”。

我该怎么做才能使 Talkback 在我们的应用程序中正常工作?

按钮定义示例:

<TouchableOpacity
  onPress={onPress}
  accessibilityRole="button"
>
  <Text>Paina minua</Text>
</TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)

反应本机:0.63.2

这是一个对错误进行最小复制的存储库:https ://github.com/Waltari10/accessibilityRoleRN

Luk*_*asz 5

尝试将以下代码添加到您的android/app/src/main/res/values/strings.xml

<string name="button_description" translatable="false">Painike</string>
Run Code Online (Sandbox Code Playgroud)

一旦你重建你的应用程序,它就会读取你需要的内容。

如果您需要针对不同语言使用不同的文件夹结构,请继续创建文件夹结构,如下所示:

文件夹结构

您可以values-xx为您想要支持的每种语言创建文件夹,只需查看此处: https: //developer.android.com/guide/topics/resources/localization

您可能想要覆盖的所有可用值的列表可在此文件中找到:https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/res/views/uimanager/values/ strings_unlocalized.xml