Language · Inclusion · Awareness

Detect non-inclusive language and get contextual suggestions. Runs entirely in your browser via Pyodide — no data ever leaves your device.

⬡  Python · WebAssembly 🔒  Zero server · Private 🌐  Multilingual
Loading Python environment…
Resource files

Each language has its own folder under inclusivewriting/resources/. The two main files per language are:

  • 📄 list.json — non-inclusive terms and their replacements
  • 📄 pronouns.json — pronoun-specific suggestions

Languages are registered in inclusivewriting/configuration.json — this is where the app discovers which files to load.

Add or improve terms (existing language)

Open the list.json for the language you want to improve (e.g. Englishresources/en/list.json) and add a new top-level entry using this structure:

{
  "phrase-to-flag": {
    "lexeme": ["https://www.wikidata.org/wiki/Lexeme:LXXXXX"],
    "replacement": {
      "preferred-alternative": {
        "lexeme": ["https://www.wikidata.org/wiki/Lexeme:LYYYYY"],
        "references": [
          "https://source-that-recommends-this-replacement.example/"
        ]
      }
    }
  }
}
  • 1Use a lower-case, top-level key for the phrase to detect.
  • 2Link lexeme to a Wikidata lexeme URL where one exists (use [] if unknown).
  • 3Add at least one reference (news article, style guide, community discussion) per replacement.
  • 4Validate your changes: python -m unittest tests.resource_schema_test
  • 5Run the full test suite: python -m tests.tests
Add a new language
  • 1 Create a new folder: inclusivewriting/resources/<locale>/ (e.g. resources/de/ for German).
  • 2 Add list.json and/or pronouns.json inside that folder, following the structure above.
  • 3 Register the locale in inclusivewriting/configuration.json:
"de": [
  "./resources/de/list.json",
  "./resources/de/pronouns.json"
]
  • 4 To also translate the CLI messages, initialise a locale file with pybabel init -i inclusivewriting/locales/inclusivewriting.bot -d inclusivewriting/locales/ -D inclusivewriting -l de, then edit inclusivewriting/locales/de/LC_MESSAGES/inclusivewriting.po and compile with pybabel compile -d inclusivewriting/locales -D inclusivewriting.
  • 5 Add a <option> for the new language to the <select> in docs/index.html.
  • 6 Run the schema validator and full test suite before opening a pull request.