Added basic i18n support for eskimos.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -7s

This commit is contained in:
Willem Cazander 2024-07-10 19:17:40 +02:00
parent e619ac8de7
commit 72c11a15c2
8 changed files with 137 additions and 54 deletions

View file

@ -3,6 +3,7 @@
# #
# Configure make,project,msxbuild # Configure make,project,msxbuild
PATH_BIN := bin PATH_BIN := bin
PATH_SRC := src PATH_SRC := src
PATH_MSXBUILD ?= . PATH_MSXBUILD ?= .
@ -19,52 +20,3 @@ $(call mb_make_call,mb_make_flow_0module,$(PATH_SRC))
$(call mb_make_call,mb_proj_flow_setup,$(PATH_BIN)) $(call mb_make_call,mb_proj_flow_setup,$(PATH_BIN))
$(call mb_make_call,mb_flight_proj_flow_video,$(PATH_BIN)) $(call mb_make_call,mb_flight_proj_flow_video,$(PATH_BIN))
# Add japanese support (TODO move)
ifdef LANG_JP
MB_I18N_ASSERT_SUCCESS = アサート成功
MB_I18N_AUTOEXEC_WRITE = 自動実行の書き込み
MB_I18N_CONV_UNIX2DOS = ディスクシステムの行末に変換
MB_I18N_CONV_DOS2UNIX = メインフレームラインエンドに変換
MB_I18N_PACKAGE_CREATE_ARCHIVE = ビルド配布アーカイブ
MB_I18N_MAKE_CHECK_ARG1 = 引数 一 がありません
MB_I18N_MAKE_CHECK_ARG2 = 引数 二 がありません
MB_I18N_MAKE_CHECK_ARG3 = 引数 三 がありません
MB_I18N_MAKE_CHECK_ARG4 = 引数 四 がありません
MB_I18N_MAKE_CHECK_ARG5 = 引数 五 がありません
MB_I18N_MSXHUB_FILE_FETCH = コンピューターハブファイルを取得する
MB_I18N_MSXROM_FILE_FETCH = 読み取り専用メモリファイルを取得する
MB_I18N_OPENMSX_STARTUP = オープンメッカシステムを開始
MB_I18N_OS_CRAYON_TAG = ©Δ∞ 仙上主天
MB_I18N_PROJ_STEP_BEFORE = フェーズ前
MB_I18N_PROJ_STEP_AFTER = フェーズ後
MB_I18N_PROJ_STEP_DONE = プライムパイターゲットの実行を終了しました
MB_I18N_PROJ_DIR_CREATE = フォルダーの作成
MB_I18N_PROJ_DIR_DELETE = フォルダーの削除
MB_I18N_SDCC_COMPILE = 標準マイクロコンパイラ
MB_I18N_SDCC_ARLIB = 標準マイクロビルドライブラリ
MB_I18N_SDCC_LINK = 標準マイクロリンクメッカ図書館
MB_I18N_SDCC_OBJCOPY = 標準マイクロオブジェクトコピー
MB_I18N_PROJ_PHASEID_CLEAN = クリーン
MB_I18N_PROJ_PHASEDOC_CLEAN = プロジェクトのビルドフォルダーをクリーンアップします。
MB_I18N_PROJ_PHASEID_INIT = 初期化する
MB_I18N_PROJ_PHASEDOC_INIT = モジュール出力フォルダーをセットアップして検証します。
MB_I18N_PROJ_PHASEID_PROCESS = プロセス
MB_I18N_PROJ_PHASEDOC_PROCESS = コンパイル前にソースを処理します。
MB_I18N_PROJ_PHASEID_COMPILE = コンパイル
MB_I18N_PROJ_PHASEDOC_COMPILE = すべてのプロジェクト ソースをコンパイルします。
MB_I18N_PROJ_PHASEID_LINK = リンク
MB_I18N_PROJ_PHASEDOC_LINK = すべてのプロジェクト中間ファイルをリンクします。
MB_I18N_PROJ_PHASEID_BUILD = 建てる
MB_I18N_PROJ_PHASEDOC_BUILD = すべてのプロジェクト成果物をビルドします。
MB_I18N_PROJ_PHASEID_TEST = テスト
MB_I18N_PROJ_PHASEDOC_TEST = すべてのアサーション テストを実行します。
MB_I18N_PROJ_PHASEID_PACKAGE = パッケージ
MB_I18N_PROJ_PHASEDOC_PACKAGE = プロジェクトのパッケージを作成します。
MB_I18N_PROJ_PHASEID_PACKAGE_QA = パッケージの品質保証
MB_I18N_PROJ_PHASEDOC_PACKAGE_QA = すべてのパッケージを実行します。プロジェクトの品質保証。
MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = パッケージのデプロイ
MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY = パッケージをデプロイします。
$(call mb_make_call,mb_proj_flow_setup_i18n)
endif

