From 16e7993a65bc2104c7d957e3db62a07a4597449c Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Tue, 18 Oct 2022 18:25:22 +0800 Subject: [PATCH] ENH:update mo of dailytip Change-Id: I168159af60bbda827d24238f656aeaa192fd4299 --- CMakeLists.txt | 3 + bbl/i18n/BambuStudio.pot | 96 +++++++++++++- bbl/i18n/de/BambuStudio_de.po | 172 +++++++++++++++++++++++- bbl/i18n/en/BambuStudio_en.po | 172 +++++++++++++++++++++++- bbl/i18n/es/BambuStudio_es.po | 172 +++++++++++++++++++++++- bbl/i18n/fr/BambuStudio_fr.po | 172 +++++++++++++++++++++++- bbl/i18n/hu/BambuStudio_hu.po | 172 +++++++++++++++++++++++- bbl/i18n/list.txt | 1 + bbl/i18n/nl/BambuStudio_nl.po | 172 +++++++++++++++++++++++- bbl/i18n/sv/BambuStudio_sv.po | 172 +++++++++++++++++++++++- bbl/i18n/zh_cn/BambuStudio_zh_CN.po | 194 +++++++++++++++++++++++++++- resources/data/hints.ini | 4 +- resources/i18n/zh_cn/BambuStudio.mo | Bin 159594 -> 166659 bytes src/slic3r/GUI/HintNotification.cpp | 74 ++++++++++- 14 files changed, 1563 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d15c3e5c..680a9515d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -507,6 +507,7 @@ add_custom_target(gettext_make_pot COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost -f "${BBL_L18N_DIR}/list.txt" -o "${BBL_L18N_DIR}/BambuStudio.pot" + COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate pot file from strings in the source tree" ) @@ -660,6 +661,8 @@ endfunction() add_subdirectory(src) set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT BambuStudio_app_gui) +add_dependencies(gettext_make_pot hintsToPot) + # Perl bindings, currently only used for the unit / integration tests of libslic3r. # Also runs the unit / integration tests. #FIXME Port the tests into C++ to finally get rid of the Perl! diff --git a/bbl/i18n/BambuStudio.pot b/bbl/i18n/BambuStudio.pot index d93ac9176..63f831047 100644 --- a/bbl/i18n/BambuStudio.pot +++ b/bbl/i18n/BambuStudio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3750,6 +3750,12 @@ msgstr "" msgid "Modifying the device name" msgstr "" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "" @@ -6623,3 +6629,91 @@ msgstr "" #, possible-c-format, possible-boost-format msgid "Support: propagate branches at layer %d" msgstr "" + +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "3D Scene Operations\nDid you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "Cut Tool\nDid you know that you can cut a model at any angle and position with the cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "Fix Model\nDid you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on face\" function or press the F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "Object List\nDid you know that you can view all objects/parts in a list and change settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "Slicing Parameter Table\nDid you know that you can view all objects/parts on a table and change settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "Split to Objects/Parts\nDid you know that you can split a big object into small ones for easy colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nBambu Studio supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "Z seam location\nDid you know that you can customize the location of the Z seam, and even paint it on your print, to have it in a less visible location? This improves the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "Fine-tuning for flow rate\nDid you know that flow rate can be fine-tuned for even better-looking prints? Depending on the material, you can improve the overall finish of the printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "Split your prints into plates\nDid you know that you can split a model that has a lot of parts into individual plates ready to print? This will simplify the process of keeping track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] +msgid "Speed up your print with Adaptive Layer Height\nDid you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "Support painting\nDid you know that you can paint the location of your supports? This feature makes it easy to place the support material only on the sections of the model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "Different types of supports\nDid you know that you can choose from multiple types of supports? Tree supports work great for organic models, while saving filament and improving print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "Printing Silk Filament\nDid you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "Set parameters for multiple objects\nDid you know that you can set slicing parameters for all selected objects at one time?" +msgstr "" diff --git a/bbl/i18n/de/BambuStudio_de.po b/bbl/i18n/de/BambuStudio_de.po index 220f987e4..9141ec867 100644 --- a/bbl/i18n/de/BambuStudio_de.po +++ b/bbl/i18n/de/BambuStudio_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3960,6 +3960,12 @@ msgstr "Druckauftrag vorbereiten" msgid "Modifying the device name" msgstr "Den Gerätenamen ändern" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Drucker anmelden" @@ -7218,6 +7224,170 @@ msgstr "Support: Löcher in Schicht %d repairieren" msgid "Support: propagate branches at layer %d" msgstr "Support: Verbreiten von Zweigen auf Ebene %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Gemaltes löschen" diff --git a/bbl/i18n/en/BambuStudio_en.po b/bbl/i18n/en/BambuStudio_en.po index adf5949b8..f07bdac17 100644 --- a/bbl/i18n/en/BambuStudio_en.po +++ b/bbl/i18n/en/BambuStudio_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3894,6 +3894,12 @@ msgstr "Preparing print job" msgid "Modifying the device name" msgstr "Modifying the device name" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Log in printer" @@ -7072,6 +7078,170 @@ msgstr "Support: fix holes at layer %d" msgid "Support: propagate branches at layer %d" msgstr "Support: propagate branches at layer %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Erase painting" diff --git a/bbl/i18n/es/BambuStudio_es.po b/bbl/i18n/es/BambuStudio_es.po index b24db698f..5a5c62e16 100644 --- a/bbl/i18n/es/BambuStudio_es.po +++ b/bbl/i18n/es/BambuStudio_es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3958,6 +3958,12 @@ msgstr "Preparando el trabajo de impresión" msgid "Modifying the device name" msgstr "Modificar el nombre del dispositivo" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Iniciar sesión en la impresora" @@ -7202,6 +7208,170 @@ msgstr "Soporte: arreglar huecos en la capa %d" msgid "Support: propagate branches at layer %d" msgstr "Soporte: propagar ramas en la capa %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Borrar lo pintado" diff --git a/bbl/i18n/fr/BambuStudio_fr.po b/bbl/i18n/fr/BambuStudio_fr.po index 473434b0d..059de549c 100644 --- a/bbl/i18n/fr/BambuStudio_fr.po +++ b/bbl/i18n/fr/BambuStudio_fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3931,6 +3931,12 @@ msgstr "Préparation du travail d'impression" msgid "Modifying the device name" msgstr "Modification du nom de l'appareil" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Connectez-vous à l'imprimante" @@ -7201,6 +7207,170 @@ msgstr "Support : Correction des trous dans la couche %d" msgid "Support: propagate branches at layer %d" msgstr "Support : propagation des branches à la couche %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Effacer la peinture" diff --git a/bbl/i18n/hu/BambuStudio_hu.po b/bbl/i18n/hu/BambuStudio_hu.po index a5f7667b2..a3748b454 100644 --- a/bbl/i18n/hu/BambuStudio_hu.po +++ b/bbl/i18n/hu/BambuStudio_hu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3940,6 +3940,12 @@ msgstr "Nyomtatási feladat előkészítése" msgid "Modifying the device name" msgstr "Modifying the device name" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Log in printer" @@ -7158,6 +7164,170 @@ msgstr "Support: fix holes at layer %d" msgid "Support: propagate branches at layer %d" msgstr "Support: propagate branches at layer %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Festés törlése" diff --git a/bbl/i18n/list.txt b/bbl/i18n/list.txt index 764079c7b..36aebc444 100644 --- a/bbl/i18n/list.txt +++ b/bbl/i18n/list.txt @@ -88,6 +88,7 @@ src/slic3r/GUI/Search.cpp src/slic3r/GUI/Selection.cpp src/slic3r/GUI/SelectMachine.cpp src/slic3r/GUI/SendSystemInfoDialog.cpp +src/slic3r/GUI/SendToPrinter.cpp src/slic3r/GUI/BindDialog.cpp src/slic3r/GUI/Tab.cpp src/slic3r/GUI/Tab.hpp diff --git a/bbl/i18n/nl/BambuStudio_nl.po b/bbl/i18n/nl/BambuStudio_nl.po index 37a43e607..56ba6b3e0 100644 --- a/bbl/i18n/nl/BambuStudio_nl.po +++ b/bbl/i18n/nl/BambuStudio_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3961,6 +3961,12 @@ msgstr "Print opdracht voorbereiden" msgid "Modifying the device name" msgstr "De naam van het apparaat wijzigen" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Inloggen op printer" @@ -7217,6 +7223,170 @@ msgstr "Support: repareer gaten op laag %d" msgid "Support: propagate branches at layer %d" msgstr "Support: verspreid takken op laag %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Getekende delen wissen" diff --git a/bbl/i18n/sv/BambuStudio_sv.po b/bbl/i18n/sv/BambuStudio_sv.po index 11eefa2ba..20f3dca7d 100644 --- a/bbl/i18n/sv/BambuStudio_sv.po +++ b/bbl/i18n/sv/BambuStudio_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -3896,6 +3896,12 @@ msgstr "Förbereder utskriftsjobb" msgid "Modifying the device name" msgstr "Ändra enhetens namn" +msgid "Send to Printer" +msgstr "" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "" + msgid "Log in printer" msgstr "Logga in skrivare" @@ -7071,6 +7077,170 @@ msgstr "Support: åtgärda hål vid lager %d" msgid "Support: propagate branches at layer %d" msgstr "Support: föröka grenar vid lager %d" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" + #~ msgid "Erase painting" #~ msgstr "Radera färgläggning" diff --git a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po index 67abdc7eb..f6dc36b0c 100644 --- a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po +++ b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 13:09+0800\n" +"POT-Creation-Date: 2022-10-18 18:18+0800\n" "PO-Revision-Date: 2022-10-17 22:14+0800\n" "Last-Translator: Jiang Yue \n" "Language-Team: \n" @@ -3841,6 +3841,12 @@ msgstr "正在准备打印任务" msgid "Modifying the device name" msgstr "修改打印机名称" +msgid "Send to Printer" +msgstr "发送到打印机" + +msgid "The printer is required to be in the same LAN as Bambu Studio." +msgstr "打印机需要与Bambu Studio在同一个局域网内。" + msgid "Log in printer" msgstr "登录打印机" @@ -6834,6 +6840,192 @@ msgstr "支撑:正在修补层%d的空洞" msgid "Support: propagate branches at layer %d" msgstr "支撑:正在生长层%d的树枝" +#: resources/data/hints.ini: [hint:3D Scene Operations] +msgid "" +"3D Scene Operations\n" +"Did you know how to control view and object/part selection with mouse and " +"touchpanel in the 3D scene?" +msgstr "3D场景操作\n如何在3D场景中使用鼠标和触摸面板进行视角控制和对象/部件选择" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "切割工具\n您知道吗?您可以使用切割工具以任何角度和位置切割模型。" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems?" +msgstr "修复模型\n您知道吗?您可以修复一个损坏的3D模型以避免诸多切片问题。" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "延时摄影\n您知道吗?您可以每次打印时生成一段延时摄影。" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "自动摆盘\n您知道吗?您可以自动排列项目中的所有对象。" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "自动朝向\n您知道吗?您只需单击鼠标,即可将对象旋转到适合的打印方向?" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did you know that you can quickly orient a model so that one of its faces " +"sits on the print bed? Select the \"Place on face\" function or press the " +"F key." +msgstr "" +"放置在面部\n您知道吗?您可以快速指定模型的底面,使其位于打印床上。选择“放置在面部”功能或" +"按F键。" + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" +"对象列表\n您知道对象列表吗?您可以在其中的查看所有对象/部件,并更改每个对象/部件的设" +"置。" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did you know that you can reduce the number of triangles in a mesh using the " +"Simplify mesh feature? Right-click the model and select Simplify model. Read " +"more in the documentation." +msgstr "" +"简化模型\n您知道吗?您可以使用“简化模型”功能减少模型的三角形数。在模型上单击鼠标右键," +"然后选择“简化模型”。" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "参数表格\n您知道吗?您可以参数表格上的所有对象/部件,并更改每个对象/部件的设置。" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "分割成对象/零件\n您知道吗?您可以把一个大对象分割成多个小对象/零件以便着色或打印吗?" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did you know that you can subtract one mesh from another using the Negative " +"part modifier? That way you can, for example, create easily resizable holes " +"directly in Bambu Studio. Read more in the documentation." +msgstr "" +"减去部分几何体\n您知道吗?您可以使用负零件从另一个几何体中减去另一个几何体。例如,这样可以直" +"接在Bambu Studio中创建可轻松调整大小的孔。" + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Bambu Studio supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" +"STEP文件\n您知道吗?通过切片STEP文件而不是STL文件可以提高打印质量?\n" +"Bambu Studio支持切片STEP文件,提供比低分辨率STL更平滑的结果。试试看!" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did you know that you can customize the location of the Z seam, and even " +"paint it on your print, to have it in a less visible location? This improves " +"the overall look of your model. Check it out!" +msgstr "" +"Z接缝位置\n您知道吗?您可以自定义Z接缝的位置,甚至可以将其绘制在打印上,使其位于不太可见" +"的位置?这样可以改善模型的整体外观。试试看!" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did you know that flow rate can be fine-tuned for even better-looking " +"prints? Depending on the material, you can improve the overall finish of the " +"printed model by doing some fine-tuning." +msgstr "" +"流量微调\n你知道吗?您可以微调流量,以获得更好看的打印效果吗?根据材料的不同,可以通过" +"进行一些微调来提高打印模型的整体光洁度。" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did you know that you can split a model that has a lot of parts into " +"individual plates ready to print? This will simplify the process of keeping " +"track of all the parts." +msgstr "" +"分盘打印\n您知道吗?您可以把一个有很多零件的模型安排到多个独立的分盘,然后打印出来,这" +"将简化对所有零件的管理。" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "自适应层高度加速打印\n您知道吗?您可以使用“自适应层高度”选项可以更快地打印模型。试试看!" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did you know that you can paint the location of your supports? This feature " +"makes it easy to place the support material only on the sections of the " +"model that actually need it." +msgstr "" +"绘制支撑\n您知道吗?您可以手动绘制添加/屏蔽支撑的位置,此功能使仅将支撑材料放置在实际需" +"要的模型截面上变得容易。" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did you know that you can choose from multiple types of supports? Tree " +"supports work great for organic models, while saving filament and improving " +"print speed. Check them out!" +msgstr "" +"支撑类型\n您知道吗?有多种可选的支撑类型,树状支撑非常适合人物/动物模型,同时可以节耗材" +"并提高打印速度。试试看!" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did you know that Silk filament needs special consideration to print it " +"successfully? Higher temperature and lower speed are always recommended for " +"the best results." +msgstr "" +"打印丝绸耗材\n你知道丝绸耗材需要特别考虑才能成功打印吗?为了获得最佳效果,通常建议使用较高" +"的温度和较低的速度。" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "使用Brim\n您知道吗?当模型与热床表面的接触面积较小时,建议使用brim以提高打印成功率。" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "为多个对象设置参数\n您知道可以同时为所有选定对象设置切片参数吗?" + #~ msgid "Erase painting" #~ msgstr "擦除绘制" diff --git a/resources/data/hints.ini b/resources/data/hints.ini index 69fab0573..12a3cf2df 100644 --- a/resources/data/hints.ini +++ b/resources/data/hints.ini @@ -79,7 +79,7 @@ text = Timelapse\nDid you know that you can generate a timelapse video during ea documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/Timelapse [hint:Auto-Arrange] -text = Auto-Arrange\nDid you know that you can right-click the Arrange icon to adjust the size of the gap between objects and to allow automatic rotations? +text = Auto-Arrange\nDid you know that you can auto-arrange all objects in your project? documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/auto-arranging [hint:Auto-Orient] @@ -87,7 +87,7 @@ text = Auto-Orient\nDid you know that you can rotate objects to an optimal orien documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/auto-orientation [hint:Lay on Face] -text = Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the "Place on face" function or press the F key. +text = Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on face\" function or press the F key. documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/lay-on-face [hint:Object List] diff --git a/resources/i18n/zh_cn/BambuStudio.mo b/resources/i18n/zh_cn/BambuStudio.mo index a5a4b376c04922731683ffb72c949340958550fc..d71e0cc0f55c050461dbdcc7bab589028b2253be 100644 GIT binary patch delta 47623 zcmaIf1(=m(+wSo-Lw7gIqGsss?(Rl%7zSowU|?qGSfqfIw3KvrDJd-?DM~0Q0@A1; zNbmo-?#uUMzxzA(a~zMqJFh#QSZfB<`_~eUo}JitEp^;k9*!OfJf5r=S>EIMEs@8w zx4%j~o;qK8JONl2DfZOI%-9kWVjrx6gRnI2#w7R`s^2@Tik?LtPj#qjb4I0oQv7#DA&2D*=fFkq?2lNN`d+I@~ia5^@}!`Kuv zEOR>%f!e`!$}_&_TM}_F;c|~B9VSIhBnN6@g)teH#R6CxwZd3byJ46CKf@Nd6kFp9 z)DARW;o@{gt-J?noI&W*z*9-2!WozbSD*&ig}Nk%Py?MpP3RZYgl=I9{LAVCSGqVU zPy=U2#VLmBR~{9oCTg5!E7^Z-T{j9+;}Fy}o`Skot5E?qTYeX6!Us_SkK)I820y~b z7=%ezxrr6Wj^wLj2V9Ek=UMIAC0@<`Yeq#Wkd@5(s2yp8+NvI?m5#tN_&MqtAIDPo z3KwJ1H6G6~Jcr!fo_TBCJ#ZW~(T~=-d#3`%Bj4OdLN{Am%!6T=AE%&hzTKDrORjel zsEFFShFAwfFbA%+`ctT<=PEYF6dT-%JE8hTpcXO=8=`MAiKHYhqptN`^C>1F{|*yk z;*G9d8dTnkl`t>z%J76^0bFkNKVWk5zhE-FhZ^{We9Wm@+6zxrOJR?DX)Vm@ik`A^PhB!8!!(R zp`tc6!GWm2$58{G$KH4yCtxF@ss0k`dA^0(;`bPgX|}mbQyw+(j;Mu%VhZem8TI@R zCZW4`25M$oP??IOg5%?&8&$jePta9#0GgVSb#46Y*OdkIlZaON)BS?xJ?| zEvCYRU$g&dNMt6V$Epx&3yYyvTp4xk>Y^sr8a4B9)QSh9-heZ31SZ?*COQR2D!+@% zfK!n*cqZ)T^93vJaT8y=hyCwM!N+@fo8jj;2IK8>`Ok0^`S&;$M}6aNzJ&YT)}}&D zqy%b3jZrHM!Q>c;+VUZ&dukMF!Anq=ZpVI~dvzY9KsVFR*5EHpPd@$u7w98Yz5wdE zt&R#@7Zs=p>KeDlxfp`l!Plq>#XIPBE+wj;7ZoSiM?wJ#q8gU9d<|5R@myOd#bviCO85M<8;&x9`e_7{eL8(E&3DVVbX8i z%2T7Zv;Y>z%Gd>CumD~#aRQUx`khL{(-ViBBz8hAg($FrD_@jVwwXy6;D zExm&p@D-NCLf`R7VplASb1*;tfTi#)mcSCnT|NSJ$rhuweg{^-bEt7reD4;V4t;t| zijYu6WgLe!Q2|e(1`a&ozCx8mwQGv%*BX;xH`L0bO&_X$5^AOMQ9HC0wWC{66FYi> z=U?B=Zc>mN-(e!mbPRQ@MShWGFxzCd-nb=s};A?l`jiCR&TGj1Xuqb6L|tbyv+ z*y>xG(Wr$?_L0!a)}eM{Gb->&%!Ai32os!jAG3u}JJbW!FBWx424MsA;m>#ybrY`q z!Ci`dsEMAm{B=~l?=gv#B;uWO0n?)bW16>A2e#C-gG`J zk8@BH{t-36FXnB`LH-X+foaaWYo8M{>+`=hiPThd!8F(pb!{eK0bGTe&`($iuV6mR za>4bhg_>wvvm2%(AA<>Tf|XB4#aV>9`Bq_CJ^v?2jKmwLOVQ;bj}FG5?qbg+H$ZLF z3R|E8w?j?5E4IJ^$OGg#iEORs3vL7rxE!@p>#-glvGNqZuzQ6l$Us7mUoC8gk*G_u zA9ns9B@z^zgJx}k2)kr;~Kpe|jGUwL~5aARX_ z@{u>)*YfSyi+o()Z+yEU5sjL0^ey-59foHfAIL%E~j}ad&@q%ujh|)PR#PKF&v7 zf~BaNZawO;+m1ExB5LQd{_ffrK=M9MaS~d2bu5aFP=QCFUOZD#D_Ll6M(xC5RKTCC z{1#>+{{q!7)m?XKvSDuWGk}7MnWBypswX6)PUb(0=$X}d>b|Jd(Q*g`QnJt zs7o^gOX4;R#(SuVr+UCHVlJ$VF_;y%VHP}#n$Sb^>A8MGA`zy0=yoC-Dqj%OV`)r+ zjZkl{PcR-1N3C=Ws{Le4jB`-!m*QaDh*6mLk*lAJTJZ8m?7y~t2L;;F!>GIRyft`$ zs^4)R ziIgNxqqgok>L$F8x>oU?xj@-b?aE*>tZVt!ScrVM<>#O#x*7v`@tnfuV`}VzdQAJFc4!#tnomL9 z^@~x@{XW!Fa|JWu8}xtvr+@8cUKACuE-FxaRN!7#-_M+k87W_Zx~AWtCiER9#UD|3 z{|(f=@DLU6DJovvH}0lQigCIBJYEuNkQ?=Ql|sEbKS6ErFjSz?m>fStU8=dL3GcV^ zbEtN|q9$?|d*a`g4|(f$y0R${k>Yq2Q#ov0PwM+JC=+L6E{t~@*H(iF9P4b;S2SUw8X&xdL^ z4t1&Kp1zWKSizRb5#2;tb8FV@G8`f zZN*?bgk|tP>L$#YJixOO%cI^eH_@k#@lv>ZAf;IV_1xD%y^umM7ml^^wWt*wMy>2; z)J^ugmA^ynSlX0sA=$Aw`Qlg-yQAtCrsVlo$F&rc#e=97zBc2eaw|%L+VU)@feWKn zR1+1b1L_{?fx78@s0DnE>bC~fejjSV=TSR&BNflTuKjHabdx+oZDE4cu44w&gz}?0 z7Dv63E1?FiVK&7=}$@xyJMzu*5~wP4O7>W2$uS+E>H^p`O5q#y(_PRe8PG{Q48#t!P(0k>hyUglF)NI&)i|2H6LJA>f>j0E39L- zF~iM)*phbRQJ3f%YA0`@F2w`O|Bc$wH<&@+|2>&p;Ebp@VII^h2$bTJZ|h zmVbwO*Iz{q^cr^hZ5*BT$!gBI=F03IlN$Ho(0f^Ze%|ktmzH z2MVHAR1tGyE7Z(~q5_UZy{JCNy!gG9KSS;0d(;GydfkqtM=hWLYM~`i_expRgsb>S z=!Me&wX*i8fqI~>bwAWh$6$5*0mopv>@Ltea|!CjvKkd{501tYR^B*=dj)sFYLw4L zFZzBap_#lwO(1?ww^eCTD-A+@>~=PNs4e^wwUQ;+2UnxEI8&|w|8GL_qw?XXdtk6R z5qpqdfWeIKNs!xJ!@{VER7Y)DW7L+mHoKyid|#`dj@s&ZsHbN+7Qmg@1#hEvqE3*T zXdBey+6hbGFn^xsZ!3u)3eI99e1Tr973`k(?x=}({@?#~BcT`05LCnYs2$jZy7|7wTzCMr<+o8=`Vh4PZ&4FVkk{3x zMZF)gpvtqGg-{bKkBZX>{h$9WNhn}v)XMr=el+GGKNB^Lz`R{>Kva zR3ypg%1fdaR0DHh8`Q*xpxTej$Mdh}b1DT2xDNIFZ$~{Y$5AUdjhf(P9F7lB*SKeX z$^)p!qvWp_a9g~hpo_NyHQ+a>d*KKw{!ge0+$-pF4PH>7f!?Bia!Fjs-7LXah>hFZ};RJ+NjyZa~>#8=oF^AvUMMqmc=vrw1Hw}FIiii@b3-bZcK zQ`Ac16mu&{hPniqP%F-d+OcA&6<5ZZ*c>&%xu}VJg?io}n5~Mtcn6Vje4bMz{5KW0 zqTy|EgOv5$`R%yoI?H!yokXi13b&|J!(SBOSyhqunGCEQP(63wUejNzd+Qr zzm2+Nsmjuh@jXE#G{e%U0czr2Y>gTyZ8;a91S)U^)Vgky7BT<;dG4loLxec!BY>B#tqfuW}=2`w5 z3?hFXHK8}COOULZ+v41)0rQ*XP!p+Zwne>fd=VtHMX^>f6cun1YDEjJemUx1S&v%r zF;swGQ8(>FRKItqcYTWLZX(6ZGN|^IuqxKY(t7?UlE_2BVbsry?Kzg!NF@JX=jSKrYlJD~!6Qa1xinkWkZYOGI52Nmp3#d=s$LQ16B(CG$;h9n2 z`3jlgR=(8y3N`cZQ9E=7b(392#kp_3LJg3(uG_gF)J|1JUBU>|XGU~gp8q%`KBYj{ z^fOeTwWyWvMy=!+>OFDZ>aU{)c!Fw|q@KGeGh#vV#Zd7&qqcqo4#rv71XI>`I~7vj z=VlZ`fdUOhU4jYbRMg!*3pKG#s4d)&+Ukp_3Esm(_yQFtsDW!=9M!)%YQ-H;FR;Ft z7pMA2=-TW;H9U#B8SkLpfN>hSt;>Ph>UyY^w?(bAA2z~esC(uwtc@>GTV1u0^~1yD z+gkpk#_ql1D?mcmv^r`=bx=DHjhfIvb2_TsdelU=pzeVK*b+~o`sHZiE>#}Xr(-eH zt2n~SN1^&na{4@9kkAWgIS#}1sK+K>Q@4fXQTh7V5!<7-cn|8$_#Nsoy^gxulQeVf z)1!7I7#m|D)Pjav{TEnApZ{w}#8B}U>N)S$+F7>ONlD(bO(WX5UfCY}iuH%NIs{{=`i#j>cCPQ*pH01IG+Rso)N7=gv{DC%Z< ziIp%}Yj?LdzyahVQFr|<)Xuy_#m(KuEwB{kBi|H#B}oh=u>iNCwybemXDb{?z60u- zUBIcd7@rD8gJlx(@ z97jEFmr!@{T~z&_sK@RF>K;hc!F^>*k6KX!)Xoe*Eo36MVyn{Xe z?t^H6eNg?{ z<3a4@BcbQNaEQAHs-YgknW!!O26aYKPxpYfRPM{R|m_3-tWoC9#BxvElCXJ2)c1GmU&*Y=oDwG3M(L z;Qwp2gV9SqPEU7lT!O7`!QE9c9!uyw@3`a?7iJh zG9UHW-9kRFJRPFki)VG80MAg$zeR0r^}cS)2cg~zUtlggi6!t))C(#o+WoB90jm&i zG?u_4F+Bf0Xz()DHSF3iz%zvWeAHc^p?`p^az7(p>BsNV+{EYSPXwaFUB3_7LXgYBLh&EY~wJW`||maf+z~o4G-{4#<92) z(@q`S$^qU!UEa(8=oJWqZ!9>=z$13U*Xr*BMv zXBmlGsFjW%>nb*(9-}^=x;AH)1eWr`%V7gsy2HOoU&duJr-bt26Z^_xrvKsK+WZ>eZPWHGx8?o9-Rz zLnr5CcL~d&$~&XV$D-oRLyfb@>GP~1p;zKI)bn}-HDz(cj8Pp*}liV=6uW%Sfc4U2F`c>-re@8-JDzkjnqy zg`g(d6Sb8?P!k@3dgp&?`6a0KtIRE^_IofR9zZYtj6MZ;MM7K8pTGMDNQl|VW<>2k zIn;{kSbby5cS79*-B1ITn(q2nK~1O$Y5_e_{bNy=ZV2j?{MmG#e{I=93KU=?D!&tT z(;P?LoYznj$u+}W+hVBtTG$-hVQt)msqlrFXr^nI1vPLHRGiAF9ceg|=UQ9ci~>!d zBkBbaj@s%)sB5>$>h~gVPS3ZP6Td@!=sZMCD9$XmlNm7&c`xd*u8Z2~KB$5FqjqSB zkA&{t*{GSX$Fleh>XQ6p<(}E@4VN1AR1`sNZ3EO}*%CECXH>s#R^JF_*dCYyDE+n*qZWw}nu?GH#9Wmql0RLZ=9DupV-$uO|6E6txbj5n8 z&wx#+o9ZF{i0@JN#*Yi#fWcq7OI!f8kWv^=ds3Z*?#{ZX6*V!tpk^M6dX7Is-JHu& z1MNU<^>?U#XHoaSO)Gzax<}sQN0@Vwd+e&B+IPX!x+bwCba#$J4KUkWW$rYOquTv~ z3UCj#m9J3?@GN#KOMrRe^r-S6)D9IitE2k0HM^nW$DsO; zM*s6a+ZwE~249)qq8eVX`g`VcGtLHApAt22PSj&o*2){ACf3>PZuU0&ZQ%LW42M#X z9VeLUP+NZrHRFG<9VXo9?26j41E}}K_m+QRzBJ=(auZC3x+Gq+C>ADPZ4=MGmqauL zx?5-9Y}|)ivBhRLkpx@ZB`Jo%ln+GRq>E82+=W`m0n}Z73N^8Z*c?-Bb@gFpwCVGa z(9Jc;3QnT7{AVnt0H{y5Y};Ib_Naj)%u)CW`T3}R&rv&*XuC6w`H>lnns8CmSB8YP zy0X~=btz_{0)35I*+JB$IE}j2*DU`G^`?uv!+qlkM&+BJCK`i^GYK{DY;z&-k?#A{_UlUX^+F1o;2fdwcU1YC@5Foj%lxrkjhbd_8J{`>p(2^GEXrD$XNRJI_9z ze+5cFq5-BgL(Gj>m-5%R9&3K%zC`|oDv#dp+-t@^;QoGZ6V&562Sf0w+47*ve~lV9 z(;=RJ-E2XJ+|5-7RnZ3Z>I}1dAJmM8p)S!F)Xlii>NlWn%H8H!)JpG|FH!xI9(M85 zpz_|sJpW1rTSXz%=X`k_h*eM%*<~I{!CQ41*I zBcYB}P>)GN)XZC>R@B4tBTy@!Vdd*lfe)ejA2%0Xz|Enal!oU-5pj=p=d@IyIOHtQy2e!b|sDW~xbSun<8n6ngya`5QYt;MXdsO^) zsNXYqPq}tw(5DWSNod8j%;siivlpt}V9Sq04LAigu`f|u{WbbO{ZQBbA*$bV^Q{^8 zw7XPEPV@X%qd_nQ3fRLc2BQMbMs4AG)C7Ms|3C$Pi@J1i&$u7G@}MSA5jC;)sDAx$ z1&%`X%X8M17e34LuYoIAK?BslZBbhvWsX91oP}z?z{=O7Zo2(ef7$Xkt^OVAX-f5j zvlQw>tQ{)eB%dW_nDbCS|1ZIVco{X|!gFrM8&F@dcB6hkIgR@Iebsz|+WLSWok`4e zsBb{ourd}wO~BWOL`M<>Py<~+t>}*B1AlUXQloYxtK|!$wzjNU%gURhzL0c44Y1Sd z_oMosMD56R}WN8QDvQ4?K(3bX?i_!ldGWcjzKOPTV5 zdkTV3aX-Og7=r%){>Mxb8fY_W>-M1n9y5Qj@<*t4FDxJTqMLAXRQrP17ptJ!ZN=fZ zAN3Wk(j_sNXH74R(u+JR)(T)@nzj@eP=CCsW;-w5@5 zx3u!!s1*&d{6f^Lc`fSwu@N=V+o*{=M8$o6jptv9IM?lFK|Ov!s6Q;~jQUY*C*Ht! zSP!q?aIfNgzXo{1$oudZ-bTgSaMQi(ccXUVF6w(kvfo^NM$`gx`z%og^)Xo=wIlse zGyc@-CtH3o>JqI&?Z7_N$}gDzpjMdqmTQ*_HGy)d@=mBTniyt$sn>BmbaQSn{@OUk#P7i)!Br^{u%x>ZjdL&6%iimZDxnJCNU&@#nuJ6yUNo zxQklZYgB-=cidx^1NCC6imLB`s_&25kuj(^^Q?XqYQO`iiT#M$*{fFm$giHi-(5u- zRKuKRL9?{gS2dejd5GnEq6Qvf`SGZa-7ioRJBhjkH?brpxa-O*N{!!~L>Y`gU7Mw- zneIcq5l^As*$+`GFL2LU6ScyQW?$4q#-KhUrdfW4)o-=@QPhOap-(G*K|%)HcP2sI zt?5v|9rt1k7Qptn*vj9cCYtDh`!LFc%I85%q>Nb;Bgi*HeFNHyp?LoR&wmt&Mi1SV ze1rP%_zAVr!jD{sI;gcY6S~WzuP&8`Vh9ckmO}zYuDI zHJ!7ot9VHe3BA)Jkuo9>;fh7?b|( z7IYRBC*gBvIx`0{uFq4Lgnn&a$`yF(TZ3k(0Xv~q6ph+}Ddq;$z$eYy<~vls3@_Y5 z@}U-3&hk}J6Kd+0=dYs`^fU*WW6kNP0E+fdje_a2H zsD3rfMwms^;xFW?q&8UE?aKm9H1c_1RGI)}s1-ZTVv!U!ecy`-uWg zZG+m$zUFMyW4Z_RDf-azd3}L_{*`@#nm`}a3<6<~w8-Rk$CzR?`D@(Wge z6*aNnt^64(&TFfGue_fBLL^%+nEbxE3`?u8LJ24|q2nv4luzY?fR zRo<*`wnMe+X^ykkgLMZKauiQHYC4*A*5Qw~+%4K+Xv z>IayqsGU1#oN!mG4Fka2E9jylDBnN!?BqK`p4dkHi`h?X4nyvOxdGXeKk*ENNCp-E2+GE@q55 z1~su+m=o7o{tW7C{B6s}N$&E#OeE4%QQB-|hM7b0JoPhBpYIVVoCD0U<_y%tmY7@3 z!{$$@H{fklob)OE`aHQ@!c)wwf^}%n2(_hiP?uskCcxFGt=(*XjoQj@P&e5{)ID?G z$`hq>f$L7&Y)J)J(UVhs?89e+||Cf#v@~P2fH1>v!tZ z?otGy;#EMkuZy~enxOyr|HLXfq8f&o(WVb|*H1zPSZ(E-a1r^vmT#ZNO(4P?YECtm zqAv9g)DE3Q|L^}Ekk9~sVGt%y>tS`k_$0Q%v#5{T;Ph?+ z4N&dcqi(t=%P&U7+lHlZUwWQ@P2d>?8n{pf*Recm0*z1uw?y51y-@@AxB9`Tek08( zRzBbIOHl)ELJhbJwF7@(KP=+Q=muJ8Za{6}c2wXa7>YkwzGNo%f~tnPhCNUdoPcV- z6t(hAs5pmEm-HO!z3|fNQ)G7I`f^wzFOH-^5mcb9s2T4^-ObOfJaHB`Kn9GUJRfQT zGg0j}p!y#~?ciz4pEqx!9=|89-see`)iunBnqfB7hf7J+?}kIHd^sxMZcL8{QLpMt zsFiv?3iN;NPKo-~TOM^!M4<+piJI6~sP>03oj(76B%v+4XTCu-O!2W>QC3ukBB*v% zEZ-dUJwFuHehO*<^HJ@#peB3-bq}0Cy@Jo9+CP#WygdK<`Mp~9K+k1dj4N?iNsg?WU1iOxjQCpM&^@b{f+QL3q04HG^ z+=coTP3kQb(mtX0fK zHC$==4d!kvPx&#ck5kwUoEWvT%%}+z!QZhWMq%zEu6!2iURsKZe+2!1{(r&>E}!?7Fto)T3P&Clfnev3F01;*%)Xoe*^&5%W!6~R6`Vx!b7Su1fZdrNOVm$u}RJfQ6 zSPB)OqUGzM0yMRJSF7)74n(bdEb3i9-^vf5`kg|>zk#~Be>XkF-8h+w+w&hpfo5DB zwUX*)LsWp)R^QR=Z4O5bGzIlVV+rbBI)}PPURgeO3D>S6>b=n!HQopx30;%VQ7hky zdhGV22EJ_NH_a#J8#7T!H{tZC_Fh!rU{t))R$jxbkJ_$oCNkIR zcbI!oJ9HTJ{ooYpF^gNut+*H}P6yP4dRV@%Io!%8A`|g>rjyu9!_`(1RyxrCOXo<` zH5-TuI1M%9FRgr|<&T*cQ4{_hbxGosasAR`PVzZX<+V}mKEe3<{O?af*K8PSpcSZr zx1t)Ju=3x{XQ(eG0cG6^YhYsX^-=v>p*|x*&F)s-(;SG}nXyvO|0ELH(ix}$7ot|W z3pL~8sK8e&f6shlrYPs?bC`uum!<;hri`)j<*0aDP!l+U{-6I(kkEjat-%BH9cm|1 zm3KRo4|P{JLj@Ry>Nm#nGf@kekDBn;<`Go8A1wbXY9f!z^Ze^>45;85WI*MEQ8!gZ zRKT97iHyUJxER~vd(=SfD!K`Uqw-OfA8L+9{Q~1N)I=7cCa|d@&%Y9fD9|-Lk6Pgk zRG=i4oEcFQ%WalNO|U5jp$|2|l~%tWHSzQ4#Xqe)b!8VX5Bh%?^^wr8Oq!r>!cnNL zU5k1zY_a^0s0sao`cV1Z@)N7LfxkfY+k(2=ccSj8E9k{LsCWsgx^{Un33*=;OH{!6 z6x6W>Gf`VLA9XXWL#^;8>NDasYC?&sxpwJM`5^3v#ZkY)S!3?8`ctT{e7_(&@AH(Y z?mE^-eeZ8$`7x+VGtKhLu_pN~sI7g0nqZn5?i*8197Mh~>QeoH+R@)pJCUNMTX`nb zM7>x}&woJ@`lFL@RL42iU;}DLcB3W|zm_u-DnJ3$mY21B6)Z=-q2vJ=9LTLZjLFu?sG@e1ev4BDqmpTMX5|tl7-!d!jDYKvcW&F7NY9wFZmK^{AQcviuoT zhbyQ6zhPs1ihZ$qD|b`wz|Q20wsu=Q9Ye`)!RnZpSX#2M!i`2<6-;~^*0{6v~xchjYqwxezSbu_JN*v#b;y5$+KFYTdtxtYLg!Fh zo-W)?tURi|AJ)Q&sC(ob&c+-O?iIfabuZmDpG5Hdm!RM|1sgGck3j#wq5KQ#!>C_R z_Y=z!)I@&9$@rH!A~MkbpHxlW%MG*xwXz1i1NHwH^Ms=omMSXH|98L}q23RZPzyil zBQcjmoIZh`)3^||MUj2ofLn1F`4gyL9E^>2kK0AmN^YUbAD9(mT>Vtk4lF>mdx&xH zDW<>|s27_rL2RJ^KO~w8^=3MXda>L>-E4nadHQ~?yd)}MHPrWjx>nvA(~$3q3Oo?i zZWLF@LGC!uS1%KQy=6TLK(_ILSgsDQ;#0m@pw7HZ&zsDVSQyr<=( zQSFDC6RdtVmel9}LK3>$f3%9%sFei{a08}9O(+8@P(IX(N}Em02y>JzEO>@*HMf)Q%M~Ygu`F)Ig!AfqS7AHrVn@QE@hz zU!ni=e;rsJ^qUz6}uH_Z;p_RWuwM#VEwM%1qQ7@i?sD2@+ z9ql`q=U<626zBys2le@W2Q_epA@1|L2xcW;4>f`AsD81i0moVSH1kW;fa@%O-F#@i zL|&kt_(OUAvyn(R)CJCinqf)QR@Fp31r5x;RzBNYhZ|ozX23^cZ)N|S&HG#oaJ`y$2i8v6~;U3I2Jkb9i9=L&e(adE*>UROP zkgJw|gqqkhGhl?P_a!HxijT1<=EqFf!5R#({5aIjxde0KPSixNm^V-Z-@;b-0QDlP zHqw3T9giK!UqyW}sW8f4@AGsbp?CcX)CwP?9*^Xs-N$P-EJ^-1)I>9laR!;iQ3F>& z?PP7#);2Y}qPBd1IUBVzJJA2<|3^tEz&Z10)W_}(%Lk5i*EkWXJU8m*tc@C|vl)X5 z{Hf(YKMUr=%4kF)1LF$wKJDl;PnlFx<-F$c!Q{8nGY@}=)D<@DZwAoC)qX zqbX63T?176!KnJ-s5leN>8Od!onVj2Y6>)wov1DU!5aRGx_RzeeS**21iYyB#mxq& z0m4uNMxvgUL00}bYT|QHJG&M&!3{nV`mou8y6g9wXU$*Dzc7IMe~<4NZL=b9%%h?- zXWkDQOs4)J*Q^9(iLE?dJT8r;=V%rjy8k@etdQ>z{-ZX5&sy-7bo!P0TGXie2l537 zyvW+>k<&MwXxeAeO~R3bGc)x$X}b@LQuoU00x8pRhVqMX{F_E*#>kOre7hVAye9PmEUhet)YAeaZXb2cVK`83FA1GL1u1g(RQ@Enbsa&G7Rg@L=!_D6zzVtcp7CQy#D;#QWG!6%Wv zL0L=A`1IRHzJyJj5T4tdy2JdJ;$s>uCs1n|l_jm?5CayY>;dV-bXT^f`)w6Wv{qBY@m;65RY_}<+D?#qc^UlZ65*!(ys!+bbLm;0+v=@U+`OSUZmYr z&TI4=!Wm6jJ&Q@w=V?Z!CWGndt$z?)56D-Pe@w?;NdLsSj?VKnNsguryoK}MBM)^k zwAE3_;ptER?+9;B1_OZak4yGVlk zf)}l^{HqTBBQE7SN?JUn|It4kMar({#`gkIS_aR}t(slNgD4Z3k69&th$%EbN2w$Hcp3 zF;}}-{HF*>lp{cWg080WR|5WfoF~v7GK&bZi#B{q;r{}|7LwL6$Kkm^yY6-m{Y`x$ zn?ME|e4cs5`X#1q4u9JJD(0G6#b7$~x6nQ3@RW6`%%uM0RLnr?o|7I%CO+vP&SA8B zLD?kw=-7gtT+;u^pM-n{>L1}m+OFVyMqbCaJ_5X>;wFVx2zs3}n6ixIr%;~2R;9+x zGy@J5Wu(nLf6o15y`}m2&69=T-RZAmDlvxA&x<;~BfW^eb2y98&cFV3blT0Ch_ea} zH`wf47x&M5)agivjR;bPS+uhS#>oYA)&jXDizA?`Y_+ zPy7FSW_c<7hLay4J?oi-z6FL;|KG<<`rTmg|2|R@-}gD44_K!lg5;%Pa?Vtg|3-t8 zltq%yY5_XYwk_%R1l@+uX|s$n{hE@WyFBHr-DC23XtS64k(@0#tB_yJnVoYfc@F+n zBsx`N#qBvm8LS4C`k6>aIvVx0$z`W5x$R6x(s>xD7Wp=Ki5N%em)HgM_Z?;FivFDY zM|s+$uy|SUbsYcw&k6`wg)4h!CZ^4#Qq#wP?n zMB66R)g?ccF{_flL)y!^g?6o|8>2eTPdQWQe+8C;fzMjNN95;omSnI2lr5pt_XJr^ zu!EGxq0?0IUr@f9^e)Pp(RLVZkA1LGC5KYJmh!P`%gIk5{$G1tAf1DLI(%Vd+H?L+ z!8!`&6ZGF>JZ0Zn!-NESO2CTb7vN!nb*JA7{P*~lzU?@RQFfa4BWb5&xy8uDLW@#1 zkFx`5e&^%!tf!%lg>-tw`K1P>!5Yeb=4{CzUdj%W{u;lguCom~9dB8hYX6a)d~41+ zC!=vP7CkZA6&;;yIS9On``bifw`&~b|NX#(k3h4nep zQ}@p5T@8QqKt8Fp`?oBVzMqmgMqM%{c82lzmq0uzHF4d4Sr{x21r?atAR5JzKR~5^ zC|gEaM<8_(oWYzr7IT(lpe&ZpPyd3JR{g(6LCQ1IE+KKJ5wj74C*y2uaecF?h~ZpB zqgd4O5WAA!pc!&(qJxgobjr)w+B%=1O)Cb~huEjInTAI&A?5vu(VugG#r)ER@cc=e z&#df*zW-lmkmMA$Ay5)5NPypMfL7$|Q~w#A8`5ctO{6{6<-9=MN*v69tvSoluN>{> z(@)1gDkpAl+MTvRH`C@7byqp>>H3!^!S7o=?FbY@rI!xtNDretob(KW@n>hAedI6N z#4b}-kGh7Gl_Fh{@;MApgm$MGw5?4b8})yX--t(>J9IKDdA(T+G?%B$1<9Os8eP4cCv zD?y*9wlnR?2k7&E4VBr*^uW%X`)p zoGZ0bOhcQIlG~J9jvFY{5!YPCAS39o$?^s0 zsAI3SpJXe0;)*?;n3#vQd4| zV$dMUQrUp(DAUo9Afs&1#iXlo?y)-8f|m|uN36|8`p>mpyGDc07^_JF|NYNQsT@q_ zA82r$O8qgy?{v;!k$xtKeo zNxScDqN6o_Vgk&d(RVb~QG`aZF2XaOAd$q{o+>uWA3> zR@$9lwJcqg^6lg|kw0!_O=w?^c-37f|3Aa|=VR*i{_*_Cz%#HB9plk>82LZQzav;H z@((%R(D-``s6ILxP`~wqNvrGq$TJ9&h3=9;M8%8 z{1ofofp#4zyU7_szw_k#TFk%5>lkPDLtlMY=2?g_1p0`XX5y^Qs=l@X5)%A3>beoA zpAD3nHafCUzJ&5Jq&pJu8TkqH+vcxjx5)os>Auw0BcF-(e{sIme+o9YRYnr<6&))v z@Fp64X#-88tQ2KByp+}E>`K0f)$^ZG@SLQ5S$vB+E-}y^(r2wrN!nMm#r#9vM$-AQ zvOfQ((0kKe*dduwRKW@7U|oRKUBt!wKiBW+le2kKS|k%5BjNTGR|7!D`rKt;9qH)%hPuYoZM8aI1d01pc3?IYtgt!h6{Oo@QVhX=kH1MAwETYR8d{&* z1U|q(i5O%F>1)=e5%sgl*J9O|@rq4G@lxoo0{=wAhEycLmlW2(F4m|N<^O%uWcDWr zTG)2t-})0aU^D7yN5(8jRE9;qHPYCo@_Bb zrOtPS%o++0QrVq!I%fY7GwVuaJ<2|^$vh#yfJtPwd~)&)Nspk--;}SlRlg%YmN<{8 zPibYhNWbUoX?dD>qRDgc{%7!1R9x0}aQr|;25a~e=Cj#v!aS~try6aSlD=;%`QF;s zwaGoB?F8z7W@0+dnEh%0gQY(roiG8{|CO7GzhPktZ_wbT1y+= z3B+U2x}48w-`s+Z!nM@h#+mfF^Fi#*^v^~6OT>7MaXGX4nDG}M3>HgeegYifTukTF z1R6qp2JA@NkLZ+_HhRTPX1f+F&dJi8*PX9<8l2zJl+s&Dg~{nJdec)pktyzZt8o!qnt{}aK^EM5mI6GN6MV=xA)scj<_N1R- zS_Z6y1t}j(Iy*ilXkOBPf6zDY2NRt|eNF0*TRh)3GXEY;*_LP;Ct>gu7C?WX{(#0S zI6ons$;v0=6wdWpg&p71<}mp_lvn3mK&%MLic+?ma}s5tjPW_`D^d5m|33v!raYA$ zIY%+DhXy*z(s475-lC4GoLLC)@9~z2pCVJAJ{xGafOcb1#}FJryx(cxf^;s6p}IMi zKCQ9*`!6|u<*Y#C={VE|DunGRd&)V84hyZkgaxV1Br5s?aYvh5umI;t+O$$&JASr$ zWrs1joy7Ey|0$U@oH`miJn?LRSqxB?K`+{6DvZJ857BNQ0T0=Pj#$0A_aIh5$|sXv z!kN-`G#zEv=yTTEPGHXBaUi(5Eu--qTLU z8OnA1KzS}~ZRN93|5;tKDUMwXfu@aV`7A1D0N3r zMG^7jYgS zz(}mZ`3ddXQ1|a~h``|;RMw$m1uCbw zBF`?;`$X06~-bA zUY3BI4UI$Dz7NdAHw&|g-;#tPS;|3wpc9gSYn`34mOY0`xWwDC9P zd8KSPb>X-Um)eBl;U5fglJdip=VyRJgeGp(H^;K!#oc5VH&ysFJzmN~wR3_ho zy5iKWr2H`H*QD>zcN29H`uzWrOn_#GhZ$r9&b67-#(#v-Nk<9%k~S$^_CNm&r978y z>2wAuPdX9)#2LlFpW|S~@Or#?nuYZViHOeY@m7zF2;J6W!J0TeZ}ZTw-eKOxeZrzc zVk4q@$0V*1(bYRBs-L%K@2COZaL(8$Z)jBS*yyN8Z~us}0p5__UA<9VdW40>7VZ-g z9qWw=izH27?|_KdaBr`uelcPGMzK--Lc{xn^bU*kM)dZ^hKG5J*YL(@yvm;9HHg_e zY+J^~uanoW8XXb3Wm65-jK*hn?Q^LGudcwpXeyf zsPc?to3i){Hja)6>mB?5i5DFe8xkA#pC~MmL8AJ^M)V3Hw!gQ3JG|YZ6g#4KY(($w z-Y$c@A>NpXUVS3NyrFDi&&r;vOsp48Lz&bdZ}q5NT_SpKE3+wXa-Vv335$&li}r?e z4G)W9gZ`HZ4G0hG{XYZris~8`8RHEP>CX;&W0*{&fA2#=V_7Mox`l*>xoy^V{%2w_ z{roiryb-a%G2ZB~(5PPNdWH4w8rD@;&wo90eCwTOy}{9opxtFFxs z?H9}F{<(O$1|hv!cJJ=2Sy#SKR7}MGTx`vP=KkG@C2HkuU!Q&&&)2P6STq;F8#|~^ zSd2HSn>VIkpFUC1vHx{<{a=?jG(0Mb8>d@zR4;F@evz>e+U5TzKxJ=>=&-Q=#Pbe_ zitg#{9v#L!wc%0G-9vgu)C+a9k160C5FSC8n2`Rue%&G>L)aEAsjHXE7#-y=_HUy% zrcYQ{*FxUv;bEaYb+h*JM)ix$zHQY{do%jN3dZ*9?T^41-6DA?cv}9q`}IF{{*COy zaw2;BJ98y8zp(yXZg*D{jEsuvshIxZV=8-Vg!SQ)sf0&K8_Rta799~1S)loUo&z^& z_J!)G{yekXAPf-^6RurWsXrQ{xy#2L+ciodW1@Qf&txblG^5j_ob4Oxe*6F23Ed(F zawmjFMMwAR6H8E@Ul&&oO#dj}6d~To|I@kE#Wr=GVUAH@qZ(8&3Ys>_urg^{8YJkZ zm9b_;H0w4-vxb{>Q->2f#3PAmj@>p$m7Rpdc77b2{5U^0NoYa>6eod@=mPgZF%35r`uxS45raK`v;i2hxPR++NjA$X7u={AiU&wynnHtgu%L z2@?4qt!f~S;0)b3cGOYSEr`#jM!zmiVPab?J%r`PY>b2mRIV zhRgO!3#m^jop@hFauYy{vRrZ10w|;vs@rKvIZe~{@yaJ+r^(b2PZUEhMa}g&&8#8fJ*9E=Zp0bvZC?>QGxeKUcBmjH9u}XRr49 zoNmv$3dqYBF0J1M^##2JpVUT=2QfDn;w5llrU1Gh$cLT=pU^b8D7XLE4fRFI9CmMW z%MtC()5;%r?yjO4;A++m{74yB{B{gJC}_^AeV_t$tI5|`gH%Z)peQ8f7H}I~kPe?p%%yYH zG~C>EEq3v|4zdbtRM_7JUc4`hktdD`5%_@sybQSHB1uZQ{cY-7qX!tWM!(Zj>m%(I zW3^oS=UHV$@fWISzu=mA-3Tw0gSu|L*z2}vqHosH?^>`IF zscm6{wh$z1+!zm1JrFA>Aa(>Gq#!kF3sj&1dU}<5Dl`uV@iWjPY~YfGEj);ys#5m( z$@Dra2^l0E4H!TFO-R;6Aib`4sDf5vBG7VZ*>Yp9z3+B{?Uq?E(cx^d6zYv8FUESk zTSe)K0tE~bAVFf%Ekf>Pm+OkaX|n?pnlu52#Tjx`u2ohk=M{gA7q6*ORMBl3sQRpv z#4d?;+B_UhQYnfZw4Zlf0%jozln;$Rcb(hSOaUWd$YWtPmkF)E==#t>`(c^AmX;D1 z#9wt|z(Fb9R|Qb(Jw!gI8(W$eFF=n{O?x(TV!u#26+aev(ba7-6h}mX8a%afn?=z? zp9|}lRd$Q#SU4_|E_f+u*&H!Tsm9ig!cKAuTXGZ4ZMmta@&iD$iB6Y50?k0%ag-(% zY?o_$tCfjEC(!L?7sfwCieP|M$r1_`!fHSF`guFBw4pNEDGH8`%Q+lj>` zd|}XjM%n<`6vy%D;&gfJP9JpqlAOqb!WG)ZkCewR_#wQGMhpa5sBNlR>r=7uyRS-J zEnE=Fip1X$cFKer2~m(uAkG&*RM5CGN?C0Ac!Rth)pmeFMUbkS#H?V}>W?)!<>pdY z`)GY6x1yn<;DzOtyph8EJfgUt_p?NXkIeD@UOkuC!)~?dxj~kgJ$Y6>*VFg(+?p{k zn_rpW6G3*p$DFyvW9fYICQq)JYh&glo^+Zs*Lh@yg_dxD%`KY?lgIPzvwC(Z9|-gA z+l9}$5215rYSqZ4@Mq`z;{boyt^Hv{8T?8mk98Vj!+Ut!tT8^FZ|!H%_~Vsv{L1>~ z^z5`5yu-R?dE`0^#q*QP##jo08Kc*DIKUHO>G3atw)n4Slq2u*M3O~gPqlR?p9rwt zK^Dx)d>*g#u-*so!R9-q6&~+4bDyx#d_K^|q9NgMZJR?JgBkebjl%3D{`M?~%9y1oQNazVCDE-u^G1H3zqS2IK$!X-p zCt^m|l6;s?-eBpptg4>L7~$K;(Ng>;JyI2-Jt&9O@UAv95a-EbQMSBPT8n&O96=*K zb8Zm-j70b2l~&F1JLRtj{rq8TKG?@rQ|5g89z8elR4B>U@+h1VxFQ-`jq|ZZHl2gL z^_CBY_>F{x#EE6zo8rkR9~!{{J>83FDP{rBd|=dE3!avA(9;1uGiJF-ZfvB$1vwa8 z)N}o;Bg_|DWjgV5pDIT#JW=5S0ra&Lo9ZRg={vl4oF)5U<>XllXjxEZjdk>zb7?dL zjWoi+d_0xEIZTbb_^I+`6lZ{V2WkU;;O3T|*xFsxnD+!(YE+tsCzct+H7ZvQewF|j zJrj}O1itlj7yL-7e-=n=^7L6C3G^N^+jBfL#CyVpPpkYuilVFkyYj^WKX?t6lmsP2 zL_Xc51xSHHko+H?M#oB3z|tLR4S+MY$Oo4BTpy~oL6(q`)FDK$18+3vE?Z*1UuLAI zlSVcz;1^woQR!2thLGlS0qS8wdx`iOiyR@Os9pgL_p6y-~v^M z51;`dN~!-6Gy$Y1e57wnYT}8Wi{MES_u3bSZHr&>(^n853PNH_iY8o2FiH@tpE3hI z04*P$!#9k)C!t%)Epu@e{DH=8_>3a@_Ox!Y_d}8`+|^gd_}l$_CclP z2Rs`?+(xz^Btn@t@b&%?+vra1)nm4s%DX5LKwIpP>baUc#L zm5sHo3Fynq5;oeOzGeG|&0k_^<7AQg2-F&>0P7i&h?kH>LmA{`K31fGo(_{}=58W3 zqy!{d1Wb38P8HVo0N_S}jB86Q8bO$cF$ACVLGXX{ZQE_dFCzv6_{7SVp_U#3vRnJCP-z}?vh0BmwY4pigaI3F&V_TGQ@(JyX?63jFjZ6bo zrK>p^3XMVOaK_AKd2$s48Y7TeHBW<#-5a1pzWH5Sh2l4|!&oHc(y(RxJlsv&gFLEb zfz#t`q0b!1SsMsOv{-5oAHO#RQ3jcTQ$5>(lFBo3m=}i?OWnwibmSAqgtQl0$3u58 z_`o*SH;g5LrIz_{KgH_!o-K3WRSU<7jGPGA_)7C8az!D#0+tH_Ha>3TVyv@+?tks4 zwtw$E#0ew~?vj6}9 delta 40634 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 diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp index ec06c4d9b..1a289c611 100644 --- a/src/slic3r/GUI/HintNotification.cpp +++ b/src/slic3r/GUI/HintNotification.cpp @@ -590,6 +590,76 @@ void NotificationManager::HintNotification::count_spaces() m_window_width = m_line_height * 25; } +static int get_utf8_seq_length(const char* seq, size_t size) +{ + int length = 0; + unsigned char c = seq[0]; + if (c < 0x80) { // 0x00-0x7F + // is ASCII letter + length++; + } + // Bytes 0x80 to 0xBD are trailer bytes in a multibyte sequence. + // pos is in the middle of a utf-8 sequence. Add the utf-8 trailer bytes. + else if (c < 0xC0) { // 0x80-0xBF + length++; + while (length < size) { + c = seq[length]; + if (c < 0x80 || c >= 0xC0) { + break; // prevent overrun + } + length++; // add a utf-8 trailer byte + } + } + // Bytes 0xC0 to 0xFD are header bytes in a multibyte sequence. + // The number of one bits above the topmost zero bit indicates the number of bytes (including this one) in the whole sequence. + else if (c < 0xE0) { // 0xC0-0xDF + // add a utf-8 sequence (2 bytes) + if (2 > size) { + return size; // prevent overrun + } + length += 2; + } + else if (c < 0xF0) { // 0xE0-0xEF + // add a utf-8 sequence (3 bytes) + if (3 > size) { + return size; // prevent overrun + } + length += 3; + } + else if (c < 0xF8) { // 0xF0-0xF7 + // add a utf-8 sequence (4 bytes) + if (4 > size) { + return size; // prevent overrun + } + length += 4; + } + else if (c < 0xFC) { // 0xF8-0xFB + // add a utf-8 sequence (5 bytes) + if (5 > size) { + return size; // prevent overrun + } + length += 5; + } + else if (c < 0xFE) { // 0xFC-0xFD + // add a utf-8 sequence (6 bytes) + if (6 > size) { + return size; // prevent overrun + } + length += 6; + } + else { // 0xFE-0xFF + // not a utf-8 sequence + length++; + } + return length; +} + +static int get_utf8_seq_length(const std::string& text, size_t pos) +{ + assert(pos < text.size()); + return get_utf8_seq_length(text.c_str() + pos, text.size() - pos); +} + void NotificationManager::HintNotification::count_lines() { std::string text = m_text1; @@ -630,7 +700,7 @@ void NotificationManager::HintNotification::count_lines() float width_of_a = ImGui::CalcTextSize("a").x; int letter_count = (int)((m_window_width - m_window_width_offset) / width_of_a); while (last_end + letter_count < text.size() && ImGui::CalcTextSize(text.substr(last_end, letter_count).c_str()).x < m_window_width - m_window_width_offset) { - //letter_count += get_utf8_sequence_length(text, last_end + letter_count); + letter_count += get_utf8_seq_length(text, last_end + letter_count); } m_endlines.push_back(last_end + letter_count); last_end += letter_count; @@ -702,7 +772,7 @@ void NotificationManager::HintNotification::count_lines() float width_of_a = ImGui::CalcTextSize("a").x; int letter_count = (int)((m_window_width - m_window_width_offset - size_of_last_line) / width_of_a); while (last_end + letter_count < text.size() && ImGui::CalcTextSize(text.substr(last_end, letter_count).c_str()).x < m_window_width - m_window_width_offset - size_of_last_line) { - //letter_count += get_utf8_sequence_length(text, last_end + letter_count); + letter_count += get_utf8_seq_length(text, last_end + letter_count); } m_endlines2.push_back(last_end + letter_count); last_end += letter_count;