A replacement for Microsoft Terminology Search
Go to file
Enzo Doyen ce43457d71
fix f-string nested quotes
2024-11-19 10:39:13 +01:00
.github/ISSUE_TEMPLATE added bug report template 2024-06-09 18:57:30 +02:00
config improve handling of missing email config (fixes #8) 2024-11-18 17:06:03 +01:00
scripts Added 2020 Hindi and 2017 Finnish datasets 2023-10-08 17:46:49 +02:00
static improve handling of missing email config (fixes #8) 2024-11-18 17:06:03 +01:00
templates Updated contribution list 2023-12-09 21:08:35 +01:00
.gitattributes Version 1.3.0 2023-05-23 17:36:04 +02:00
.gitgnore Version 0.1 2023-04-29 15:12:11 +02:00
.slugignore Version 1.4.0 2023-06-08 18:39:48 +02:00
LICENSE Create LICENSE 2023-05-15 12:09:59 +02:00
Procfile Increased gunicorn timeout 2023-07-18 14:01:07 +02:00
README.md add mail config info to README (#8) 2024-11-18 17:20:51 +01:00
requirements.txt remove psycopg2 version lock (fixes #7) 2024-11-18 16:08:47 +01:00
robots.txt Fixed copy row on mobile 2023-10-08 16:35:34 +02:00
termic.py fix f-string nested quotes 2024-11-19 10:39:13 +01:00

README.md

termic: an alternative to Microsoft Terminology Search

A deployed and ready-to-use version of termic is available on https://termic.me.

Data Collection

Data used by termic is available for download on Dropbox.

Translation Memory

The 2020+ translation memory was retrieved from Visual Studio Dev Essentials as .csv files. Those files were merged using a custom script, merge_csv.py, that is available in the termic-data GitHub project.

To download Microsoft's translation memory, follow these steps:

  1. Go to Visual Studio Dev Essentials.
  2. Search "Translation and UI Strings Glossaries September 2020" in the "Search downloads" search bar.
  3. The link should appear as you start typing; click on it and search.
  4. Choose your language on the right and click on the "Download" button.

In addition, this dataset was expanded with VSCode strings (which are not available in the TM provided by Microsoft). vscode_data.py was used for extraction.

Glossaries

Glossaries were retrieved from the Microsoft Terminology Collection. Those are .tbx files that were converted to .xlsx using Xbench.

Requirements

Website

  • Python (>=3.10)
  • Flask (>=2.3.1)
  • psycopg2 (>=2.9.6)

Scripts

  • Python (>=3.10)
  • requests (>=2.29.0)
  • pandas (>=2.0.1)

Usage

  1. git clone https://github.com/spidersouris/termic.git
  2. cd termic
  3. pip install -r requirements.txt
  4. python termic.py
  5. Go to http://localhost:5000

Using a database

If you want to run termic locally with the data available for download on Dropbox or with your own terminology data, using a local database is recommended.

You can change the connection string in config/db_config.py to connect to your database.

Using local data files

Using local data files with termic is far from being ideal. However, if it is your only option, here are a few tips:

Mail server

termic comes with Flask-Mail, which means that you can configure a SMTP endpoint to receive messages sent via the contact form (on the /about route by default).

This requires setting up the following environment variables (see config/mail_config.py for more information): MAIL_SERVER, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_SENDER, MAIL_RECIPIENTS.

If any of these environment variables are undefined, the mail service will be disabled and users won't be able to send emails.

Development

flask --app termic run --debug

Deployment

You can use Heroku for deployment.

  1. heroku login
  2. heroku create --app termic
  3. git push heroku master

Contributors