View file

@ -145,6 +145,7 @@ When you want to see whats happening do a debug run;
## Make4++ backlog issues ## Make4++ backlog issues
* Add a few new define's to have official make documentation * Add a few new define's to have official make documentation
* BUG: Unicode read+parse ok but function call fails on `include $(MB__BASEPATH)/lib/make/प्रणालीᐥᔆʸᔆᐪᓫᔿ/mb_doc.mk`.
* Add function `call_real` which exits on undefined call argument * Add function `call_real` which exits on undefined call argument
* Add -e option to make internal echo command for escaped sequences * Add -e option to make internal echo command for escaped sequences
* Add native OS functions for `os_copy,os_rmfile,rmdir,mkdir,touch,delfile,deldir` * Add native OS functions for `os_copy,os_rmfile,rmdir,mkdir,touch,delfile,deldir`

View file

@ -1,4 +1,7 @@
MB_I18N ?=
$(call mb_make_call,mb_doc_variable,MB_I18N,"The language code to select the i18n pack.")
MB_I18N_ASSERT_SUCCESS ?= Assert successfull MB_I18N_ASSERT_SUCCESS ?= Assert successfull
$(call mb_make_call,mb_doc_variable_i18n,MB_I18N_ASSERT_SUCCESS,"Message for when assertion test is successfull.") $(call mb_make_call,mb_doc_variable_i18n,MB_I18N_ASSERT_SUCCESS,"Message for when assertion test is successfull.")

View file

@ -0,0 +1,45 @@
MB_I18N_ASSERT_SUCCESS = ASSERT OK:
MB_I18N_AUTOEXEC_WRITE = WRITE BOOT:
MB_I18N_CONV_UNIX2DOS = CONV UNIX2DOS:
MB_I18N_CONV_DOS2UNIX = CONV DOS2UNIX:
MB_I18N_PACKAGE_CREATE_ARCHIVE = BUILD ARCHIVE:
MB_I18N_MAKE_CHECK_ARG1 = ARG 1 FAIL
MB_I18N_MAKE_CHECK_ARG2 = ARG 2 FAIL
MB_I18N_MAKE_CHECK_ARG3 = ARG 3 FAIL
MB_I18N_MAKE_CHECK_ARG4 = ARG 4 FAIL
MB_I18N_MAKE_CHECK_ARG5 = ARG 5 FAIL
MB_I18N_MSXHUB_FILE_FETCH = FETCH MSXHUB:
MB_I18N_MSXROM_FILE_FETCH = FETCH MSXROM:
MB_I18N_OPENMSX_STARTUP = BOOT OPENMSX:
MB_I18N_OS_CRAYON_TAG = MSX⁴
MB_I18N_PROJ_STEP_BEFORE = BEFORE $(MB_MAKE_HASH)$(MB_MAKE_HASH)
MB_I18N_PROJ_STEP_AFTER = AFTER $(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)$(MB_MAKE_HASH)
MB_I18N_PROJ_STEP_DONE = BASIC RUN COMPLEET:
MB_I18N_PROJ_DIR_CREATE = FOLDER CREATE:
MB_I18N_PROJ_DIR_DELETE = FOLDER DELETE:
MB_I18N_SDCC_COMPILE = SDCC COMPILE:
MB_I18N_SDCC_ARLIB = SDCC ARLIB:
MB_I18N_SDCC_LINK = SDCC LINK:
MB_I18N_SDCC_OBJCOPY = SDCC OBJCOPY:
MB_I18N_PROJ_PHASEID_CLEAN = CLEAN
MB_I18N_PROJ_PHASEDOC_CLEAN = DELETE STUFF
MB_I18N_PROJ_PHASEID_INIT = INIT
MB_I18N_PROJ_PHASEDOC_INIT = INIT CAKE
MB_I18N_PROJ_PHASEID_PROCESS = PROCESS
MB_I18N_PROJ_PHASEDOC_PROCESS = PROCESS FOOD
MB_I18N_PROJ_PHASEID_COMPILE = COMPILE
MB_I18N_PROJ_PHASEDOC_COMPILE = COMPILE FOOD
MB_I18N_PROJ_PHASEID_LINK = LINK
MB_I18N_PROJ_PHASEDOC_LINK = LINK FOOD CHAIN
MB_I18N_PROJ_PHASEID_BUILD = BUILD
MB_I18N_PROJ_PHASEDOC_BUILD = BUILD LEGO
MB_I18N_PROJ_PHASEID_TEST = TEST
MB_I18N_PROJ_PHASEDOC_TEST = TEST LEGO
MB_I18N_PROJ_PHASEID_PACKAGE = PACKAGE
MB_I18N_PROJ_PHASEDOC_PACKAGE = PACKAGE LEGO
MB_I18N_PROJ_PHASEID_PACKAGE_QA = PACKAGE_QA
MB_I18N_PROJ_PHASEDOC_PACKAGE_QA = PACKAGE BURN LEGO
MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = PACKAGE_DEPLOY
MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY = PACKAGE DEPLOY LEGO

