https://github.com/nexmo-community/sms-google-translate-js
SMS Translation example using Google Cloud Translation API
https://github.com/nexmo-community/sms-google-translate-js
extend google-translate-api sms
Last synced: about 1 year ago
JSON representation
SMS Translation example using Google Cloud Translation API
- Host: GitHub
- URL: https://github.com/nexmo-community/sms-google-translate-js
- Owner: nexmo-community
- License: mit
- Created: 2019-10-10T13:13:44.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-05-28T07:42:33.000Z (about 1 year ago)
- Last Synced: 2025-05-28T08:37:15.035Z (about 1 year ago)
- Topics: extend, google-translate-api, sms
- Language: JavaScript
- Size: 33.2 KB
- Stars: 0
- Watchers: 10
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SMS Translation with Google Cloud Translation API
[](https://nexmo.dev/google-nexmo-sms-translate-heroku)
This example uses Google Cloud Translation API to translate SMS messages to the language of your choice..
SMS Messages sent through Nexmo will be sent to Google Cloud Translation API and the translation returned to the console.
## Google Cloud Translation API
+ Reference: [https://cloud.google.com/translate/docs/quickstarts](https://cloud.google.com/translate/docs/quickstarts)
+ API Docs: [https://cloud.google.com/translate/docs/reference/rest/](https://cloud.google.com/translate/docs/reference/rest/)
+ GitHub: [https://github.com/googleapis/nodejs-language](https://github.com/googleapis/nodejs-language)
Enable the [Google Cloud Translation API](https://console.cloud.google.com/apis/library/translate.googleapis.com?q=translate&id=c22f20ba-6a29-40ae-9084-8bc264a97fc2) and create a service user with the `Project > Owner` role. Download the `google_creds.json` file for the service user. More information can be found here -> [https://cloud.google.com/translate/docs/quickstart-client-libraries](https://cloud.google.com/translate/docs/quickstart-client-libraries)
## Running the App
This sample app uses a `.env` file to provide the API key and URL.
Copy the provided `.env.example` file to a new file called `.env`:
```
cp .env.example > .env
```
Then update the values with the local file path of the `google_creds.json` file, and then save.
```
GOOGLE_APPLICATION_CREDENTIALS=
TARGET_LANGUAGE='en'
```
Also, expose the application to the internet using tools like [ngrok](https://ngrok.com/). To see how, [check out this guide](https://www.nexmo.com/blog/2017/07/04/local-development-nexmo-ngrok-tunnel-dr/).
### Using Docker
To run the app using Docker, run the following command in a terminal:
```
docker-compose up
```
This will create a new image with all the dependencies and run it at http://localhost:3000.
### Using Node
To run the app using node, run the following command in a terminal:
```
npm install && node index.js
```
This will install all the dependencies and run it at http://localhost:3000.
## Linking the app to Nexmo
For this example app a Nexmo number and SMS webhook setup is needed.
This can be achieved with the Nexmo CLI. Install the CLI by following [these instructions](https://github.com/Nexmo/nexmo-cli#installation).
### Rent a New Virtual Number
Renting a number will need to be in place. This can also be achieved using the CLI by running this command:
```
nexmo number:buy --country_code US
```
### Adding the SMS Webhook
Update the number created with the URL of the hosted or local server.
```
nexmo link:sms phone_number https://my-hostname/message
```
## Try it out
With the example Node application running in the terminal, send various SMS messages to the virtual number. The terminal will output the response from Google Natural Language API.
## Extend
This app prints out to the console. For integration with an application, extend the `translateText` function to suit your needs.