Coder Social home page Coder Social logo

gm-i18n's Introduction

GMi18n

Internationalization of texts simply and quickly, using JSON files

Release v0.3.2 Follow @CreativeHandOf


Sample demonstration


GMi18n


Usage

To use GM i18n, download the latest release, and import the .yymps package into your project.

Location files must be included in the GMS include file. Example of how to create a file: en-US.json

Once imported to your project, you can use any of the API functions below. Remembering that it is necessary to configure gmi18nSetup();


API

gmi18nSetup(_locales*, _defaultLocale*, _fallBackLocale)

This function is responsible for configuring the creation of the locations configuration file, defining what will be the default location and configuring the return location.

I recommend using the object oSetupi18n to speed up initial setup

// @desc Method for configuring in18 within your project, using locations as parameters. The default location. And a return location if there is no requested structure.
// @param	{array}  _locales*		    Required Locales configuration array, must contain code, file and lang
// @param	{string} _defaultLocale*  Required Setting the default location
// @param	{string} _fallBackLocale  Optional Setting the return location, if it does not exist at the current location
// @example

// Configuring gmi18n to generate the information needed to initialize it.

locales = [
	{ code: "pt-BR", file: "pt-BR.json", lang: "Portugues" },
	{ code: "en-US", file: "en-US.json", lang: "English" },
	{ code: "es-ES", file: "es-ES.json", lang: "Espanhol" }
];

defaultLocale = "pt-BR";
fallBackLocale = "pt-BR";

gmi18nSetup(locales, defaultLocale, fallBackLocale);

useTranslation(_param, _varName)

This function is responsible for returning the text that was configured in the json file of the chosen location

// @desc    Method responsible for returning the text within the .json file of the previously chosen location
// @param	 {string} _param*  | Required | Structure created within your .json localization file
// @param	 {string} _varName | Optional | The name of the variable that must remain static
// @returns {string} Returns the text chosen in the parameter
// @example

// Search for the welcome text according to the chosen location
draw_text(x, y, useTranslation('welcome'));

-----------------------------------------------------------------

// Using the function within Create Event, this way it will be possible to update the variable value whenever there is a language change

name = useTranslation('welcome', 'name');

Recommendation

It is possible to abbreviate the useTranslation() call, to make the code less verbose.

Example:

// Create
t = method(self, useTranslation);

// Draw
draw_text(x, y, t('welcome'));

reloadValuesWhenExchanged()

Method responsible for updating objects' create event variables

// Begin Step

reloadValuesWhenExchanged();

switchLocale(_locale)

Change your current location

// @desc     Method responsible for making the language localization change
// @param    {string} _locale* Required Location to be changed
// @example

// Changing the language to pt-BR

switchLocale("pt-BR");

getCurrentLocale()

Returns the current location code

@desc    Returns the current chosen location
@returns {string} _locale Return the code
@example

// Returns the current code: "pt-BR"

getCurrentLocale();

getLocales()

Returns an array with all the locations configured during setup

// @desc    Returns an array with all the locations configured during setup
// @returns {Array} _locales Return all locations configured in the setup
// @example

// Returns the following array:
// [
//  { code: "pt-BR", file: "pt-BR.json", lang: "Portugues" },
//  { code: "en-US", file: "en-US.json", lang: "English" },
//  { code: "es-ES", file: "es-ES.json", lang: "Espanhol" }
// ];

getLocales();

Contributors


Author


Architecture

Only in Portuguese. Link Figma


License

This project is under license MIT.

Done with ๐Ÿ’š by Creative Hand

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.