Prusa-Firmware/lang_upgrade
Robert Pelnar d27211a8a7 New ML support - migration - fixed parsing and new data for german
make_msgs.h - modified script for language_de.h
language_de.h - fixed - "lenght" instead of "length"
msgs_de.txt - new generated migration data
lang_en_de.txt - new generated dictionary
lang_de.po - new generated 'po' file
2018-05-30 13:41:55 +02:00
..
src
!upgrade.sh
clean.sh
find_msgs.sh
fix_1.out New ML support - migration - fix_source_1.sh script (replace 'MSG_xx' with '_T(MSG_xx)') 2018-05-23 16:37:08 +02:00
fix_source_1.sh New ML support - migration - fix_source_1.sh script (replace 'MSG_xx' with '_T(MSG_xx)') 2018-05-23 16:37:08 +02:00
make_lang_en_cz.sh
make_lang_en_de.sh New ML support - migration - make_lang_en_xx.sh for all languages 2018-05-27 16:27:34 +02:00
make_lang_en_es.sh New ML support - migration - make_lang_en_xx.sh for all languages 2018-05-27 16:27:34 +02:00
make_lang_en_it.sh New ML support - migration - make_lang_en_xx.sh for all languages 2018-05-27 16:27:34 +02:00
make_lang_en_pl.sh New ML support - migration - make_lang_en_xx.sh for all languages 2018-05-27 16:27:34 +02:00
make_lang_en.sh
make_msgs.out
make_msgs.sh New ML support - migration - fixed parsing and new data for german 2018-05-30 13:41:55 +02:00
make_source.sh
msgs_common_unused.txt
msgs_common_used_more.txt
msgs_common_used_once.txt
msgs_common.txt New ML support - migration - generated files 2018-05-22 03:15:50 +02:00
msgs_cz.txt
msgs_de.txt New ML support - migration - fixed parsing and new data for german 2018-05-30 13:41:55 +02:00
msgs_en_unused.txt
msgs_en_used_more.txt
msgs_en_used_once.txt
msgs_en.txt New ML support - migration - generated files 2018-05-22 03:15:50 +02:00
msgs_es.txt
msgs_it.txt
msgs_pl.txt
msgs_usage.txt
readme.txt
replace_common.out
replace_en.out

lang_upgrade - scripts for migration to new multilanguage support design

upgrade.sh - entire process:
Run scripts: clean.sh, make_msgs.sh, find_msgs.sh, make_source.sh.
Backup (move) all language*.h and language*.cpp files from source to folder '../lang_backup'.
Copy folder ./source/*.* to ../Firmware, new files will be messages.h, messages.c, language.h, language.c and other source will be replaced.
After this step should be source compilable in english version, LANG_MODE in config.h is set to 0 (primary language only)


0. clean.sh
delete all output files

1. make_msgs.sh
Process all language_xx.h files and extract informations to msgs_xx.txt files in simple format.
Every line in msgs_en.txt has following format: MSG_xx c=cc r=rr "text". 
Every line in other msgs_xx.txt has simpler format: MSG_xx "text".
MSG_xx is original message identifier, cc is column count (originaly length) and rr is row count (originaly lines).
Output files msgs_xx.txt are sorted by message identifier (ascending order).
make_msgs.sh also reports number of messages in each language_xx.h file and total number of characters in program memory.

2. find_msgs.sh
Find usage of each message and output listing in to file msgs_usage.txt in format: MSG_xx nn.
MSG_xx is identifier, nn is number of occurrences. Output is sorted by number of occurrences (ascending order).
Generate filtered msgs_en.txt and msgs_common.txt files. Each file is sorted to three output files - unused, used once and used more.
Output files will be:
 msgs_common_unused.txt, msgs_common_used_more.txt, msgs_common_used_once.txt
 msgs_en_unused.txt, msgs_en_used_more.txt, msgs_en_used_once.txt

3. make_source.sh
Copy all source files to folder ./source
Replace all messages used once in all ./source/*.c* files directly with the english version string constant and comment at end of line.
Generate messages.h and messages.c source files with messages used twice and more.
Replace line '' in Marlin_main.cpp with comment.