Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -2754,10 +2754,10 @@
*
* Select the language to display on the LCD. These languages are available:
*
* en, an, bg, ca, cz, da, de, el, el_CY, es, eu, fi, fr, gl, hr, hu, it,
* en, an, bg, ca, cz, da, de, el, el_CY, es, eu, fi, fr, gl, hg, hr, hu, id, it,
* jp_kana, ko_KR, nl, pl, pt, pt_br, ro, ru, sk, sv, tr, uk, vi, zh_CN, zh_TW
*
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek (Greece)', 'el_CY':'Greek (Cyprus)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'hu':'Hungarian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ro':'Romanian', 'ru':'Russian', 'sk':'Slovak', 'sv':'Swedish', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)' }
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek (Greece)', 'el_CY':'Greek (Cyprus)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hg':'Hinglish (Hindi-Latin)', 'hr':'Croatian', 'hu':'Hungarian', 'id':'Indonesian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ro':'Romanian', 'ru':'Russian', 'sk':'Slovak', 'sv':'Swedish', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)' }
*/
#define LCD_LANGUAGE en

Expand Down
2 changes: 2 additions & 0 deletions Marlin/src/core/language.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,10 @@
// fr French
// fr_na French without accents (DWIN T5UID1 touchscreen)
// gl Galician
// hg Hinglish (Hindi in Latin script)
// hr Croatian
// hu Hungarian
// id Indonesian (Bahasa)
// it Italian
// jp_kana Japanese
// ko_KR Korean (South Korea)
Expand Down
11 changes: 11 additions & 0 deletions Marlin/src/lcd/dogm/fontdata/langdata_hg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Generated automatically by buildroot/share/fonts/uxggenpages.sh
* Contents will be REPLACED by future processing!
* Use genallfont.sh to generate font data for updated languages.
*/
#pragma once

#include "langdata.h"

// Hinglish uses the base ISO10646-1 pages, so no extra glyphs are needed.
static const uxg_fontinfo_t g_fontinfo_hg[] PROGMEM = {};
11 changes: 11 additions & 0 deletions Marlin/src/lcd/dogm/fontdata/langdata_id.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Generated automatically by buildroot/share/fonts/uxggenpages.sh
* Contents will be REPLACED by future processing!
* Use genallfont.sh to generate font data for updated languages.
*/
#pragma once

#include "langdata.h"