View file

@ -0,0 +1,35 @@
MB_I18N_ASSERT_SUCCESS = ᑲᔪᓯᓂᖃᑦᑎᐊᕐᓂᖅ
MB_I18N_AUTOEXEC_WRITE = ᑎᑎᕋᑲᐅᑎᒋᓂᖅ ᑲᒫᓗᖕᒥᒃ
MB_I18N_CONV_UNIX2DOS = ᐅᐊᔭᐅᑉ ᐃᓱᐊᓄᐊᕐᓗᒍ
MB_I18N_CONV_DOS2UNIX = ᑐᑭᓕᐊᖓᔪᓐᓃᕐᓗᓂ
MB_I18N_PACKAGE_CREATE_ARCHIVE = ᓴᓇᓗᑎᒃ ᑐᖅᑯᐃᕕᒃᓴᓂᑦ
MB_I18N_MAKE_CHECK_ARG1 = ᐊᐃᕙᔾᔪᑎ ᐊᑕᐅᓯᖅ ᐊᔪᖅᑐᖅ
MB_I18N_MAKE_CHECK_ARG2 = ᐊᐃᕙᔾᔪᑎ ᒪᕐᕉᒃ ᐊᔪᖅᑑᒃ
MB_I18N_MAKE_CHECK_ARG3 = ᐊᐃᕙᐅᑎ ᐱᖓᓱᑦ ᐊᔪᖅᑐᑦ
MB_I18N_MAKE_CHECK_ARG4 = ᐊᐃᕙᓂᖅ ᓯᑕᒪᑦ ᑲᔪᓯᓐᓂᖏᑦᑐᖅ
MB_I18N_MAKE_CHECK_ARG5 = ᐊᕐᓴᖅ ᐊᒃᓴᓗᐊᖓ ᐊᔪᓕᖅᑐᖅ
MB_I18N_MSXHUB_FILE_FETCH = ᖃᕆᑕᐅᔭᕐᒥ ᒥᓇᕆᓗᒍ
MB_I18N_MSXROM_FILE_FETCH = ᒥᓇᕆᓗᒍ ᖃᕆᑕᐅᔭᖅ ᐃᖅᑲᐅᒪᔾᔪᑎ
MB_I18N_OPENMSX_STARTUP = ᑲᖏᖅᑐᖅ ᖃᕆᑕᐅᔭᖅ
MB_I18N_OS_CRAYON_TAG = ꜊꜊꜊⋇꜏꜏꜏
MB_I18N_PROJ_STEP_BEFORE = ᓯᕗᓂᐊᓂ
MB_I18N_PROJ_STEP_AFTER = ᑭᖑᓂᖓᓂ
MB_I18N_PROJ_STEP_DONE = ᐱᓕᕆᐊᖅ ᐱᐊᓂᒃᑕᐅᔪᖅ
MB_I18N_PROJ_DIR_CREATE = ᑐᖅᑯᐃᕝᕕᓕᐅᕐᓂᖅ
MB_I18N_PROJ_DIR_DELETE = ᑐᖅᑯᖅᓯᓯᒪᕝᕕᖓ ᐲᔭᖅᑕᐅᓗᓂ
MB_I18N_SDCC_COMPILE = ᖃᕆᑕᐅᔭᕋᓛᖅᓄᐊᑦᓯᓂᖅ
MB_I18N_SDCC_ARLIB = ᖃᕆᑕᐅᔭᕋᓛᖅᑐᖅᑯᖅᑕᐅᓯᒪᔪᑦ
MB_I18N_SDCC_LINK = ᖃᕆᑕᐅᔭᕋᓛᖅᐊᑦᑕᑕᕐᕕᒃᓴ
MB_I18N_SDCC_OBJCOPY = ᖃᕆᑕᐅᔭᕋᓛᖅᐱᖁᑎᐅᑉ ᐊᔾᔨᖓ
MB_I18N_PROJ_PHASEID_CLEAN = ᓴᓗᒪᓗᓂ
MB_I18N_PROJ_PHASEID_INIT = ᐃᑎᖅᓴᖅ
MB_I18N_PROJ_PHASEID_PROCESS = ᐱᓕᕆᔾᔪᓯᖅ
MB_I18N_PROJ_PHASEID_COMPILE = ᓄᐊᑦᓯᓂᖅ
MB_I18N_PROJ_PHASEID_LINK = ᐊᑦᑕᑕᕐᕕᒃᓴ
MB_I18N_PROJ_PHASEID_BUILD = ᓴᓇᓂᖅ
MB_I18N_PROJ_PHASEID_TEST = ᖃᐅᔨᓴᕈᑎ
MB_I18N_PROJ_PHASEID_PACKAGE = ᐴᖅᑲᖅᓯᒪᔪᑦ
MB_I18N_PROJ_PHASEID_PACKAGE_QA = ᐴᖅᑲᖅᓯᒪᔪᑦ−ᖃᖅ
MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = ᐴᖅᑲᖅᓯᒪᔪᑦ−ᐃᓕᔭᐅᔪᑦ

