Setup
Requirements
Here's a list of the tested versions of GameMaker that works properly with GM-I18n.
| Platform | IDE | Runtime | Notes |
|---|---|---|---|
| Windows VM | v2024.13.1.193 | v2024.13.1.242 | All API works properly |
| Windows YYC | v2024.13.1.193 | v2024.13.1.242 | All API works properly |
| HTML5 | v2024.13.1.193 | v2024.13.1.242 | Core API works properly, but there's an issue with the drawing functions |
It should work on other versions of GameMaker 2.3+ too. Please let me know on the tested versions page if you tested it on other versions that not listed above, whether it works properly or not. It will help me and other users who want to know which versions of GameMaker that works properly with GM-I18n.
Installation
Importing/Upgrading Package
There're 2 ways to import/upgrade the GM-I18n package to your project. You can choose one that you prefer.
Using Package Manager
- Download the latest release from the releases page.

- Import the
GM-I18n v<version>.yympsfile to your project by dragging it to the IDE.

- Select the
scI18nscript from the list to import and clickAdd, or just clickAdd All. And finally, click theImportbutton.

- If you're upgrading the package, a new window will appear. Checklist the
Replaceoption and then click theImportbutton.

Manual Import
- Download the latest release from the releases page.

- Extract the downloaded file. You should see 5 files:
GM-I18n v<version>.yymps,I18nConstants.d.ts,I18nConstructors.d.ts,I18nFunctions.d.ts, andscI18n.gml.

- Open the
scI18n.gmlfile and then copy the content of it to a new script in your project.
Offline Documentation (Optional)
There's some types definition files in the package, which is I18nConstants.d.ts, I18nConstructors.d.ts, and I18nFunctions.d.ts. These files are types definition files that you can use to help you understand better how to use the GM-I18n API.
Think of it as a cheatsheet for GM-I18n documentation. It's not as comprehensive as the web documentation, but it's better than nothing. If you want to use it, you can follow the steps below:
- Extract the downloaded file. You should see 5 files:
GM-I18n v<version>.yymps,I18nConstants.d.ts,I18nConstructors.d.ts,I18nFunctions.d.ts, andscI18n.gml.

- Open the
GM-I18n v<version>folder with your favorite code editor (such as Visual Studio Code, Lite XL, Atom, or other code editor you prefer).

- You're done! You can use it as a "side-by-side" reference for the GM-I18n API.

If you're using Visual Studio Code (or other advanced code editor) as your secondary code editor for this purpose, you may get a better experience than using the GameMaker's built-in code editor. You can get the hover tooltip, type hints, jump-to-definition, and other features that make your coding experience better.

Configuration
You can create your own fonts asset normally if the language you're using is a Latin-based language. But, if you're adding language with non-Latin characters, you need to follow the steps below:
Using Font Assets
- Create a new
fontasset in the IDE as you usually do. - Click
Addto add new range to the font asset for each character range you need. Set thefromandtoto the first and last character of the range. For example, if you're adding Japanese, you may add Higarana (12352to12447), Katakana (12448to12543), and Kanji (13312to19903).

- Click
Add Rangeafter you done adding all the ranges you need. - Repeat the steps above for each font you need.
Using Included Files
- Prepare your font files. You can use any font you want, but make sure it's in
.ttfor.otfformat. You can convert any font to.ttfor.otfformat using online converters. - Click
Menubutton in the Asset Browser (that one with 3 stripes icon), and then clickIncluded Files. TheIncluded Fileswindow will open, and then clickOpen in Explorer.

- A window will open and show you the
datafilesfolder of your project. Copy your font files there (with its license file). You can also make a folder for your font files, for examplefonts.

- In the
Included Fileswindow, clickRefreshbutton. Your font files should now appear in the list. - Create the font asset from code. Use the
font_add()function to create the font asset. For example:
// font_add(name, size, bold, italic, first, last);
global.font_ja = font_add(working_directory + "fonts/NotoSansJP-Medium.ttf", 32, false, false, 32, 127);
working_directory before the file path.- Repeat step 5 for each font you need.
font_delete() if you don't need it anymore). Pass the 32 to the first parameter, and 128 to the last parameter if you're not sure.