FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# RN 常见问题

# 1.公共UI如何支持国际化?

1、如果只是中英文切换,SDK默认支持只要修改如下配置(iOS、Android 均有效)。

需要在初始化SDK时,配置Config对象里的language参数为LanguageType.English或者LanguageType.Chinese(简体中文)。

import MopSDK, { Config, FinStoreConfig,BOOLState, LanguageType, UIConfig } from 'react-native-mopsdk';
//多服务器配置
let storeConfigA = new FinStoreConfig(
  "SDK key",
  "SDK secret",
  "服务器地址");
  
let finStoreConfigs = [finStoreConfigA];
Config config = new Config(finStoreConfigs,{language:LanguageType.Chinese});

2、如果需要设置其他语言的话Android 和 iOS的设置会不一样,另外还得自备国际化文本资源。

Android 如下:

import MopSDK, { Config, FinStoreConfig,BOOLState, LanguageType, UIConfig } from 'react-native-mopsdk';
//多服务器配置
let storeConfigA = new FinStoreConfig(
  "SDK key",
  "SDK secret",
  "服务器地址");
  
let finStoreConfigs = [finStoreConfigA];
// 语言列表字符串可以参考:https://uutool.cn/info-i18n/ 或者Java类 【java.util.Locale】有说明
//繁体中文
Config config = new Config(finStoreConfigs,{localeLanguage:"zh_TW"});

备注:

  1. 此配置【localeLanguage】的优先级会高于上面的配置【config.language】,【localeLanguage】 仅仅Android 平台有效。
  2. 另外SDK内部只内置了简体中文和英文的国际化资源文本,其他语言的得自行添加。参考文档:Android SDK做国际化 (opens new window)
  3. 工程内都有对应的Android工程项目,参考Android SDK的国际化配置即可;新增的语言配置也是放在对应的Android工程的相关目录下。

iOS如下:

配置代码如下:

import MopSDK, { Config, FinStoreConfig,BOOLState, LanguageType, UIConfig } from 'react-native-mopsdk';
//多服务器配置
let storeConfigA = new FinStoreConfig(
  "SDK key",
  "SDK secret",
  "服务器地址");
  
let finStoreConfigs = [finStoreConfigA];
// 直接将 jp.lproj 放在工程目录下(也就是 mainBundle 下),初始化方式如下
// 或者,如果将 jp.lproj 文件存放在某个自定义 bundle 下,则需要带上相对路径
Config config = new Config(finStoreConfigs,{customLanguagePath:"zh_TW"});

备注:

  1. 此配置【customLanguagePath】的优先级会高于上面的配置【language】,【customLanguagePath】仅仅iOS 平台有效。
  2. 另外SDK内部只内置了简体中文和英文的国际化资源文本,其他语言的得自行添加。自定义国际化语言使用的 key 需要从 FinApplet.framework 中拿到,路径为: FinApplet.framework/FinApplet.bundle/zh-Hans.lproj/Localizable.strings。以日语为例,在 iOS 开发工程创建国际化文件目录 jp.lproj ,并在目录下创建 Localizable.strings 文件,将我们FinApplet.framework内部的 key 粘贴到这个文件下并进行翻译。
© 2022 FinClip with ❤