Translate Text in Firestore
Made by Firebase
Translates strings written to a Cloud Firestore collection into multiple languages (uses Cloud Translation API).
- Works with
- Cloud Firestore
- Version
- 0.1.21 | Source code
- Tags
- ai
- License
- Apache-2.0
- Publisher
- Firebase
- Report
- Bug
- Abuse
How this extension works
Use this extension to translate strings (for example, text messages) written to a Cloud Firestore collection.
This extension listens to your specified Cloud Firestore collection. If you add a string to a specified field in any document within that collection, this extension:
- Translates the string into your specified target language(s); the source language of the string is automatically detected.
- Adds the translation(s) of the string to a separate specified field in the same document.
You specify the desired target languages using ISO-639-1 codes. You can find a list of valid languages and their corresponding codes in the Cloud Translation API documentation.
If the original non-translated field of the document is updated, then the translations will be automatically updated, as well.
Multiple collections for translations
To translate multiple collections, install this extension multiple times, specifying a different
collection path each time. There is currently no limit on how many instances of an extension you
can install.
Multiple field translations
To translate multiple fields, store a map of input strings in the input field:
admin.firestore().collection('translations').add({
first: "My name is Bob",
second: "Hello, friend"
})
Multiple languages
To translate text into multiple languages, set the languages
parameter to a comma-separated list
of languages, such as en,fr,de
. See the supported languages list.
Additional setup
Before installing this extension, make sure that you’ve set up a Cloud Firestore database in your Firebase project.
AI Translations using Gemini
This extension optionally supports using Gemini 1.5 Pro as an alternative to the Google Cloud Translation API for performing translations.
The extension accesses the Gemini API via Google AI, and will require an API key to be provided upon installation. You may create an API key here.
A large language model like Gemini 1.5 Pro may have more contextual understanding. For example in the sentence I left my keys in the bank
the model may understand whether bank
refers to a financial institution or a riverbank, and may provide a more accurate translation.
It is important to note that Gemini should only be used with sanitized input, as prompt injection is a possibility.
Notes:
- Using the Gemini API may have a different pricing model than the Cloud Translation API.
Billing
To install an extension, your project must be on the Blaze (pay as you go) plan
- You will be charged a small amount (typically around $0.01/month) for the Firebase resources required by this extension (even if it is not used).
- This extension uses other Firebase and Google Cloud Platform services, which have associated charges if you exceed the service’s no-cost tier:
- Cloud Translation API
- Cloud Firestore
- Cloud Functions (Node.js 10+ runtime. See FAQs)