如何使用 react-native 动态更改基于不同语言的字体系列

Dus*_*tha 5 css reactjs react-native

我正在使用 react-native 开发移动应用程序。该应用程序需要处理多种语言(英语和僧伽罗语)。部分手机支持僧伽罗字体并正确显示。但有些不支持僧伽罗语。为此,我想使用应用程序中的字体文件夹加载字体。

我将字体文件夹添加到应用程序并使用 react-native 链接链接它们。但字体加载不正确。

  1. 我想知道如何将自定义字体加载到 react-native
  2. 当用户更改语言时如何动态加载字体系列

在此处输入图片说明

在此处输入图片说明

Ali*_*ili 2

我可能有点晚了,但我找到了这个解决方案,您可以使用它根据语言动态更改字体。

1.

import NativeModules from 'react-native'
Run Code Online (Sandbox Code Playgroud)

2.

然后使用此内联 if 在用户更改设备区域设置时更改语言。

fontFamily: ((NativeModules.I18nManager.localeIdentifier == 'az_AZ') ? 'Alice' : 'DesirasNonCommercial')
Run Code Online (Sandbox Code Playgroud)

如果您有两种以上的语言,您可以创建一个模块并实现一个函数来检查语言环境并返回相应的字体。然后您可以简单地在 fontFamily 中使用返回值。另外,如果您有一个手动更改语言的按钮,您可以修改上面的函数并添加一个事件侦听器,以便在触发语言更改按钮时返回适当的 fontFamily。