LanguageGlobal Extension - Change the language of your app

icon LanguageGlobal

An extension to manage the language change in your application, saving the language state in a local database, to use the current language selection.

[ FREE ] Extension

:earth_americas: Released on : 15 June 2024

:gear: Version : 1.0

:closed_book: Documentation

:black_small_square: Events

Captura de pantalla 2024-06-15 231153
Triggered when the language is changed.

:black_small_square: Functions

Captura de pantalla 2024-06-15 231207
Initialize Language Path in JSON format and a default language.

Captura de pantalla 2024-06-15 231215
When updating the language, the OnChanged event is activated to refresh the changes.

Captura de pantalla 2024-06-15 231222
Delete the language saved locally.

Captura de pantalla 2024-06-15 231240
Returns the current language set.

Captura de pantalla 2024-06-15 231231
Return value of name

Configuration JSON

You can put the name of the component as a key to be able to use the language configuration, in addition >to being able to add more languages ​​or add more key with their respective configuration.

Captura de pantalla 2024-06-15 231405

Configuration Screen

Screen1 is not necessary, it is configured on any other screen since the value is saved in the local database. When you start the app, it will take the saved value of the language.

Other Screens

On any other screen it is configured this way, even if the language configuration is not on screen 1 it should start this way

Video

Download Extension

6 Likes

an interesting approach to translation methods. however, in practice, there is a way, perhaps, simpler and more effective. considering that sometimes a translation file can contain hundreds of translation tags.

Let me briefly explain this method. I hope this does not infringe on the value of this extension, but only shows an alternative way to do without extensions at all.

The principle is based on storing the contents of the tags of each language in its own text field. naturally invisible , but just text fields located on the screen. for example. english and the second text is Spanish.

the tags are separated by some special. a conditional sign. for example, “#” or it can be a combination of “#|#” characters with any special sign. next, we determine the character we need and take the values from the array that we form by splitting the text values according to these combinations of characters.
image

and here is a fragment from the text of another language.it is important to keep only the sequence:
image

in this example, the “#” sign is the separatorat the same time, in the text of another language, it is important for us that the line numbers match.
image

image

to reduce repetitions, you can create procedures and manage repetitions… here, anyone wants to. and at the same time, you can store primary data and not necessarily a translation. It’s also a matter of taste

as a result, 1. we determine the desired language. we take the source text from the desired text invisible field. 2. divide into an array by special characters. 3. We place the values in the labels for these elements of the array. And that’s it. simple and editable. you don’t need any files or assets. problems with editing json and other things. :slight_smile:

and do you know what is convenient in this method of translation? this is to add a new language for translation. we just take the whole text and translate it right away. we add another text box to the project and that’s it. well, is it possible to instantly repeat json markup? :slight_smile:

3 Likes

Far more complicated trying to remember the index of a desired text into an array, also if you modifiy the order of the texts everything could get messy. Working with keys kinda like a dictionary is way simplier and flexible