-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6c8e6e9
commit de8dd4b
Showing
1 changed file
with
84 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,100 @@ | ||
# fast-mlkit-translate-text | ||
<p align="center"> | ||
<img src="https://github.com/yaaliuzhipeng/fast-mlkit-translate-text/blob/main/raw/logo.png" alt="MLKitTranslator" width="539" /> | ||
</p> | ||
|
||
Goolgle MLKit Translate Text Module | ||
<h4 align="center"> | ||
A MachineLearning Language Translator | ||
</h4> | ||
|
||
<p align="center"> | ||
Build Powerful React Native With Greate Language Identifier And Translator <em>Amazing</em> ⚡️ | ||
</p> | ||
|
||
<p align="center"> | ||
<a href="https://github.com/yaaliuzhipeng/fast-mlkit-translate-text"> | ||
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"> | ||
</a> | ||
</p> | ||
|
||
| | MLKitTranslator | | ||
| - | ------------ | | ||
| ⚡️ | **Identify Language Immediately** over 50 languages supported ([full list](https://developers.google.com/ml-kit/language/translation/translation-language-support)) | | ||
| 😎 | **Lazy loaded**. download models when needed | | ||
| 🔄 | **Offline-first.** no network required for using | | ||
| 📱 | **Multiplatform**. iOS, Android | | ||
| ⏱ | **Fast.** Support New Architecture | | ||
| 🔗 | **Relational.** Built on MLKit [Translation](https://developers.google.com/ml-kit/language/translation) foundation | | ||
| ⚠️ | **Static typing** Full-Support [TypeScript](https://typescriptlang.org) | | ||
|
||
## Why MLKitTranslator? | ||
|
||
Key capabilities | ||
|
||
- Broad language support Translate between more than 50 different languages. See the complete list. | ||
- Proven translation models Powered by the same models used by the Google Translate app's offline mode. | ||
- Dynamic model management Keep on-device storage requirements low by dynamically downloading and managing language packs. | ||
- Runs on the device Translations are performed quickly, and don't require you to send users' text to a remote server. | ||
|
||
## Installation | ||
|
||
```sh | ||
npm install fast-mlkit-translate-text | ||
``` | ||
> yarn add fast-mlkit-translate-text | ||
or | ||
|
||
> npm i --save fast-mlkit-translate-text | ||
|
||
## Usage | ||
|
||
```js | ||
import { multiply } from 'fast-mlkit-translate-text'; | ||
**Quick example:** identify language type | ||
|
||
// ... | ||
```typescript | ||
import FastTranslator from 'fast-mlkit-translate-text'; | ||
|
||
const text = "你好,朋友"; | ||
|
||
FastTranslator.identifyLanguage(text) | ||
.then((result:string) => { | ||
//output: 'en' | ||
}) | ||
.catch((err:Error) => { | ||
//handle error | ||
}) | ||
|
||
const result = await multiply(3, 7); | ||
``` | ||
**Translate text example:** identify 、download model and translate | ||
|
||
etc: you'd like to translate English to Chinese | ||
|
||
## Contributing | ||
1️⃣ prepare (when you change the source or target language, you need to call prepare firstly) | ||
```js | ||
import FastTranslator from 'fast-mlkit-translate-text'; | ||
|
||
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. | ||
await FastTranslator prepare({ | ||
source: 'Chinese'; | ||
target: 'English'; | ||
downloadIfNeeded: true; // set to false if you want to download mannually | ||
}); | ||
// await FastTranslator.downloadLanguageModel('Chinese'); | ||
// await FastTranslator.downloadLanguageModel('English'); | ||
``` | ||
**Do not translate text if the model is not downloaded** | ||
you can check model by func **isLanguageDownloaded** | ||
```js | ||
FastTranslator.isLanguageDownloaded('Chinese'); | ||
FastTranslator.isLanguageDownloaded('English'); | ||
``` | ||
|
||
2️⃣ translate text | ||
```js | ||
await FastTranslator.translate(text); | ||
|
||
// 🎉 got it, dude | ||
``` | ||
|
||
## License | ||
|
||
MIT | ||
## Author and license | ||
|
||
--- | ||
**FastMLKitTranslateText** was created by [@yaaliuzhipeng](https://github.com/yaaliuzhipeng) | ||
|
||
Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob) | ||
fast-mlkit-translate-text is available under the MIT license. See the [LICENSE file](./LICENSE) for more info. |