// Indonesian reuses the base ISO10646-1 font set; no extra glyphs needed.
static const uxg_fontinfo_t g_fontinfo_id[] PROGMEM = {};
107 changes: 107 additions & 0 deletions Marlin/src/lcd/language/language_hg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2026 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* Hinglish (Hindi-Latin)
*
* LCD Menu Messages
* See also https://marlinfw.org/docs/development/lcd_language.html
*
* Substitutions are applied for the following characters when used in menu items titles:
*
* $ displays an inserted string
* { displays '0'....'10' for indexes 0 - 10
* ~ displays '1'....'11' for indexes 0 - 10
* * displays 'E1'...'E11' for indexes 0 - 10 (By default. Uses LCD_FIRST_TOOL)
* @ displays an axis name such as XYZUVW, or E for an extruder
*/

/**
* Imported from out-csv/language_hg.csv on 2026-02-27 at 14:31:47
*/

#define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7

namespace LanguageNarrow_hg {
using namespace Language_en; // Inherit undefined strings from English

constexpr uint8_t CHARSIZE = 2;
LSTR LANGUAGE = _UxGT("Hinglish");

LSTR WELCOME_MSG = MACHINE_NAME_SUBST _UxGT(" taiyaar.");
LSTR MSG_MEDIA_INSERTED = _UxGT("Card lagi");
LSTR MSG_MEDIA_REMOVED = _UxGT("Card nikal gayi");
LSTR MSG_MAIN_MENU = _UxGT("Mukhya Menu");
LSTR MSG_DISABLE_STEPPERS = _UxGT("Motor band");
LSTR MSG_AUTO_HOME = _UxGT("Auto Ghar");
LSTR MSG_AUTO_HOME_X = _UxGT("Ghar X");
LSTR MSG_AUTO_HOME_Y = _UxGT("Ghar Y");
LSTR MSG_AUTO_HOME_Z = _UxGT("Ghar Z");
LSTR MSG_LEVEL_BED_WAITING = _UxGT("Start ke liye click");
LSTR MSG_LEVEL_BED_NEXT_POINT = _UxGT("Agla point");
LSTR MSG_LEVEL_BED_DONE = _UxGT("Leveling ho gaya!");
LSTR MSG_SET_HOME_OFFSETS = _UxGT("Home offset set karo");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets lage");
LSTR MSG_PREHEAT_1_ALL = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Sab");
LSTR MSG_PREHEAT_1_BEDONLY = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Bed");
LSTR MSG_COOLDOWN = _UxGT("Thanda karo");
LSTR MSG_SWITCH_PS_ON = _UxGT("Power chalu");
LSTR MSG_SWITCH_PS_OFF = _UxGT("Power band");
LSTR MSG_EXTRUDE = _UxGT("Nikalna");
LSTR MSG_RETRACT = _UxGT("Wapas lena");
LSTR MSG_MOVE_AXIS = _UxGT("Axis hilaao");
LSTR MSG_LEVEL_BED = _UxGT("Bed Satao");
LSTR MSG_MOVE_X = _UxGT("X hilaao");
LSTR MSG_MOVE_Y = _UxGT("Y hilaao");
LSTR MSG_MOVE_Z = _UxGT("Z hilaao");
LSTR MSG_MOVE_E = _UxGT("Extruder");
LSTR MSG_FAN_SPEED = _UxGT("Pankha gati");
LSTR MSG_CONTROL = _UxGT("Niyantran");
LSTR MSG_TEMPERATURE = _UxGT("Tapmaan");
LSTR MSG_STOP_PRINT = _UxGT("Print roko");
LSTR MSG_YES = _UxGT("Haan");
LSTR MSG_NO = _UxGT("Nahi");
LSTR MSG_BACK = _UxGT("Peeche");
LSTR MSG_CONFIGURATION = _UxGT("Settings");
LSTR MSG_BUTTON_NEXT = _UxGT("Aage");
LSTR MSG_BUTTON_INIT = _UxGT("Shuru");
LSTR MSG_HOME_ALL = _UxGT("Sab Ghar");
}

namespace LanguageWide_hg {
using namespace LanguageNarrow_hg;
#if LCD_WIDTH > 20 || HAS_DWIN_E3V2
#endif
}

namespace LanguageTall_hg {
using namespace LanguageWide_hg;
#if LCD_HEIGHT >= 4
// Filament Change screens show up to 3 lines on a 4-line display
#endif
}

namespace Language_hg {
using namespace LanguageTall_hg;
}
114 changes: 114 additions & 0 deletions Marlin/src/lcd/language/language_id.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2026 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

/**
* Indonesian
*
* LCD Menu Messages
* See also https://marlinfw.org/docs/development/lcd_language.html
*
* Substitutions are applied for the following characters when used in menu items titles:
*
* $ displays an inserted string
* { displays '0'....'10' for indexes 0 - 10
* ~ displays '1'....'11' for indexes 0 - 10
* * displays 'E1'...'E11' for indexes 0 - 10 (By default. Uses LCD_FIRST_TOOL)
* @ displays an axis name such as XYZUVW, or E for an extruder
*/

/**
* Imported from out-csv/language_id.csv on 2026-02-27 at 14:31:51
*/

#define DISPLAY_CHARSET_ISO10646_1
#define NOT_EXTENDED_ISO10646_1_5X7

namespace LanguageNarrow_id {
using namespace Language_en; // Inherit undefined strings from English

constexpr uint8_t CHARSIZE = 2;
LSTR LANGUAGE = _UxGT("Bahasa Indonesia");

LSTR WELCOME_MSG = MACHINE_NAME_SUBST _UxGT(" siap.");
LSTR MSG_MEDIA_INSERTED = _UxGT("Kartu terpasang");
LSTR MSG_MEDIA_REMOVED = _UxGT("Kartu dilepas");
LSTR MSG_LCD_ENDSTOPS = _UxGT("Endstop");
LSTR MSG_MAIN_MENU = _UxGT("Menu Utama");
LSTR MSG_DISABLE_STEPPERS = _UxGT("Matikan motor");
LSTR MSG_LEVEL_BED_HOMING = _UxGT("Homing XYZ");
LSTR MSG_LEVEL_BED_WAITING = _UxGT("Klik untuk mulai");
LSTR MSG_LEVEL_BED_NEXT_POINT = _UxGT("Titik berikutnya");
LSTR MSG_LEVEL_BED_DONE = _UxGT("Perataan selesai!");
LSTR MSG_SET_HOME_OFFSETS = _UxGT("Setel offset home");
LSTR MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset diterapkan");
LSTR MSG_PREHEAT_1 = _UxGT("Panaskan ") PREHEAT_1_LABEL;
LSTR MSG_PREHEAT_1_ALL = _UxGT("Panaskan ") PREHEAT_1_LABEL _UxGT(" semua");
LSTR MSG_PREHEAT_1_BEDONLY = _UxGT("Panaskan ") PREHEAT_1_LABEL _UxGT(" bed");
LSTR MSG_COOLDOWN = _UxGT("Dinginkan");
LSTR MSG_SWITCH_PS_ON = _UxGT("Hidupkan daya");
LSTR MSG_SWITCH_PS_OFF = _UxGT("Matikan daya");
LSTR MSG_EXTRUDE = _UxGT("Ekstrusi");
LSTR MSG_RETRACT = _UxGT("Tarik balik");
LSTR MSG_MOVE_AXIS = _UxGT("Gerak sumbu");
LSTR MSG_LEVEL_BED = _UxGT("Ratakan bed");
LSTR MSG_MOVE_X = _UxGT("Gerak X");
LSTR MSG_MOVE_Y = _UxGT("Gerak Y");
LSTR MSG_MOVE_Z = _UxGT("Gerak Z");
LSTR MSG_MOVE_E = _UxGT("Ekstruder");
LSTR MSG_FAN_SPEED = _UxGT("Kecep. kipas");
LSTR MSG_FLOW = _UxGT("Aliran");
LSTR MSG_CONTROL = _UxGT("Kontrol");
LSTR MSG_TEMPERATURE = _UxGT("Suhu");
LSTR MSG_STOP_PRINT = _UxGT("Hentikan cetak");
LSTR MSG_DEBUG_MENU = _UxGT("Menu debug");
LSTR MSG_PROGRESS_BAR_TEST = _UxGT("Tes bar kemajuan");
LSTR MSG_YES = _UxGT("Ya");
LSTR MSG_NO = _UxGT("Tidak");
LSTR MSG_BACK = _UxGT("Kembali");
LSTR MSG_MEDIA_READ_ERROR = _UxGT("Kesalahan baca media");
LSTR MSG_LCD_SOFT_ENDSTOPS = _UxGT("Endstop lunak");
LSTR MSG_ADVANCED_SETTINGS = _UxGT("Pengaturan lanjut");
LSTR MSG_CONFIGURATION = _UxGT("Konfigurasi");
LSTR MSG_BUTTON_NEXT = _UxGT("Lanjut");
LSTR MSG_BUTTON_INIT = _UxGT("Mulai");
LSTR MSG_HOME_ALL = _UxGT("Home semua");
LSTR MSG_PREHEAT_2 = _UxGT("Panaskan ") PREHEAT_2_LABEL;
LSTR MSG_PREHEAT = _UxGT("Panaskan");
}

namespace LanguageWide_id {
using namespace LanguageNarrow_id;
#if LCD_WIDTH > 20 || HAS_DWIN_E3V2
#endif
}

namespace LanguageTall_id {
using namespace LanguageWide_id;
#if LCD_HEIGHT >= 4
// Filament Change screens show up to 3 lines on a 4-line display
#endif
}

namespace Language_id {
using namespace LanguageTall_id;
}
2 changes: 1 addition & 1 deletion buildroot/share/fonts/genallfont.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ fi
#
# By default loop through all languages
#
LANGS_DEFAULT="an bg ca cz da de el el_CY en es eu fi fr fr_na gl hr hu it jp_kana ko_KR nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test"
LANGS_DEFAULT="an bg ca cz da de el el_CY en es eu fi fr fr_na gl hg hr hu id it jp_kana ko_KR nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test"

DN_WORK=$(mktemp -d)
open "$DN_WORK"
Expand Down
2 changes: 2 additions & 0 deletions buildroot/share/scripts/languageUtil.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@
'fr': { 'size':2, 'iso': "1", 'name':"French" },
'fr_na': { 'size':1, 'iso': "1", 'name':"French (no accent)", 'noext':1 },
'gl': { 'size':1, 'iso': "1", 'name':"Galician" },
'hg': { 'size':2, 'iso': "1", 'name':"Hinglish (Hindi-Latin)", 'noext':1 },
'hr': { 'size':2, 'iso': "1", 'name':"Croatian (Hrvatski)" },
'hu': { 'size':2, 'name':"Hungarian / Magyar" },
'id': { 'size':2, 'iso': "1", 'name':"Indonesian", 'noext':1 },
'it': { 'size':1, 'iso': "1", 'name':"Italian" },
'jp_kana': { 'size':3, 'iso': "KANA", 'name':"Japanese (Kana)" },
'ko_KR': { 'size':1, 'name':"Korean" },
Expand Down
4 changes: 2 additions & 2 deletions buildroot/tests/mega2560
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,11 @@ exec_test $1 $2 "Azteeg X3 | Mixing Extruder (x5) | Gradient Mix | Input Shaping
#
#restore_configs
#opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT
#for lang in an bg ca cz da de el el_CY en es eu fi fr gl hr hu it jp_kana nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff" "$3"; done
#for lang in an bg ca cz da de el el_CY en es eu fi fr gl hg hr hu id it jp_kana nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff" "$3"; done
#
#restore_configs
#opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT
#for lang in an bg ca cz da de el el_CY en es eu fi fr gl hr hu it jp_kana nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff" "$3"; done
#for lang in an bg ca cz da de el el_CY en es eu fi fr gl hg hr hu id it jp_kana nl pl pt pt_br ro ru sk sv tr uk vi zh_CN zh_TW test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; exec_test $1 $2 "Stuff" "$3"; done

######## Example Configurations ##############
#
Expand Down
Loading