mozilla / firefox-translations

Firefox Translations is a webextension that enables client side translations for web browsers.
Mozilla Public License 2.0
576 stars 49 forks source link
deep-neural-networks firefox javascript nlp nmt translation webextension

Build CodeQL End-to-End Tests Firefox Translations - Install Nightly CODE OF CONDUCT LICENSE Mozilla Add-on

This WebExtension is NOT maintained anymore. The development of Firefox Translation moved into Firefox itself and will be available for anyone from Firefox 108.

Please open new issues in https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=Translation

Firefox Translations

Firefox Translations was a WebExtension that enabled client side in-page translations for web browsers.

Firefox Translations was developed with The Bergamot Project Consortium, coordinated by the University of Edinburgh with partners Charles University in Prague, the University of Sheffield, University of Tartu, and Mozilla. This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 825303. 🇪🇺

Release version

Desktop

The current release version is available for installation on Mozilla Add-ons

AMO

Android

Follow the steps below to install the extension on Firefox Nightly or Beta for Android:

Supported languages

Production

Development

Testing

Nightly builds

Desktop

You can test nightly builds of the extension in Firefox Nightly or Developer Edition in one of the supported languages by following the steps below:

    xpinstall.signatures.required to false
    extensions.experiments.enabled to true
Demo

https://user-images.githubusercontent.com/973388/205549475-8036df98-d5b5-4baa-af8f-350f7962f18e.mov

Android

You can test the addon on Android by following the steps below:

  1. Clone this repo and execute npm install
  2. Install Firefox Nightly for Android in your phone
  3. Connect your phone to your computer via USB
  4. Follow these steps in order to setup your phone and browser to install the addon
  5. You might need to execute adb shell pm grant org.mozilla.fenix android.permission.READ_EXTERNAL_STORAGE in your terminal so the addon could be pushed to your phone
  6. Execute adb devices in your terminal, copy the device id, and replace the string <device id from adb devices> on package.json by it
  7. Execute npm run android -- --android-device=<ANDROID_DEVICE_ID> in your terminal to install the addon in your phone and have the browser automatically started (or npm run android-win -- --android-device=<ANDROID_DEVICE_ID> if developing on a Windows system)

That should be enough to have the addon installed on Firefox in your Android. Folow the steps in the video below to learn how to use it.

Demo

https://user-images.githubusercontent.com/973388/222513958-89a51f7c-985a-45ee-94f6-c78a31e20a2e.mp4

Development

3rd party dependencies

The extension does not utilize any npm modules, and the only vendored dependencies within are:

How to run

Updating telemetry schema

After adding new metrics to extension/model/telemetry/metrics.yaml or pings to extension/model/telemetry/pings.yaml, run

bash scripts/update-telemetry-schema.sh

to regenerate JS telemetry schema.

Updating bergamot-translator WASM module

Replace

with the new artifacts and then execute:

bash scripts/update-bergamot-translator.sh

to regenerate JS version file. This version is reported in telemetry.

Discussions

Firefox translations channel on Matrix