LangLib MultiDB

LangLib MultiDB

LangLib is a software library to localize .NET applications (WinForms and WPF).

The localization data is saved to a SQLite / MySQL / PostgreSQL or Microsoft SQL server database.

So there is no need for Language resource files anymore!

 

Features

  • Current version 1.1.0.4 (14.10.2018)
  • Database is internally auto-constructed by the LangLib library. The default location is applications product name in the directory %LOCALAPPDATA%.
  • System.Windows.Forms or System.Windows.Controls.* namespaces are defaults to which the library will enumerate.
  • Denied property names are supported.
  • Adding additional namespaces is supported.
  • A localization software is included with the library.
  • A static caching system is used to prevent useless database queries after a form or window is once enumerated.
  • Support for changing the language in runtime.
  • Software architectures supported by System.Data.SQlite are supported.
  • A static and and instance based message localization is supported. Any message can contain formatting supported by string.Format method.
  • The “dump” of language enumeration is indicated to the library by a command line argument by –dbLang or –dbLang=cu-RE (ISO 639-1).
  • Full XML documentation (public/private)
  • A possibility to launch the localization application from the command line

 

Requirements

  • A Microsoft® Windows® supporting .NET Framework v.4.5.1 (possibly downgradable by modifying the source project settings)
  • LGPL v3 compatible application

 

Changes

  • v.1.0.0.3 (10.08.2015)
  • Fixed depency to Visual C++ Redistributable Package
  • v.1.0.0.4 (29.08.2015)
  • Moved to conditional loading on System.Data.SQLite. This removes the need to create separate x86/x64 binary releases.
  • V.1.1.0.0 (15.09.2015)
  • Added support for MySQL, PostgreSQL and Microsoft SQL server databases.
  • Language database can be dumped to insert/update clauses for databases supported by this library (SQLite, Microsoft SQL server, PostgreSQL server and SQLite)
  • SQLite support is still the default and requires no configuration changes for an existing application.
  • Database can be configured by in-build software called “SecureDatabaseSetting”, which uses new version of the ConfLib and its “SECURE:” definition.
  • Database table creation can now be left for the user. Sample scripts are included. Software table creation can be set to conditional in the ConfLib config file.
  • Cultures are not always dumped into a database on application start, this happens only when command line argument –dbLang is defined.
  • All connections, data readers, etc. are ADO.NET providers. (System.Data.SQLClient, Npgsql, MySql.Data.MySqlClient, System.Data.SQLite).
  • V.1.1.0.1 (03.11.2015)
  • Added x:Uid / Uid support for WPF localization.
  • v.1.1.0.4 (14.10.2018)
  • Added possibility to launch the localization application from the command line

 

Screenshots

A WPF application in design mode and running localized side by side (Microsoft Visual Studio Express 2013 for Windows Desktop)

 A LangLib SecureDatabaseSettings executable running under the Windows Forms application. Notice that the icon and the [product name] is adapted from the “calling” software.

A SQLite Spy software displaying the generated database of the database configuration. See that all vital information is encrypted with a local account setting so if you copy the file to another computer or to another account on the same computer the sensitive data will not decrypt.

 

The localization helper application also has some new features which first of them is the login screen

The second feature is to dump data to all supported database types (as in generate script)

 

 

Download

Source, GitHub

NuGet

Instructions

Instructions

{phocadownload view=file|id=48|target=s}

{phocadownload view=file|id=49|target=s}

Database creation

{phocadownload view=file|id=44|target=s}

{phocadownload view=file|id=46|target=s}

Table creation

{phocadownload view=file|id=45|target=s}

{phocadownload view=file|id=47|target=s}

WPF localization using Uid / x:Uid

{phocadownload view=file|id=57|target=s}

{phocadownload view=file|id=58|target=s}