有没有办法在react本机应用程序中实现某种自动翻译?

时间:2016-02-10 08:42:51

标签: react-native translate

我知道这不是谷歌,但我找不到任何有用的东西,也许你可以给我一些建议。

我正在寻找的是在我的本机应用程序中为字符串添加自动翻译的一些方法。

现在我正在使用一种解决方法,我会手动翻译一些最常用的单词 - 因为这并不涵盖整个语言,结果看起来非常不满意:)

2 个答案:

答案 0 :(得分:1)

您可以使用submithandler

var I18n = require('react-native-i18n');

var Demo = React.createClass({
  render: function() {
    return (
      <Text>{I18n.t('greeting')}</Text>
    )
  }
});

// Enable fallbacks if you want `en-US` and `en-GB` to fallback to `en`
I18n.fallbacks = true;

I18n.translations = {
  en: {
    greeting: 'Hi!'
  },
  fr: {
    greeting: 'Bonjour!'
  }
}

答案 1 :(得分:0)

使用设备信息获取用户电话操作系统语言

https://www.npmjs.com/package/react-native-device-info#getdevicelocale

或使用

I18n = require('react-native-i18n') locale = I18n.currentLocale()

然后使用电源转换器

https://www.npmjs.com/package/react-native-power-translator

///在应用启动时将设备语言设置为目标语言

TranslatorConfiguration.setConfig('Provider_Type', 'Your_API_Key','Target_Language', 'Source_Language');

//填写您自己的详细信息

TranslatorConfiguration.setConfig(ProviderTypes.Google, 'xxxx','fr');

将其用作组件

<PowerTranslator text={'Engineering physics or engineering science refers to the study of the combined disciplines of physics'} />

附加组件: 使用redux存储或异步存储在首次启动应用程序时存储所有字符串。 然后使用存储或存储中的翻译文本。 当您有固定的字符串时,IT部门将保存您的api帐单。