реагировать родной гугл переводчик - PullRequest
0 голосов
/ 10 декабря 2018

Я разработал мобильное приложение для Android с использованием реактивной системы.Мой родной язык для приложения - английский, но я хочу сделать его доступным и на китайском.Поэтому мой вопрос заключается в том, как я могу преобразовать свои статические и извлеченные данные в китайский мандарин.Пожалуйста, поделитесь решением.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Вам необходимо каким-то образом реорганизовать вашу кодовую базу.
Прежде всего, если ваши статические данные хранятся в жестком коде, вам необходимо провести рефакторинг.

Я предлагаю использовать https://github.com/react-native-community/react-native-languages
Пример вашего вдохновения находится здесь .

Теперь вторая часть, где вам нужен динамический перевод.

Прежде всего, вам нужен текущий язык пользователя, доступный в вышеупомянутом пакете.
Затем используйте пакет типа google-translate-api для перевода на лету.

0 голосов
/ 10 декабря 2018

Да, вы можете сделать это.Для изменения языка приложения на мультиязычное приложение, т. Е. Также включите китайский язык.

  1. Для статического содержимого / текста Используйте пакет react-native-i18n

Ссылка: https://www.npmjs.com/package/react-native-i18n

Для динамического содержимого / текста используйте пакет google-translate-api

Ссылка: https://www.npmjs.com/package/google-translate-api

I18n Пример:

import I18n from 'react-native-i18n';

class Demo extends React.Component {
  render() {
    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!',
  },
};

Пример Google-переводчика:

From automatic language detection to English:

const translate = require('google-translate-api');

translate('Ik spreek Engels', {to: 'en'}).then(res => {
    console.log(res.text);
    //=> I speak English
    console.log(res.from.language.iso);
    //=> nl
}).catch(err => {
    console.error(err);
});

From English to Dutch with a typo:

translate('I spea Dutch!', {from: 'en', to: 'nl'}).then(res => {
    console.log(res.text);
    //=> Ik spreek Nederlands!
    console.log(res.from.text.autoCorrected);
    //=> true
    console.log(res.from.text.value);
    //=> I [speak] Dutch!
    console.log(res.from.text.didYouMean);
    //=> false
}).catch(err => {
    console.error(err);
});

Надеюсь, это поможет ..!Спасибо

~ Праз

...