# TLanguages **Repository Path**: ak17/TLanguages ## Basic Information - **Project Name**: TLanguages - **Description**: https://github.com/albertodev01/TLanguages.git - **Primary Language**: Delphi - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-21 - **Last Updated**: 2025-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TLanguages This is a component written in Delphi that works with VCL and FMX and can be used to localize (translate) your Windows/iOS/Android applications. You'll have to install a component in the IDE in order to load the localized strings stored in a `.json` file; this file will be created using the apposite Editor.

There is a Default language which contains the IDs of the strings. You can add using the apposite buttons new words or language and once you're done store your work in a json file. In the sections below I'll show you how to install everything properly and then run an example. # Install To install the component just follow these steps: 1. Download this repo and open ProjectLanguages.dproj in the Component folder 2. In the Project Manager (on the top right) double click `ProjectLanguages.bpl` to select it 3. Now `ProjectLanguages.bpl` should be selected. Right click and do `Compile`, then `Build` and finally `Install` Do not forget to add the source files to the library path of the IDE. To do this go on Tools > Options > Delphi Options > Library and for each platform add the path to the folder containing the sources of the component. Now you just need to open the Editor folder, open `ProjectLanguages.dproj` and then give a Compile > Build to create the executable of the Editor for your machine. The editor has been written with FMX so it can be compiled on Win32, Win64 and OS X! # Usage 1. Open the editor and create a New Language File using the apposite button above (or use Browse to open a file if you had already created one). Now you can use the buttons to add words/languages and the table to edit the values that you want to assign to the localized strings. I have created this as example:

2. Once you have finished, click Save Edits and open Delphi. Create a new project (VCL or FMX), drop the `Language1` component in the form. Just as test, add a TLabel component in the form. 3. Now go on Project > Resources and Images > Add... > select the `.json` file generated with the Editor > give it an Identifier > select RCDATA as type > click Ok. Now you have finished the setup and you can start using the component. This code shows how to initialize the component in the `FormCreate` and then how to localize strings. ``` pascal procedure TForm1.FormCreate(Sender: TObject); begin //The 'jsonResourceId' is the Identifier I was talking about on point number 3 Language1.setSource('jsonResourceId'); Language1.setLanguage('Default'); end; procedure TForm1.Button1Click(Sender: TObject); begin Language1.setLanguage('it'); //The caption is now 'casa' Label1.Caption := Language1.localize('home'); Language1.setLanguage('fr'); //The caption is now 'maison' Label1.Caption := Language1.localize('home'); end; ``` The `.json` file with the localizations will be attached to you executable and it will increase the final size but consider that a json file is basically a text file with some chars inside so it's not huge. In a project of mine there are 4 languages with 50 words each and the file size it's less than 5 kb.