Coder Social home page Coder Social logo

soroshzzz26 / react-native-translator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from koreanthinker/react-native-translator

0.0 1.0 1.0 601 KB

๐ŸŒ Unlimited free google translate component & hook

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

License: MIT License

JavaScript 5.50% Ruby 8.16% Objective-C 7.87% Java 25.22% TypeScript 49.35% Objective-C++ 3.90%

react-native-translator's Introduction

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

react-native-translator's People

Contributors

koreanthinker avatar soroshzzz26 avatar doublelam avatar

Watchers

 avatar

Forkers

jb9229

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.