React Native app to translate text conversations, supporting 110+ languages with text-to-speech feature. (Implementing speech-to-text feature as well).
- Supports translation between any pair of 110+ languages
- Supports accessibility feature - Text-to-Speech
- Helpful tool to learn new languages.
- Cross platform - works on Android & IOS both
Required Header Parameters - Refer Documentation
https://rapidapi.com/gofitech/api/nlp-translation
Parameter | Type | Description |
---|---|---|
X-RapidAPI-Key |
enum |
Your API key (Required) |
X-RapidAPI-Host |
string |
RapidAPI Host (Required) |
Refer the above documentation for code snippets and example response
To run this project, you will need to add the following environment variables to your .env file
API_KEY
HOST_KEY
You will need to make an account with RapidAPI and fill in some credit card details to obtain the API Key. (You will not be charged anything for the same).
You may also use any other API as per your convenience.
Clone the project
git clone https://github.com/sandeepB3/Translate-App.git
Go to the project directory
cd Translate-App
Install dependencies
npm install
Create .env file & fill the env variables as shown above
touch .env
Start the server
npm start
Client: React Native, Redux, NLP API
Server: Node, Expo CLI
- This was my first project using React Native, having a little experience with React.js was really helpful.
- React itself is platform-agnostic, React Native provides a collection of special React components which can be compiled to native UI elements.
- Learned how React Native works under the hood - Native elements & Javascript thread.
- Initially it was difficult to get used to the new React components, but comparing each components with the conventional React.js components makes it easier to understand.
- The javascript state management library Redux - was also completely new to me. It was confusing at first due to some scary terms like reducers, actions, store, etc. But, once you get a hold of the fundamental concepts, everything starts making sense.
- Support for accessibility feature - Speech-to-Text
- Dark / Light mode - Toggle UI
- Conversation Mode - Provides parallel translation in a conversation format acting as a handy translator between two users.