SignIt

SignIt

Lingua Libre SignIt translate a word in (French) Sign Language videos.

This extension allows you to translate a word into French sign language on any web page. When you read a text and come across a word you don’t know, highlight that word, right click and click on the Sign it icon: the sign in LSF and the definition of the word in French will appear on a window. If a word is not available in LSF, we invite you to record it with our easy-to-use webapp on https://lingualibre.org. The definitions come from the French Wiktionary to which you can also contribute: https://fr.wiktionary.org.

Install

Manual install is possible for Chrome, Chromium. Should be eqully possible with Windows Edge.

Hacking

Firefox note: install of Firefox via snap install are not compatible with npm web-ext due to path changes, please install Firefox from deb.

Build & Launch

  1. Clone the Repository and Install Dependencies:

    git clone <repository-url>
    cd <repository-directory>
    npm install
    
  2. Bump Version:

    • Edit package.json and manifest.json, e.g., change 1.0.12 to 1.0.13.
  3. Build the Firefox Extension:

    npm run web-ext:build
    
    • This will build the Firefox extension into an installable .zip file.
    • Note for Windows Users: If you encounter the error bin is not recognized as an internal or external command, operable program or batch file, use Git Bash to run the following command:
      chmod +x bin/build.sh
      
  4. Test the Extension in Browsers:

    • Firefox:
      npm run web-ext:test-firefox
      
    • Chromium:
      npm run web-ext:test-chromium
      
    • These commands will open the web browsers with the latest development version of SignIt and the URL defined in package.json.

See also Mozilla’s web-ext

Inspect

Mouse install

Visuals

Development

β”œβ”€β”€ _locales/ (inactive)
β”œβ”€β”€ manifest.json (v.3) β€” defines extensions and dependencies rights.
β”œβ”€β”€ background-script.js β€” main script (Firefox browser).
β”œβ”€β”€ sw.js β€” main script (Chromium browsers).
β”œβ”€β”€ SignItCoreContent.js β€” creates duo panels "Video | Definition"
β”œβ”€β”€ SignItVideosGallery.js β€” given urls, creates gallery of videos.
β”œβ”€β”€ SignItVideosIframe.html β€” contains intermediate iframe for videos and twsospeed feature.
β”œβ”€β”€ content_scripts/
|   β”œβ”€β”€ signit.js β€” creates above text SignIt popup
|   └── wpintegration.js β€” on wikimedia sites, if page's title has a sign language video available, then display smartly.
└── popup/
    β”œβ”€β”€ popup.js β€” creates top bar SignIt icon's popup, with search, history and settings.
    └── SearchWidget.js β€” handle the search queries

MV2 -> MV3 Brief

Chrome web store had started deprecating the web extensions with manifest version 2 and since we were moving to chrome for bigger market share , we had to migrate our extension as per MV3 in order to publish it. Below are a few points on the achievements , challenges faced and hurdles that still persist :-

While there were other options like making your own i18n function , based on the arguments received from sw.js , but that was a repetitive task when using i18n inside multiple files.

Other option was to use browser.i18n native API. This was an ok option but didn’t allow users to change to their desired language , only changed them when browser’s language was different. For someone who didn’t want the extension to run in his native language or wanted to run it in different language had no control.

Contribute

Contributors

We look for volunteers:

Contact

Code

Documentation

Services

Powered By

| Wikimedia Foundation | Wikimedia France | URFIST Occitanie | Google Summer of Code |:β€”-:|:β€”-:|:β€”-:|:β€”-:| | 2016-present | 2018 | 2023-2024 | 2024 | Wikimedia France logo linking to its website. | Wikimedia logo linking to its website. | URFIST Occitanie. | Google Summer of Code logo linking to its website.

Open content communities

Lingua Libre Wiktionary Wikidata Wikimedia Commons
Lingua Libre logo Wiktionary logo Wikidata logo Wikimedia Commons logo