Teacup #7 – How to use your own natural language

How to Make GTLang Speak Your Language


Programming is universal, but languages are not

Long ago, we accepted one rule without questioning it:

Programming must be written in English.

if, for, while, return
We learned them not because they are logical —
but because they are English.

For many people around the world, this creates a silent barrier:

  • You must learn English

  • Before you can learn programming

  • Before you can express ideas

GTLang challenges that idea.


The core idea: syntax should not limit thinking

In GTLang, keywords are just words.

And words can be translated.

That means:

  • Beginners can learn programming in their native language

  • Teachers can teach logic without teaching English first

  • Programming becomes more human, less foreign

This is not about replacing English.
It’s about giving people a choice.


What does “adding a language” mean in GTLang?

When you add a language to GTLang, you are not changing:

  • How the language works

  • How programs are executed

  • How logic behaves

You are only changing:

  • Keywords

  • Built-in command names

  • Reserved words

The engine stays the same.
Only the surface language changes.


How GTLang handles multiple languages

GTLang uses a language definition file (.gtl) to map keywords.

Think of it like a dictionary:

English word → Your language word

When GTLang reads your source code:

  1. It loads the language file

  2. It translates keywords internally

  3. It executes the program normally

This means:

  • Performance is the same

  • Features are unchanged

  • Only readability changes


Step 1: Get the language template

To create a new language, start from the official template file:

language.template.gtl

You can find it in the GTLang repository.

This file contains all keywords and commands used by GTLang.


Step 2: Understand the structure of a .gtl file

A language file looks like this:

if=if
else=else
for=for
echo=echo
number=number

Left side:

  • Internal keyword used by GTLang

Right side:

  • Word you want to use in your language

This is simple by design.


Step 3: Translate keywords into your language

Let’s say you want to create a Vietnamese version.

You might write:

if=neu
else=nguoc_lai
for=lap
echo=in_ra

Now GTLang understands both:

  • The logic

  • Your chosen words

You are not hacking the language.
You are teaching it vocabulary.


Step 4: Save your language file

Save your file with a clear name, for example:

vi.gtl

Or:

my_language.gtl

There is no strict naming rule — clarity matters more.


Step 5: Use your language file in a program

To activate your language, add this line to your source file:

#language_file vi.gtl

Important rule:

  • #language_file must be on the second line of the file

Example full file:

#!/bin/gtlang
#language_file vi.gtl

neu $age >= 18
@in_ra "Ban la nguoi lon"
nguoc_lai
@in_ra "Ban chua du tuoi"

This is valid GTLang.

The engine still understands it perfectly.


What can be translated (and what cannot)

✅ Can be translated

  • Keywords (if, for, else, return)

  • Built-in function names

  • Class names

  • Variable names

❌ Cannot be translated

  • String literals

Example:

@echo "Hello world"

The string "Hello world" stays exactly the same.

This avoids ambiguity and keeps programs predictable.


Why this feature matters (beyond syntax)

This is not just a technical trick.

It allows:

  • Teaching children programming in their native language

  • Learning logic without memorizing English

  • Writing educational material for local communities

  • Making programming feel less foreign

Very few languages even attempt this.

GTLang does — intentionally.


A gentle warning (use wisely)

While native-language keywords are powerful, a balanced approach works best:

  • Use native language for learning

  • Use English when collaborating globally

GTLang does not force a choice.
It allows evolution.


Final thoughts – Language should help, not block

Programming is about thinking.

Thinking happens most clearly in the language you know best.

GTLang believes:

  • Ideas come before syntax

  • Logic comes before keywords

  • Humans come before machines

If a language helps people think more clearly —
then it is doing its job.


Where to go next

You can:

  • Create and share your language file

  • Teach GTLang in your community

  • Mix languages gradually

  • Explore how syntax affects learning

Programming doesn’t have to start in English.

With GTLang, it doesn’t.

☕🌱