Skip to content

lloyddewit/TranslateWinForm

Repository files navigation

TranslateWinForm library

Overview

This library provides utility functions to translate the text in VB.net WinForm objects (e.g. menu items, forms and controls) to a different natural language (e.g. to French).

The library contains utilities to:

  • Automatically and recusively traverse all WinForm controls (menus, dialogs, labels, buttons etc.) in an application, and build a database of each control's text.
  • Generate AI translations into any language (Spanish, Russian, Swahili etc.) of all the application's text using CrowdIn.
  • If needed, use human translaters to improve the AI translations using CrowdIn.
  • Generate a database of all the application's translations.
  • Use this database to allow the user to dynamically flip between languages during runtime.

This class uses an SQLite database to translate text items to a new language. The database must contain the following tables:

CREATE TABLE "form_controls" (
"form_name"	TEXT,
"control_name"	TEXT,
"id_text"	TEXT,
PRIMARY KEY("form_name", "control_name")
)

CREATE TABLE "translations" (
"id_text"	TEXT,
"language_code"	TEXT,
"translation"	TEXT,
PRIMARY KEY("id_text", "language_code")
)

For example, if the 'form_controls' table contains a row with the values {'frmMain', 'mnuFile', 'File'}, then the 'translations' table should have a row for each supported language, e.g. {'File', 'en', 'File'}, {'File', 'fr', 'Fichier'}.

For an example of this library in use (including an extensive database), please see R-Instat.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published