View file

@ -0,0 +1,45 @@
MB_I18N_ASSERT_SUCCESS = アサート成功
MB_I18N_AUTOEXEC_WRITE = 自動実行の書き込み
MB_I18N_CONV_UNIX2DOS = ディスクシステムの行末に変換
MB_I18N_CONV_DOS2UNIX = メインフレームラインエンドに変換
MB_I18N_PACKAGE_CREATE_ARCHIVE = ビルド配布アーカイブ
MB_I18N_MAKE_CHECK_ARG1 = 引数 一 がありません
MB_I18N_MAKE_CHECK_ARG2 = 引数 二 がありません
MB_I18N_MAKE_CHECK_ARG3 = 引数 三 がありません
MB_I18N_MAKE_CHECK_ARG4 = 引数 四 がありません
MB_I18N_MAKE_CHECK_ARG5 = 引数 五 がありません
MB_I18N_MSXHUB_FILE_FETCH = コンピューターハブファイルを取得する
MB_I18N_MSXROM_FILE_FETCH = 読み取り専用メモリファイルを取得する
MB_I18N_OPENMSX_STARTUP = オープンメッカシステムを開始
MB_I18N_OS_CRAYON_TAG = ©Δ∞ 仙上主天
MB_I18N_PROJ_STEP_BEFORE = フェーズ前
MB_I18N_PROJ_STEP_AFTER = フェーズ後
MB_I18N_PROJ_STEP_DONE = プライムパイターゲットの実行を終了しました
MB_I18N_PROJ_DIR_CREATE = フォルダーの作成
MB_I18N_PROJ_DIR_DELETE = フォルダーの削除
MB_I18N_SDCC_COMPILE = 標準マイクロコンパイラ
MB_I18N_SDCC_ARLIB = 標準マイクロビルドライブラリ
MB_I18N_SDCC_LINK = 標準マイクロリンクメッカ図書館
MB_I18N_SDCC_OBJCOPY = 標準マイクロオブジェクトコピー
MB_I18N_PROJ_PHASEID_CLEAN = クリーン
MB_I18N_PROJ_PHASEDOC_CLEAN = プロジェクトのビルドフォルダーをクリーンアップします。
MB_I18N_PROJ_PHASEID_INIT = 初期化する
MB_I18N_PROJ_PHASEDOC_INIT = モジュール出力フォルダーをセットアップして検証します。
MB_I18N_PROJ_PHASEID_PROCESS = プロセス
MB_I18N_PROJ_PHASEDOC_PROCESS = コンパイル前にソースを処理します。
MB_I18N_PROJ_PHASEID_COMPILE = コンパイル
MB_I18N_PROJ_PHASEDOC_COMPILE = すべてのプロジェクト ソースをコンパイルします。
MB_I18N_PROJ_PHASEID_LINK = リンク
MB_I18N_PROJ_PHASEDOC_LINK = すべてのプロジェクト中間ファイルをリンクします。
MB_I18N_PROJ_PHASEID_BUILD = 建てる
MB_I18N_PROJ_PHASEDOC_BUILD = すべてのプロジェクト成果物をビルドします。
MB_I18N_PROJ_PHASEID_TEST = テスト
MB_I18N_PROJ_PHASEDOC_TEST = すべてのアサーション テストを実行します。
MB_I18N_PROJ_PHASEID_PACKAGE = パッケージ
MB_I18N_PROJ_PHASEDOC_PACKAGE = プロジェクトのパッケージを作成します。
MB_I18N_PROJ_PHASEID_PACKAGE_QA = パッケージの品質保証
MB_I18N_PROJ_PHASEDOC_PACKAGE_QA = すべてのパッケージを実行します。プロジェクトの品質保証。
MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY = パッケージのデプロイ
MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY = パッケージをデプロイします。

