1.2.0 • Published 9 days ago

react-native-translator v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 days ago

React Native Translator

codecov CI Check availability npm version npm download License MIT Example Stars

Preview


Introduce

Unofficial 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>
  );
};
PropsTypeDefault valueRequired
fromLanguageCode
toLanguageCode
valuestring
typeTranslatorType'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>;
paramTypeDefault valueRequired
fromLanguageCode
toLanguageCode
valuestring
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

LanguageGooglePapagoKakao
Afrikaansaf
Irishga
Albaniansq
Italianititit
Arabicarar
Japanesejajajp
Azerbaijaniaz
Kannadakn
Basqueeu
Koreankokokr
Bengalibnbn
Latinla
Belarusianbe
Latvianlv
Bulgarianbg
Lithuanianlt
Catalanca
Macedonianmk
Chinese Simplifiedzh-CNzh-CNcn
Malayms
Chinese Traditionalzh-TWzh-TWcn
Maltesemt
Croatianhr
Norwegianno
Czechcs
Persianfa
Danishda
Polishpl
Dutchnlnl
Portugueseptpt
Englishenenen
Romanianro
Esperantoeo
Russianrururu
Estonianet
Serbiansr
Filipinotl
Slovaksk
Finnishfi
Sloveniansl
Frenchfrfrfr
Spanisheseses
Galiciangl
Swahilisw
Georgianka
Swedishsv
Germandedede
Tamilta
Greekel
Telugute
Gujaratigu
Thaiththth
Haitian Creoleht
Turkishtrtr
Hebrewiw
Ukrainianuk
Hindihihi
Urduur
Hungarianhu
Vietnamesevivivi
Icelandicis
Welshcy
Indonesianididid
Yiddishyi
1.2.0

9 days ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.0-rc.1

2 years ago

1.1.0-rc.0

2 years ago

1.0.0

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago