KoreanThinker / react-native-translator

🌐 Unlimited free google translate component & hook

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React Native Translator

npm version npm download License MIT Example

Stars Twitter

Preview


Introduce

Free translate component & hook

Never need api key, This library is Unlimited free


Support translators


Getting started

First, Install package

yarn add react-native-translator react-native-webview

Second, Pod intsall

cd ios && pod install

Third, Add provider

// App.js
...
import {TranslatorProvider} from 'react-native-translator' // here

const App = () => {
  return (
    <TranslatorProvider> // here
        <.../>
    </TranslatorProvider> // here
  );
};

API

Translator ( Real-time translate )

// Usage
import Translator from 'react-native-translator';

const App = () => {
  const [value, setValue] = useState('');
  const [result, setResult] = useState('');

  return (
    <View>
      <Translator
        from="en"
        to="fr"
        value={value}
        onTranslated={(t) => setResult(t)}
      />
      <TextInput value={value} onChangeText={(t) => setValue(t)} />
      <Text>{result}</Text>
    </View>
  );
};
Props Type Default value Required
from LanguageCode βœ…
to LanguageCode βœ…
value string βœ…
type TranslatorType 'google'
onTranslated (result: string) => void βœ…

useTranslator

// Usage
import {useTranslator} from 'react-native-translator';

const App = () => {
  const {translate} = useTranslator();

  const [value, setValue] = useState('');
  const [result, setResult] = useState('');

  const onTranslate = async () => {
    const _result = await translate('en', 'fr', value);
    setResult(_result);
  };

  return (
    <View>
      <TextInput value={value} onChangeText={(t) => setValue(t)} />
      <Text>{result}</Text>
      <Button title="translate" onPress={onTranslate} />
    </View>
  );
};

translate

// const {translate} = useTranslator();
type translate: <T extends TranslatorType>(/* check follow param table */) => Promise<string>;
param Type Default value Required
from LanguageCode βœ…
to LanguageCode βœ…
value string βœ…
option {type?: TranslatorType, timeout?: number} {type: 'google', timeout: 5000}

languageCodeConverter

❗️ If conversion is not possible, return undefined.

import {languageCodeConverter} from 'react-native-translator';
// google language code convert to kakao language code
languageCodeConverter('google', 'kakao', 'ko'); // kr

TranslatorType

type TranslatorType = 'google' | 'kakao' | 'papago';

LanguageCode

type LanguageCode<T extends TranslatorType> ...
// Usage
type GoogleLanguageCode = LanguageCode<'google'>;

VALUES

import {LANGUAGE_CODES, TRANSLATOR_TYPES} from 'react-native-translator';
// translator types
TRANSLATOR_TYPES; // ["google", "papago", "kakao", ...]
// language code
LANGUAGE_CODES['google']; // ["af", "ga", "sq", ...]

Support languages

Language Google Papago Kakao
Afrikaans af
Irish ga
Albanian sq
Italian it it it
Arabic ar ar
Japanese ja ja jp
Azerbaijani az
Kannada kn
Basque eu
Korean ko ko kr
Bengali bn bn
Latin la
Belarusian be
Latvian lv
Bulgarian bg
Lithuanian lt
Catalan ca
Macedonian mk
Chinese Simplified zh-CN zh-CN cn
Malay ms
Chinese Traditional zh-TW zh-TW cn
Maltese mt
Croatian hr
Norwegian no
Czech cs
Persian fa
Danish da
Polish pl
Dutch nl nl
Portuguese pt pt
English en en en
Romanian ro
Esperanto eo
Russian ru ru ru
Estonian et
Serbian sr
Filipino tl
Slovak sk
Finnish fi
Slovenian sl
French fr fr fr
Spanish es es es
Galician gl
Swahili sw
Georgian ka
Swedish sv
German de de de
Tamil ta
Greek el
Telugu te
Gujarati gu
Thai th th th
Haitian Creole ht
Turkish tr tr
Hebrew iw
Ukrainian uk
Hindi hi hi
Urdu ur
Hungarian hu
Vietnamese vi vi vi
Icelandic is
Welsh cy
Indonesian id id id
Yiddish yi

About

🌐 Unlimited free google translate component & hook

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

License:MIT License


Languages

Language:TypeScript 48.3%Language:Java 25.0%Language:Ruby 8.1%Language:Objective-C 7.8%Language:JavaScript 5.4%Language:Objective-C++ 3.9%Language:Shell 1.6%