View file

@ -214,6 +214,7 @@ endef
define mb_proj_flow_setup define mb_proj_flow_setup
$(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_proj_flow_setup,$(1)) $(MB__    )$(call mb_make_call,mb_make_check_arg1,mb_proj_flow_setup,$(1))
$(MB__    )$(eval $(call mb_make_call,__mb_proj_flow_setup,$(1))) $(MB__    )$(eval $(call mb_make_call,__mb_proj_flow_setup,$(1)))
$(MB__    )$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_mb_proj_flow_setup_i18n)))
endef endef
$(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup,"Prints flow of abstract project build cycle.","<build-dirs>") $(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup,"Prints flow of abstract project build cycle.","<build-dirs>")
@ -273,7 +274,7 @@ $(MB__    )$$(call mb_make_call,mb_make_flag_phony,@$$(MB_I18N_PROJ_PHAS
.RECIPEPREFIX := $(MB__RECIPEPREFIX) .RECIPEPREFIX := $(MB__RECIPEPREFIX)
endef endef
define mb_proj_flow_setup_i18n define _mb_proj_flow_setup_i18n
$(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_CLEAN) $(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_CLEAN)
$(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_INIT) $(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_INIT)
$(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PROCESS) $(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PROCESS)
@ -286,5 +287,5 @@ $(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASE
$(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY) $(MB__    )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY)
$(MB__    )$(eval $(call mb_make_call,__mb_proj_flow_setup_i18n)) $(MB__    )$(eval $(call mb_make_call,__mb_proj_flow_setup_i18n))
endef endef
$(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup_i18n,"Prints flow for i18n wrapper of project build cycle.") #$(call mb_make_call,mb_doc_function_flow,_mb_proj_flow_setup_i18n,"Prints flow for i18n wrapper of project build cycle.")

View file

@ -8,8 +8,6 @@ MB__RECIPEPREFIX := $(.RECIPEPREFIX)
MB__BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))../.. MB__BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))../..
MB__BASEPATH_REAL := $(if $(realpath $(MB__BASEPATH)),$(realpath $(MB__BASEPATH)),$(MB__BASEPATH)) MB__BASEPATH_REAL := $(if $(realpath $(MB__BASEPATH)),$(realpath $(MB__BASEPATH)),$(MB__BASEPATH))
# BUG1 Unicode bug in make, read+parse ok but function call fails.
#include $(MB__BASEPATH)/lib/make/प्रणालीᐥᔆʸᔆᐪᓫᔿ/mb_doc.mk
include $(MB__BASEPATH)/lib/make//mb_doc.mk include $(MB__BASEPATH)/lib/make//mb_doc.mk
include $(MB__BASEPATH)/lib/make//mb_make_call.mk include $(MB__BASEPATH)/lib/make//mb_make_call.mk
@ -28,7 +26,10 @@ include $(MB__BASEPATH)/lib/make/mb_flight.mk
include $(MB__BASEPATH)/lib/make/mb_assert.mk include $(MB__BASEPATH)/lib/make/mb_assert.mk
include $(MB__BASEPATH)/lib/make/mb_tool.mk include $(MB__BASEPATH)/lib/make/mb_tool.mk
include $(MB__BASEPATH)/lib/make/mb_proj.mk include $(MB__BASEPATH)/lib/make/mb_proj.mk
include $(MB__BASEPATH)/lib/make/mb_i18n.mk include $(MB__BASEPATH)/lib/make/i18n/mb_i18n.mk
ifneq ("$(MB_I18N)", "off")
-include $(MB__BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk
endif
$(call mb_make_call,mb_doc_variable_rock,MB__RECIPEPREFIX,"Recipe prefix to restore to after flow eval.") $(call mb_make_call,mb_doc_variable_rock,MB__RECIPEPREFIX,"Recipe prefix to restore to after flow eval.")