Translate Text in Firestore

Made by Firebase

Translates strings written to a Cloud Firestore collection into multiple languages (uses Cloud Translation API).

4.4K+
installs
Works with
Cloud Firestore
Version
0.1.24 | 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 as an alternative to the Google Cloud Translation API for performing translations.

The extension can access the Gemini API via either Google AI (using an API key) or Vertex AI (using your Google Cloud project). If you choose Google AI, you will need to provide an API key upon installation, which you can create here. If you choose Vertex AI, the extension will use the Gemini models available in your Google Cloud project and does not require an API key.

Gemini models are large language models (LLMs), which can provide more contextual understanding than traditional translation APIs. For example, in the sentence I left my keys in the bank, an LLM may be able to determine whether bank refers to a financial institution or a riverbank, and 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.

AI-powered language translation

This extension makes use of the Genkit SDK to perform AI-powered language translation using large language models such as Gemini from Vertex AI or Google AI. For further information, check out the genkit documentation at genkit.dev.

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)