diff --git a/Resources/panels/BaseShapeOptions.ui b/Resources/panels/BaseShapeOptions.ui
index 92811af..39ffc1b 100644
--- a/Resources/panels/BaseShapeOptions.ui
+++ b/Resources/panels/BaseShapeOptions.ui
@@ -383,7 +383,7 @@
- height of base shape
+ Height of base shape
3
diff --git a/Resources/panels/ExtrudedCutoutPanel.ui b/Resources/panels/ExtrudedCutoutPanel.ui
index 28c0a47..33fba7e 100644
--- a/Resources/panels/ExtrudedCutoutPanel.ui
+++ b/Resources/panels/ExtrudedCutoutPanel.ui
@@ -142,7 +142,7 @@
-
- Symetric
+ Symmetric
-
diff --git a/Resources/panels/SolidCornerReliefPanel.ui b/Resources/panels/SolidCornerReliefPanel.ui
index 1f8ca75..b402a11 100644
--- a/Resources/panels/SolidCornerReliefPanel.ui
+++ b/Resources/panels/SolidCornerReliefPanel.ui
@@ -11,7 +11,7 @@
- Add Cornner Relief on Solid
+ Add Corner Relief on Solid
-
diff --git a/Resources/translations/SheetMetal.ts b/Resources/translations/SheetMetal.ts
index d0e9610..e5f2a25 100644
--- a/Resources/translations/SheetMetal.ts
+++ b/Resources/translations/SheetMetal.ts
@@ -5,9 +5,9 @@
App::Property
-
-
-
+
+
+
@@ -18,8 +18,7 @@
-
-
+
@@ -45,323 +44,568 @@
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+ FlangeParameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Gui::Dialog::DlgSettingsSheetMetal
@@ -405,15 +649,15 @@
Logger
-
+
-
-
-
-
+
+
+
+
@@ -466,12 +710,12 @@
QMessageBox
-
+
-
+
@@ -503,74 +747,103 @@ If the opposite face also fails then switch Refine to false on feature
QObject
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ SMAddJunctionTaskPanel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SMBaseShape
-
+
Property
-
+
Property
-
+
Property
-
+
Property
-
+
Property
-
+
Property
-
+
Property
-
+
Property
-
+
Property
@@ -665,7 +938,7 @@ If the opposite face also fails then switch Refine to false on feature
-
+
@@ -705,44 +978,77 @@ If the opposite face also fails then switch Refine to false on feature
- SMBendOnLineTaskPanel
+ SMBendCornerTaskPanel
-
-
+
+
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SMBendOnLineTaskPanel
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -755,35 +1061,77 @@ If the opposite face also fails then switch Refine to false on feature
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SMCreateBaseShapeTaskPanel
@@ -827,224 +1175,246 @@ If the opposite face also fails then switch Refine to false on feature
SMExtendTaskPanel
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
- SMFlangeAdvancedTaskPanel
+ SMExtrudedCutoutTaskPanel
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
- SMFlangeTaskPanel
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+ SMFlangeAdvancedTaskPanel
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+ SMSolidCornerReliefTaskPanel
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
@@ -1210,87 +1580,117 @@ If the opposite face also fails then switch Refine to false on feature
SheetMetal
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1373,13 +1773,14 @@ If the opposite face also fails then switch Refine to false on feature
-
+
-
+
@@ -1389,11 +1790,8 @@ If the opposite face also fails then switch Refine to false on feature
draft
-
-
-
-
-
+
+
diff --git a/Resources/translations/update_translation.sh b/Resources/translations/update_translation.sh
index 02a934c..766c86c 100755
--- a/Resources/translations/update_translation.sh
+++ b/Resources/translations/update_translation.sh
@@ -79,16 +79,37 @@ update_locale() {
fi
}
+normalize_crowdin_files() {
+ # Rename files which locales are different on FreeCAD and delete not supported locales
+ crowdin_fixes=(af-ZA ar-SA be-BY bg-BG ca-ES cs-CZ da-DK de-DE el-GR eu-ES fi-FI
+ fil-PH fr-FR gl-ES hr-HR hu-HU it-IT ja-JP ka-GE kab-KAB ko-KR lt-LT nl-NL
+ no-NO pl-PL ro-RO ru-RU sk-SK sl-SI sr-SP tr-TR uk-UA vi-VN)
+
+ crowdin_deletes=(az-AZ bn-BD br-FR bs-BA en en-GB en-US eo-UY es-CO es-VE et-EE fa-IR he-IL
+ hi-IN hy-AM id-ID kaa lv-LV mk-MK ms-MY sat-IN si-LK ta-IN te-IN th-TH ur-PK xav yo-NG)
+
+ for pattern in "${crowdin_fixes[@]}"; do
+ find . -type f -name "*_${pattern}\.*" | while read -r file; do
+ mv -v "$file" "${file//-*./.}"
+ done
+ done
+
+ for pattern in "${crowdin_deletes[@]}"; do
+ find . -type f -name "*_${pattern}\.*" -delete
+ done
+}
+
help() {
echo -e "\nDescription:"
echo -e "\tCreate, update and release translation files."
echo -e "\nUsage:"
echo -e "\t./update_translation.sh [-R] [-U] [-r ] [-u ]"
echo -e "\nFlags:"
- echo -e " -R\n\tRelease all locales"
- echo -e " -U\n\tUpdate main translation file (locale agnostic)"
+ echo -e " -R\n\tRelease all translations (qm files)"
+ echo -e " -U\n\tUpdate all translations (ts files)"
echo -e " -r \n\tRelease the specified locale"
echo -e " -u \n\tUpdate strings for the specified locale"
+ echo -e " -N\n\tNormalize CrowdIn filenames"
}
# Main function ------------------------------------------------------------------------------------
@@ -99,19 +120,24 @@ LRELEASE=/usr/lib/qt6/bin/lrelease # from Qt6
# LRELEASE=lrelease # from Qt5
WB="SheetMetal"
-# Enforce underscore on locales
-sed -i '3s/-/_/' ${WB}*.ts
+sed -i '3s/-/_/' ${WB}*.ts # Enforce underscore on locales
+sed -i '3s/\"en\"/\"en_US\"/g' ${WB}*.ts # Use en_US
if [ $# -eq 1 ]; then
if [ "$1" == "-R" ]; then
find . -type f -name '*_*.ts' | while IFS= read -r file; do
# Release all locales
- $LRELEASE "$file"
+ $LRELEASE -nounfinished "$file"
echo
done
elif [ "$1" == "-U" ]; then
- # Update main file (agnostic)
- update_locale
+ for locale in "${supported_locales[@]}"; do
+ update_locale "$locale"
+ done
+ elif [ "$1" == "-u" ]; then
+ update_locale # Update main file (agnostic)
+ elif [ "$1" == "-N" ]; then
+ normalize_crowdin_files
else
help
fi
@@ -120,7 +146,7 @@ elif [ $# -eq 2 ]; then
if is_locale_supported "$LOCALE"; then
if [ "$1" == "-r" ]; then
# Release locale (creation of *.qm file from *.ts file)
- $LRELEASE "${WB}_${LOCALE,,}.ts"
+ $LRELEASE -nounfinished "${WB}_${LOCALE,,}.ts"
elif [ "$1" == "-u" ]; then
# Update main & locale files
update_locale
diff --git a/SheetMetalBaseCmd.py b/SheetMetalBaseCmd.py
index 41c8fb3..4a37b05 100644
--- a/SheetMetalBaseCmd.py
+++ b/SheetMetalBaseCmd.py
@@ -118,7 +118,7 @@ def __init__(self, obj, sketch):
obj.addProperty(
"App::PropertyLength", "thickness", "Parameters", _tip_
).thickness = 1.0
- _tip_ = translate("App::Property", "Relief Type")
+ _tip_ = translate("App::Property", "Bend Plane")
obj.addProperty(
"App::PropertyEnumeration", "BendSide", "Parameters", _tip_
).BendSide = ["Outside", "Inside", "Middle"]
@@ -244,7 +244,7 @@ def GetResources(self):
"ToolTip": translate(
"SheetMetal",
"Create a sheetmetal wall from a sketch\n"
- "1. Select a Skech to create bends with walls.\n"
+ "1. Select a Sketch to create bends with walls.\n"
"2. Use Property editor to modify other parameters",
),
}
diff --git a/SheetMetalFormingCmd.py b/SheetMetalFormingCmd.py
index 5e3c034..1760ad6 100644
--- a/SheetMetalFormingCmd.py
+++ b/SheetMetalFormingCmd.py
@@ -162,7 +162,9 @@ def __init__(self, obj, selobj, selobj_items, seltool, seltool_items):
obj.addProperty("App::PropertyLinkSub", "toolObject", "Parameters",
_tip_).toolObject = (seltool, seltool_items)
_tip_ = FreeCAD.Qt.translate(
- "App::Property", "Point Sketch on Sheetmetal")
+ "App::Property",
+ "Sketch containing circle's points to multiply and pattern the embossed feature",
+ )
obj.addProperty("App::PropertyLink", "Sketch", "Parameters1", _tip_)
obj.Proxy = self