Commit Graph

5491 Commits

Author SHA1 Message Date
Alex Voinea
dc812dabb2 _O() macro
Ability to get the english (original) variant of a translated message. Helpful for serial messages where translations must be prohibited for compatibility.
2022-07-01 16:01:51 +02:00
3d-gussner
d4d5294964 Revert "Fix Mk2.5/S zip after change PO-based language translation support"
This reverts commit 7162b224a7.

Revert direct push to prusa3d MK3_3.11.1
2022-07-01 08:29:52 +02:00
3d-gussner
7162b224a7 Fix Mk2.5/S zip after change PO-based language translation support
Limit atmegaMK404 boards mem to 8,16,32
2022-07-01 08:26:56 +02:00
3d-gussner
0af88574fb Update to Arduino_boards version 1.0.5-1 2022-06-20 17:04:58 +02:00
3d-gussner
81a8418dd6 C++17 Arduino_boards version 1.0.5-1 2022-06-20 17:02:30 +02:00
3d-gussner
a01c19cade Change backup suffix from ~ to .bak 2022-06-20 17:00:42 +02:00
Yuri D'Elia
0d7680dbf7
New PO-based language translation support (#3471)
* lang: Add a PO language extractor with FW metadata support

Implement a straight-to-po language extractor which supports our custom
language requirements:

- _i/_I/ISTR for text string definitions
- _T for catalog translations (with back-reference support)
- //// EOL comments with:
  - MSG_ catalog entry name identifiers
  - c=X r=Y annotations for screen dimensioning checks
- Crude support for commented lines

All source locations are correctly referenced in the PO, with the
metadata colleted in the comment for further processing.

Several checks are implemented already during extraction:

- Correct catalog name assignment (no duplicates)
- Metadata checks for each entry

Further checks will be implemented by directly checking the translated PO file.

Requires "polib" and "regex" python modules.

* lang: Adapt lang-check to work directly on PO/POT files

* lang: Allow lang-extract to generate stable (pre-sorted) output directly

* lang: Further extend lang-extract consistency/error checking

- Do not parse inside preprocessor conditionals
- Distinguish between references and definitions
- Warn about missing references and definitions

* lang: lang-extract: warn about incorrect PROGMEM assignments

Check that ISTR is used along with PROGMEM_I1 in an attempt to spot
useless translated catalogs.

* lang: lang-extract: Improved handling of same-line translations

Correctly reference metadata on same-line translations.

* lang: lang-extract: Handle _O as a cat-ref

https://github.com/prusa3d/Prusa-Firmware/pull/3434

* lang: lang-extract: Warn about unused catalog definitions

* lang: lang-extract: Allow propagating translation comments via //

The definition:

    code //// definition [// comment]

will check [definition] as before, but blindly accumulate // comment.
The comment is then re-appended back into the PO files for translators
with the form:

    definition
    comment
    comment...

* lang: Fix incorrect display definitions

* lang: lang-extract: Check source encoding/charmap

* lang: Translate the degree symbol

* lang: Unbreak/cleanup DEBUG_SEC_LANG

* lang: Improve meaning of comment

* lang: Split charset conversions into an aux lib for future use

* lang: Implement lang-map.py to extract the translation symbol map

- Extracts the translatable symbol map for further use
- Computes a stable "language signature" from the map itself
- Optionally patches the binary update the symbols

* lang: Check for translation recoding problems

* lang: Implement a transliteration map to post-process translations

TRANS_CHARS is now used to replace unavailable symbols to the source
encoding, only while producing the language catalog.

* lang: Handle/check character replacements in lang-check

Filter the translation through TRANS_CHARS, so that the preview and
length check are performed correctly for expanding replacements such as
'ß' to 'ss'.

* lang: Implement lang-build.py to generate the final language catalog

* Cleanup .gitignore

* lang: Drop txt language files

* lang: Remove outdated translation scripts and obsolete docs

* lang: Update build scripts for new infrastructure

* lang: [no] Integrate accents from po/new/no.po

We now support accents natively

* lang: Remove redundant directory po/new/

* lang: Fix encoding of LCD characters in PO files

* lang: [hr] Fix wrapping in MSG_CRASH_DET_ONLY_IN_NORMAL

* lang: Sort and reformat PO files for further massaging

* lang: Switch to developer (dot) comments for PO metadata

* lang: Allow the IGNORE annotation to skip extraction

* lang: Fix missing/broken language metadata in sources

* lang: Add update-pot.sh and regenerate po/Firmware.pot

* lang: Add update-po.sh and refresh all PO files

* lang: Add summary documentation about the new translation workflow

* Add more ignored files

* CI: Add new required dependencies to travis

* lang: lang-build: Improve warning message

"referenced" was really meaning that data is being duplicated.

* lang: Respect the language order as defined in config.sh

This correctly splits normal and community-made entries during language
selection.

* lang: More typos in the documentation

* lang: Check for the maximum size of each language

Each table needs to fit within LANG_SIZE_RESERVED

* lang: Properly align _SEC_LANG to page boundaries

... instead of relying on _SEC_LANG_TABLE to calculate the offset

* lang: Build support for dual-language hex files

Detect the printer type by checking the current variant type.

On printers with no xflash (MK2*), generate one hex file for each
additional language file by patching the built-in secondary language
table during the build process

* lang: Mention lang-patchsec.py

* lang: Use color() instead of tput for clarity

* lang: Allow disabling terminal colors with NO_COLOR/TERM=dumb

* lang: Consistent use of redirection in config.sh

* lang: Stricter variant-type check for xflash support

* lang: Output size stats when building double-language hex files

* lang: Respect NO_COLOR in lang-check.py

* lang: Check for repeated/incorrect annotations

Catch errors such as "c=1 c=2"

* lang: Correct MSG_SLIGHT_SKEW/MSG_SEVERE_SKEW annotations

* lang: [it] Improve MSG_*_SKEW translation

* lang: Use INTLHEX instead of OUTHEX_P/S for configuration

We already have OUTHEX which is the compiled firmware.

Use INTLHEX for the final internationalized firmware, which is less
confusing. Also, assume it being a prefix for all generated hex
files, which reduces the number of variables set.

* lang: Move lang_map to lib.io for further use

* lang: lang-check: Accept a firmware map file to suppress unused string warnings

* lang: Use the map file to reduce useless warnings during fw-build

* lang: lang-check: Also suppress unused empty annotations

* lang: Fix MSG_MOVE_CARRIAGE_TO_THE_TOP_Z annotation

Refresh pot file

* lang: lang-check: Do not warn about same-word translations by default

Do not warn when one-word translations such as "No" result in "No" also
in other languages, since this is common in latin languages.

Allow to re-enable the warning with --warn-same

* lang: lang-build: Handle same-source/translation efficiently

* lang: [it] Explicitly add On/Off/Reset/Wizard to suppress warnings

Instead of displaying a warning, supress the warning and explicitly
translate each entry using english (which is the common/acceptable
word in these cases).

* lang: [it] Suppress more warnings

* lang: lang-check: Add intermediate "suggest" warning category

Warnings in the "suggest" category as shown as [S] as based on pure
speculation from the checking tool, such as the translation being
significantly shorter than the original.

As a result, they can be suppressed with --no-suggest

* lang: Return translation status from lang-check

- 0 if the translation only contains suggestions
- 1 if the translation contains warnings or errors

Check for the exit status in fw-build.sh, but do nothing at the moment
except printing a non-fatal error.

* lang: Remove "trim_trailing_whitespace=false" for po files

PO files got cleaned up/rewritten. We can now ensure they stay
consistent.

* lang: [sv] Re-integrate changes from 70c73cb

* lang: [no] Reintegrate changes from @pkg2000
2022-06-16 15:03:30 +02:00
3d-gussner
880853650d
Version changed (3.11.1-RC1 build 4987) 2022-06-13 12:03:48 +02:00
3d-gussner
38081f0a30
Merge pull request #3505 from 3d-gussner/MK3_3.11.1_Pre-release
Pre-release FW3.11.1
2022-05-24 16:27:15 +02:00
3d-gussner
53046ffeee Update diacritics in Swedish and Norwegian Firmware_xx.po files 2022-05-24 09:06:46 +02:00
3d-gussner
44eb9d4ff9 Updated Norwegian files 2022-05-24 08:27:12 +02:00
3d-gussner
d3df8389ef Merge branch 'MK3_3.11.1_Pre-release' of https://github.com/3d-gussner/Prusa-Firmware into MK3_3.11.1_Pre-release 2022-05-24 08:15:04 +02:00
3d-gussner
70c73cbf6b Pre-release po file update 2022-05-24 08:14:24 +02:00
DRracer
aa59d9b5eb
Merge pull request #3508 from 3d-gussner/MK3_3.11.1_Norwegian
Update Norwegian community translation PFW-1296 (fixed)
2022-05-24 08:06:03 +02:00
3d-gussner
3ae4b6d329 Merge remote-tracking branch 'pkg2000/MK3_3.11.0' into HEAD
Fix merge issues and POEdit double `\\` to `\`
Update `lang_en_no.txt`
Enable Norwegian translation in `config.h`

Tested on MK404 MK3S
2022-05-24 07:28:10 +02:00
3d-gussner
4cd5777380 Pre-release po file update 2022-05-23 19:51:35 +02:00
Jakub Dolezal
f893d93d63
Merge pull request #3472 from 3d-gussner/PFW-1306_help_prusa3d_com
PFW-1306 help.prusa3d.com
2022-04-26 10:38:33 +02:00
pkg2000
a319e32c7e Update no.po
hah, can you believe it. In Extruder info, nozzle fan is the extruder fan..
2022-04-20 17:30:02 +02:00
pkg2000
137e607fef Update no.po
Mistake in naming of FAN with capitol within Extruder info, under Support. Fixed here.
2022-04-20 16:38:55 +02:00
pkg2000
8cc89c7207 Update no.po
Sorry. last one. Unified fan names
2022-04-20 14:02:19 +02:00
pkg2000
859f6215a9 Update no.po
Changes based on @trondkla feedback. exceptions to his suggestions have been discussed and agreed upon (most were due to char. count and linebreak limitations.) Vocabulary/wording ready. now just need to test how everything render on the screen.
2022-04-20 13:57:56 +02:00
3d-gussner
312f3070c2 Use/show help.prusa3d.com instead of howto.prusa3d.com 2022-04-13 13:33:26 +02:00
3d-gussner
e58495ef39
Merge pull request #3466 from prusa3d/MK3_3.10.2
PFW-1303: Reset pullups on ADC
2022-04-13 13:15:52 +02:00
Alex Voinea
b52597f1b2
Merge branch 'MK3_3.11.1' into MK3_3.10.2 2022-04-07 14:05:34 +02:00
D.R.racer
6b6e06695f Version changed (3.11.0 build 4955) 2022-04-07 09:38:13 +02:00
DRracer
b1bb1d9d05
Merge pull request #3462 from 3d-gussner/MK3_3.11.0_Fix_Typo_Slovak
Fix typo in Slovak
2022-04-07 07:16:38 +02:00
pkg2000
b03acf0d03 Update no.po
Changed printfan (printvifte) to Nozzle fan (dysevifte).
Wizard (Veileder) reference improved in longer text.
Cleaned up linebreaks
Bed level correct -> Planecorrection (Plankorreksjon).
few minor typos fixed and found

Warning: Gt desktop or Poedit keeps adding an extra \ , when using \x0a (Linebreak)
2022-04-06 16:47:26 +02:00
3d-gussner
14f07963ac Fix typo in Slovak thanks to Prusa test team 2022-04-05 15:07:45 +02:00
pkg2000
d00b20ee62 Update no.po
More fixes.
2022-03-31 17:22:23 +02:00
pkg2000
c2e56f6a4a Update no.po
Some new updates and fixes.
2022-03-31 17:12:51 +02:00
DRracer
509c13a9c1
Merge pull request #3446 from 3d-gussner/MK3_3.11.0_Swedish2
PFW-1295: Final changes to Swedish for FW3.11.0
2022-03-23 10:32:47 +01:00
3d-gussner
4752b2b479 Disable Norwegian 2022-03-23 10:18:16 +01:00
3d-gussner
d2a542b554 Update from from [commit](a05287cb2f) 2022-03-20 18:41:27 +01:00
3d-gussner
b244cedd7f Add Swedish pa to conversion
Update po files
2022-03-18 15:45:39 +01:00
3d-gussner
9a3f412aad Forgot saving one file 2022-03-17 18:33:53 +01:00
3d-gussner
8bd3b473c4 Last fixes in Swedish 2022-03-17 18:26:45 +01:00
DRracer
09c53408af
Merge pull request #3426 from 3d-gussner/MK3_3.11.0_Improve_languages2
PFW-1297: Improve languages part 2
2022-03-17 13:20:11 +01:00
3d-gussner
bf20d18711 Fix French check 2022-03-16 11:55:51 +01:00
3d-gussner
92e733fdcb Update po files 2022-03-16 11:37:24 +01:00
3d-gussner
3954c44bc9 update all languages files 2022-03-16 09:24:06 +01:00
3d-gussner
19b4c333c0 Improve lang import and cleanup 2022-03-16 09:23:34 +01:00
3d-gussner
85a5986e9e Update ////MSG... for lang-add.sh 2022-03-16 09:01:14 +01:00
3d-gussner
7a64210043 Check if translation isn't equal to origin
Removed identical translations/origin all lang files incl. po files,
which saves some xflash space
2022-03-14 13:29:21 +01:00
3d-gussner
12b184cf68 Add missing MSG_SHEET_OFFSET to translations 2022-03-12 12:34:08 +01:00
3d-gussner
61695eebcc Add \x04Refresh translations 2022-03-12 11:55:25 +01:00
3d-gussner
3aab3b7148 Delete old translations
- `Current`
- `Used during print`
- `Error - static memory has been overwritten`
2022-03-12 11:23:45 +01:00
3d-gussner
7c55cf801b Fix additional merge issues
Update lang-??port.sh scripts
2022-03-12 10:51:26 +01:00
3d-gussner
764a1fd411 Merge remote-tracking branch 'upstream/MK3_3.11.0' into MK3_3.11.0_Improve_languages2
Fix Swedish merge issues
2022-03-12 09:44:00 +01:00
3d-gussner
7265174a93 Update lang-??port.sh documentation 2022-03-12 08:58:24 +01:00
3d-gussner
08332a8942
Merge pull request #3349 from 3d-gussner/MK3_3.11.0_Swedish
Swedish / Svenska / Sverige community translation
2022-03-12 08:55:30 +01:00