如何使用react-native根据不同语言动态更改字体家族?

6
我正在使用react-native开发移动应用程序。该应用程序需要处理多种语言(英语和僧伽罗语)。有些手机支持僧伽罗语字体并正确显示它们。但是有些不支持僧伽罗语。因此,我想使用应用程序中的字体文件夹加载字体。
我将字体文件夹添加到应用程序中,并使用react-native链接它们。但是字体未正确加载。
  1. 我想知道如何将自定义字体加载到react-native中
  2. 当用户更改语言时如何动态加载字体族

enter image description here

enter image description here


你好,你能找到解决方案了吗? - abhishek gupta
abhishekgupta 仍未完成 - Dushyantha
1个回答

2

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

1.

import NativeModules from 'react-native'

2.

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

fontFamily: ((NativeModules.I18nManager.localeIdentifier == 'az_AZ') ? 'Alice' : 'DesirasNonCommercial')

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接