diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d21b61..44656fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,19 @@ QPyPack 项目的所有重要变更都将记录在此文件中。 --- +## [2.7.8] - 2026-08-11 + +#### 新增 +- **后台异步清理虚拟环境**:新增后台任务线程,将本地虚拟环境的扫描与删除操作移至后台执行,避免大文件夹清理时主界面冻结卡顿,并精准统计与提示释放的磁盘空间。 +- **Pip 权限自动降级重试**:在使用系统 Python 环境安装依赖遇到权限受限(无法写入)时,自动重试并降级为用户模式安装,进一步提高打包成功率。 +- **更新AI翻译工具**:现在能够反向补充主程序缺失的字典,并且统一使用英文标签作为日志提示前缀。 + +#### 修复 +- **临时目录残留彻底清理**:修复非沙盒模式下自定义临时路径无法完全删除的问题,优化为强力递归清理,彻底释放残留的编译缓存。 +- **界面状态同步修复**:修复拖入新脚本或重置界面时,“保留本地虚拟环境”勾选框状态未被正确复位的问题。 + +--- + ## [2.7.7] - 2026-08-09 #### 新增 diff --git a/CHANGELOG_EN.md b/CHANGELOG_EN.md index 122486f..01a46f3 100644 --- a/CHANGELOG_EN.md +++ b/CHANGELOG_EN.md @@ -9,6 +9,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [2.7.8] - 2026-08-10 + +#### Added +- **Asynchronous Background Venv Cleanup**: Introduced a background worker thread to offload scanning and deletion of local virtual environments from the UI thread, preventing interface freezing during large folder cleanups while accurately calculating and displaying freed disk space. +- **Automatic Pip Permission Fallback & Retry**: Automatically retries dependency installation using `--user` mode if the system Python environment lacks write permissions, further improving build success rates. +- **Updated AI Translation Tool**: Added support for auto-patching missing translation dictionaries back into the main application, and standardized English bracketed tags for all log prefixes. + +#### Fixed +- **Thorough Temporary Directory Cleanup**: Fixed an issue where custom temp paths were not fully deleted in non-sandbox mode. Optimized with robust recursive cleanup to completely free residual build caches. +- **UI State Synchronization Fix**: Fixed an issue where the "Keep Local Venv" checkbox was not properly reset when dragging in a new script or resetting the workspace. + +--- + ## [2.7.7] - 2026-08-09 #### Added diff --git a/pyproject.toml b/pyproject.toml index cc5c8b2..a992042 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "qpypack" -version = "2.7.7" +version = "2.7.8" description = "A cross-platform GUI packaging and compilation suite based on PyInstaller and Nuitka." readme = "README_EN.md" authors = [ diff --git a/qpypack/locales/ar_SA.json b/qpypack/locales/ar_SA.json index 4c32599..0c117fc 100644 --- a/qpypack/locales/ar_SA.json +++ b/qpypack/locales/ar_SA.json @@ -1,44 +1,48 @@ { - " [Console]": " [وحدة التحكم]", - " [No Console]": " [بدون وحدة تحكم]", - "* Nuitka Auto-manages C Compiler": "* يتولى Nuitka إدارة مترجم C تلقائيًا", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* الرعاية طوعية تمامًا، وتعمل كتشجيع غير مشروط لمجتمع المصادر المفتوحة، ولا تنطوي على أي التزامات تجارية. شكرًا لدعمكم!", + " [Console]": "[وحدة التحكم]", + " [No Console]": "[بدون وحدة تحكم]", + "* Nuitka Auto-manages C Compiler": "* يدير Nuitka مترجم C تلقائيًا", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* الرعاية طوعية تمامًا، وتعمل كتشجيع غير مشروط لمجتمع المصادر المفتوحة، ولا تنطوي على أي التزامات تجارية. شكرًا لدعمك!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ تم اكتشافه محليًا:
{path}
جاهز للتبديل مباشرة دون إعادة التنزيل.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "هل أنت متأكد من رغبتك في إعادة تعيين جميع التفضيلات؟
سيتم استعادة جميع الإعدادات إلى الحالة الافتراضية.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "هل أنت متأكد أنك تريد إعادة تعيين جميع التفضيلات؟
سيتم استعادة جميع الإعدادات إلى الحالة الافتراضية.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "تم العثور على {count} بيئة افتراضية للمشروع الحالي:
{paths}

هل أنت متأكد أنك تريد حذفها لتحرير مساحة القرص؟", "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "تم تثبيت بيئة بايثون بنجاح!

تم تحديث متغيرات بيئة النظام. يُنصح بالخروج وإعادة تشغيل البرنامج لتطبيق التغييرات.", "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "إدارة بيئة بايثون
يدعم التبديل بين بيئات بايثون المكتشفة محليًا أو تنزيل إصدارات جديدة.", "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "بيئة بايثون مطلوبة
يعتمد بناء التطبيق على مترجم بايثون.
يرجى تحديد إصدار لتنزيله وتثبيته وتكوين متغيرات البيئة تلقائيًا.
", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "لم يتم اكتشاف بايثون على نظامك!

يتطلب QPyPack بيئة بايثون لتجميع الكود الخاص بك.
إذا لم تقم بتثبيت بايثون، يرجى تنزيله وتثبيته (تذكر تحديد 'إضافة Python.exe إلى PATH' أثناء التثبيت).", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "لم يتم اكتشاف بايثون على نظامك!

يتطلب QPyPack بيئة بايثون لتجميع الكود الخاص بك.
إذا لم تقم بتثبيت بايثون، يرجى تنزيله وتثبيته.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "توصية: يُنصح باستخدام بايثون 3.11.9 للحصول على أفضل توافق للبناء ودعم للمحرك.", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "توصية: يُنصح باستخدام بايثون 3.11.9 للحصول على أفضل توافق للبناء ودعم المحرك.", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
المفسر
جارٍ اكتشاف بيئة النظام ومصفوفة دعم نظام التشغيل تلقائيًا...", "AST Scan": "فحص AST", - "AST scan completed, found {count} dependencies.": "اكتمل فحص AST، تم العثور على {count} من التبعيات.", - "AWS PyPI Mirror (US/EU)": "مرآة AWS PyPI (الولايات المتحدة/أوروبا)", + "AST scan completed, found {count} dependencies.": "اكتمل فحص AST، تم العثور على {count} تبعيات.", + "AWS PyPI Mirror (US/EU)": "مرآة PyPI في AWS (الولايات المتحدة/أوروبا)", "About": "حول", + "Active backport conflicts detected ({count}): {pkgs}": "تم اكتشاف تعارضات backport نشطة ({count}): {pkgs}", + "Add Backport Rule": "إضافة قاعدة Backport", "Add Dir": "إضافة مجلد", "Add File": "إضافة ملف", "Add Mapping": "إضافة تعيين", - "Additional Resources (Drag & Drop Supported)": "موارد إضافية (يدعم السحب والإفلات)", - "Aliyun Cloud (China)": "سحابة علي (الصين)", + "Additional Resources (Drag & Drop Supported)": "موارد إضافية (دعم السحب والإفلات)", + "Aliyun Cloud (China)": "سحابة علي بابا (الصين)", "Analyze Dependencies (AST)": "تحليل التبعيات (AST)", "App Icon:": "أيقونة التطبيق:", - "App Metadata & Presets": "بيانات التطبيق الوصفية والإعدادات المسبقة", - "Apple Silicon (M-Series) & Intel": "Apple Silicon (سلسلة M) وIntel", - "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) وIntel", + "App Metadata & Presets": "بيانات التطبيق والإعدادات المسبقة", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (سلسلة M) و Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) و Intel", "Attention: Please check the log for details.": "تنبيه: يرجى مراجعة السجل للحصول على التفاصيل.", "Author/Company:": "المؤلف/الشركة:", "Auto Extract Icon": "استخراج الأيقونة تلقائيًا", "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "يطبق التوقيع الرقمي تلقائيًا على التطبيق المبني، مما يلغي تحذير 'الناشر غير المعروف'", - "Auto-patched missing ({count}): {pkgs}": "تم تصحيح المفقود تلقائيًا ({count}): {pkgs}", + "Auto-patched missing ({count}): {pkgs}": "تم تصحيح النواقص تلقائيًا ({count}): {pkgs}", "Auto-save Build Log": "حفظ سجل البناء تلقائيًا", - "Backup PIP Index:": "نسخة احتياطية لفهرس PIP:", + "Backport exclusion rules have been reset to defaults.": "تمت إعادة تعيين قواعد الاستبعاد الخلفية إلى الإعدادات الافتراضية.", + "Backup PIP Index:": "نسخ احتياطي لفهرس PIP:", "Browse": "تصفح", "Build Cancelled": "تم إلغاء البناء", "Build Engine:": "محرك البناء:", "Build Failed": "فشل البناء", "Build Settings": "إعدادات البناء", - "Build Successful": "تم البناء بنجاح", + "Build Successful": "نجح البناء", "Build engine packages ({count}): {pkgs}": "حزم محرك البناء ({count}): {pkgs}", "CPU Cores:": "أنوية المعالج:", "Cancel": "إلغاء", @@ -48,22 +52,24 @@ "Certificate generated successfully!": "تم إنشاء الشهادة بنجاح!", "Certificate password": "كلمة مرور الشهادة", "Check log output below for troubleshooting.": "تحقق من مخرجات السجل أدناه لاستكشاف الأخطاء وإصلاحها.", - "Clean Temporary Cache After Build": "تنظيف ذاكرة التخزين المؤقتة المؤقتة بعد البناء", + "Clean Temporary Cache After Build": "تنظيف ذاكرة التخزين المؤقت بعد البناء", "Clear All": "مسح الكل", + "Clear Local Venvs": "مسح البيئات الافتراضية المحلية", "Clear Log": "مسح السجل", + "Clear Virtual Environments": "مسح البيئات الافتراضية", "Click to automatically download, install Python, and configure system environment variables.": "انقر للتنزيل التلقائي وتثبيت Python وتكوين متغيرات بيئة النظام.", "Code Signing": "توقيع الكود", - "Comma separated (e.g. pandas, PyQt5)": "مفصولة بفواصل (مثال: pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "مفصولة بفواصل (مثال: tkinter, matplotlib)", + "Comma separated (e.g. pandas, PyQt5)": "مفصولة بفواصل (مثل pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "مفصولة بفواصل (مثل tkinter, matplotlib)", "Commercial PFX File:": "ملف PFX تجاري:", "Compatibility Mode (Default)": "وضع التوافق (الافتراضي)", "Compatibility depends on build environment glibc version.": "يعتمد التوافق على إصدار glibc في بيئة البناء.", - "Concise Log Output": "مخرجات سجل موجزة", - "Concise Mode": "الوضع المختصر", + "Concise Log Output": "إخراج سجل موجز", + "Concise Mode": "الوضع الموجز", "Config preset exported to: {path}": "تم تصدير الإعداد المسبق إلى: {path}", "Config preset imported successfully.": "تم استيراد الإعداد المسبق بنجاح.", "Configure Build Settings": "تكوين إعدادات البناء", - "Configure Manually": "تكوين يدويًا", + "Configure Manually": "تكوين يدوي", "Confirm Password:": "تأكيد كلمة المرور:", "Contents Directory (--contents-directory):": "دليل المحتويات (--contents-directory):", "Copy": "نسخ", @@ -71,28 +77,33 @@ "Create Self-Signed Cert": "إنشاء شهادة موقعة ذاتيًا", "Custom Directory": "دليل مخصص", "Cut": "قص", - "Declared in requirements.txt ({count}): {pkgs}": "مُعلن في requirements.txt ({count}): {pkgs}", - "Declared in requirements.txt: None": "مُعلن في requirements.txt: لا شيء", + "Declared in requirements.txt ({count}): {pkgs}": "معلن في requirements.txt ({count}): {pkgs}", + "Declared in requirements.txt: None": "معلن في requirements.txt: لا شيء", + "Delete All": "حذف الكل", + "Deleting...": "جارٍ الحذف...", "Dependencies": "التبعيات", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "تحذير: فشل تثبيت التبعيات {pkgs}. راجع السجل للتفاصيل.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "تحذير نقص التبعية: فشل تثبيت {pkgs}. تحقق من السجل للحصول على التفاصيل.", "Description:": "الوصف:", "Desktop Application": "تطبيق سطح المكتب", "Detailed Mode": "الوضع المفصل", - "Directory": "دليل", - "Discovered via scanner ({count}): {pkgs}": "تم اكتشافها عبر الماسح ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "انقر نقرًا مزدوجًا لتحرير مسار الهدف؛ السحب والإفلات مدعوم", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "انقر نقرًا مزدوجًا لتحرير مسار الهدف؛ السحب والإفلات مدعوم. استخدم 'تصدير الإعداد' للحفظ لإعادة الاستخدام.", - "Download New Version": "تنزيل إصدار جديد", + "Directory": "الدليل", + "Discovered via scanner ({count}): {pkgs}": "تم اكتشافه عبر الماسح ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "انقر نقرًا مزدوجًا لتحرير مسار الهدف؛ يدعم السحب والإفلات", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "انقر نقرًا مزدوجًا لتحرير مسار الهدف؛ اسحب وأفلت مدعوم. استخدم 'حفظ الإعداد المسبق' للحفظ لإعادة الاستخدام.", + "Download New Version": "تنزيل الإصدار الجديد", "Download Python": "تنزيل بايثون", "Download complete. Starting Python installation...": "اكتمل التنزيل. بدء تثبيت بايثون...", "Downloading Python {ver}... Please wait.": "جارٍ تنزيل بايثون {ver}... يرجى الانتظار.", "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "اسحب وأفلت سكربت بايثون (.py/.pyw) هنا\nأو انقر للتصفح", - "Drop Python source code to start": "أسقط كود بايثون المصدر للبدء", + "Drop Python source code to start": "أسقط كود مصدر بايثون للبدء", "Edit Path": "تحرير المسار", + "Enable Automatic Backport Isolation": "تمكين عزل الإصدار القديم التلقائي", "Enable Smart Code Signing": "تمكين التوقيع الذكي للكود", "Enable UPX Compression": "تمكين ضغط UPX", "Engine": "المحرك", "Engine & Environment": "المحرك والبيئة", + "Environment Analysis": "تحليل البيئة", + "Environment Analysis & Remediation": "تحليل البيئة والإصلاح", "Error": "خطأ", "Exclude Modules:": "استبعاد الوحدات:", "Execution Log": "سجل التنفيذ", @@ -104,61 +115,73 @@ "File": "ملف", "Folder Mode (--onedir)": "وضع المجلد (--onedir)", "Full backward compatibility": "توافق كامل مع الإصدارات السابقة", - "Generate": "إنشاء", + "Generate": "توليد", "GitHub Repository": "مستودع GitHub", "Global configuration has been reset.": "تمت إعادة تعيين الإعدادات العامة.", - "Hidden Imports:": "الاستيرادات المخفية:", + "Hidden Imports:": "استيرادات مخفية:", "Hide Console (--noconsole)": "إخفاء وحدة التحكم (--noconsole)", - "Hide Custom Cert Settings ▾": "إخفاء إعدادات الشهادة المخصصة ▾", + "Hide Custom Cert Settings ▾": "إخفاء إعدادات الشهادات المخصصة ▾", "Huawei Cloud (China)": "سحابة هواوي (الصين)", "Import Name": "اسم الاستيراد", "Import Preset...": "استيراد إعداد مسبق...", - "Import name (e.g. cv2):": "اسم الاستيراد (مثال: cv2):", + "Import name (e.g. cv2):": "اسم الاستيراد (مثل cv2):", "Independent Developer": "مطور مستقل", "Initializing build...": "جارٍ تهيئة البناء...", + "Inspect Interpreter Environment": "فحص بيئة المفسر", "Install Complete": "اكتمل التثبيت", - "Install requirements.txt": "تثبيت ملف requirements.txt", + "Install requirements.txt": "تثبيت requirements.txt", "Internal directory name for dependencies (default: _internal)": "اسم الدليل الداخلي للتبعيات (الافتراضي: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "فحص المفسر ناجح: لم يتم اكتشاف تعارضات backport نشطة.", "Interpreter:": "المفسر:", "Invalid syntax": "صيغة غير صالحة", "Issues & Feedback": "المشكلات والملاحظات", + "Keep Local Venv": "الاحتفاظ بالبيئة الافتراضية المحلية", "Later": "لاحقًا", "Leave blank to auto-detect from environment variables": "اتركه فارغًا للاكتشاف التلقائي من متغيرات البيئة", "Leave blank to auto-detect system default Python": "اتركه فارغًا للاكتشاف التلقائي لبايثون الافتراضي للنظام", - "Leave blank to auto-match script name": "اتركه فارغًا لمطابقة اسم السكربت تلقائيًا", + "Leave blank to auto-match script name": "اتركه فارغًا لمطابقة اسم البرنامج النصي تلقائيًا", "Leave blank to auto-search requirements.txt in current directory": "اتركه فارغًا للبحث التلقائي عن requirements.txt في الدليل الحالي", - "Legacy macOS Compatible": "متوافق مع أنظمة macOS القديمة", + "Legacy macOS Compatible": "متوافق مع macOS القديم", "Lite Mode (Smaller size)": "الوضع الخفيف (حجم أصغر)", "Loaded: {filename}": "تم التحميل: {filename}", "Locally Detected Pythons": "إصدارات بايثون المكتشفة محليًا", - "Lock Core Dependencies": "تثبيت التبعيات الأساسية", + "Lock Core Dependencies": "قفل التبعيات الأساسية", "Log saved to: {path}": "تم حفظ السجل في: {path}", - "Manifest complete (No missing packages)": "البيان مكتمل (لا توجد حزم مفقودة)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "أقصى توافق. يُنصح به للتطبيقات ذات الاستيرادات الديناميكية المعقدة.", + "Manifest complete (No missing packages)": "اكتمل البيان (لا توجد حزم مفقودة)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "أقصى توافق. موصى به للتطبيقات ذات الاستيراد الديناميكي المعقد.", + "Min Python Ver": "أدنى إصدار بايثون", + "Minimum Built-in Python Version (e.g. 3.4):": "أدنى إصدار بايثون مدمج (مثل 3.4):", "Mirrors & Scanner": "المرايا والماسح الضوئي", - "Modern Cross-Platform Python Application Packager": "أداة تغليف تطبيقات بايثون حديثة متعددة المنصات", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "واجهة رسومية حديثة لتغليف بايثون متعددة المنصات مدعومة بـ PyInstaller و Nuitka", + "Modern Cross-Platform Python Application Packager": "أداة تغليف تطبيقات بايثون الحديثة عبر المنصات", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "واجهة رسومية حديثة لتغليف بايثون عبر المنصات مدعومة بـ PyInstaller و Nuitka", "No Windows 7 Support": "لا يدعم ويندوز 7", + "No environment conflicts detected.": "لا توجد تعارضات في البيئة.", "No local Python environments detected.": "لم يتم اكتشاف أي بيئات بايثون محلية.", - "No log content.": "لا يوجد محتوى في السجل.", + "No local virtual environments found to clean.": "لم يتم العثور على بيئات افتراضية محلية لتنظيفها.", + "No log content.": "لا يوجد محتوى سجل.", "Nuitka Version:": "إصدار Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — يترجم الكود المصدري إلى ملف ثنائي أصلي بلغة C/C++. ينتج حجم حزمة أصغر، تنفيذ أسرع، وحماية عميقة ضد فك الترجمة (يتطلب مترجم C).", - "OK": "موافق", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — يترجم الكود المصدري إلى ثنائي C/C++ أصلي. ينتج حجم حزمة أصغر، تنفيذ أسرع، وحماية عميقة ضد فك الترجمة (يتطلب مترجم C).", + "OK": "OK", "OS Support Matrix:": "مصفوفة دعم أنظمة التشغيل:", + "Obsolete Backport Exclusion Rules": "قواعد استبعاد الحزم القديمة", "One-Click Download & Install": "تنزيل وتثبيت بنقرة واحدة", "One-Click Install": "تثبيت بنقرة واحدة", "One-File Mode (--onefile)": "وضع الملف الواحد (--onefile)", - "Only supported on Windows.": "مدعوم على نظام ويندوز فقط.", + "Only supported on Windows.": "مدعوم فقط على ويندوز.", "Open Directory": "فتح المجلد", - "Open output directory or reset workspace.": "فتح مجلد الإخراج أو إعادة تعيين مساحة العمل.", + "Open output directory or reset workspace.": "افتح مجلد الإخراج أو أعد تعيين مساحة العمل.", "Optimization & Security": "التحسين والأمان", "Output Location": "موقع الإخراج", "Output Location:": "موقع الإخراج:", "Output Name:": "اسم الإخراج:", "Package Map": "خريطة الحزم", + "Package Mapping & Remediation": "تعيين الحزم والإصلاح", + "Package Mappings & Rules": "تعيينات الحزم والقواعد", + "Package Name": "اسم الحزمة", + "Package Name (e.g. pathlib):": "اسم الحزمة (مثل pathlib):", "Package Name Mappings": "تعيينات أسماء الحزم", - "Package mappings have been reset to defaults.": "تمت إعادة تعيين تعيينات الحزم إلى الافتراضية.", - "Packaging Mode:": "وضع التغليف:", + "Package mappings have been reset to defaults.": "تمت إعادة تعيين تعيينات الحزم إلى الإعدادات الافتراضية.", + "Packaging Mode:": "وضع التعبئة:", "Parsing metadata...": "جارٍ تحليل البيانات الوصفية...", "Password cannot be empty!": "كلمة المرور لا يمكن أن تكون فارغة!", "Password:": "كلمة المرور:", @@ -168,13 +191,13 @@ "Platform Support Matrix:": "مصفوفة دعم المنصات:", "Preferences": "التفضيلات", "Preferences & System Behavior": "التفضيلات وسلوك النظام", - "Preparing engine...": "جارٍ تجهيز المحرك...", + "Preparing engine...": "جارٍ تحضير المحرك...", "Primary PIP Index:": "فهرس PIP الأساسي:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "خاص بالمشروع. لا يتم حفظه في التفضيلات العامة. استخدم 'تصدير الإعداد المسبق' لحفظ الإعدادات.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "خاص بالمشروع. لا يتم حفظه في التفضيلات العامة. استخدم 'تصدير الإعداد المسبق' لحفظ التكوين.", "PyInstaller Version:": "إصدار PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — يضم مترجم Python والبايت كود. سرعة بناء سريعة، بدون إعدادات (لا حاجة لمترجم C)، وتوافق ممتاز.", - "PyPI Home": "الصفحة الرئيسية لـ PyPI", - "PyPI Official (Global Default)": "PyPI الرسمي (الافتراضي العام)", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — يجمع مترجم Python والبايت كود. سرعة بناء سريعة، بدون إعداد (لا حاجة لمترجم C)، وتوافق ممتاز.", + "PyPI Home": "صفحة PyPI الرئيسية", + "PyPI Official (Global Default)": "PyPI الرسمي (الافتراضي العالمي)", "PyPI Package Name": "اسم حزمة PyPI", "PyPI package name for [{imp_name}]:": "اسم حزمة PyPI لـ [{imp_name}]:", "Python 3.10.11": "بايثون 3.10.11", @@ -186,27 +209,31 @@ "Python 3.9.13": "بايثون 3.9.13", "Python Environment Management": "إدارة بيئة بايثون", "Python Environment Required": "بيئة بايثون مطلوبة", - "Python Packaging, Reimagined.": "تغليف بايثون، بصورة جديدة.", - "Python TestPyPI": "بايثون TestPyPI", - "Python installed. Please restart QPyPack manually later.": "تم تثبيت بايثون. يرجى إعادة تشغيل QPyPack يدويًا لاحقًا.", + "Python Packaging, Reimagined.": "تغليف بايثون، بشكل متجدد.", + "Python TestPyPI": "Python TestPyPI", + "Python installed. Please restart QPyPack manually later.": "تم تثبيت Python. يرجى إعادة تشغيل QPyPack يدويًا لاحقًا.", "QPyPack Developer": "مطور QPyPack", "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack أداة مجانية ومفتوحة المصدر. إذا كانت قد حسّنت كفاءتك أو حلّت مشاكل التغليف، ففكر في شراء قهوة للمؤلف!", "Ready, waiting for build.": "جاهز، في انتظار البناء.", "Rebuild": "إعادة البناء", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "توصية: 6+ أحرف، أبجدية رقمية، فقط '-' و '_'. تجنب المسافات أو الصينية لمنع أخطاء التوقيع.", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "توصية: 6+ أحرف، أحرف أبجدية رقمية، '-' و '_' فقط. تجنب المسافات أو الصينية لمنع أخطاء التوقيع.", + "Remediate Detected Conflicts": "معالجة التعارضات المكتشفة", + "Remediation completed for packages: {pkgs}": "اكتملت المعالجة للحزم: {pkgs}", "Remove Selected": "إزالة المحدد", "Requirements File:": "ملف المتطلبات:", "Reset": "إعادة تعيين", - "Reset to Default Config": "إعادة تعيين إلى الإعداد الافتراضي", + "Reset to Default Config": "إعادة تعيين إلى التكوين الافتراضي", "Resources": "الموارد", "Restore Defaults": "استعادة الافتراضيات", "Save & Return": "حفظ والعودة", "Save Certificate": "حفظ الشهادة", "Scan Entire Folder": "فحص المجلد بأكمله", + "Scanning...": "جارٍ الفحص...", "Script and settings retained. Ready to rebuild.": "تم الاحتفاظ بالبرنامج النصي والإعدادات. جاهز لإعادة البناء.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "تم تحميل البرنامج النصي. يمكنك سحب مجلدات الأصول أو ملفات البيانات مباشرة هنا لتجميعها.", "Select .pfx / .p12 certificate file": "حدد ملف الشهادة .pfx / .p12", "Select All": "تحديد الكل", - "Select Python Version to Download:": "حدد إصدار بايثون للتنزيل:", + "Select Python Version to Download:": "حدد إصدار Python للتنزيل:", "Self-Signed Certificate (*.pfx)": "شهادة موقعة ذاتيًا (*.pfx)", "Smaller output size. Recommended for 95% of standard apps.": "حجم إخراج أصغر. موصى به لـ 95% من التطبيقات القياسية.", "Sound Notification": "إشعار صوتي", @@ -217,129 +244,129 @@ "Status: Build Cancelled": "الحالة: تم إلغاء البناء", "Status: Build Completed": "الحالة: اكتمل البناء", "Status: Build Failed": "الحالة: فشل البناء", + "Status: Environment inspection ready.": "الحالة: فحص البيئة جاهز.", "Status: Loaded {filename}{mode}": "الحالة: تم تحميل {filename}{mode}", - "Status: Packaging ({engine}) ...": "الحالة: جاري التغليف ({engine}) ...", - "Status: Parsing {filename}...": "الحالة: جاري تحليل {filename}...", + "Status: Packaging ({engine}) ...": "الحالة: التعبئة ({engine}) ...", + "Status: Parsing {filename}...": "الحالة: تحليل {filename}...", "Status: Ready": "الحالة: جاهز", "Status: Workspace Reset": "الحالة: تمت إعادة تعيين مساحة العمل", "Stop Build": "إيقاف البناء", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "تم تنظيف {count} بيئة افتراضية بنجاح، وتحرير {size:.1f} ميغابايت من مساحة القرص.", "Switched to [Build Settings] -> [Engine], please set the Python path.": "تم التبديل إلى [إعدادات البناء] -> [المحرك]، يرجى تعيين مسار بايثون.", "Switched to local Python environment: {path}": "تم التبديل إلى بيئة بايثون المحلية: {path}", - "System Default ({sys_native})": "الافتراضي للنظام ({sys_native})", - "System Temp Directory": "دليل النظام المؤقت", - "Target Directory:": "الدليل الهدف:", + "System Default ({sys_native})": "افتراضي النظام ({sys_native})", + "System Temp Directory": "مجلد النظام المؤقت", + "Target Directory:": "المجلد الهدف:", "Target relative path:": "المسار النسبي الهدف:", - "Temporary Directory:": "الدليل المؤقت:", + "Temporary Directory:": "المجلد المؤقت:", "Tencent Cloud (China)": "تينسنت كلاود (الصين)", "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "تلميح: فشل البناء في الوضع الخفيف. يمكنك محاولة التبديل إلى [وضع التوافق] في إعدادات البناء وإعادة البناء.", "Toggle Execution Log": "تبديل سجل التنفيذ", "Tsinghua University (China)": "جامعة تسينغهوا (الصين)", "UI Language:": "لغة الواجهة:", "UPX Path:": "مسار UPX:", - "USTC (China)": "جامعة العلوم والتكنولوجيا الصينية (الصين)", + "USTC (China)": "USTC (الصين)", "Undo": "تراجع", "Unknown": "غير معروف", "Use Custom Commercial Cert (Optional) ▸": "استخدام شهادة تجارية مخصصة (اختياري) ▸", "Use Installed Version Directly": "استخدام الإصدار المثبت مباشرة", "Use Selected Environment": "استخدام البيئة المحددة", + "Use Virtual Environment": "استخدام البيئة الافتراضية", "Version:": "الإصدار:", "View Python": "عرض بايثون", - "[ERROR] Additional resource file/directory not found: {path}": "[خطأ] ملف/مجلد موارد إضافي غير موجود: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[خطأ] تم إحباط البناء: مساحة القرص غير كافية (NoSpaceLeft / Errno 28). يرجى تنظيف مساحة القرص (يوصى بمساحة خالية لا تقل عن 5 جيجابايت) والمحاولة مرة أخرى.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[خطأ] اكتمل البناء، لكن فشل تثبيت التبعيات التالية:\n\n - {pkgs}\n\nملاحظة: قد يظهر خطأ ModuleNotFoundError عند تشغيل التطبيق.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[خطأ] تعذر العثور على منتج تنفيذي صالح في مجلد البناء المؤقت: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[خطأ] حدث استثناء أثناء تحليل AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[خطأ] فشل إنشاء البيئة الافتراضية. قد تكون بيئة بايثون الحالية تفتقر إلى الوحدات الضرورية أو لديها صلاحيات مقيدة.", - "[ERROR] Failed to export log file: {error}": "[خطأ] فشل تصدير ملف السجل: {error}", - "[ERROR] Failed to export preset file: {error}": "[خطأ] فشل تصدير ملف الإعداد المسبق: {error}", - "[ERROR] I/O Exception: {err_msg}": "[خطأ] استثناء إدخال/إخراج: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[خطأ] مساحة القرص غير كافية (المتاح: {free:.1f} جيجابايت). يلزم 0.5 جيجابايت على الأقل لتهيئة بيئة البناء بأمان.", - "[ERROR] Output directory is missing write permissions: {error}": "[خطأ] مجلد الإخراج يفتقر إلى أذونات الكتابة: {error}", - "[ERROR] Please load a valid Python source file first!": "[خطأ] يرجى تحميل ملف مصدر بايثون صالح أولاً!", - "[ERROR] Preset file format error or corrupted: {error}": "[خطأ] خطأ في تنسيق ملف الإعداد المسبق أو تالف: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[خطأ] خطأ في العملية: أمر أو ملف ثنائي مفقود ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[خطأ] فشل نقل المنتج، قد يكون الملف مشغولاً بعملية نظام أو يفتقر إلى إذن: {error}", - "[ERROR] Python installation failed or was cancelled.": "[خطأ] فشل تثبيت بايثون أو تم إلغاؤه.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[خطأ] مترجم بايثون غير صالح أو غير موجود: {path}", - "[ERROR] Requirements file not found: {path}": "[خطأ] ملف المتطلبات غير موجود: {path}", - "[ERROR] System execution exception: {error}": "[خطأ] استثناء تنفيذ النظام: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[خطأ] الملف الهدف مقفل أو مشفر بواسطة محرك الأقراص السحابي. يرجى فك التشفير والمحاولة مرة أخرى.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[خطأ] الملف الهدف قيد التشغيل أو مشغول. يرجى إغلاق التطبيق الحالي والمحاولة مرة أخرى.", - "[ERROR] The specified icon file does not exist: {path}": "[خطأ] ملف الأيقونة المحدد غير موجود: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[فشل] تمت مقاطعة البناء بشكل استثنائي!\n\nاستكشاف الأخطاء الشائعة:\n1. عدم تطابق البيئة (الأكثر شيوعًا): إصدار بايثون المحدد غير متوافق مع الكود المصدري الخاص بك. يرجى الانتقال إلى [إعدادات البناء] لتبديل إصدار بايثون الذي تستخدمه عادةً لهذا الكود.\n2. التبعيات المفقودة: انقر فوق 'الوضع التفصيلي' أعلاه للتحقق من ModuleNotFoundError.\n3. حظر برنامج مكافحة الفيروسات: تأكد من أن برنامج الأمان الخاص بك لا يحظر عملية البناء.\n\n(ملاحظة: عادةً ما يكون هذا بسبب اختلافات البيئة/الكود وليس محرك التغليف نفسه. يرجى التحقق من السجل التفصيلي للأسباب الدقيقة.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[فشل] تمت مقاطعة الترجمة بسبب استثناءات، يرجى النقر على 'الوضع التفصيلي' أعلى نافذة السجل لاستكشاف الأخطاء وإصلاحها.", - "[INFO] Analyzing source code and project dependencies...": "[معلومة] تحليل الكود المصدري وتبعيات المشروع...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[معلومة] تم تطبيق التوقيع الرقمي مع الطابع الزمني ({tsa})...", - "[INFO] Applying smart digital signature...": "[معلومة] تطبيق التوقيع الرقمي الذكي...", - "[INFO] Build Cancelled.": "[معلومة] تم إلغاء البناء.", - "[INFO] Build log exported to: {path}": "[معلومة] تم تصدير سجل البناء إلى: {path}", - "[INFO] Compilation completed, archiving built files...": "[معلومة] اكتملت الترجمة، يتم أرشفة الملفات المبنية...", - "[INFO] Creating virtual environment...": "[معلومة] إنشاء بيئة افتراضية...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[معلومة] تنزيل متصفحات Playwright عبر المرآة: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[معلومة] تقييم الذاكرة الفعلية للنظام (المتاحة: {ram:.1f} جيجابايت). تم ضبط التزامن التكيفي: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[معلومة] تم العثور على بيئة Clang محلية، يتم إعطاء الأولوية لمترجم LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[معلومة] تم العثور على بيئة GCC/MinGW-w64 محلية، يتم استخدام مترجم MinGW64.", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[معلومة] تم العثور على بيئة MSVC محلية، يتم إعطاء الأولوية لمترجم C++ الأصلي.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[معلومة] تم العثور على بيئة Zig محلية، يتم ترك Nuitka لإدارة ترجمة الواجهة الخلفية C.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[معلومة] تحرير المساحة، تنظيف بيئة البناء المؤقتة...", - "[INFO] Initializing isolated build environment...": "[معلومة] تهيئة بيئة بناء معزولة...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[معلومة] تثبيت بيئة البناء وتبعيات المشروع ({count} حزم): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[معلومة] تم تمكين الوضع الخفيف، تطبيق تحسين البايت كود (-OO) وإزالة وحدات التطوير...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[معلومة] لم يتم اكتشاف مترجم C محلي. سيقوم Nuitka تلقائيًا بتنزيل وإدارة سلسلة أدوات MinGW-w64 متوافقة.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[معلومة] نصيحة Nuitka: إذا طُلب منك تنزيل مترجم GCC/MinGW في أول بناء، يرجى التأكد من اتصال شبكة مستقر.", - "[INFO] Performing pre-flight environment checks...": "[معلومة] إجراء فحوصات بيئية أولية...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[معلومة] تم اكتشاف Playwright. تثبيت المتصفحات المدمجة (PLAYWRIGHT_BROWSERS_PATH=0)...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[معلومة] تم اكتشاف Python 3.13+: استخدام مترجم Zig (--zig) كواجهة خلفية C.", - "[INFO] Python interpreter path: {path}": "[معلومة] مسار مترجم Python: {path}", - "[INFO] Resolving project dependencies...": "[معلومة] حل تبعيات المشروع...", - "[INFO] Retrying Playwright browser download via official CDN...": "[معلومة] إعادة محاولة تنزيل متصفح Playwright عبر CDN الرسمي...", - "[INFO] Reusing existing virtual environment...": "[معلومة] إعادة استخدام البيئة الافتراضية الموجودة...", - "[INFO] Scanning project source code via AST engine...": "[معلومة] فحص الكود المصدري للمشروع عبر محرك AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[معلومة] بدء محرك {engine} لترجمة الملفات الثنائية...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[معلومة] إزالة معلمات الأيقونة وإعادة البناء تلقائيًا...", - "[INFO] Successfully installed compatible versions.": "[معلومة] تم تثبيت الإصدارات المتوافقة بنجاح.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[معلومة] التحويل إلى مصدر PyPI الاحتياطي للاسترجاع: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[معلومة] مزامنة وترقية مدير حزم pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[معلومة] نصيحة: قد يتم وضع علامة خاطئة على الملفات التنفيذية المعبأة بواسطة Windows Defender أو برنامج مكافحة الفيروسات. يُنصح بإضافة استثناءات أو توقيع الكود.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[معلومة] استخدام مترجم MinGW64 (--mingw64) للواجهة الخلفية C.", - "[INFO] Using MinGW64 compiler.": "[معلومة] استخدام مترجم MinGW64.", - "[INFO] Validating output files and generating final product...": "[معلومة] التحقق من ملفات الإخراج وإنشاء المنتج النهائي...", - "[SUCCESS] Compilation completed, output path: {path}": "[نجاح] اكتمل التجميع، مسار الإخراج: {path}", - "[SUCCESS] Digital signature applied successfully!": "[نجاح] تم تطبيق التوقيع الرقمي بنجاح!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[خطأ نحوي] يحتوي الكود المصدري على أخطاء نحوية، تم إيقاف التجميع:\n - الملف: {file}\n - النوع: {type}\n - السطر: السطر {line}\n - التفاصيل: {desc}\n\nنصيحة: يرجى التأكد من أن الكود المصدري يعمل محليًا قبل التعبئة.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[خطأ نحوي] فشل تحليل بناء جملة الكود المصدري، تم إيقاف البناء:\n - الملف: {file}\n - السطر: السطر {line}\n - التفاصيل: {desc}\n\nنصيحة: هذا عادة ليس خطأ من أداة التعبئة.\nيرجى التأكد من أن [إصدار بايثون للبناء] الذي حددته يطابق الإصدار الذي استخدمته [لكتابة/اختبار الكود].\nاستخدام بناء جملة أحدث (مثل عامل الفظ :=، اتحادات الأنواع |، match-case) في بيئة بايثون أقدم سيؤدي إلى هذا الخطأ.\nنوصي بالانتقال إلى [إعدادات البناء] -> [المحرك] لتبديل إصدار بايثون الصحيح.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[تحذير] تم اكتشاف وحدة 'multiprocessing'. تأكد من استدعاء 'multiprocessing.freeze_support()' تحت 'if __name__ == \"__main__\":' لمنع حلقات العمليات اللانهائية (قنابل الشوكة).", - "[WARN] AST Analysis Exception: {error}": "[تحذير] استثناء تحليل AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[تحذير] انتهت مهلة الأمر (>{timeout} ثانية)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[تحذير] تم اكتشاف 'requests' أو 'httpx'. يتم تضمين شهادات 'certifi' تلقائيًا لمنع أخطاء SSL.", - "[WARN] Icon conversion to .icns failed, building without icon.": "[تحذير] فشل تحويل الأيقونة إلى .icns، البناء بدون أيقونة.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[تحذير] تم حظر كتابة مورد الأيقونة (ربما مقفلة بواسطة النظام/مكافح الفيروسات)، يتم تشغيل الحماية الاحتياطية...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[تحذير] تم اكتشاف مساحة قرص منخفضة على محرك أقراص هدف البناء (المتاح: {free:.1f} جيجابايت، يُنصح بـ >= 5.0 جيجابايت). قد تنقطع عملية البناء بسبب نفاد القرص.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[تحذير] تم اكتشاف استثناء تخصيص الذاكرة (ZstdError / OOM). تشغيل الحماية الاحتياطية للذاكرة: إعادة المحاولة في وضع الخيط الواحد...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[تحذير] فشل تثبيت الحزمة '{pkg}'، يتم تخطيها...", - "[WARN] Pause code injection exception: {error}": "[تحذير] استثناء حقن كود الإيقاف المؤقت: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[تحذير] فشل تثبيت متصفح Playwright من جميع المصادر، سيستمر البناء مع المخاطرة...", - "[WARN] Read requirements.txt warning: {error}": "[تحذير] تحذير قراءة requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[تحذير] فشل التوقيع الذكي، ولكن تم الاحتفاظ بمخرجات البناء.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[تحذير] فشل تثبيت بعض التبعيات، سيستمر البناء مع المخاطرة...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[تحذير] فشل تثبيت الإصدارات المحددة. إزالة قيود الإصدار لمطابقة التوافق التلقائي...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[تحذير] نوصي بشدة بالتحقق من [البيئة الافتراضية] لتعظيم تأثير الوضع الخفيف.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[تحذير] تم اكتشاف ذاكرة منخفضة في النظام (فشل تخصيص ذاكرة zstd). إعادة المحاولة تلقائيًا في وضع الخيط الواحد منخفض الذاكرة...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[تحذير] المشروع الهدف موجود في دليل مزامنة سحابية (مثل OneDrive/Dropbox). قد تقوم المزامنة السحابية بقفل ملفات البناء مؤقتًا.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[تحذير] انتهت مهلة الاتصال بخادم الطابع الزمني، يتم تنفيذ توقيع سريع محلي...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[تحذير] تم اكتشاف استخدام '__file__'. في وضع الملف الواحد لـ PyInstaller، استخدم 'sys._MEIPASS' لتحديد موقع ملفات الموارد المرفقة بشكل موثوق!", - "\\nProgram execution completed, press Enter to exit...": "\\nاكتمل تنفيذ البرنامج، اضغط Enter للخروج...", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "تم العثور على {count} بيئة افتراضية للمشروع الحالي:
{paths}

هل أنت متأكد من رغبتك في حذفها لتحرير مساحة على القرص؟", - "Clear Local Venvs": "مسح البيئات الافتراضية المحلية", - "Clear Virtual Environments": "مسح البيئات الافتراضية", - "Delete All": "حذف الكل", - "Keep Local Venv": "الاحتفاظ بالبيئة الافتراضية المحلية", - "No local virtual environments found to clean.": "لا توجد بيئات افتراضية محلية لتنظيفها.", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "تم تنظيف {count} بيئة افتراضية بنجاح، وتم تحرير {size:.1f} ميجابايت من مساحة القرص.", - "Use Virtual Environment": "استخدام البيئة الافتراضية", - "[INFO] Creating virtual environment ({name})...": "[معلومة] إنشاء بيئة افتراضية ({name})...", - "[INFO] Reusing existing virtual environment: {path}": "[معلومة] إعادة استخدام البيئة الافتراضية الموجودة: {path}", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[تحذير] فشل في إزالة البيئة غير الصالحة، سيتم استخدام بيئة مؤقتة: {error}", - "[WARN] Python environment info detection fallback: {error}": "[تحذير] فشل في اكتشاف معلومات بيئة بايثون، سيتم استخدام طريقة بديلة: {error}", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[معلومة] تم اكتشاف بيئة افتراضية موجودة تلقائيًا '{venv}'. تم تحديد خيار 'الاحتفاظ بالبيئة الافتراضية المحلية'." + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] ملف/مجلد موارد إضافي غير موجود: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] تم إحباط البناء: مساحة القرص غير كافية (NoSpaceLeft / Errno 28). يرجى تنظيف مساحة القرص (يوصى بمساحة خالية لا تقل عن 5 جيجابايت) والمحاولة مرة أخرى.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] اكتمل البناء، لكن فشل تثبيت التبعيات التالية:\n\n - {pkgs}\n\nملاحظة: قد يظهر خطأ ModuleNotFoundError عند تشغيل التطبيق.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] تعذر العثور على منتج قابل للتنفيذ صالح في دليل البناء المؤقت: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] فشل إصلاح البيئة: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] حدث استثناء أثناء تحليل AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] فشل إنشاء البيئة الافتراضية. قد تكون بيئة بايثون الحالية تفتقر إلى الوحدات الضرورية أو لديها صلاحيات مقيدة.", + "[ERROR] Failed to export log file: {error}": "[ERROR] فشل تصدير ملف السجل: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] فشل تصدير ملف الإعداد المسبق: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] استثناء إدخال/إخراج: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] مساحة القرص غير كافية (المتاح: {free:.1f} جيجابايت). يلزم 0.5 جيجابايت على الأقل لتهيئة بيئة البناء بأمان.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] دليل الإخراج يفتقر إلى صلاحيات الكتابة: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] يرجى تحميل ملف مصدر بايثون صالح أولاً!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] خطأ في تنسيق ملف الإعداد المسبق أو تلفه: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] خطأ في العملية: الأمر أو الثنائي مفقود ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] فشل نقل المنتج، قد يكون الملف مشغولاً بواسطة عملية النظام أو يفتقر إلى الصلاحيات: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] فشل تثبيت بايثون أو تم إلغاؤه.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] مترجم بايثون غير صالح أو غير موجود: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] ملف المتطلبات غير موجود: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] استثناء تنفيذ النظام: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] الملف الهدف مقفل أو مشفر بواسطة السحابة. يرجى فك التشفير والمحاولة مرة أخرى.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] الملف الهدف قيد التشغيل أو مشغول. يرجى إغلاق التطبيق الحالي والمحاولة مرة أخرى.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] ملف الأيقونة المحدد غير موجود: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] تمت مقاطعة البناء بشكل استثنائي!\n\nاستكشاف الأخطاء الشائعة:\n1. عدم تطابق البيئة (الأكثر شيوعاً): إصدار بايثون المحدد غير متوافق مع الكود المصدري. يرجى الانتقال إلى [إعدادات البناء] للتبديل إلى إصدار بايثون الذي تستخدمه عادةً لهذا الكود.\n2. التبعيات المفقودة: انقر على 'الوضع التفصيلي' أعلاه للتحقق من ModuleNotFoundError.\n3. حظر برنامج مكافحة الفيروسات: تأكد من أن برنامج الأمان لا يحظر عملية البناء.\n\n(ملاحظة: عادةً ما يكون هذا بسبب اختلافات البيئة/الكود وليس محرك التغليف نفسه. يرجى التحقق من السجل التفصيلي للأسباب الدقيقة.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] تمت مقاطعة التجميع مع استثناءات، يرجى النقر على 'الوضع التفصيلي' أعلاه نافذة السجل لاستكشاف الأخطاء وإصلاحها.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] تمت إضافة '{name}' إلى الموارد الإضافية.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] تمت إضافة {count} عنصر موارد إلى الموارد الإضافية.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] تحليل الكود المصدري وتبعيات المشروع...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] تم تطبيق التوقيع الرقمي مع الطابع الزمني ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] تطبيق التوقيع الرقمي الذكي...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] تم اكتشاف البيئة الافتراضية الموجودة '{venv}' تلقائيًا. تم تحديد خيار 'الاحتفاظ بالبيئة المحلية'.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] تم حماية الوحدة النمطية القديمة تلقائيًا: '{pkg}' (مدمجة في Python {ver})", + "[INFO] Build Cancelled.": "[INFO] تم إلغاء البناء.", + "[INFO] Build log exported to: {path}": "[INFO] تم تصدير سجل البناء إلى: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] اكتمل التجميع، يتم أرشفة الملفات المبنية...", + "[INFO] Creating virtual environment ({name})...": "[INFO] إنشاء بيئة افتراضية ({name})...", + "[INFO] Creating virtual environment...": "[INFO] إنشاء بيئة افتراضية...", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] تنزيل متصفحات Playwright عبر المرآة: {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] تقييم الذاكرة الفعلية للنظام (المتاحة: {ram:.1f} جيجابايت). تم ضبط التزامن التكيفي: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] تم العثور على بيئة Clang المحلية، مع إعطاء الأولوية لمترجم LLVM Clang.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] تم العثور على بيئة GCC/MinGW-w64 المحلية، باستخدام مترجم MinGW64.", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] تم العثور على بيئة MSVC المحلية، مع إعطاء الأولوية لمترجم C++ الأصلي.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] تم العثور على بيئة Zig المحلية، مع السماح لـ Nuitka بإدارة تجميع الخلفية C.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] تحرير المساحة، تنظيف بيئة البناء المؤقتة...", + "[INFO] Initializing isolated build environment...": "[INFO] تهيئة بيئة بناء معزولة...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] تثبيت بيئة البناء وتبعيات المشروع ({count} حزمة): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] تم تمكين الوضع الخفيف، تطبيق تحسين البايت كود (-OO) وإزالة وحدات التطوير...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] لم يتم اكتشاف مترجم C محلي. سيقوم Nuitka تلقائيًا بتنزيل وإدارة مجموعة أدوات MinGW-w64 المتوافقة.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] نصيحة Nuitka: إذا طُلب منك تنزيل مترجم GCC/MinGW في البناء الأول، فيرجى التأكد من استقرار اتصال الشبكة.", + "[INFO] Performing pre-flight environment checks...": "[INFO] إجراء فحوصات بيئية أولية...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] تم اكتشاف Playwright. تثبيت المتصفحات المدمجة (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] تم اكتشاف Python 3.13+: استخدام مترجم Zig (--zig) كخلفية C.", + "[INFO] Python interpreter path: {path}": "[INFO] مسار مترجم Python: {path}", + "[INFO] Resolving project dependencies...": "[INFO] حل تبعيات المشروع...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] إعادة محاولة تنزيل متصفح Playwright عبر CDN الرسمي...", + "[INFO] Reusing existing virtual environment...": "[INFO] إعادة استخدام البيئة الافتراضية الموجودة...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] إعادة استخدام البيئة الافتراضية الموجودة: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] فحص الكود المصدري للمشروع عبر محرك AST...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] بدء محرك {engine} لتجميع الملفات الثنائية...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] إزالة معلمات الأيقونة وإعادة البناء تلقائيًا...", + "[INFO] Successfully installed compatible versions.": "[INFO] تم تثبيت الإصدارات المتوافقة بنجاح.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] التبديل إلى مصدر PyPI الاحتياطي للاسترجاع: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] مزامنة وترقية مدير حزم pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] نصيحة: قد يتم الإبلاغ عن الملفات التنفيذية بدون توقيعات تجارية بشكل خاطئ بواسطة Windows Defender/مكافحة الفيروسات.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] استخدام مترجم MinGW64 (--mingw64) للواجهة الخلفية C.", + "[INFO] Using MinGW64 compiler.": "[INFO] استخدام مترجم MinGW64.", + "[INFO] Validating output files and generating final product...": "[INFO] التحقق من ملفات الإخراج وإنشاء المنتج النهائي...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] اكتمل التجميع، مسار الإخراج: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] تم تطبيق التوقيع الرقمي بنجاح!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] يحتوي الكود المصدري على أخطاء نحوية، تم إحباط التجميع:\n - الملف: {file}\n - النوع: {type}\n - السطر: السطر {line}\n - التفاصيل: {desc}\n\nنصيحة: يرجى التأكد من أن الكود المصدري يعمل محليًا قبل التعبئة.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] فشل تحليل بناء جملة الكود المصدري، تم إحباط البناء:\n - الملف: {file}\n - السطر: السطر {line}\n - التفاصيل: {desc}\n\nنصيحة: هذا عادة ليس خطأ من أداة التعبئة.\nيرجى التأكد من أن [إصدار بايثون للبناء] الذي اخترته يطابق الإصدار الذي استخدمته [لكتابة/اختبار الكود].\nاستخدام بناء جملة أحدث (مثل عامل الفظ :=، اتحادات الأنواع |، match-case) في بيئة بايثون أقدم سيؤدي إلى هذا الخطأ.\nنوصي بالانتقال إلى [إعدادات البناء] -> [المحرك] لتبديل إصدار بايثون الصحيح.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] تم اكتشاف وحدة 'multiprocessing'. تأكد من استدعاء 'multiprocessing.freeze_support()' تحت 'if __name__ == \"__main__\":' لمنع حلقات العمليات اللانهائية (قنابل الشوكة).", + "[WARN] AST Analysis Exception: {error}": "[WARN] استثناء تحليل AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] انتهت مهلة الأمر (>{timeout} ثانية)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] تم اكتشاف 'requests' أو 'httpx'. يتم تضمين شهادات 'certifi' تلقائيًا لمنع أخطاء SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] فشل تنظيف البيئة غير الصالحة، يتم الرجوع إلى بيئة رملية مؤقتة: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] فشل تحويل الأيقونة إلى .icns، يتم البناء بدون أيقونة.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] تم حظر كتابة مورد الأيقونة (ربما مقفلة بواسطة النظام/مكافحة الفيروسات)، يتم تفعيل الحماية الاحتياطية...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] تم اكتشاف مساحة قرص منخفضة على محرك هدف البناء (المتاح: {free:.1f} جيجابايت، يُنصح بـ >= 5.0 جيجابايت). قد تنقطع عملية البناء بسبب نفاد القرص.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] تم اكتشاف استثناء تخصيص الذاكرة (ZstdError / OOM). يتم تفعيل الحماية الاحتياطية للذاكرة: إعادة المحاولة في وضع الخيط الواحد...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] فشل تثبيت الحزمة '{pkg}'، يتم تخطيها...", + "[WARN] Pause code injection exception: {error}": "[WARN] استثناء حقن رمز الإيقاف المؤقت: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] فشل تثبيت متصفح Playwright من جميع المصادر، سيستمر البناء مع المخاطرة...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] تراجع اكتشاف معلومات بيئة بايثون: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] تحذير قراءة requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] فشل التوقيع الذكي، ولكن تم الاحتفاظ بمخرجات البناء.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] فشل تثبيت بعض التبعيات، سيستمر البناء مع المخاطرة...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] فشل تثبيت الإصدارات المحددة. إزالة قيود الإصدار للمطابقة التلقائية للتوافق...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] يُنصح بشدة بالتحقق من [البيئة الافتراضية] لتعظيم تأثير الوضع الخفيف.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] صلاحية كتابة بايثون للنظام مقيدة. إعادة المحاولة باستخدام وضع '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] تم اكتشاف ذاكرة منخفضة في النظام (فشل تخصيص ذاكرة zstd). إعادة المحاولة تلقائيًا في وضع الذاكرة المنخفضة أحادي الخيط...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] المشروع الهدف موجود في دليل مزامنة سحابية (مثل OneDrive/Dropbox). قد تؤدي المزامنة السحابية إلى قفل ملفات البناء مؤقتًا.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] انتهت مهلة الاتصال بخادم الطابع الزمني، يتم التوقيع السريع محليًا...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] تم اكتشاف استخدام '__file__'. في وضع الملف الواحد لـ PyInstaller، استخدم 'sys._MEIPASS' لتحديد موقع ملفات الموارد المضمنة بشكل موثوق!", + "\\nProgram execution completed, press Enter to exit...": "\\nاكتمل تنفيذ البرنامج، اضغط Enter للخروج..." } diff --git a/qpypack/locales/de_DE.json b/qpypack/locales/de_DE.json index c340a03..ee915be 100644 --- a/qpypack/locales/de_DE.json +++ b/qpypack/locales/de_DE.json @@ -1,71 +1,74 @@ { - " [Console]": " [Mit Konsole]", - " [No Console]": " [Ohne Konsole]", + " [Console]": "[Konsole]", + " [No Console]": "[Keine Konsole]", "* Nuitka Auto-manages C Compiler": "* Nuitka verwaltet C-Compiler automatisch", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsoring ist freiwillig. Danke für die Unterstützung!", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsoring ist vollständig freiwillig, dient als bedingungslose Ermutigung für die Open-Source-Gemeinschaft und beinhaltet keine kommerziellen Verpflichtungen. Vielen Dank für Ihre Unterstützung!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Lokal erkannt:
{path}
Bereit zum direkten Wechsel ohne erneutes Herunterladen.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Möchten Sie wirklich alle Einstellungen zurücksetzen?
Alle Einstellungen werden auf den Standardzustand zurückgesetzt.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Sind Sie sicher, dass Sie alle Einstellungen zurücksetzen möchten?
Alle Einstellungen werden auf den Standardzustand zurückgesetzt.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "{count} virtuelle Umgebung(en) für das aktuelle Projekt gefunden:
{paths}

Möchten Sie sie wirklich löschen, um Speicherplatz freizugeben?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python-Umgebung erfolgreich installiert!

Systemumgebungsvariablen aktualisiert. Ein Neustart der Software wird empfohlen.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python-Umgebungsverwaltung
Unterstützt das Wechseln von lokal erkannten Python-Umgebungen oder das Herunterladen neuer Versionen.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python-Umgebung erforderlich
Der Build benötigt einen Python-Interpreter.
Wählen Sie eine Version zum automatischen Download, Installation und Konfiguration der Umgebungsvariablen.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Kein Python gefunden!
Bitte installieren Sie Python (aktivieren Sie 'Add Python.exe to PATH').", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Auf Ihrem System wurde kein Python erkannt!

QPyPack benötigt eine Python-Umgebung, um Ihren Code zu kompilieren.
Falls Sie Python nicht installiert haben, laden Sie es bitte herunter und installieren Sie es.", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python-Umgebung erfolgreich installiert!

Systemumgebungsvariablen wurden aktualisiert. Es wird empfohlen, die Software zu beenden und neu zu starten, um die Änderungen zu übernehmen.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python-Umgebungsverwaltung
Unterstützt das Wechseln zwischen lokal erkannten Python-Umgebungen oder das Herunterladen neuer Versionen.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python-Umgebung erforderlich
Die Anwendungserstellung hängt von einem Python-Interpreter ab.
Bitte wählen Sie eine Version aus, um automatisch herunterzuladen, zu installieren und Umgebungsvariablen zu konfigurieren.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python wurde auf Ihrem System nicht erkannt!

QPyPack benötigt eine Python-Umgebung, um Ihren Code zu kompilieren.
Wenn Sie Python nicht installiert haben, laden Sie es bitte herunter und installieren Sie es (denken Sie daran, während der Installation 'Add Python.exe to PATH' zu aktivieren).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python wurde auf Ihrem System nicht erkannt!

QPyPack benötigt eine Python-Umgebung, um Ihren Code zu kompilieren.
Wenn Sie Python nicht installiert haben, laden Sie es bitte herunter und installieren Sie es.", "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Empfehlung: Python 3.11.9 wird für optimale Build-Kompatibilität und Engine-Unterstützung empfohlen.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpreter
Automatische System- und BS-Erkennung...", - "AST Scan": "AST-Analyse", - "AST scan completed, found {count} dependencies.": "AST-Analyse: {count} Abhängigkeiten gefunden.", - "AWS PyPI Mirror (US/EU)": "AWS PyPI-Spiegelserver (USA/EU)", - "About": "Über QPyPack", - "Add Dir": "Ordner hinzufügen", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpreter
Automatische Erkennung der Systemumgebung und der OS-Unterstützungsmatrix...", + "AST Scan": "AST-Scan", + "AST scan completed, found {count} dependencies.": "AST-Scan abgeschlossen, {count} Abhängigkeiten gefunden.", + "AWS PyPI Mirror (US/EU)": "AWS PyPI-Spiegel (US/EU)", + "About": "Über", + "Active backport conflicts detected ({count}): {pkgs}": "Aktive Backport-Konflikte erkannt ({count}): {pkgs}", + "Add Backport Rule": "Backport-Regel hinzufügen", + "Add Dir": "Verzeichnis hinzufügen", "Add File": "Datei hinzufügen", "Add Mapping": "Zuordnung hinzufügen", - "Additional Resources (Drag & Drop Supported)": "Zusätzliche Ressourcen (Drag & Drop)", - "Aliyun Cloud (China)": "Aliyun Cloud", + "Additional Resources (Drag & Drop Supported)": "Zusätzliche Ressourcen (Drag & Drop unterstützt)", + "Aliyun Cloud (China)": "Aliyun Cloud (China)", "Analyze Dependencies (AST)": "Abhängigkeiten analysieren (AST)", - "App Icon:": "Anwendungssymbol:", + "App Icon:": "App-Symbol:", "App Metadata & Presets": "App-Metadaten & Voreinstellungen", - "Apple Silicon (M-Series) & Intel": "Unterstützt Apple Silicon (M-Serie) & Intel", - "Apple Silicon (M1/M2) & Intel": "Unterstützt Apple Silicon (M1/M2) & Intel", - "Attention: Please check the log for details.": "Achtung: Details im Protokoll.", - "Author/Company:": "Autor/Organisation:", - "Auto Extract Icon": "Anwendungssymbol automatisch extrahieren", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Fügt der Anwendung automatisch eine digitale Signatur hinzu, um Warnungen zu vermeiden.", - "Auto-patched missing ({count}): {pkgs}": "Automatisch ergänzt ({count}): {pkgs}", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (M-Serie) & Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) & Intel", + "Attention: Please check the log for details.": "Achtung: Bitte prüfen Sie das Protokoll für Details.", + "Author/Company:": "Autor/Firma:", + "Auto Extract Icon": "Symbol automatisch extrahieren", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Wendet automatisch digitale Signatur auf erstellte App an, eliminiert die Warnung 'Unbekannter Herausgeber'", + "Auto-patched missing ({count}): {pkgs}": "Automatisch gepatchte fehlende ({count}): {pkgs}", "Auto-save Build Log": "Build-Protokoll automatisch speichern", - "Backup PIP Index:": "Sekundärer PIP-Spiegelserver:", - "Browse": "Durchsuchen...", + "Backport exclusion rules have been reset to defaults.": "Backport-Ausschlussregeln wurden auf Standardwerte zurückgesetzt.", + "Backup PIP Index:": "PIP-Index-Backup:", + "Browse": "Durchsuchen", "Build Cancelled": "Build abgebrochen", "Build Engine:": "Build-Engine:", "Build Failed": "Build fehlgeschlagen", "Build Settings": "Build-Einstellungen", "Build Successful": "Build erfolgreich", - "Build engine packages ({count}): {pkgs}": "Engine-Pakete ({count}): {pkgs}", + "Build engine packages ({count}): {pkgs}": "Build-Engine-Pakete ({count}): {pkgs}", "CPU Cores:": "CPU-Kerne:", "Cancel": "Abbrechen", "Cancel & Return": "Abbrechen & Zurück", "Cert Password:": "Zertifikatspasswort:", - "Certificate Subject (e.g. My Company):": "Zertifikatsaussteller (z. B. Meine Firma):", + "Certificate Subject (e.g. My Company):": "Zertifikatsbetreff (z.B. Meine Firma):", "Certificate generated successfully!": "Zertifikat erfolgreich erstellt!", "Certificate password": "Zertifikatspasswort", - "Check log output below for troubleshooting.": "Überprüfen Sie das Protokoll unten zur Fehlerbehebung.", - "Clean Temporary Cache After Build": "Temporären Cache nach dem Build bereinigen", - "Clear All": "Alles leeren", + "Check log output below for troubleshooting.": "Überprüfen Sie die Protokollausgabe unten zur Fehlerbehebung.", + "Clean Temporary Cache After Build": "Temporären Cache nach Build bereinigen", + "Clear All": "Alle löschen", "Clear Local Venvs": "Lokale Venvs löschen", "Clear Log": "Protokoll löschen", "Clear Virtual Environments": "Virtuelle Umgebungen löschen", - "Click to automatically download, install Python, and configure system environment variables.": "Klicken Sie hier, um Python automatisch herunterzuladen, zu installieren und die Systemumgebungsvariablen zu konfigurieren.", + "Click to automatically download, install Python, and configure system environment variables.": "Klicken Sie, um Python automatisch herunterzuladen, zu installieren und Systemumgebungsvariablen zu konfigurieren.", "Code Signing": "Code-Signierung", - "Comma separated (e.g. pandas, PyQt5)": "Durch Kommas getrennt (z.B. pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "Durch Kommas getrennt (z.B. tkinter, matplotlib)", + "Comma separated (e.g. pandas, PyQt5)": "Durch Kommas getrennt (z. B. pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "Durch Kommas getrennt (z. B. tkinter, matplotlib)", "Commercial PFX File:": "Kommerzielle PFX-Datei:", "Compatibility Mode (Default)": "Kompatibilitätsmodus (Standard)", - "Compatibility depends on build environment glibc version.": "Kompatibilität hängt von der glibc-Version ab.", + "Compatibility depends on build environment glibc version.": "Kompatibilität hängt von der glibc-Version der Build-Umgebung ab.", "Concise Log Output": "Kompakte Protokollausgabe", "Concise Mode": "Kompakter Modus", - "Config preset exported to: {path}": "Voreinstellung exportiert nach: {path}", - "Config preset imported successfully.": "Voreinstellung importiert.", - "Configure Build Settings": "Build-Parameter konfigurieren", + "Config preset exported to: {path}": "Konfigurationsvoreinstellung exportiert nach: {path}", + "Config preset imported successfully.": "Konfigurationsvoreinstellung erfolgreich importiert.", + "Configure Build Settings": "Build-Einstellungen konfigurieren", "Configure Manually": "Manuell konfigurieren", "Confirm Password:": "Passwort bestätigen:", "Contents Directory (--contents-directory):": "Inhaltsverzeichnis (--contents-directory):", @@ -77,109 +80,123 @@ "Declared in requirements.txt ({count}): {pkgs}": "In requirements.txt deklariert ({count}): {pkgs}", "Declared in requirements.txt: None": "In requirements.txt deklariert: Keine", "Delete All": "Alle löschen", + "Deleting...": "Löschen...", "Dependencies": "Abhängigkeiten", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Warnung: {pkgs} nicht installiert.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Warnung fehlende Abhängigkeit: {pkgs} konnte nicht installiert werden. Details im Protokoll.", "Description:": "Beschreibung:", "Desktop Application": "Desktop-Anwendung", "Detailed Mode": "Detaillierter Modus", "Directory": "Verzeichnis", - "Discovered via scanner ({count}): {pkgs}": "Vom Scanner erkannt ({count}): {pkgs}", + "Discovered via scanner ({count}): {pkgs}": "Per Scanner entdeckt ({count}): {pkgs}", "Double-click to edit target path; Drag & drop supported": "Doppelklick zum Bearbeiten des Zielpfads; Drag & Drop unterstützt", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Doppelklick zum Bearbeiten; Drag & Drop unterstützt. Nutzen Sie 'Voreinstellung exportieren' zum Speichern.", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Doppelklick zum Bearbeiten des Zielpfads; Drag & Drop unterstützt. Verwenden Sie 'Export Preset' zum Speichern für die Wiederverwendung.", "Download New Version": "Neue Version herunterladen", "Download Python": "Python herunterladen", - "Download complete. Starting Python installation...": "Download abgeschlossen. Starte Python-Installation...", - "Downloading Python {ver}... Please wait.": "Lade Python {ver} herunter... Bitte warten.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python-Skript (.py/.pyw) hierher ziehen\noder zum Durchsuchen klicken...", - "Drop Python source code to start": "Ziehe den Python-Quellcode hierher, um zu beginnen", + "Download complete. Starting Python installation...": "Download abgeschlossen. Python-Installation wird gestartet...", + "Downloading Python {ver}... Please wait.": "Python {ver} wird heruntergeladen... Bitte warten.", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python-Skript (.py/.pyw) hierher ziehen und ablegen\noder klicken zum Durchsuchen", + "Drop Python source code to start": "Python-Quellcode ablegen, um zu starten", "Edit Path": "Pfad bearbeiten", - "Enable Smart Code Signing": "Digitale Signatur aktivieren", - "Enable UPX Compression": "UPX-Komprimierung aktivieren", + "Enable Automatic Backport Isolation": "Automatische Backport-Isolation aktivieren", + "Enable Smart Code Signing": "Intelligente Codesignierung aktivieren", + "Enable UPX Compression": "UPX-Kompression aktivieren", "Engine": "Engine", - "Engine & Environment": "Build-Engine und Umgebung", + "Engine & Environment": "Engine & Umgebung", + "Environment Analysis": "Umgebungsanalyse", + "Environment Analysis & Remediation": "Umgebungsanalyse & Behebung", "Error": "Fehler", - "Exclude Modules:": "Auszuschließende Module:", + "Exclude Modules:": "Module ausschließen:", "Execution Log": "Ausführungsprotokoll", "Execution Mode": "Ausführungsmodus", "Exit Now": "Jetzt beenden", "Export Log...": "Protokoll exportieren...", - "Export Preset...": "Voreinstellung exportieren...", - "Failed to generate certificate.": "Zertifikatserstellung fehlgeschlagen.", + "Export Preset...": "Preset exportieren...", + "Failed to generate certificate.": "Zertifikat konnte nicht erstellt werden.", "File": "Datei", - "Folder Mode (--onedir)": "Ordner (--onedir)", - "Full backward compatibility": "Vollständige Abwärtskompatibilität", + "Folder Mode (--onedir)": "Ordner-Modus (--onedir)", + "Full backward compatibility": "Volle Abwärtskompatibilität", "Generate": "Generieren", - "GitHub Repository": "GitHub", - "Global configuration has been reset.": "Konfiguration zurückgesetzt.", - "Hidden Imports:": "Implizite Importe:", + "GitHub Repository": "GitHub-Repository", + "Global configuration has been reset.": "Globale Konfiguration wurde zurückgesetzt.", + "Hidden Imports:": "Versteckte Importe:", "Hide Console (--noconsole)": "Konsole ausblenden (--noconsole)", - "Hide Custom Cert Settings ▾": "Zertifikat-Einstellungen ausblenden ▾", - "Huawei Cloud (China)": "Huawei Cloud", + "Hide Custom Cert Settings ▾": "Benutzerdefinierte Zertifikatseinstellungen ausblenden ▾", + "Huawei Cloud (China)": "Huawei Cloud (China)", "Import Name": "Importname", - "Import Preset...": "Voreinstellung importieren...", - "Import name (e.g. cv2):": "Importname (z.B. cv2):", + "Import Preset...": "Preset importieren...", + "Import name (e.g. cv2):": "Importname (z. B. cv2):", "Independent Developer": "Unabhängiger Entwickler", - "Initializing build...": "Initialisiere Build...", + "Initializing build...": "Build wird initialisiert...", + "Inspect Interpreter Environment": "Interpreter-Umgebung prüfen", "Install Complete": "Installation abgeschlossen", "Install requirements.txt": "requirements.txt installieren", "Internal directory name for dependencies (default: _internal)": "Interner Verzeichnisname für Abhängigkeiten (Standard: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Interpreterprüfung bestanden: Keine aktiven Backport-Konflikte erkannt.", "Interpreter:": "Interpreter:", "Invalid syntax": "Ungültige Syntax", - "Issues & Feedback": "Feedback", + "Issues & Feedback": "Probleme & Feedback", "Keep Local Venv": "Lokale Venv behalten", "Later": "Später", - "Leave blank to auto-detect from environment variables": "Leer lassen für automatische Erkennung aus Variablen", - "Leave blank to auto-detect system default Python": "Leer lassen für automatische Erkennung", - "Leave blank to auto-match script name": "Leer lassen, um automatisch den Skriptnamen zu verwenden", - "Leave blank to auto-search requirements.txt in current directory": "Leer lassen für automatische Suche", - "Legacy macOS Compatible": "Kompatibel mit älterem macOS", - "Lite Mode (Smaller size)": "Lite-Modus (Kleinere Größe)", + "Leave blank to auto-detect from environment variables": "Leer lassen, um automatisch aus Umgebungsvariablen zu erkennen", + "Leave blank to auto-detect system default Python": "Leer lassen, um automatisch das systemweite Standard-Python zu erkennen", + "Leave blank to auto-match script name": "Leer lassen, um automatisch den Skriptnamen zu übernehmen", + "Leave blank to auto-search requirements.txt in current directory": "Leer lassen, um automatisch requirements.txt im aktuellen Verzeichnis zu suchen", + "Legacy macOS Compatible": "Legacy macOS-kompatibel", + "Lite Mode (Smaller size)": "Lite-Modus (kleinere Größe)", "Loaded: {filename}": "Geladen: {filename}", "Locally Detected Pythons": "Lokal erkannte Pythons", - "Lock Core Dependencies": "Kernabhängigkeiten festlegen", + "Lock Core Dependencies": "Kernabhängigkeiten sperren", "Log saved to: {path}": "Protokoll gespeichert unter: {path}", - "Manifest complete (No missing packages)": "Manifest vollständig (Keine fehlenden Pakete)", + "Manifest complete (No missing packages)": "Manifest vollständig (keine fehlenden Pakete)", "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maximale Kompatibilität. Empfohlen für Apps mit komplexen dynamischen Importen.", - "Mirrors & Scanner": "Spiegelserver und Scanner", - "Modern Cross-Platform Python Application Packager": "Modernes Werkzeug zur Python-Paketierung", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Plattformübergreifendes GUI-Tool zur Python-Paketierung basierend auf PyInstaller & Nuitka", - "No Windows 7 Support": "Keine Windows 7-Unterstützung", + "Min Python Ver": "Min Python Ver", + "Minimum Built-in Python Version (e.g. 3.4):": "Mindestversion des eingebauten Python (z. B. 3.4):", + "Mirrors & Scanner": "Mirrors & Scanner", + "Modern Cross-Platform Python Application Packager": "Modernes plattformübergreifendes Python-Anwendungspaketierer", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Moderne plattformübergreifende Python-Paketierungs-GUI, unterstützt von PyInstaller & Nuitka", + "No Windows 7 Support": "Kein Windows 7-Support", + "No environment conflicts detected.": "Keine Umgebungskonflikte erkannt.", "No local Python environments detected.": "Keine lokalen Python-Umgebungen erkannt.", "No local virtual environments found to clean.": "Keine lokalen virtuellen Umgebungen zum Bereinigen gefunden.", - "No log content.": "Kein Protokoll vorhanden.", + "No log content.": "Kein Protokollinhalt.", "Nuitka Version:": "Nuitka-Version:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Kompiliert in eine native C/C++ Binärdatei. Bessere Leistung und Schutz des Quellcodes.", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka – Kompiliert Quellcode in natives C/C++-Binärformat. Erzeugt kleinere Paketgröße, schnellere Ausführung und tiefen Anti-Decompilations-Schutz (erfordert C-Compiler).", "OK": "OK", - "OS Support Matrix:": "BS-Unterstützungsmatrix:", + "OS Support Matrix:": "OS-Unterstützungsmatrix:", + "Obsolete Backport Exclusion Rules": "Ausschlussregeln für veraltete Backports", "One-Click Download & Install": "Ein-Klick-Download & Installation", "One-Click Install": "Ein-Klick-Installation", - "One-File Mode (--onefile)": "Einzeldatei (--onefile)", + "One-File Mode (--onefile)": "Ein-Datei-Modus (--onefile)", "Only supported on Windows.": "Nur unter Windows unterstützt.", - "Open Directory": "Ordner öffnen", - "Open output directory or reset workspace.": "Öffnen Sie das Ausgabeverzeichnis oder setzen Sie den Arbeitsbereich zurück.", + "Open Directory": "Verzeichnis öffnen", + "Open output directory or reset workspace.": "Ausgabeverzeichnis öffnen oder Arbeitsbereich zurücksetzen.", "Optimization & Security": "Optimierung & Sicherheit", - "Output Location": "Ausgabeort der Anwendung", - "Output Location:": "Speicherort:", - "Output Name:": "Name der Ausgabedatei:", - "Package Map": "Paket-Zuordnung", - "Package Name Mappings": "Paketnamen-Zuordnung", - "Package mappings have been reset to defaults.": "Zuordnungen zurückgesetzt.", - "Packaging Mode:": "Paketierungsmodus:", + "Output Location": "Ausgabeort", + "Output Location:": "Ausgabeort:", + "Output Name:": "Ausgabename:", + "Package Map": "Paketzuordnung", + "Package Mapping & Remediation": "Paketzuordnung & Behebung", + "Package Mappings & Rules": "Paketzuordnungen & Regeln", + "Package Name": "Paketname", + "Package Name (e.g. pathlib):": "Paketname (z. B. pathlib):", + "Package Name Mappings": "Paketnamen-Zuordnungen", + "Package mappings have been reset to defaults.": "Paketzuordnungen wurden auf die Standardwerte zurückgesetzt.", + "Packaging Mode:": "Verpackungsmodus:", "Parsing metadata...": "Metadaten werden analysiert...", "Password cannot be empty!": "Passwort darf nicht leer sein!", "Password:": "Passwort:", "Passwords do not match!": "Passwörter stimmen nicht überein!", "Paste": "Einfügen", "Performance Optimization": "Leistungsoptimierung", - "Platform Support Matrix:": "Plattform-Unterstützungsmatrix:", + "Platform Support Matrix:": "Plattform-Support-Matrix:", "Preferences": "Einstellungen", "Preferences & System Behavior": "Einstellungen & Systemverhalten", - "Preparing engine...": "Build-Engine wird vorbereitet...", - "Primary PIP Index:": "Primärer PIP-Spiegelserver:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Projektspezifisch. Mit 'Voreinstellung exportieren' speichern.", + "Preparing engine...": "Engine wird vorbereitet...", + "Primary PIP Index:": "Primärer PIP-Index:", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Projektspezifisch. Nicht in globalen Einstellungen gespeichert. Verwenden Sie 'Preset exportieren', um die Konfiguration zu speichern.", "PyInstaller Version:": "PyInstaller-Version:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Schnelle Erstellung, hervorragende Kompatibilität. Keine C-Compiler benötigt.", - "PyPI Home": "PyPI", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Bündelt Python-Interpreter und Bytecode. Schnelle Build-Geschwindigkeit, null Konfiguration (kein C-Compiler erforderlich) und ausgezeichnete Kompatibilität.", + "PyPI Home": "PyPI-Startseite", "PyPI Official (Global Default)": "PyPI Offiziell (Globaler Standard)", "PyPI Package Name": "PyPI-Paketname", "PyPI package name for [{imp_name}]:": "PyPI-Paketname für [{imp_name}]:", @@ -191,155 +208,165 @@ "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7-Unterstützung)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Python-Umgebungsverwaltung", - "Python Environment Required": "Python benötigt", + "Python Environment Required": "Python-Umgebung erforderlich", "Python Packaging, Reimagined.": "Python-Paketierung, neu gedacht.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python installiert. Bitte starten Sie QPyPack später manuell neu.", - "QPyPack Developer": "QPyPack-Entwickler", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack ist kostenlos. Unterstützen Sie den Autor mit einem Kaffee!", + "QPyPack Developer": "QPyPack Entwickler", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack ist ein kostenloses Open-Source-Tool. Wenn es Ihre Effizienz verbessert oder Verpackungsprobleme gelöst hat, erwägen Sie, dem Autor einen Kaffee zu kaufen!", "Ready, waiting for build.": "Bereit, warte auf Build.", - "Rebuild": "Erneut bauen", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Empfehlung: 6+ Zeichen, nur alphanumerisch, '-' und '_'. Keine Leerzeichen.", - "Remove Selected": "Auswahl entfernen", - "Requirements File:": "Abhängigkeitsdatei:", + "Rebuild": "Neu erstellen", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Empfehlung: 6+ Zeichen, alphanumerisch, nur '-' und '_'. Vermeiden Sie Leerzeichen oder Chinesisch, um Signierungsfehler zu verhindern.", + "Remediate Detected Conflicts": "Erkannte Konflikte beheben", + "Remediation completed for packages: {pkgs}": "Behebung abgeschlossen für Pakete: {pkgs}", + "Remove Selected": "Ausgewählte entfernen", + "Requirements File:": "Anforderungen-Datei:", "Reset": "Zurücksetzen", - "Reset to Default Config": "Auf Standardeinstellungen zurücksetzen", + "Reset to Default Config": "Auf Standardkonfiguration zurücksetzen", "Resources": "Ressourcen", "Restore Defaults": "Standardwerte wiederherstellen", "Save & Return": "Speichern & Zurück", "Save Certificate": "Zertifikat speichern", "Scan Entire Folder": "Gesamten Ordner scannen", - "Script and settings retained. Ready to rebuild.": "Skript und Einstellungen beibehalten. Bereit zum erneuten Bauen.", - "Select .pfx / .p12 certificate file": ".pfx / .p12 Zertifikatsdatei auswählen", - "Select All": "Alles auswählen", - "Select Python Version to Download:": "Wählen Sie die Python-Version zum Herunterladen aus:", + "Scanning...": "Scanne...", + "Script and settings retained. Ready to rebuild.": "Skript und Einstellungen beibehalten. Bereit zum Neuaufbau.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Skript geladen. Sie können Asset-Ordner oder Datendateien direkt hierher ziehen, um sie zu bündeln.", + "Select .pfx / .p12 certificate file": "Wählen Sie .pfx / .p12 Zertifikatsdatei", + "Select All": "Alle auswählen", + "Select Python Version to Download:": "Python-Version zum Herunterladen auswählen:", "Self-Signed Certificate (*.pfx)": "Selbstsigniertes Zertifikat (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Kleinere Ausgabegröße. Empfohlen für 95 % der Standard-Apps.", - "Sound Notification": "Benachrichtigungston bei Fertigstellung", + "Smaller output size. Recommended for 95% of standard apps.": "Kleinere Ausgabegröße. Empfohlen für 95% der Standard-Apps.", + "Sound Notification": "Tonbenachrichtigung", "Source Directory (.qpypack_build)": "Quellverzeichnis (.qpypack_build)", - "Source File Directory": "Verzeichnis der Quelldatei", + "Source File Directory": "Quelldateiverzeichnis", "Sponsor": "Sponsor", "Start Build": "Build starten", "Status: Build Cancelled": "Status: Build abgebrochen", "Status: Build Completed": "Status: Build abgeschlossen", "Status: Build Failed": "Status: Build fehlgeschlagen", + "Status: Environment inspection ready.": "Status: Umgebungsprüfung abgeschlossen.", "Status: Loaded {filename}{mode}": "Status: {filename}{mode} geladen", - "Status: Packaging ({engine}) ...": "Status: Paketierung läuft ({engine}) ...", - "Status: Parsing {filename}...": "Status: Analysiere {filename}...", + "Status: Packaging ({engine}) ...": "Status: Verpackung ({engine}) ...", + "Status: Parsing {filename}...": "Status: {filename} wird analysiert...", "Status: Ready": "Status: Bereit", "Status: Workspace Reset": "Status: Arbeitsbereich zurückgesetzt", - "Stop Build": "Build abbrechen", + "Stop Build": "Build stoppen", "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Erfolgreich {count} virtuelle Umgebung(en) bereinigt, {size:.1f} MB Speicherplatz freigegeben.", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Zu [Build-Einstellungen] -> [Engine] gewechselt. Bitte stellen Sie den Python-Pfad ein.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Zu [Build-Einstellungen] -> [Engine] gewechselt, bitte Python-Pfad festlegen.", "Switched to local Python environment: {path}": "Zu lokaler Python-Umgebung gewechselt: {path}", "System Default ({sys_native})": "Systemstandard ({sys_native})", "System Temp Directory": "System-Temp-Verzeichnis", "Target Directory:": "Zielverzeichnis:", "Target relative path:": "Relativer Zielpfad:", "Temporary Directory:": "Temporäres Verzeichnis:", - "Tencent Cloud (China)": "Tencent Cloud", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Tipp: Erstellung im Lite-Modus fehlgeschlagen. Versuchen Sie in den [Buildeinstellungen] auf [Kompatibilitätsmodus] zu wechseln.", - "Toggle Execution Log": "Ausführungsprotokoll anzeigen/ausblenden", - "Tsinghua University (China)": "Tsinghua Universität", - "UI Language:": "Oberflächensprache:", + "Tencent Cloud (China)": "Tencent Cloud (China)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Tipp: Build im Lite-Modus fehlgeschlagen. Sie können in den Build-Einstellungen zum [Kompatibilitätsmodus] wechseln und neu erstellen.", + "Toggle Execution Log": "Ausführungsprotokoll umschalten", + "Tsinghua University (China)": "Tsinghua-Universität (China)", + "UI Language:": "UI-Sprache:", "UPX Path:": "UPX-Pfad:", - "USTC (China)": "USTC", + "USTC (China)": "USTC (China)", "Undo": "Rückgängig", "Unknown": "Unbekannt", - "Use Custom Commercial Cert (Optional) ▸": "Kommerzielles Zertifikat konfigurieren (Optional) ▸", - "Use Installed Version Directly": "✔ Installierte Version direkt verwenden", + "Use Custom Commercial Cert (Optional) ▸": "Benutzerdefiniertes kommerzielles Zertifikat verwenden (optional) ▸", + "Use Installed Version Directly": "Installierte Version direkt verwenden", "Use Selected Environment": "Ausgewählte Umgebung verwenden", "Use Virtual Environment": "Virtuelle Umgebung verwenden", "Version:": "Version:", "View Python": "Python anzeigen", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Ressource nicht gefunden: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Abbruch: Zu wenig Speicherplatz. Bitte mindestens 5 GB freigeben.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Build beendet, aber folgende fehlten:\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Kein ausführbares Produkt gefunden: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Fehler bei AST-Analyse: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Virtuelle Umgebung konnte nicht erstellt werden.", - "[ERROR] Failed to export log file: {error}": "[ERROR] Protokoll Export-Fehler: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] Voreinstellung Export-Fehler: {error}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Zusätzliche Ressourcendatei/-verzeichnis nicht gefunden: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Build abgebrochen: Nicht genügend Speicherplatz (NoSpaceLeft / Errno 28). Bitte geben Sie Speicherplatz frei (mindestens 5 GB freier Speicherplatz empfohlen) und versuchen Sie es erneut.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Build abgeschlossen, aber die folgenden Abhängigkeiten konnten nicht installiert werden:\n\n - {pkgs}\n\nHinweis: Die Anwendung könnte zur Laufzeit ModuleNotFoundError auslösen.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Kein gültiges ausführbares Produkt im temporären Build-Verzeichnis gefunden: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Umgebungsreparatur fehlgeschlagen: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Ausnahme während der AST-Analyse: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Virtuelle Umgebung konnte nicht erstellt werden. Die aktuelle Python-Umgebung könnte fehlende Module oder eingeschränkte Berechtigungen haben.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Protokolldatei konnte nicht exportiert werden: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Preset-Datei konnte nicht exportiert werden: {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] E/A-Ausnahme: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Speicherplatz unzureichend (Verfügbar: {free:.1f} GB).", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Zielverzeichnis fehlen Schreibrechte: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] Bitte zuerst eine gültige Python-Datei laden!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Voreinstellung Format-Fehler: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Prozessfehler: ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Übertragung fehlgeschlagen: {error}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Nicht genügend Speicherplatz (Verfügbar: {free:.1f} GB). Mindestens 0,5 GB sind erforderlich, um die Build-Umgebung sicher zu initialisieren.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Ausgabeverzeichnis hat keine Schreibberechtigung: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Bitte laden Sie zuerst eine gültige Python-Quelldatei!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Preset-Dateiformatfehler oder beschädigt: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Prozessfehler: Befehl oder Binärdatei fehlt ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Produktübertragung fehlgeschlagen, Datei könnte von Systemprozess belegt sein oder Berechtigungen fehlen: {error}", "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python-Installation fehlgeschlagen oder abgebrochen.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python-Interpreter ungültig oder nicht gefunden: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] Abhängigkeitsdatei nicht gefunden: {path}", - "[ERROR] System execution exception: {error}": "[ERROR] Systemfehler: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Zieldatei durch Cloud gesperrt. Bitte entschlüsseln.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Zieldatei wird ausgeführt oder ist blockiert. Bitte schließen Sie die Anwendung.", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Das Symbol existiert nicht: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Build fehlerhaft abgebrochen!\n\nHäufige Fehlerursachen:\n1. Versionskonflikt (Sehr häufig): Die gewählte Python-Version ist inkompatibel mit dem Quellcode. Wechseln Sie unter [Build-Einstellungen] zur richtigen Version.\n2. Fehlende Abhängigkeiten: Schalten Sie oben auf 'Detaillierter Modus', um nach ModuleNotFoundError zu suchen.\n3. Antivirus-Blockierung: Stellen Sie sicher, dass Ihr Antivirenprogramm den Prozess nicht blockiert.\n\n(Hinweis: Dies liegt meist an Umgebungsunterschieden und nicht an der Engine selbst. Prüfen Sie das Protokoll.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Kompilierung unterbrochen. Klicken Sie auf 'Detaillierter Modus'.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] Analysiere Quellcode und Abhängigkeiten...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Digitale Signatur mit Zeitstempel ({tsa}) erfolgreich angewendet...", - "[INFO] Applying smart digital signature...": "[INFO] Wende digitale Signatur an...", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python-Interpreter ist ungültig oder nicht gefunden: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Anforderungen-Datei nicht gefunden: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Systemausführungsausnahme: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Zieldatei ist gesperrt oder von Cloud-Laufwerk verschlüsselt. Bitte entschlüsseln und erneut versuchen.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Zieldatei wird ausgeführt oder ist belegt. Bitte schließen Sie die vorhandene Anwendung und versuchen Sie es erneut.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Die angegebene Symboldatei existiert nicht: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Build außergewöhnlich unterbrochen!\n\nHäufige Fehlerbehebung:\n1. Umgebungsinkompatibilität (häufigste Ursache): Die ausgewählte Python-Version ist mit Ihrem Quellcode nicht kompatibel. Bitte wechseln Sie in den [Build-Einstellungen] zu der Python-Version, die Sie normalerweise für diesen Code verwenden.\n2. Fehlende Abhängigkeiten: Klicken Sie oben auf 'Detaillierter Modus', um nach ModuleNotFoundError zu suchen.\n3. Antiviren-Blockierung: Stellen Sie sicher, dass Ihre Sicherheitssoftware den Build-Prozess nicht blockiert.\n\n(Hinweis: Dies wird normalerweise durch Umgebungs-/Code-Diskrepanzen verursacht, nicht durch die Verpackungs-Engine selbst. Bitte überprüfen Sie das detaillierte Protokoll für genaue Gründe.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Kompilierung mit Ausnahmen unterbrochen, bitte klicken Sie oben im Protokollfenster auf 'Detaillierter Modus' zur Fehlerbehebung.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' zu zusätzlichen Ressourcen hinzugefügt.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] {count} Ressourcenelement(e) zu den zusätzlichen Ressourcen hinzugefügt.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Analysiere Quellcode und Projektabhängigkeiten...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Digitale Signatur mit Zeitstempel ({tsa}) angewendet...", + "[INFO] Applying smart digital signature...": "[INFO] Wende intelligente digitale Signatur an...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Bestehende virtuelle Umgebung '{venv}' automatisch erkannt. 'Lokale Venv behalten' ist aktiviert.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Veraltetes Backport-Modul automatisch abgeschirmt: '{pkg}' (In Python {ver} integriert)", "[INFO] Build Cancelled.": "[INFO] Build abgebrochen.", - "[INFO] Build log exported to: {path}": "[INFO] Protokoll exportiert nach: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] Kompilierung abgeschlossen, archiviere Dateien...", - "[INFO] Creating virtual environment ({name})...": "[INFO] Virtuelle Umgebung wird erstellt ({name})...", + "[INFO] Build log exported to: {path}": "[INFO] Build-Protokoll exportiert nach: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Kompilierung abgeschlossen, archiviere erstellte Dateien...", + "[INFO] Creating virtual environment ({name})...": "[INFO] Erstelle virtuelle Umgebung ({name})...", "[INFO] Creating virtual environment...": "[INFO] Erstelle virtuelle Umgebung...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Lade Playwright-Browser über Mirror herunter: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Evaluiere RAM (Verfügbar: {ram:.1f} GB). Parallelität angepasst: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Lokale Clang-Umgebung gefunden, LLVM Clang Compiler wird bevorzugt.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Lokale GCC/MinGW-w64-Umgebung gefunden, verwende MinGW64.", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Lokale MSVC-Umgebung gefunden, nativer C++ Compiler wird bevorzugt.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Lokale Zig-Umgebung gefunden. Nuitka verwaltet die C-Backend-Kompilierung.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Gebe Speicherplatz frei...", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Lade Playwright-Browser über Spiegel herunter: {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Bewerte physischen Systemspeicher (Verfügbar: {ram:.1f} GB). Adaptive Parallelität angepasst: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Lokale Clang-Umgebung gefunden, LLVM-Clang-Compiler wird priorisiert.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Lokale GCC/MinGW-w64-Umgebung gefunden, MinGW64-Compiler wird verwendet.", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Lokale MSVC-Umgebung gefunden, nativer C++-Compiler wird priorisiert.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Lokale Zig-Umgebung gefunden, Nuitka verwaltet die C-Backend-Kompilierung.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Speicherplatz freigeben, bereinige temporäre Build-Umgebung...", "[INFO] Initializing isolated build environment...": "[INFO] Initialisiere isolierte Build-Umgebung...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Installiere Abhängigkeiten ({count} Pakete): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Lite-Modus aktiviert. Wende Bytecode-Optimierung (-OO) an und entferne Dev-Module...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Kein lokaler C-Compiler erkannt. Nuitka lädt automatisch eine MinGW-w64 Toolchain herunter.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka-Tipp: Stellen Sie bei Compiler-Download eine stabile Verbindung sicher.", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Installiere Build-Umgebung und Projektabhängigkeiten ({count} Pakete): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Lite-Modus aktiviert, wende Bytecode-Optimierung (-OO) an und entferne Entwicklungsmodule...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Kein lokaler C-Compiler erkannt. Nuitka wird automatisch eine kompatible MinGW-w64-Toolchain herunterladen und verwalten.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka-Tipp: Wenn beim ersten Build zum Herunterladen des GCC/MinGW-Compilers aufgefordert wird, stellen Sie bitte eine stabile Netzwerkverbindung sicher.", "[INFO] Performing pre-flight environment checks...": "[INFO] Führe Vorab-Umgebungsprüfungen durch...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright erkannt. Installiere integrierte Browser...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright erkannt. Installiere integrierte Browser (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ erkannt: Verwende Zig-Compiler (--zig) als C-Backend.", - "[INFO] Python interpreter path: {path}": "[INFO] Python-Pfad: {path}", - "[INFO] Resolving project dependencies...": "[INFO] Abhängigkeiten werden aufgelöst...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Wiederhole Download der Playwright-Browser über offizielles CDN...", - "[INFO] Reusing existing virtual environment...": "[INFO] Bestehende virtuelle Umgebung wird wiederverwendet...", + "[INFO] Python interpreter path: {path}": "[INFO] Python-Interpreterpfad: {path}", + "[INFO] Resolving project dependencies...": "[INFO] Löse Projektabhängigkeiten auf...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Wiederhole Playwright-Browser-Download über offizielles CDN...", + "[INFO] Reusing existing virtual environment...": "[INFO] Verwende bestehende virtuelle Umgebung erneut...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Vorhandene virtuelle Umgebung wird wiederverwendet: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] Scanne Quellcode mit AST-Engine...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Starte {engine} für die Kompilierung...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Entferne Icon-Parameter und baue neu...", + "[INFO] Scanning project source code via AST engine...": "[INFO] Projektquellcode wird über die AST-Engine gescannt...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine}-Engine wird gestartet, um Binärdateien zu kompilieren...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Symbolparameter werden entfernt und automatisch neu erstellt...", "[INFO] Successfully installed compatible versions.": "[INFO] Kompatible Versionen erfolgreich installiert.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Wechsel zum Backup-PyPI-Spiegelserver: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Synchronisiere und aktualisiere pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Tipp: Erstellte Dateien könnten von Antivirensoftware falsch positiv erkannt werden. Ausnahmen oder Signierung empfohlen.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Verwende MinGW64-Compiler für C-Backend.", - "[INFO] Using MinGW64 compiler.": "[INFO] Verwende MinGW64-Compiler.", - "[INFO] Validating output files and generating final product...": "[INFO] Validiere Ausgabedateien und erstelle Produkt...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Kompilierung erfolgreich. Pfad: {path}", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Wechsel zur Backup-PyPI-Quelle für den Abruf: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip-Paketmanager wird synchronisiert und aktualisiert...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Tipp: Ausführbare Dateien ohne kommerzielle Signatur könnten von Windows Defender/Antivirus fälschlich markiert werden.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Verwendung des MinGW64-Compilers (--mingw64) für das C-Backend.", + "[INFO] Using MinGW64 compiler.": "[INFO] Verwendung des MinGW64-Compilers.", + "[INFO] Validating output files and generating final product...": "[INFO] Ausgabedateien werden validiert und das Endprodukt wird generiert...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Kompilierung abgeschlossen, Ausgabepfad: {path}", "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Digitale Signatur erfolgreich angewendet!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntaxfehler] Quellcode enthält Fehler:\n - Datei: {file}\n - Typ: {type}\n - Zeile: {line}\n - Details: {desc}\n\nTipp: Testen Sie den Code lokal.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntaxfehler] Quellcode-Syntaxanalyse fehlgeschlagen, Build abgebrochen:\n - Datei: {file}\n - Zeile: Zeile {line}\n - Detail: {desc}\n\nTipp: Dies ist normalerweise KEIN Fehler des Tools.\nStellen Sie sicher, dass die ausgewählte Python-Version mit der Version übereinstimmt, die Sie zum Schreiben des Codes verwendet haben.\nDie Verwendung neuerer Syntax in einer älteren Python-Umgebung löst diesen Fehler aus.\nWir empfehlen, zu [Build-Einstellungen] -> [Engine] zu gehen, um zur richtigen Python-Version zu wechseln.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing'-Modul erkannt. Stellen Sie sicher, dass 'multiprocessing.freeze_support()' aufgerufen wird.", - "[WARN] AST Analysis Exception: {error}": "[WARN] AST Analyse-Fehler: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Befehls-Zeitüberschreitung (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' oder 'httpx' erkannt. 'certifi'-Zertifikate werden automatisch eingebunden.", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Der Quellcode enthält Syntaxfehler, Kompilierung abgebrochen:\n - Datei: {file}\n - Typ: {type}\n - Zeile: Zeile {line}\n - Detail: {desc}\n\nTipp: Bitte stellen Sie sicher, dass der Quellcode lokal ausgeführt werden kann, bevor Sie ihn verpacken.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Die Syntaxanalyse des Quellcodes ist fehlgeschlagen, Build abgebrochen:\n - Datei: {file}\n - Zeile: Zeile {line}\n - Detail: {desc}\n\nTipp: Dies ist normalerweise KEIN Fehler des Verpackungstools.\nBitte stellen Sie sicher, dass die ausgewählte [Build-Python-Version] mit der Version übereinstimmt, die Sie zum [Schreiben/Testen des Codes] verwendet haben.\nDie Verwendung neuerer Syntax (z. B. Walross-Operator :=, Typ-Unionen |, match-case) in einer älteren Python-Umgebung führt zu diesem Fehler.\nWir empfehlen, unter [Buildeinstellungen] -> [Engine] zur korrekten Python-Version zu wechseln.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing'-Modul erkannt. Stellen Sie sicher, dass 'multiprocessing.freeze_support()' unter 'if __name__ == \"__main__\":' aufgerufen wird, um Endlosschleifen (Fork-Bomben) zu verhindern.", + "[WARN] AST Analysis Exception: {error}": "[WARN] AST-Analyse-Ausnahme: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Befehlszeitüberschreitung (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' oder 'httpx' erkannt. 'certifi'-Zertifikate werden automatisch gebündelt, um SSL-Fehler zu vermeiden.", "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Fehler beim Bereinigen der ungültigen Umgebung, Rückgriff auf temporäre Sandbox: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Die Icon-Konvertierung in .icns ist fehlgeschlagen, Build ohne Icon.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Schreiben des Icons blockiert. Aktiviere Fallback...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Wenig Speicherplatz (Verfügbar: {free:.1f} GB). Der Build könnte fehlschlagen.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Speicherausnahme (OOM). Wiederhole im Einzel-Thread-Modus...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Paket '{pkg}' konnte nicht installiert werden, überspringe...", - "[WARN] Pause code injection exception: {error}": "[WARN] Ausnahme bei Pause-Code Injektion: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Installation der Playwright-Browser fehlgeschlagen, der Build wird mit Risiko fortgesetzt...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Rückgriff bei Erkennung der Python-Umgebungsinformationen: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Lese-Warnung für requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Signierung fehlgeschlagen, Build-Ergebnis bleibt erhalten.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Einige Abhängigkeiten fehlen, Build wird fortgesetzt (mit Risiko)...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Installation bestimmter Versionen fehlgeschlagen. Versuche Auto-Kompatibilität...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Es wird empfohlen, [Virtuelle Umgebung] für den Lite-Modus zu aktivieren.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] System mit wenig Speicher. Wiederhole im Einzel-Thread-Modus...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Projekt befindet sich in einem Cloud-Ordner. Dies kann Dateien sperren.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Zeitstempel-Server Zeitüberschreitung, führe lokale schnelle Signierung durch...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Nutzung von '__file__' erkannt. Nutzen Sie im Einzeldatei-Modus 'sys._MEIPASS', um Ressourcen zu lokalisieren!", - "\\nProgram execution completed, press Enter to exit...": "\\nAusführung beendet. Enter drücken...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Automatisch erkannte bestehende virtuelle Umgebung '{venv}'. 'Lokale Venv behalten' ist aktiviert." + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Symbolkonvertierung in .icns fehlgeschlagen, Build ohne Symbol.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Schreiben der Symbolressource blockiert (möglicherweise durch System/Antivirus gesperrt), Fallback-Schutz wird ausgelöst...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Wenig Speicherplatz auf dem Build-Ziellaufwerk erkannt (Verfügbar: {free:.1f} GB, >= 5,0 GB empfohlen). Der Build-Prozess könnte aufgrund von Speichermangel unterbrochen werden.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Speicherzuweisungsausnahme abgefangen (ZstdError / OOM). Speicherschutz-Fallback wird ausgelöst: Erneut im Einzelthread-Modus versuchen...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Paket '{pkg}' konnte nicht installiert werden, wird übersprungen...", + "[WARN] Pause code injection exception: {error}": "[WARN] Ausnahme bei der Pause-Code-Injektion: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright-Browserinstallation über alle Quellen fehlgeschlagen, Build wird mit Risiko fortgesetzt...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Fallback der Python-Umgebungsinfo-Erkennung: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Warnung beim Lesen von requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Intelligente Signierung fehlgeschlagen, aber Build-Ausgabe wird beibehalten.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Einige Abhängigkeiten konnten nicht installiert werden, der Build wird mit Risiko fortgesetzt...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Angegebene Versionen konnten nicht installiert werden. Versionsbeschränkungen werden für automatische Kompatibilitätsanpassung entfernt...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Es wird dringend empfohlen, [Virtuelle Umgebung] zu aktivieren, um den Lite-Modus optimal zu nutzen.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Schreibrechte für System-Python eingeschränkt. Erneuter Versuch im '--user'-Modus...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Geringer Systemspeicher erkannt (zstd-Speicherzuweisung fehlgeschlagen). Automatischer erneuter Versuch im einthreadigen Low-Memory-Modus...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Zielprojekt befindet sich in einem Cloud-Sync-Verzeichnis (z.B. OneDrive/Dropbox). Cloud-Sync kann Build-Dateien vorübergehend sperren.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Zeitstempel-Server-Verbindung abgelaufen, lokale schnelle Signierung wird durchgeführt...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Verwendung von '__file__' erkannt. Im PyInstaller-Einzeldateimodus verwenden Sie 'sys._MEIPASS', um gebündelte Ressourcendateien zuverlässig zu finden!", + "\\nProgram execution completed, press Enter to exit...": "\\nProgrammausführung abgeschlossen, drücken Sie die Eingabetaste zum Beenden..." } diff --git a/qpypack/locales/es_ES.json b/qpypack/locales/es_ES.json index 16df618..75418e2 100644 --- a/qpypack/locales/es_ES.json +++ b/qpypack/locales/es_ES.json @@ -1,182 +1,205 @@ { - " [Console]": " [Con consola]", - " [No Console]": " [Sin consola]", + " [Console]": "[Consola]", + " [No Console]": "[Sin Consola]", "* Nuitka Auto-manages C Compiler": "* Nuitka gestiona automáticamente el compilador C", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* El patrocinio es completamente voluntario. ¡Gracias por tu apoyo!", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* El patrocinio es completamente voluntario, sirve como un estímulo incondicional para la comunidad de código abierto y no implica compromisos comerciales. ¡Gracias por tu apoyo!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Detectado localmente:
{path}
Listo para cambiar directamente sin volver a descargar.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "¿Estás seguro de que quieres restablecer todas las preferencias?
Todas las configuraciones se restaurarán a su estado predeterminado.", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "¡Entorno Python instalado con éxito!

Variables de entorno del sistema actualizadas. Se recomienda reiniciar el software.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestión de entorno Python
Admite el cambio de entornos de Python detectados localmente o la descarga de nuevas versiones.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Entorno Python requerido
La compilación depende de un intérprete de Python.
Seleccione una versión para descargar, instalar y configurar las variables de entorno automáticamente.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "¡No se detectó Python en su sistema!

Se requiere un entorno Python.
Descárguelo e instálelo (recuerde marcar 'Add Python.exe to PATH').", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "¡Python no está detectado en su sistema!

QPyPack requiere un entorno de Python para compilar su código.
Si no ha instalado Python, por favor descárguelo e instálelo.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recomendación: Se recomienda Python 3.11.9 para una compatibilidad óptima de compilación y soporte de motor.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Intérprete
Detectando automáticamente el entorno y la matriz de soporte...", - "AST Scan": "Análisis AST", - "AST scan completed, found {count} dependencies.": "Análisis AST completado. Se encontraron {count} dependencias.", - "AWS PyPI Mirror (US/EU)": "Espejo PyPI AWS (EE. UU./UE)", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "¿Estás seguro de que quieres restablecer todas las preferencias?
Todos los ajustes se restaurarán al estado predeterminado.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Se encontraron {count} entorno(s) virtual(es) para el proyecto actual:
{paths}

¿Estás seguro de que quieres eliminarlos para liberar espacio en disco?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "¡Entorno de Python instalado con éxito!

Se actualizaron las variables de entorno del sistema. Se recomienda salir y reiniciar el software para aplicar los cambios.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestión del entorno de Python
Admite cambiar entre entornos de Python detectados localmente o descargar nuevas versiones.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Se requiere entorno de Python
La compilación de la aplicación depende de un intérprete de Python.
Selecciona una versión para descargar, instalar y configurar automáticamente las variables de entorno.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "¡No se detectó Python en tu sistema!

QPyPack requiere un entorno de Python para compilar tu código.
Si no has instalado Python, descárgalo e instálalo (recuerda marcar 'Agregar Python.exe a PATH' durante la instalación).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "¡No se detectó Python en tu sistema!

QPyPack requiere un entorno de Python para compilar tu código.
Si no has instalado Python, descárgalo e instálalo.", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recomendación: Se recomienda Python 3.11.9 para una compatibilidad óptima de compilación y soporte del motor.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Intérprete
Detectando automáticamente el entorno del sistema y la matriz de soporte del SO...", + "AST Scan": "Escaneo AST", + "AST scan completed, found {count} dependencies.": "Escaneo AST completado, se encontraron {count} dependencias.", + "AWS PyPI Mirror (US/EU)": "Espejo PyPI de AWS (EE. UU./UE)", "About": "Acerca de", - "Add Dir": "Añadir carpeta", - "Add File": "Añadir archivo", - "Add Mapping": "Añadir mapeo", - "Additional Resources (Drag & Drop Supported)": "Recursos adicionales (Soporta arrastrar y soltar)", + "Active backport conflicts detected ({count}): {pkgs}": "Conflictos de backport activos detectados ({count}): {pkgs}", + "Add Backport Rule": "Agregar regla de backport", + "Add Dir": "Agregar directorio", + "Add File": "Agregar archivo", + "Add Mapping": "Agregar mapeo", + "Additional Resources (Drag & Drop Supported)": "Recursos adicionales (se admite arrastrar y soltar)", "Aliyun Cloud (China)": "Nube Aliyun (China)", "Analyze Dependencies (AST)": "Analizar dependencias (AST)", "App Icon:": "Icono de la aplicación:", - "App Metadata & Presets": "Metadatos y ajustes preestablecidos", - "Apple Silicon (M-Series) & Intel": "Soporta Apple Silicon (Serie M) e Intel", - "Apple Silicon (M1/M2) & Intel": "Soporta Apple Silicon (M1/M2) e Intel", - "Attention: Please check the log for details.": "Atención: Por favor, consulte el registro.", - "Author/Company:": "Autor/Organización:", + "App Metadata & Presets": "Metadatos y ajustes preestablecidos de la aplicación", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (serie M) e Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) e Intel", + "Attention: Please check the log for details.": "Atención: Por favor, revise el registro para más detalles.", + "Author/Company:": "Autor/Empresa:", "Auto Extract Icon": "Extraer icono automáticamente", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Aplica automáticamente una firma digital a la app creada, eliminando la advertencia de 'Editor desconocido'.", - "Auto-patched missing ({count}): {pkgs}": "Autocompletado faltante ({count}): {pkgs}", - "Auto-save Build Log": "Guardar registro automáticamente", - "Backup PIP Index:": "Índice PIP secundario:", - "Browse": "Examinar...", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Aplica automáticamente firma digital a la aplicación compilada, eliminando la advertencia de 'Editor desconocido'", + "Auto-patched missing ({count}): {pkgs}": "Parches faltantes auto-aplicados ({count}): {pkgs}", + "Auto-save Build Log": "Guardar registro de compilación automáticamente", + "Backport exclusion rules have been reset to defaults.": "Las reglas de exclusión de backport se han restablecido a los valores predeterminados.", + "Backup PIP Index:": "Índice PIP de respaldo:", + "Browse": "Examinar", "Build Cancelled": "Compilación cancelada", "Build Engine:": "Motor de compilación:", "Build Failed": "Compilación fallida", - "Build Settings": "Opciones de compilación", + "Build Settings": "Configuración de compilación", "Build Successful": "Compilación exitosa", - "Build engine packages ({count}): {pkgs}": "Paquetes del motor ({count}): {pkgs}", - "CPU Cores:": "Núcleos CPU:", + "Build engine packages ({count}): {pkgs}": "Paquetes del motor de compilación ({count}): {pkgs}", + "CPU Cores:": "Núcleos de CPU:", "Cancel": "Cancelar", - "Cancel & Return": "Cancelar y regresar", + "Cancel & Return": "Cancelar y volver", "Cert Password:": "Contraseña del certificado:", - "Certificate Subject (e.g. My Company):": "Emisor del certificado (ej. Mi Empresa):", - "Certificate generated successfully!": "¡Certificado generado con éxito!", + "Certificate Subject (e.g. My Company):": "Asunto del certificado (p. ej., Mi empresa):", + "Certificate generated successfully!": "¡Certificado generado exitosamente!", "Certificate password": "Contraseña del certificado", - "Check log output below for troubleshooting.": "Consulta el registro a continuación para solucionar el problema.", - "Clean Temporary Cache After Build": "Limpiar caché temporal tras la compilación", - "Clear All": "Limpiar todo", - "Clear Log": "Limpiar registro", - "Click to automatically download, install Python, and configure system environment variables.": "Haga clic para descargar, instalar y configurar las variables de entorno automáticamente.", + "Check log output below for troubleshooting.": "Consulte la salida del registro a continuación para solucionar problemas.", + "Clean Temporary Cache After Build": "Limpiar caché temporal después de compilar", + "Clear All": "Borrar todo", + "Clear Local Venvs": "Limpiar venvs locales", + "Clear Log": "Borrar registro", + "Clear Virtual Environments": "Limpiar entornos virtuales", + "Click to automatically download, install Python, and configure system environment variables.": "Haga clic para descargar, instalar Python y configurar las variables de entorno del sistema automáticamente.", "Code Signing": "Firma de código", "Comma separated (e.g. pandas, PyQt5)": "Separados por comas (ej. pandas, PyQt5)", "Comma separated (e.g. tkinter, matplotlib)": "Separados por comas (ej. tkinter, matplotlib)", "Commercial PFX File:": "Archivo PFX comercial:", - "Compatibility Mode (Default)": "Modo de compatibilidad (Predeterminado)", - "Compatibility depends on build environment glibc version.": "La compatibilidad depende de la versión de glibc del entorno.", + "Compatibility Mode (Default)": "Modo de compatibilidad (predeterminado)", + "Compatibility depends on build environment glibc version.": "La compatibilidad depende de la versión de glibc del entorno de compilación.", "Concise Log Output": "Salida de registro concisa", - "Concise Mode": "Modo Conciso", - "Config preset exported to: {path}": "Preajuste exportado a: {path}", - "Config preset imported successfully.": "Preajuste importado con éxito.", - "Configure Build Settings": "Configurar parámetros de compilación", + "Concise Mode": "Modo conciso", + "Config preset exported to: {path}": "Ajustes preestablecidos exportados a: {path}", + "Config preset imported successfully.": "Ajustes preestablecidos importados correctamente.", + "Configure Build Settings": "Configurar ajustes de compilación", "Configure Manually": "Configurar manualmente", "Confirm Password:": "Confirmar contraseña:", "Contents Directory (--contents-directory):": "Directorio de contenido (--contents-directory):", "Copy": "Copiar", "Create": "Crear", - "Create Self-Signed Cert": "Crear certificado autosignado", - "Custom Directory": "Carpeta personalizada", + "Create Self-Signed Cert": "Crear certificado autofirmado", + "Custom Directory": "Directorio personalizado", "Cut": "Cortar", "Declared in requirements.txt ({count}): {pkgs}": "Declarado en requirements.txt ({count}): {pkgs}", "Declared in requirements.txt: None": "Declarado en requirements.txt: Ninguno", + "Delete All": "Eliminar todo", + "Deleting...": "Eliminando...", "Dependencies": "Dependencias", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Advertencia: {pkgs} fallaron al instalarse. Ver registro.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Advertencia de dependencia faltante: {pkgs} no se pudo instalar. Consulte el registro para más detalles.", "Description:": "Descripción:", "Desktop Application": "Aplicación de escritorio", - "Detailed Mode": "Modo Detallado", - "Directory": "Carpeta", + "Detailed Mode": "Modo detallado", + "Directory": "Directorio", "Discovered via scanner ({count}): {pkgs}": "Descubierto mediante escáner ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Doble clic para editar la ruta. Admite arrastrar y soltar", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Doble clic para editar la ruta; Admite arrastrar y soltar. Use 'Exportar ajustes' para guardar y reutilizar.", + "Double-click to edit target path; Drag & drop supported": "Haga doble clic para editar la ruta de destino; se admite arrastrar y soltar", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Doble clic para editar la ruta de destino; se admite arrastrar y soltar. Use 'Exportar ajustes preestablecidos' para guardar para reutilizar.", "Download New Version": "Descargar nueva versión", "Download Python": "Descargar Python", - "Download complete. Starting Python installation...": "Descarga completa. Iniciando instalación de Python...", - "Downloading Python {ver}... Please wait.": "Descargando Python {ver}... Espere por favor.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Arrastra y suelta el script (.py/.pyw) aquí\no Haz clic para buscar...", - "Drop Python source code to start": "Suelta el código fuente de Python para comenzar", - "Edit Path": "Editar Ruta", - "Enable Smart Code Signing": "Habilitar firma digital", + "Download complete. Starting Python installation...": "Descarga completada. Iniciando instalación de Python...", + "Downloading Python {ver}... Please wait.": "Descargando Python {ver}... Por favor, espere.", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Arrastre y suelte el script de Python (.py/.pyw) aquí\no haga clic para examinar", + "Drop Python source code to start": "Suelte el código fuente de Python para comenzar", + "Edit Path": "Editar ruta", + "Enable Automatic Backport Isolation": "Habilitar aislamiento automático de backport", + "Enable Smart Code Signing": "Habilitar firma de código inteligente", "Enable UPX Compression": "Habilitar compresión UPX", "Engine": "Motor", - "Engine & Environment": "Motor de compilación y entorno", + "Engine & Environment": "Motor y entorno", + "Environment Analysis": "Análisis de entorno", + "Environment Analysis & Remediation": "Análisis y corrección de entorno", "Error": "Error", - "Exclude Modules:": "Excluir módulos (excludes):", - "Execution Log": "Registro de Ejecución", + "Exclude Modules:": "Excluir módulos:", + "Execution Log": "Registro de ejecución", "Execution Mode": "Modo de ejecución", "Exit Now": "Salir ahora", "Export Log...": "Exportar registro...", - "Export Preset...": "Exportar ajustes...", - "Failed to generate certificate.": "Error al generar el certificado.", + "Export Preset...": "Exportar ajustes preestablecidos...", + "Failed to generate certificate.": "No se pudo generar el certificado.", "File": "Archivo", - "Folder Mode (--onedir)": "Carpeta (--onedir)", - "Full backward compatibility": "Compatibilidad total hacia atrás", + "Folder Mode (--onedir)": "Modo carpeta (--onedir)", + "Full backward compatibility": "Compatibilidad total con versiones anteriores", "Generate": "Generar", "GitHub Repository": "Repositorio de GitHub", - "Global configuration has been reset.": "La configuración global ha sido restablecida.", - "Hidden Imports:": "Importaciones implícitas:", + "Global configuration has been reset.": "La configuración global se ha restablecido.", + "Hidden Imports:": "Importaciones ocultas:", "Hide Console (--noconsole)": "Ocultar consola (--noconsole)", - "Hide Custom Cert Settings ▾": "Ocultar configuración de certificado ▾", - "Huawei Cloud (China)": "Nube Huawei (China)", + "Hide Custom Cert Settings ▾": "Ocultar configuración de certificados personalizados ▾", + "Huawei Cloud (China)": "Huawei Cloud (China)", "Import Name": "Nombre de importación", - "Import Preset...": "Importar ajustes...", - "Import name (e.g. cv2):": "Nombre de importación (ej. cv2):", + "Import Preset...": "Importar ajuste preestablecido...", + "Import name (e.g. cv2):": "Nombre de importación (p. ej., cv2):", "Independent Developer": "Desarrollador independiente", "Initializing build...": "Inicializando compilación...", + "Inspect Interpreter Environment": "Inspeccionar entorno del intérprete", "Install Complete": "Instalación completada", "Install requirements.txt": "Instalar requirements.txt", - "Internal directory name for dependencies (default: _internal)": "Nombre del directorio interno para dependencias (predeterminado: _internal)", + "Internal directory name for dependencies (default: _internal)": "Nombre de directorio interno para dependencias (predeterminado: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Inspección del intérprete superada: no se detectaron conflictos de backport activos.", "Interpreter:": "Intérprete:", "Invalid syntax": "Sintaxis no válida", "Issues & Feedback": "Problemas y comentarios", + "Keep Local Venv": "Conservar venv local", "Later": "Más tarde", - "Leave blank to auto-detect from environment variables": "Dejar en blanco para detectar desde las variables de entorno", - "Leave blank to auto-detect system default Python": "Dejar en blanco para detectar automáticamente el intérprete", - "Leave blank to auto-match script name": "Dejar en blanco para usar automáticamente el nombre del script", - "Leave blank to auto-search requirements.txt in current directory": "Dejar en blanco para buscar automáticamente requirements.txt", + "Leave blank to auto-detect from environment variables": "Dejar en blanco para detectar automáticamente desde variables de entorno", + "Leave blank to auto-detect system default Python": "Dejar en blanco para detectar automáticamente el Python predeterminado del sistema", + "Leave blank to auto-match script name": "Dejar en blanco para coincidir automáticamente con el nombre del script", + "Leave blank to auto-search requirements.txt in current directory": "Dejar en blanco para buscar automáticamente requirements.txt en el directorio actual", "Legacy macOS Compatible": "Compatible con macOS heredado", - "Lite Mode (Smaller size)": "Modo ligero (Tamaño reducido)", + "Lite Mode (Smaller size)": "Modo ligero (tamaño más pequeño)", "Loaded: {filename}": "Cargado: {filename}", "Locally Detected Pythons": "Pythons detectados localmente", - "Lock Core Dependencies": "Bloquear dependencias clave", + "Lock Core Dependencies": "Bloquear dependencias principales", "Log saved to: {path}": "Registro guardado en: {path}", - "Manifest complete (No missing packages)": "Manifiesto completo (Sin paquetes faltantes)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Máxima compatibilidad. Recomendado para aplicaciones con importaciones dinámicas complejas.", - "Mirrors & Scanner": "Servidores espejo y escáner", + "Manifest complete (No missing packages)": "Manifiesto completo (sin paquetes faltantes)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Compatibilidad máxima. Recomendado para aplicaciones con importaciones dinámicas complejas.", + "Min Python Ver": "Versión mínima de Python", + "Minimum Built-in Python Version (e.g. 3.4):": "Versión mínima de Python integrada (p. ej., 3.4):", + "Mirrors & Scanner": "Espejos y escáner", "Modern Cross-Platform Python Application Packager": "Empaquetador de aplicaciones Python multiplataforma moderno", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Herramienta GUI multiplataforma para empaquetar aplicaciones Python basada en PyInstaller y Nuitka", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI de empaquetado de Python multiplataforma moderna impulsada por PyInstaller y Nuitka", "No Windows 7 Support": "Sin soporte para Windows 7", - "No local Python environments detected.": "No se detectaron entornos Python locales.", - "No log content.": "No hay registro.", + "No environment conflicts detected.": "No se detectaron conflictos de entorno.", + "No local Python environments detected.": "No se detectaron entornos de Python locales.", + "No local virtual environments found to clean.": "No se encontraron entornos virtuales locales para limpiar.", + "No log content.": "Sin contenido de registro.", "Nuitka Version:": "Versión de Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compila a binario C/C++ nativo. Menor tamaño, mayor rendimiento y protección de código fuente.", - "OK": "Aceptar", - "OS Support Matrix:": "Matriz de compatibilidad de SO:", - "One-Click Download & Install": "Descargar e instalar con un clic", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka: compila el código fuente en un binario nativo C/C++. Produce un tamaño de paquete más pequeño, una ejecución más rápida y una protección profunda contra la descompilación (requiere compilador C).", + "OK": "OK", + "OS Support Matrix:": "Matriz de soporte de SO:", + "Obsolete Backport Exclusion Rules": "Reglas de exclusión de backports obsoletos", + "One-Click Download & Install": "Descarga e instalación con un clic", "One-Click Install": "Instalación con un clic", - "One-File Mode (--onefile)": "Archivo único (--onefile)", + "One-File Mode (--onefile)": "Modo de archivo único (--onefile)", "Only supported on Windows.": "Solo compatible con Windows.", - "Open Directory": "Abrir carpeta", - "Open output directory or reset workspace.": "Abre el directorio de salida o reinicia el espacio de trabajo.", - "Optimization & Security": "Optimización y Seguridad", - "Output Location": "Ubicación del archivo ejecutable", + "Open Directory": "Abrir directorio", + "Open output directory or reset workspace.": "Abrir directorio de salida o restablecer espacio de trabajo.", + "Optimization & Security": "Optimización y seguridad", + "Output Location": "Ubicación de salida", "Output Location:": "Ubicación de salida:", - "Output Name:": "Nombre del ejecutable:", - "Package Map": "Mapeo", - "Package Name Mappings": "Mapeo de nombres de paquetes", - "Package mappings have been reset to defaults.": "Los mapeos se han restablecido.", + "Output Name:": "Nombre de salida:", + "Package Map": "Mapa de paquetes", + "Package Mapping & Remediation": "Mapeo y corrección de paquetes", + "Package Mappings & Rules": "Mapeos y reglas de paquetes", + "Package Name": "Nombre del paquete", + "Package Name (e.g. pathlib):": "Nombre del paquete (p. ej., pathlib):", + "Package Name Mappings": "Mapeos de nombres de paquetes", + "Package mappings have been reset to defaults.": "Las asignaciones de paquetes se han restablecido a los valores predeterminados.", "Packaging Mode:": "Modo de empaquetado:", - "Parsing metadata...": "Analizando metadados...", + "Parsing metadata...": "Analizando metadatos...", "Password cannot be empty!": "¡La contraseña no puede estar vacía!", "Password:": "Contraseña:", "Passwords do not match!": "¡Las contraseñas no coinciden!", "Paste": "Pegar", "Performance Optimization": "Optimización de rendimiento", - "Platform Support Matrix:": "Matriz de compatibilidad de plataforma:", + "Platform Support Matrix:": "Matriz de soporte de plataformas:", "Preferences": "Preferencias", - "Preferences & System Behavior": "Preferencias y comportamiento", + "Preferences & System Behavior": "Preferencias y comportamiento del sistema", "Preparing engine...": "Preparando el motor...", "Primary PIP Index:": "Índice PIP principal:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Específico del proyecto. No se guarda globalmente. Usa 'Exportar ajustes'.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Específico del proyecto. No se guarda en las preferencias globales. Use 'Exportar ajuste preestablecido' para guardar la configuración.", "PyInstaller Version:": "Versión de PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Empaqueta el intérprete Python y el bytecode. Construcción rápida y excelente compatibilidad.", - "PyPI Home": "Página de PyPI", - "PyPI Official (Global Default)": "PyPI Oficial (Predeterminado Global)", - "PyPI Package Name": "Paquete PyPI", - "PyPI package name for [{imp_name}]:": "Nombre de paquete PyPI para [{imp_name}]:", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Agrupa el intérprete de Python y el bytecode. Velocidad de compilación rápida, configuración cero (no se necesita compilador C) y excelente compatibilidad.", + "PyPI Home": "Inicio de PyPI", + "PyPI Official (Global Default)": "PyPI oficial (predeterminado global)", + "PyPI Package Name": "Nombre del paquete PyPI", + "PyPI package name for [{imp_name}]:": "Nombre del paquete PyPI para [{imp_name}]:", "Python 3.10.11": "Python 3.10.11", "Python 3.11.9 (Recommended)": "Python 3.11.9 (Recomendado)", "Python 3.12.4": "Python 3.12.4", @@ -184,162 +207,166 @@ "Python 3.14.6 (Experimental)": "Python 3.14.6 (Experimental)", "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Soporte Win7)", "Python 3.9.13": "Python 3.9.13", - "Python Environment Management": "Gestión de entorno Python", - "Python Environment Required": "Se requiere entorno Python", - "Python Packaging, Reimagined.": "Empaquetado de Python, reimaginado.", + "Python Environment Management": "Gestión del entorno de Python", + "Python Environment Required": "Entorno de Python requerido", + "Python Packaging, Reimagined.": "Empaquetado de Python, reinventado.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python instalado. Por favor, reinicie QPyPack manualmente más tarde.", - "QPyPack Developer": "Desarrollador QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack es gratuito. Si ha mejorado tu eficiencia, ¡considera invitarle un café al autor!", - "Ready, waiting for build.": "Listo, esperando compilación.", + "QPyPack Developer": "Desarrollador de QPyPack", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack es una herramienta gratuita y de código abierto. Si ha mejorado su eficiencia o resuelto problemas de empaquetado, ¡considere invitar al autor a un café!", + "Ready, waiting for build.": "Listo, esperando la compilación.", "Rebuild": "Recompilar", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recomendación: 6+ caracteres, solo alfanuméricos, '-' y '_'. Evite espacios.", - "Remove Selected": "Eliminar selección", - "Requirements File:": "Archivo de dependencias:", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recomendación: 6+ caracteres, alfanumérico, solo '-' y '_'. Evite espacios o chino para prevenir errores de firma.", + "Remediate Detected Conflicts": "Remediar Conflictos Detectados", + "Remediation completed for packages: {pkgs}": "Remediación completada para paquetes: {pkgs}", + "Remove Selected": "Eliminar Seleccionados", + "Requirements File:": "Archivo de Requisitos:", "Reset": "Restablecer", - "Reset to Default Config": "Restablecer configuración predeterminada", + "Reset to Default Config": "Restablecer a Configuración Predeterminada", "Resources": "Recursos", - "Restore Defaults": "Restaurar valores predeterminados", - "Save & Return": "Guardar y regresar", - "Save Certificate": "Guardar certificado", - "Scan Entire Folder": "Escanear toda la carpeta", - "Script and settings retained. Ready to rebuild.": "Script y configuraciones conservados. Listo para reconstruir.", + "Restore Defaults": "Restaurar Predeterminados", + "Save & Return": "Guardar y Volver", + "Save Certificate": "Guardar Certificado", + "Scan Entire Folder": "Escanear Carpeta Completa", + "Scanning...": "Escaneando...", + "Script and settings retained. Ready to rebuild.": "Script y configuración conservados. Listo para recompilar.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Script cargado. Puede arrastrar carpetas de activos o archivos de datos directamente aquí para incluirlos.", "Select .pfx / .p12 certificate file": "Seleccionar archivo de certificado .pfx / .p12", - "Select All": "Seleccionar todo", - "Select Python Version to Download:": "Seleccione la versión de Python a descargar:", - "Self-Signed Certificate (*.pfx)": "Certificado autosignado (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Menor tamaño de salida. Recomendado para el 95% de las aplicaciones estándar.", - "Sound Notification": "Notificación sonora al finalizar", - "Source Directory (.qpypack_build)": "Directorio fuente (.qpypack_build)", - "Source File Directory": "Carpeta del archivo fuente", + "Select All": "Seleccionar Todo", + "Select Python Version to Download:": "Seleccionar Versión de Python para Descargar:", + "Self-Signed Certificate (*.pfx)": "Certificado Autofirmado (*.pfx)", + "Smaller output size. Recommended for 95% of standard apps.": "Tamaño de salida más pequeño. Recomendado para el 95% de aplicaciones estándar.", + "Sound Notification": "Notificación de Sonido", + "Source Directory (.qpypack_build)": "Directorio de Origen (.qpypack_build)", + "Source File Directory": "Directorio de Archivos de Origen", "Sponsor": "Patrocinar", "Start Build": "Iniciar compilación", "Status: Build Cancelled": "Estado: Compilación cancelada", "Status: Build Completed": "Estado: Compilación completada", "Status: Build Failed": "Estado: Compilación fallida", - "Status: Loaded {filename}{mode}": "Estado: {filename}{mode} cargado", + "Status: Environment inspection ready.": "Estado: Inspección del entorno lista.", + "Status: Loaded {filename}{mode}": "Estado: Cargado {filename}{mode}", "Status: Packaging ({engine}) ...": "Estado: Empaquetando ({engine}) ...", "Status: Parsing {filename}...": "Estado: Analizando {filename}...", "Status: Ready": "Estado: Listo", - "Status: Workspace Reset": "Estado: Espacio de trabajo reiniciado", - "Stop Build": "Detener", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Cambiado a [Opciones de compilación] -> [Motor], por favor, establezca la ruta de Python.", - "Switched to local Python environment: {path}": "Cambiado al entorno de Python local: {path}", + "Status: Workspace Reset": "Estado: Espacio de trabajo restablecido", + "Stop Build": "Detener compilación", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Se limpiaron correctamente {count} entorno(s) virtual(es), se liberaron {size:.1f} MB de espacio en disco.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Cambiado a [Configuración de compilación] -> [Motor], por favor establezca la ruta de Python.", + "Switched to local Python environment: {path}": "Cambiado al entorno Python local: {path}", "System Default ({sys_native})": "Predeterminado del sistema ({sys_native})", - "System Temp Directory": "Directorio Temp del sistema", - "Target Directory:": "Carpeta de destino:", + "System Temp Directory": "Directorio temporal del sistema", + "Target Directory:": "Directorio de destino:", "Target relative path:": "Ruta relativa de destino:", "Temporary Directory:": "Directorio temporal:", - "Tencent Cloud (China)": "Nube Tencent (China)", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Consejo: Error al compilar en modo ligero. Intente cambiar a [Modo de compatibilidad] en la configuración y vuelva a compilar.", + "Tencent Cloud (China)": "Tencent Cloud (China)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Consejo: La compilación falló en modo Lite. Puede intentar cambiar a [Modo de compatibilidad] en Configuración de compilación y reconstruir.", "Toggle Execution Log": "Alternar registro de ejecución", - "Tsinghua University (China)": "Universidad Tsinghua (China)", + "Tsinghua University (China)": "Universidad de Tsinghua (China)", "UI Language:": "Idioma de la interfaz:", - "UPX Path:": "Ruta UPX:", + "UPX Path:": "Ruta de UPX:", "USTC (China)": "USTC (China)", "Undo": "Deshacer", "Unknown": "Desconocido", - "Use Custom Commercial Cert (Optional) ▸": "Configurar certificado comercial (Opcional) ▸", - "Use Installed Version Directly": "✔ Usar versión instalada directamente", - "Use Selected Environment": "Usar el entorno seleccionado", + "Use Custom Commercial Cert (Optional) ▸": "Usar certificado comercial personalizado (opcional) ▸", + "Use Installed Version Directly": "Usar versión instalada directamente", + "Use Selected Environment": "Usar entorno seleccionado", + "Use Virtual Environment": "Usar entorno virtual", "Version:": "Versión:", "View Python": "Ver Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] No se encontró archivo/directorio adicional: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Compilación abortada: Espacio en disco insuficiente. Libere al menos 5 GB.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Compilación terminada, pero fallaron estas dependencias:\n\n - {pkgs}\n\nNota: La app puede fallar con ModuleNotFoundError al ejecutarse.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] No se pudo encontrar un ejecutable válido en el directorio temporal: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Ocurrió una excepción durante el análisis AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] No se pudo crear el entorno virtual. Faltan módulos o hay restricciones.", - "[ERROR] Failed to export log file: {error}": "[ERROR] No se pudo exportar el registro: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] No se pudo exportar el preajuste: {error}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Archivo/directorio de recurso adicional no encontrado: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Compilación abortada: Espacio en disco insuficiente (NoSpaceLeft / Errno 28). Por favor, libere espacio en la unidad (se recomienda al menos 5 GB de espacio libre) e intente de nuevo.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Compilación completada, pero las siguientes dependencias no se pudieron instalar:\n\n - {pkgs}\n\nNota: La aplicación podría generar ModuleNotFoundError en tiempo de ejecución.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] No se pudo localizar un ejecutable válido en el directorio de compilación temporal: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] La corrección del entorno falló: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Se produjo una excepción durante el análisis AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] No se pudo crear el entorno virtual. El entorno de Python actual podría carecer de módulos necesarios o tener permisos restringidos.", + "[ERROR] Failed to export log file: {error}": "[ERROR] No se pudo exportar el archivo de registro: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] No se pudo exportar el archivo de ajustes preestablecidos: {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] Excepción de E/S: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espacio en disco insuficiente (Disponible: {free:.1f} GB).", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espacio en disco insuficiente (Disponible: {free:.1f} GB). Se requieren al menos 0.5 GB para inicializar de forma segura el entorno de compilación.", "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] El directorio de salida no tiene permisos de escritura: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] ¡Por favor, cargue primero un archivo de código fuente válido!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] El archivo de preajuste está corrupto: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Error de proceso: comando o binario faltante ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Error al transferir el ejecutable: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] ¡Primero cargue un archivo de código fuente de Python válido!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Error en el formato del archivo de ajustes preestablecidos o archivo corrupto: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Error de proceso: falta el comando o binario ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] La transferencia del producto falló, el archivo podría estar ocupado por el proceso del sistema o carecer de permisos: {error}", "[ERROR] Python installation failed or was cancelled.": "[ERROR] La instalación de Python falló o fue cancelada.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] El intérprete Python no se encuentra o es inválido: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] No se encontró el archivo de dependencias: {path}", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] El intérprete de Python no es válido o no se encontró: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Archivo de requisitos no encontrado: {path}", "[ERROR] System execution exception: {error}": "[ERROR] Excepción de ejecución del sistema: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] El archivo está bloqueado por un servicio en la nube. Desbloquéelo y reintente.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] El archivo de destino se está ejecutando o está ocupado. Por favor, cierre la aplicación.", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] El archivo de destino está bloqueado o cifrado por el disco en la nube. Por favor, descifre e intente de nuevo.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] El archivo de destino está en ejecución u ocupado. Por favor, cierre la aplicación existente e intente de nuevo.", "[ERROR] The specified icon file does not exist: {path}": "[ERROR] El archivo de icono especificado no existe: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] ¡La compilación se interrumpió de forma excepcional!\n\nSolución de problemas comunes:\n1. Incompatibilidad de entorno (Más común): La versión de Python seleccionada es incompatible con su código fuente. Vaya a [Opciones de compilación] para cambiar a la versión de Python que utiliza normalmente para este código.\n2. Dependencias faltantes: Haga clic en 'Modo Detallado' arriba para buscar ModuleNotFoundError.\n3. Bloqueo antivirus: Asegúrese de que su software de seguridad no esté bloqueando el proceso de compilación.\n\n(Nota: Esto generalmente es causado por discrepancias de entorno/código y no por el motor en sí. Consulte el registro detallado.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilación interrumpida, haga clic en 'Modo Detallado' para solucionar el problema.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] Analizando el código fuente y las dependencias...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Firma digital aplicada con sello de tiempo ({tsa})...", - "[INFO] Applying smart digital signature...": "[INFO] Aplicando firma digital...", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] ¡La compilación se interrumpió excepcionalmente!\n\nSolución de problemas común:\n1. Desajuste de entorno (más común): La versión de Python seleccionada es incompatible con su código fuente. Vaya a [Configuración de compilación] para cambiar a la versión de Python que usa normalmente para este código.\n2. Dependencias faltantes: Haga clic en 'Modo detallado' arriba para verificar ModuleNotFoundError.\n3. Bloqueo de antivirus: Asegúrese de que su software de seguridad no esté bloqueando el proceso de compilación.\n\n(Nota: Esto suele deberse a discrepancias entre el entorno y el código, no al motor de empaquetado en sí. Consulte el registro detallado para conocer las razones exactas.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] La compilación se interrumpió con excepciones, haga clic en 'Modo detallado' arriba de la ventana de registro para solucionar problemas.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] Se agregó '{name}' a Recursos adicionales.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Se agregaron {count} elemento(s) de recurso a Recursos Adicionales.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Analizando código fuente y dependencias del proyecto...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Se aplicó firma digital con sello de tiempo ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] Aplicando firma digital inteligente...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Entorno virtual existente '{venv}' auto-detectado. 'Mantener Venv Local' está marcado.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Módulo de retrocompatibilidad obsoleto auto-protegido: '{pkg}' (Integrado en Python {ver})", "[INFO] Build Cancelled.": "[INFO] Compilación cancelada.", - "[INFO] Build log exported to: {path}": "[INFO] Registro exportado a: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] Compilación finalizada, extrayendo y archivando archivos...", + "[INFO] Build log exported to: {path}": "[INFO] Registro de compilación exportado a: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Compilación completada, archivando archivos compilados...", + "[INFO] Creating virtual environment ({name})...": "[INFO] Creando entorno virtual ({name})...", "[INFO] Creating virtual environment...": "[INFO] Creando entorno virtual...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Descargando navegadores Playwright vía espejo: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Evaluando memoria física (Disponible: {ram:.1f} GB). Concurrencia ajustada: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Entorno Clang local detectado, priorizando compilador LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Entorno GCC/MinGW-w64 local detectado, usando el compilador MinGW64.", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Entorno MSVC local detectado, priorizando compilador C++ nativo.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Entorno Zig local detectado, Nuitka gestionará la compilación del backend C.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Limpiando archivos temporales...", - "[INFO] Initializing isolated build environment...": "[INFO] Inicializando entorno de compilación...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalando dependencias ({count} paquetes): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modo ligero activado, aplicando optimización de bytecode (-OO) y eliminando módulos de desarrollo...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] No se detectó compilador C local. Nuitka descargará y gestionará automáticamente un conjunto de herramientas MinGW-w64 compatible.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Consejo de Nuitka: Si se solicita descargar GCC/MinGW, mantenga una conexión estable.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Realizando controles de seguridad del entorno...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright detectado. Instalando navegadores integrados...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ detectado: Usando el compilador Zig (--zig) como backend C.", - "[INFO] Python interpreter path: {path}": "[INFO] Ruta del intérprete Python: {path}", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Descargando navegadores de Playwright vía espejo: {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Evaluando memoria física del sistema (Disponible: {ram:.1f} GB). Concurrencia adaptativa ajustada: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Entorno Clang local encontrado, priorizando compilador LLVM Clang.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Entorno GCC/MinGW-w64 local encontrado, usando compilador MinGW64.", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Entorno MSVC local encontrado, priorizando compilador C++ nativo.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Entorno Zig local encontrado, dejando que Nuitka gestione la compilación del backend C.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Liberando espacio, limpiando entorno de compilación temporal...", + "[INFO] Initializing isolated build environment...": "[INFO] Inicializando entorno de compilación aislado...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalando entorno de compilación y dependencias del proyecto ({count} paquetes): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modo ligero habilitado, aplicando optimización de bytecode (-OO) y eliminando módulos de desarrollo...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] No se detectó compilador C local. Nuitka descargará y gestionará automáticamente un kit de herramientas MinGW-w64 compatible.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Consejo de Nuitka: Si se le solicita descargar el compilador GCC/MinGW en la primera compilación, asegúrese de tener una conexión de red estable.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Realizando comprobaciones previas del entorno...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright detectado. Instalando navegadores integrados (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ detectado: Usando compilador Zig (--zig) como backend C.", + "[INFO] Python interpreter path: {path}": "[INFO] Ruta del intérprete de Python: {path}", "[INFO] Resolving project dependencies...": "[INFO] Resolviendo dependencias del proyecto...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Reintentando la descarga del navegador Playwright a través del CDN oficial...", - "[INFO] Reusing existing virtual environment...": "[INFO] Reutilizando el entorno virtual existente...", - "[INFO] Scanning project source code via AST engine...": "[INFO] Escaneando dependencias vía motor AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Iniciando motor {engine} para la compilación...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Despojando parámetros de icono y reconstruyendo...", - "[INFO] Successfully installed compatible versions.": "[INFO] Versiones compatibles instaladas exitosamente.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Cambiando al índice PyPI secundario: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Actualizando el gestor de paquetes pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Consejo: Los ejecutables pueden ser marcados falsamente por antivirus. Se recomienda añadir exclusiones.", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Reintentando descarga del navegador de Playwright vía CDN oficial...", + "[INFO] Reusing existing virtual environment...": "[INFO] Reutilizando entorno virtual existente...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] Reutilizando entorno virtual existente: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] Escaneando el código fuente del proyecto mediante el motor AST...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Iniciando el motor {engine} para compilar archivos binarios...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Eliminando parámetros de icono y reconstruyendo automáticamente...", + "[INFO] Successfully installed compatible versions.": "[INFO] Versiones compatibles instaladas correctamente.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Cambiando a la fuente PyPI de respaldo para la recuperación: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Sincronizando y actualizando el administrador de paquetes pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Consejo: Los ejecutables sin firmas comerciales pueden ser marcados falsamente por Windows Defender/Antivirus.", "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Usando el compilador MinGW64 (--mingw64) para el backend C.", "[INFO] Using MinGW64 compiler.": "[INFO] Usando el compilador MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Validando archivos de salida y generando producto final...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilación completada con éxito. Ruta de salida: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] ¡Firma digital aplicada con éxito!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Error de Sintaxis] El código fuente contiene errores, compilación abortada:\n - Archivo: {file}\n - Tipo: {type}\n - Línea: Línea {line}\n - Detalles: {desc}\n\nConsejo: Asegúrese de que el código funciona localmente antes de empaquetarlo.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Error de Sintaxis] Error de análisis sintáctico, compilación abortada:\n - Archivo: {file}\n - Línea: {line}\n - Detalles: {desc}\n\nConsejo: Esto generalmente NO es un fallo de la herramienta.\nAsegúrese de que la versión de Python seleccionada coincida con la utilizada para probar el código.\nEl uso de sintaxis más nueva en un entorno de Python más antiguo desencadenará este error.\nRecomendamos ir a [Opciones de compilación] -> [Motor] para cambiar a la versión correcta de Python.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Módulo 'multiprocessing' detectado. Asegúrese de llamar a 'multiprocessing.freeze_support()' para evitar bucles infinitos.", + "[INFO] Validating output files and generating final product...": "[INFO] Validando archivos de salida y generando el producto final...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilación completada, ruta de salida: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] ¡Firma digital aplicada correctamente!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] El código fuente contiene errores de sintaxis, compilación abortada:\n - Archivo: {file}\n - Tipo: {type}\n - Línea: Línea {line}\n - Detalle: {desc}\n\nConsejo: Asegúrese de que el código fuente se ejecute localmente antes de empaquetar.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Falló el análisis de sintaxis del código fuente, compilación abortada:\n - Archivo: {file}\n - Línea: Línea {line}\n - Detalle: {desc}\n\nConsejo: Esto generalmente NO es un fallo de la herramienta de empaquetado.\nAsegúrese de que la [Versión de Python de compilación] seleccionada coincida con la versión que usó para [Escribir/Probar el código].\nEl uso de sintaxis más nueva (por ejemplo, operador morsa :=, uniones de tipos |, match-case) en un entorno Python más antiguo provocará este error.\nRecomendamos ir a [Configuración de compilación] -> [Motor] para cambiar a la versión correcta de Python.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Módulo 'multiprocessing' detectado. Asegúrese de que 'multiprocessing.freeze_support()' se llame dentro de 'if __name__ == \"__main__\":' para evitar bucles infinitos de procesos (fork bombs).", "[WARN] AST Analysis Exception: {error}": "[WARN] Excepción de análisis AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Tiempo de espera de comando agotado (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Detectado 'requests' o 'httpx'. Empaquetando certificados 'certifi' para evitar errores SSL.", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] La conversión del icono a .icns falló, construyendo sin icono.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Escritura de icono bloqueada (posible antivirus), activando protección de respaldo...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Poco espacio en disco (Disponible: {free:.1f} GB, se recomiendan >= 5.0 GB). Puede haber fallas.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Excepción de memoria (OOM). Reintentando en modo de un solo hilo...", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Tiempo de espera del comando agotado (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Se detectó 'requests' o 'httpx'. Se incluirán automáticamente los certificados 'certifi' para evitar errores SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Falló la purga del entorno no válido, se recurre a un sandbox temporal: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Falló la conversión del icono a .icns, se compila sin icono.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Escritura de recursos de icono bloqueada (posiblemente bloqueada por el sistema/antivirus), activando protección de respaldo...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Espacio en disco bajo detectado en la unidad de destino de compilación (Disponible: {free:.1f} GB, se recomienda >= 5.0 GB). El proceso de compilación puede interrumpirse debido al agotamiento del disco.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Excepción de asignación de memoria capturada (ZstdError / OOM). Activando protección de memoria: Reintentando en modo de un solo hilo...", "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] El paquete '{pkg}' no se pudo instalar, omitiendo...", - "[WARN] Pause code injection exception: {error}": "[WARN] Excepción al inyectar código de pausa: {error}", + "[WARN] Pause code injection exception: {error}": "[WARN] Excepción de inyección de código de pausa: {error}", "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] La instalación del navegador Playwright falló en todas las fuentes, la compilación continuará con riesgo...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Detección de información del entorno Python falló, se usa respaldo: {error}", "[WARN] Read requirements.txt warning: {error}": "[WARN] Advertencia al leer requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] La firma digital falló, pero el ejecutable se ha conservado.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Algunas dependencias fallaron, la compilación continuará con riesgo...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Falló la instalación de versiones específicas. Eliminando restricciones para coincidencia automática...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Se recomienda marcar 'Usar entorno virtual' para maximizar el modo ligero.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Poca memoria detectada. Reintentando en modo de baja memoria de un solo hilo...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] El proyecto está en un directorio sincronizado en la nube. Esto puede bloquear archivos.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Tiempo de espera del servidor de sellado agotado, realizando firma rápida local...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Detectado el uso de '__file__'. ¡En modo de archivo único, use 'sys._MEIPASS' para localizar archivos de recursos!", - "\\nProgram execution completed, press Enter to exit...": "\\nEjecución finalizada, presione Enter para salir...", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Se encontraron {count} entorno(s) virtual(es) para el proyecto actual:
{paths}

¿Está seguro de que desea eliminarlos para liberar espacio en disco?", - "Clear Local Venvs": "Limpiar Venvs locales", - "Clear Virtual Environments": "Limpiar entornos virtuales", - "Delete All": "Eliminar todos", - "Keep Local Venv": "Conservar Venv local", - "No local virtual environments found to clean.": "No se encontraron entornos virtuales locales para limpiar.", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Se limpiaron correctamente {count} entorno(s) virtual(es), liberando {size:.1f} MB de espacio en disco.", - "Use Virtual Environment": "Usar entorno virtual", - "[INFO] Creating virtual environment ({name})...": "[INFO] Creando entorno virtual ({name})...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] Reutilizando entorno virtual existente: {path}", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Fallo al purgar entorno no válido, usando sandbox temporal: {error}", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Detección de información del entorno Python falló, usando respaldo: {error}", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Entorno virtual existente '{venv}' auto-detectado. 'Mantener Venv Local' está marcado." + "[WARN] Smart signing failed, but build output is retained.": "[WARN] La firma inteligente falló, pero se conserva el resultado de la compilación.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Algunas dependencias no se pudieron instalar, la compilación continuará con riesgo...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Las versiones especificadas no se pudieron instalar. Eliminando restricciones de versión para compatibilidad automática...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Se recomienda encarecidamente marcar [Entorno Virtual] para maximizar el efecto del modo ligero.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Permiso de escritura restringido para Python del sistema. Reintentando con modo '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Memoria baja del sistema detectada (fallo de asignación de memoria zstd). Reintentando automáticamente en modo de baja memoria de un solo hilo...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] El proyecto objetivo está en un directorio de sincronización en la nube (por ejemplo, OneDrive/Dropbox). La sincronización en la nube puede bloquear temporalmente los archivos de compilación.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Tiempo de espera agotado en la conexión al servidor de marcas de tiempo, realizando firma rápida local...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Se detectó el uso de '__file__'. En el modo de un solo archivo de PyInstaller, use 'sys._MEIPASS' para localizar de manera confiable los archivos de recursos empaquetados.", + "\\nProgram execution completed, press Enter to exit...": "\\nEjecución del programa completada, presione Enter para salir..." } diff --git a/qpypack/locales/fr_FR.json b/qpypack/locales/fr_FR.json index 177e5b0..bc893b0 100644 --- a/qpypack/locales/fr_FR.json +++ b/qpypack/locales/fr_FR.json @@ -1,169 +1,186 @@ { - " [Console]": " [Avec console]", - " [No Console]": " [Sans console]", + " [Console]": "[Console]", + " [No Console]": "[Sans Console]", "* Nuitka Auto-manages C Compiler": "* Nuitka gère automatiquement le compilateur C", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Le parrainage est volontaire. Merci pour votre soutien !", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Détecté localement :
{path}
Prêt à être utilisé directement.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Êtes-vous sûr de vouloir réinitialiser toutes les préférences ?
Tous les paramètres seront restaurés à leur état par défaut.", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Trouvé {count} environnement(s) virtuel(s) pour le projet actuel :
{paths}

Êtes-vous sûr de vouloir les supprimer pour libérer de l'espace disque ?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Environnement Python installé avec succès !

Variables d'environnement mises à jour. Il est recommandé de redémarrer le logiciel.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestion de l'environnement Python
Permet de basculer entre les environnements détectés localement ou de télécharger de nouvelles versions.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Environnement Python requis
La compilation dépend d'un interprète Python.
Veuillez sélectionner une version à télécharger, installer et configurer automatiquement.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python n'est pas détecté !
Installez Python (cochez 'Add to PATH').", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Le parrainage est entièrement volontaire, sert d'encouragement inconditionnel à la communauté open-source et n'implique aucun engagement commercial. Merci pour votre soutien !", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Détecté localement :
{path}
Prêt à basculer directement sans téléchargement supplémentaire.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Êtes-vous sûr de vouloir réinitialiser toutes les préférences ?
Tous les paramètres seront restaurés à l'état par défaut.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "{count} environnement(s) virtuel(s) trouvé(s) pour le projet actuel :
{paths}

Voulez-vous vraiment les supprimer pour libérer de l'espace disque ?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Environnement Python installé avec succès !

Les variables d'environnement système ont été mises à jour. Il est recommandé de quitter et de redémarrer le logiciel pour appliquer les modifications.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestion de l'environnement Python
Prend en charge la commutation entre les environnements Python détectés localement ou le téléchargement de nouvelles versions.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Environnement Python requis
La construction de l'application dépend d'un interpréteur Python.
Veuillez sélectionner une version pour télécharger, installer et configurer automatiquement les variables d'environnement.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python n'est pas détecté sur votre système !

QPyPack nécessite un environnement Python pour compiler votre code.
Si vous n'avez pas installé Python, veuillez le télécharger et l'installer (n'oubliez pas de cocher 'Ajouter Python.exe au PATH' lors de l'installation).", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python n'est pas détecté sur votre système !

QPyPack nécessite un environnement Python pour compiler votre code.
Si vous n'avez pas installé Python, veuillez le télécharger et l'installer.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recommandation : Python 3.11.9 est recommandé pour une compatibilité optimale.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interprète
Détection automatique de l'environnement et du support OS...", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recommandation : Python 3.11.9 est recommandé pour une compatibilité de construction et un support moteur optimaux.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpréteur
Détection automatique de l'environnement système et de la matrice de support OS...", "AST Scan": "Analyse AST", - "AST scan completed, found {count} dependencies.": "Analyse AST : {count} dépendances trouvées.", - "AWS PyPI Mirror (US/EU)": "Miroir AWS PyPI (US/EU)", + "AST scan completed, found {count} dependencies.": "Analyse AST terminée, {count} dépendance(s) trouvée(s).", + "AWS PyPI Mirror (US/EU)": "Miroir PyPI AWS (UE/États-Unis)", "About": "À propos", - "Add Dir": "Ajouter Dossier", - "Add File": "Ajouter Fichier", - "Add Mapping": "Ajouter un Mappage", - "Additional Resources (Drag & Drop Supported)": "Ressources supplémentaires (Glisser-déposer)", - "Aliyun Cloud (China)": "Aliyun Cloud", + "Active backport conflicts detected ({count}): {pkgs}": "Conflits de rétroportage actifs détectés ({count}) : {pkgs}", + "Add Backport Rule": "Ajouter une règle de rétroportage", + "Add Dir": "Ajouter un dossier", + "Add File": "Ajouter un fichier", + "Add Mapping": "Ajouter un mappage", + "Additional Resources (Drag & Drop Supported)": "Ressources supplémentaires (glisser-déposer pris en charge)", + "Aliyun Cloud (China)": "Alibaba Cloud (Chine)", "Analyze Dependencies (AST)": "Analyser les dépendances (AST)", "App Icon:": "Icône de l'application :", - "App Metadata & Presets": "Métadonnées et Préréglages", - "Apple Silicon (M-Series) & Intel": "Supporte Apple Silicon (Série M) & Intel", - "Apple Silicon (M1/M2) & Intel": "Supporte Apple Silicon (M1/M2) & Intel", - "Attention: Please check the log for details.": "Attention : Veuillez consulter le journal.", - "Author/Company:": "Auteur/Organisation :", + "App Metadata & Presets": "Métadonnées et préréglages de l'application", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (série M) et Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) et Intel", + "Attention: Please check the log for details.": "Attention : Veuillez consulter le journal pour plus de détails.", + "Author/Company:": "Auteur/Entreprise :", "Auto Extract Icon": "Extraire automatiquement l'icône", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Applique automatiquement une signature numérique pour éliminer l'avertissement 'Éditeur inconnu'.", - "Auto-patched missing ({count}): {pkgs}": "Correction automatique ({count}) : {pkgs}", - "Auto-save Build Log": "Sauvegarder le journal", - "Backup PIP Index:": "Index PIP secondaire :", - "Browse": "Parcourir...", - "Build Cancelled": "Compilation annulée", - "Build Engine:": "Moteur de compilation :", - "Build Failed": "Échec de la compilation", - "Build Settings": "Options de compilation", - "Build Successful": "Compilation réussie", - "Build engine packages ({count}): {pkgs}": "Paquets du moteur ({count}) : {pkgs}", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Applique automatiquement la signature numérique à l'application construite, éliminant l'avertissement « Éditeur inconnu »", + "Auto-patched missing ({count}): {pkgs}": "Correctifs manquants auto-appliqués ({count}) : {pkgs}", + "Auto-save Build Log": "Enregistrer automatiquement le journal de construction", + "Backport exclusion rules have been reset to defaults.": "Les règles d'exclusion de backport ont été réinitialisées aux valeurs par défaut.", + "Backup PIP Index:": "Index PIP de sauvegarde :", + "Browse": "Parcourir", + "Build Cancelled": "Construction annulée", + "Build Engine:": "Moteur de construction :", + "Build Failed": "Échec de la construction", + "Build Settings": "Paramètres de construction", + "Build Successful": "Construction réussie", + "Build engine packages ({count}): {pkgs}": "Paquets du moteur de construction ({count}) : {pkgs}", "CPU Cores:": "Cœurs CPU :", "Cancel": "Annuler", - "Cancel & Return": "Annuler et revenir", + "Cancel & Return": "Annuler et retourner", "Cert Password:": "Mot de passe du certificat :", - "Certificate Subject (e.g. My Company):": "Émetteur du certificat (ex : Ma Société) :", + "Certificate Subject (e.g. My Company):": "Sujet du certificat (par exemple, Mon entreprise) :", "Certificate generated successfully!": "Certificat généré avec succès !", "Certificate password": "Mot de passe du certificat", - "Check log output below for troubleshooting.": "Consultez le journal ci-dessous pour résoudre le problème.", - "Clean Temporary Cache After Build": "Nettoyer le cache temporaire après compilation", - "Clear All": "Tout Effacer", - "Clear Local Venvs": "Nettoyer les environnements virtuels locaux", + "Check log output below for troubleshooting.": "Consultez la sortie du journal ci-dessous pour le dépannage.", + "Clean Temporary Cache After Build": "Nettoyer le cache temporaire après la construction", + "Clear All": "Tout effacer", + "Clear Local Venvs": "Effacer les environnements virtuels locaux", "Clear Log": "Effacer le journal", - "Clear Virtual Environments": "Nettoyer les environnements virtuels", - "Click to automatically download, install Python, and configure system environment variables.": "Cliquez pour télécharger, installer et configurer automatiquement les variables d'environnement.", + "Clear Virtual Environments": "Effacer les environnements virtuels", + "Click to automatically download, install Python, and configure system environment variables.": "Cliquez pour télécharger automatiquement, installer Python et configurer les variables d'environnement système.", "Code Signing": "Signature de code", - "Comma separated (e.g. pandas, PyQt5)": "Séparés par des virgules (ex : pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "Séparés par des virgules (ex : tkinter, matplotlib)", + "Comma separated (e.g. pandas, PyQt5)": "Séparés par des virgules (ex. pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "Séparés par des virgules (ex. tkinter, matplotlib)", "Commercial PFX File:": "Fichier PFX commercial :", - "Compatibility Mode (Default)": "Mode de compatibilité (Par défaut)", - "Compatibility depends on build environment glibc version.": "La compatibilité dépend de la version glibc de l'environnement.", + "Compatibility Mode (Default)": "Mode de compatibilité (par défaut)", + "Compatibility depends on build environment glibc version.": "La compatibilité dépend de la version de glibc de l'environnement de construction.", "Concise Log Output": "Sortie de journal concise", - "Concise Mode": "Mode Concis", - "Config preset exported to: {path}": "Préréglage exporté vers : {path}", - "Config preset imported successfully.": "Préréglage importé avec succès.", - "Configure Build Settings": "Paramètres de compilation", + "Concise Mode": "Mode concis", + "Config preset exported to: {path}": "Préréglage de configuration exporté vers : {path}", + "Config preset imported successfully.": "Préréglage de configuration importé avec succès.", + "Configure Build Settings": "Configurer les paramètres de construction", "Configure Manually": "Configurer manuellement", "Confirm Password:": "Confirmer le mot de passe :", - "Contents Directory (--contents-directory):": "Répertoire de contenu (--contents-directory) :", + "Contents Directory (--contents-directory):": "Répertoire du contenu (--contents-directory) :", "Copy": "Copier", "Create": "Créer", "Create Self-Signed Cert": "Créer un certificat auto-signé", - "Custom Directory": "Dossier personnalisé", + "Custom Directory": "Répertoire personnalisé", "Cut": "Couper", "Declared in requirements.txt ({count}): {pkgs}": "Déclaré dans requirements.txt ({count}) : {pkgs}", "Declared in requirements.txt: None": "Déclaré dans requirements.txt : Aucun", "Delete All": "Tout supprimer", + "Deleting...": "Suppression...", "Dependencies": "Dépendances", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Avertissement : {pkgs} n'a pas pu être installé.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Avertissement de dépendance manquante : {pkgs} n'a pas pu être installé. Consultez le journal pour plus de détails.", "Description:": "Description :", "Desktop Application": "Application de bureau", - "Detailed Mode": "Mode Détaillé", - "Directory": "Dossier", - "Discovered via scanner ({count}): {pkgs}": "Découvert via l'analyseur ({count}) : {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Double-cliquez pour modifier le chemin; Glisser-déposer pris en charge", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Double-cliquez pour modifier le chemin. Utilisez 'Exporter Préréglage' pour sauvegarder.", - "Download New Version": "Télécharger une nouvelle version", + "Detailed Mode": "Mode détaillé", + "Directory": "Répertoire", + "Discovered via scanner ({count}): {pkgs}": "Découvert via le scanner ({count}) : {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Double-cliquez pour modifier le chemin cible ; glisser-déposer pris en charge", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Double-cliquez pour modifier le chemin cible ; glisser-déposer pris en charge. Utilisez 'Exporter la préréglage' pour enregistrer pour réutilisation.", + "Download New Version": "Télécharger la nouvelle version", "Download Python": "Télécharger Python", "Download complete. Starting Python installation...": "Téléchargement terminé. Démarrage de l'installation de Python...", "Downloading Python {ver}... Please wait.": "Téléchargement de Python {ver}... Veuillez patienter.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Faites glisser le script Python (.py/.pyw) ici\nou Cliquez pour parcourir...", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Glissez-déposez le script Python (.py/.pyw) ici\nou cliquez pour parcourir", "Drop Python source code to start": "Déposez le code source Python pour commencer", "Edit Path": "Modifier le chemin", - "Enable Smart Code Signing": "Activer la signature numérique", + "Enable Automatic Backport Isolation": "Activer l'isolation automatique de rétroportage", + "Enable Smart Code Signing": "Activer la signature de code intelligente", "Enable UPX Compression": "Activer la compression UPX", "Engine": "Moteur", "Engine & Environment": "Moteur et environnement", + "Environment Analysis": "Analyse de l'environnement", + "Environment Analysis & Remediation": "Analyse et correction de l'environnement", "Error": "Erreur", - "Exclude Modules:": "Exclure les modules :", + "Exclude Modules:": "Modules à exclure :", "Execution Log": "Journal d'exécution", "Execution Mode": "Mode d'exécution", "Exit Now": "Quitter maintenant", "Export Log...": "Exporter le journal...", - "Export Preset...": "Exporter Préréglage...", + "Export Preset...": "Exporter la préréglage...", "Failed to generate certificate.": "Échec de la génération du certificat.", "File": "Fichier", - "Folder Mode (--onedir)": "Dossier (--onedir)", - "Full backward compatibility": "Rétrocompatibilité totale", + "Folder Mode (--onedir)": "Mode dossier (--onedir)", + "Full backward compatibility": "Compatibilité ascendante complète", "Generate": "Générer", "GitHub Repository": "Dépôt GitHub", - "Global configuration has been reset.": "Configuration globale réinitialisée.", - "Hidden Imports:": "Imports implicites :", + "Global configuration has been reset.": "La configuration globale a été réinitialisée.", + "Hidden Imports:": "Imports cachés :", "Hide Console (--noconsole)": "Masquer la console (--noconsole)", - "Hide Custom Cert Settings ▾": "Masquer les paramètres du certificat ▾", - "Huawei Cloud (China)": "Huawei Cloud", - "Import Name": "Nom d'import", - "Import Preset...": "Importer Préréglage...", - "Import name (e.g. cv2):": "Nom d'import (ex : cv2) :", + "Hide Custom Cert Settings ▾": "Masquer les paramètres de certificat personnalisés ▾", + "Huawei Cloud (China)": "Cloud Huawei (Chine)", + "Import Name": "Nom d'importation", + "Import Preset...": "Importer un préréglage...", + "Import name (e.g. cv2):": "Nom d'importation (ex. cv2) :", "Independent Developer": "Développeur indépendant", - "Initializing build...": "Initialisation de la compilation...", + "Initializing build...": "Initialisation de la construction...", + "Inspect Interpreter Environment": "Inspecter l'environnement de l'interpréteur", "Install Complete": "Installation terminée", "Install requirements.txt": "Installer requirements.txt", - "Internal directory name for dependencies (default: _internal)": "Nom du répertoire interne pour les dépendances (par défaut : _internal)", - "Interpreter:": "Interprète :", + "Internal directory name for dependencies (default: _internal)": "Nom du répertoire interne pour les dépendances (défaut : _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Inspection de l'interpréteur réussie : aucun conflit de rétroportage actif détecté.", + "Interpreter:": "Interpréteur :", "Invalid syntax": "Syntaxe invalide", - "Issues & Feedback": "Problèmes et Retours", + "Issues & Feedback": "Problèmes et commentaires", "Keep Local Venv": "Conserver l'environnement virtuel local", "Later": "Plus tard", - "Leave blank to auto-detect from environment variables": "Laissez vide pour détecter automatiquement", - "Leave blank to auto-detect system default Python": "Laissez vide pour détecter automatiquement", - "Leave blank to auto-match script name": "Laissez vide pour utiliser le nom du script", - "Leave blank to auto-search requirements.txt in current directory": "Laissez vide pour rechercher automatiquement", - "Legacy macOS Compatible": "Compatible anciens macOS", - "Lite Mode (Smaller size)": "Mode léger (Taille réduite)", + "Leave blank to auto-detect from environment variables": "Laisser vide pour détecter automatiquement à partir des variables d'environnement", + "Leave blank to auto-detect system default Python": "Laisser vide pour détecter automatiquement le Python par défaut du système", + "Leave blank to auto-match script name": "Laisser vide pour correspondre automatiquement au nom du script", + "Leave blank to auto-search requirements.txt in current directory": "Laisser vide pour rechercher automatiquement requirements.txt dans le répertoire courant", + "Legacy macOS Compatible": "Compatible macOS hérité", + "Lite Mode (Smaller size)": "Mode léger (taille réduite)", "Loaded: {filename}": "Chargé : {filename}", "Locally Detected Pythons": "Pythons détectés localement", - "Lock Core Dependencies": "Verrouiller les dépendances", - "Log saved to: {path}": "Journal sauvegardé sous : {path}", - "Manifest complete (No missing packages)": "Manifeste complet (Aucun paquet manquant)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Compatibilité maximale. Recommandé pour les applications avec des importations dynamiques complexes.", - "Mirrors & Scanner": "Miroirs et analyseur", - "Modern Cross-Platform Python Application Packager": "Outil moderne de création de paquets Python multiplateforme", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Outil GUI multiplateforme pour Python basé sur PyInstaller & Nuitka", + "Lock Core Dependencies": "Verrouiller les dépendances principales", + "Log saved to: {path}": "Journal enregistré dans : {path}", + "Manifest complete (No missing packages)": "Manifeste complet (aucun paquet manquant)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Compatibilité maximale. Recommandé pour les applications avec des imports dynamiques complexes.", + "Min Python Ver": "Version Python minimale", + "Minimum Built-in Python Version (e.g. 3.4):": "Version Python intégrée minimale (ex. 3.4) :", + "Mirrors & Scanner": "Miroirs et scanner", + "Modern Cross-Platform Python Application Packager": "Packager d'applications Python multiplateforme moderne", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Interface graphique de packaging Python multiplateforme moderne propulsée par PyInstaller et Nuitka", "No Windows 7 Support": "Pas de support Windows 7", + "No environment conflicts detected.": "Aucun conflit d'environnement détecté.", "No local Python environments detected.": "Aucun environnement Python local détecté.", "No local virtual environments found to clean.": "Aucun environnement virtuel local trouvé à nettoyer.", "No log content.": "Aucun contenu de journal.", "Nuitka Version:": "Version de Nuitka :", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compile en C/C++ nativo. Meilleures performances et protège le code source.", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compile le code source en binaire C/C++ natif. Produit une taille de package plus petite, une exécution plus rapide et une protection anti-décompilation profonde (nécessite un compilateur C).", "OK": "OK", - "OS Support Matrix:": "Matrice de support des OS :", + "OS Support Matrix:": "Matrice de support OS :", + "Obsolete Backport Exclusion Rules": "Règles d'exclusion des backports obsolètes", "One-Click Download & Install": "Téléchargement et installation en un clic", "One-Click Install": "Installation en un clic", - "One-File Mode (--onefile)": "Fichier unique (--onefile)", - "Only supported on Windows.": "Pris en charge uniquement sur Windows.", - "Open Directory": "Ouvrir le dossier", - "Open output directory or reset workspace.": "Ouvrez le dossier de sortie ou réinitialisez l'espace de travail.", - "Optimization & Security": "Optimisation et Sécurité", + "One-File Mode (--onefile)": "Mode fichier unique (--onefile)", + "Only supported on Windows.": "Uniquement pris en charge sur Windows.", + "Open Directory": "Ouvrir le répertoire", + "Open output directory or reset workspace.": "Ouvrir le répertoire de sortie ou réinitialiser l'espace de travail.", + "Optimization & Security": "Optimisation et sécurité", "Output Location": "Emplacement de sortie", - "Output Location:": "Règle de sortie :", - "Output Name:": "Nom de l'exécutable :", - "Package Map": "Mappage", - "Package Name Mappings": "Table de mappage", - "Package mappings have been reset to defaults.": "Mappages réinitialisés aux valeurs par défaut.", + "Output Location:": "Emplacement de sortie :", + "Output Name:": "Nom de sortie :", + "Package Map": "Carte des packages", + "Package Mapping & Remediation": "Mappage et correction des packages", + "Package Mappings & Rules": "Mappages et règles de packages", + "Package Name": "Nom du package", + "Package Name (e.g. pathlib):": "Nom du package (ex. pathlib) :", + "Package Name Mappings": "Mappages de noms de packages", + "Package mappings have been reset to defaults.": "Les mappages de paquets ont été réinitialisés aux valeurs par défaut.", "Packaging Mode:": "Mode d'empaquetage :", "Parsing metadata...": "Analyse des métadonnées...", "Password cannot be empty!": "Le mot de passe ne peut pas être vide !", @@ -173,173 +190,183 @@ "Performance Optimization": "Optimisation des performances", "Platform Support Matrix:": "Matrice de support des plateformes :", "Preferences": "Préférences", - "Preferences & System Behavior": "Préférences et comportement", + "Preferences & System Behavior": "Préférences et comportement du système", "Preparing engine...": "Préparation du moteur...", "Primary PIP Index:": "Index PIP principal :", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Spécifique au projet. Utilisez 'Exporter Préréglage'.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Spécifique au projet. Non enregistré dans les préférences globales. Utilisez 'Exporter le préréglage' pour enregistrer la configuration.", "PyInstaller Version:": "Version de PyInstaller :", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Vitesse de compilation rapide et excellente compatibilité.", - "PyPI Home": "Page PyPI", - "PyPI Official (Global Default)": "PyPI Officiel (Défaut Global)", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Regroupe l'interpréteur Python et le bytecode. Vitesse de construction rapide, zéro configuration (pas besoin de compilateur C) et excellente compatibilité.", + "PyPI Home": "Accueil PyPI", + "PyPI Official (Global Default)": "PyPI officiel (défaut global)", "PyPI Package Name": "Nom du paquet PyPI", - "PyPI package name for [{imp_name}]:": "Nom PyPI pour [{imp_name}] :", + "PyPI package name for [{imp_name}]:": "Nom du paquet PyPI pour [{imp_name}] :", "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (Recommandé)", + "Python 3.11.9 (Recommended)": "Python 3.11.9 (recommandé)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (Expérimental)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Support Win7)", + "Python 3.14.6 (Experimental)": "Python 3.14.6 (expérimental)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (support Win7)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Gestion de l'environnement Python", "Python Environment Required": "Environnement Python requis", - "Python Packaging, Reimagined.": "La création de paquets Python, réinventée.", + "Python Packaging, Reimagined.": "Empaquetage Python, réinventé.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python installé. Veuillez redémarrer QPyPack manuellement plus tard.", "QPyPack Developer": "Développeur QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack est gratuit. Si cela vous a aidé, offrez un café à l'auteur !", - "Ready, waiting for build.": "Prêt, en attente de compilation.", - "Rebuild": "Recompiler", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recommandation : 6+ caractères, alphanumériques, '-' et '_' uniquement.", - "Remove Selected": "Supprimer Sélection", - "Requirements File:": "Fichier de dépendances :", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack est un outil gratuit et open-source. S'il a amélioré votre efficacité ou résolu des problèmes d'empaquetage, envisagez d'offrir un café à l'auteur !", + "Ready, waiting for build.": "Prêt, en attente de construction.", + "Rebuild": "Reconstruire", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recommandation : 6+ caractères, alphanumériques, '-' et '_' uniquement. Évitez les espaces ou le chinois pour prévenir les erreurs de signature.", + "Remediate Detected Conflicts": "Corriger les conflits détectés", + "Remediation completed for packages: {pkgs}": "Correction terminée pour les paquets : {pkgs}", + "Remove Selected": "Supprimer la sélection", + "Requirements File:": "Fichier d'exigences :", "Reset": "Réinitialiser", - "Reset to Default Config": "Réinitialiser la configuration par défaut", + "Reset to Default Config": "Réinitialiser à la configuration par défaut", "Resources": "Ressources", "Restore Defaults": "Restaurer les valeurs par défaut", - "Save & Return": "Enregistrer et revenir", + "Save & Return": "Enregistrer et retourner", "Save Certificate": "Enregistrer le certificat", - "Scan Entire Folder": "Analyser l'ensemble du dossier", - "Script and settings retained. Ready to rebuild.": "Script et paramètres conservés. Prêt à recompiler.", - "Select .pfx / .p12 certificate file": "Sélectionner un fichier de certificat .pfx / .p12", - "Select All": "Tout Sélectionner", - "Select Python Version to Download:": "Sélectionnez la version de Python à télécharger :", + "Scan Entire Folder": "Analyser tout le dossier", + "Scanning...": "Analyse en cours...", + "Script and settings retained. Ready to rebuild.": "Script et paramètres conservés. Prêt à reconstruire.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Script chargé. Vous pouvez glisser des dossiers d'actifs ou des fichiers de données directement ici pour les regrouper.", + "Select .pfx / .p12 certificate file": "Sélectionner le fichier de certificat .pfx / .p12", + "Select All": "Tout sélectionner", + "Select Python Version to Download:": "Sélectionner la version de Python à télécharger :", "Self-Signed Certificate (*.pfx)": "Certificat auto-signé (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Taille de sortie plus petite. Recommandé pour 95 % des applications standard.", - "Sound Notification": "Notification sonore de fin", - "Source Directory (.qpypack_build)": "Dossier source (.qpypack_build)", - "Source File Directory": "Dossier du fichier source", + "Smaller output size. Recommended for 95% of standard apps.": "Taille de sortie plus petite. Recommandé pour 95% des applications standard.", + "Sound Notification": "Notification sonore", + "Source Directory (.qpypack_build)": "Répertoire source (.qpypack_build)", + "Source File Directory": "Répertoire du fichier source", "Sponsor": "Parrainer", - "Start Build": "Démarrer la compilation", - "Status: Build Cancelled": "Statut : Compilation annulée", - "Status: Build Completed": "Statut : Compilation terminée", - "Status: Build Failed": "Statut : Échec de la compilation", - "Status: Loaded {filename}{mode}": "Statut : {filename}{mode} chargé", - "Status: Packaging ({engine}) ...": "Statut : Empaquetage en cours ({engine}) ...", + "Start Build": "Démarrer la construction", + "Status: Build Cancelled": "Statut : Construction annulée", + "Status: Build Completed": "Statut : Construction terminée", + "Status: Build Failed": "Statut : Échec de la construction", + "Status: Environment inspection ready.": "Statut : Inspection de l'environnement prête.", + "Status: Loaded {filename}{mode}": "Statut : Chargé {filename}{mode}", + "Status: Packaging ({engine}) ...": "Statut : Empaquetage ({engine}) ...", "Status: Parsing {filename}...": "Statut : Analyse de {filename}...", "Status: Ready": "Statut : Prêt", "Status: Workspace Reset": "Statut : Espace de travail réinitialisé", - "Stop Build": "Interrompre", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Nettoyage réussi de {count} environnement(s) virtuel(s), {size:.1f} Mo d'espace disque libéré(s).", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Basculé vers [Options de compilation] -> [Moteur], veuillez définir le chemin Python.", - "Switched to local Python environment: {path}": "Basculé vers l'environnement Python local : {path}", - "System Default ({sys_native})": "Par défaut ({sys_native})", - "System Temp Directory": "Dossier Temp du Système", - "Target Directory:": "Dossier cible :", + "Stop Build": "Arrêter la construction", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Nettoyage réussi de {count} environnement(s) virtuel(s), {size:.1f} Mo d'espace disque libéré.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Passé à [Paramètres de construction] -> [Moteur], veuillez définir le chemin Python.", + "Switched to local Python environment: {path}": "Passé à l'environnement Python local : {path}", + "System Default ({sys_native})": "Défaut système ({sys_native})", + "System Temp Directory": "Répertoire temporaire système", + "Target Directory:": "Répertoire cible :", "Target relative path:": "Chemin relatif cible :", - "Temporary Directory:": "Dossier temporaire :", - "Tencent Cloud (China)": "Tencent Cloud", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Conseil : Échec de la compilation en mode léger. Essayez de passer en [Mode de compatibilité] dans les paramètres et recompiler.", - "Toggle Execution Log": "Afficher/Masquer le journal", - "Tsinghua University (China)": "Université Tsinghua", + "Temporary Directory:": "Répertoire temporaire :", + "Tencent Cloud (China)": "Tencent Cloud (Chine)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Astuce : La construction a échoué en mode Lite. Vous pouvez essayer de passer au [Mode de compatibilité] dans les paramètres de construction et reconstruire.", + "Toggle Execution Log": "Basculer le journal d'exécution", + "Tsinghua University (China)": "Université Tsinghua (Chine)", "UI Language:": "Langue de l'interface :", "UPX Path:": "Chemin UPX :", - "USTC (China)": "USTC", + "USTC (China)": "USTC (Chine)", "Undo": "Annuler", "Unknown": "Inconnu", - "Use Custom Commercial Cert (Optional) ▸": "Configurer un certificat commercial (Optionnel) ▸", - "Use Installed Version Directly": "✔ Utiliser la version installée directement", + "Use Custom Commercial Cert (Optional) ▸": "Utiliser un certificat commercial personnalisé (optionnel) ▸", + "Use Installed Version Directly": "Utiliser directement la version installée", "Use Selected Environment": "Utiliser l'environnement sélectionné", "Use Virtual Environment": "Utiliser l'environnement virtuel", "Version:": "Version :", "View Python": "Voir Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Fichier ou ressource introuvable : {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Compilation annulée : Espace disque insuffisant. Libérez au moins 5 Go.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Compilation terminée, mais ces dépendances ont échoué :\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Impossible de localiser l'exécutable dans le dossier temporaire : {path}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Fichier/répertoire de ressource supplémentaire introuvable : {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Construction abandonnée : espace disque insuffisant (NoSpaceLeft / Errno 28). Veuillez libérer de l'espace disque (au moins 5 Go d'espace libre recommandé) et réessayer.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Construction terminée, mais les dépendances suivantes n'ont pas pu être installées :\n\n - {pkgs}\n\nRemarque : L'application pourrait lever une ModuleNotFoundError au moment de l'exécution.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Impossible de localiser un produit exécutable valide dans le répertoire de construction temporaire : {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Échec de la correction de l'environnement : {error}", "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Exception lors de l'analyse AST : {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Échec de la création de l'environnement virtuel.", - "[ERROR] Failed to export log file: {error}": "[ERROR] Impossible d'exporter le journal : {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] Impossible d'exporter le préréglage : {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Échec de la création de l'environnement virtuel. L'environnement Python actuel pourrait manquer de modules nécessaires ou avoir des permissions restreintes.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Échec de l'exportation du fichier journal : {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Échec de l'exportation du fichier de préréglage : {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] Exception d'E/S : {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espace disque insuffisant (Libre : {free:.1f} Go).", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Le dossier de sortie n'a pas les droits d'écriture : {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] Veuillez d'abord charger un fichier Python valide !", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Fichier de préréglage corrompu : {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Erreur de processus : {error}", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Échec du transfert de l'exécutable : {error}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espace disque insuffisant (Disponible : {free:.1f} Go). Au moins 0,5 Go est requis pour initialiser en toute sécurité l'environnement de construction.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Le répertoire de sortie n'a pas les permissions d'écriture : {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Veuillez d'abord charger un fichier source Python valide !", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Erreur de format du fichier de préréglage ou fichier corrompu : {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Erreur de processus : commande ou binaire manquant ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Échec du transfert du produit, le fichier pourrait être occupé par un processus système ou manquer de permissions : {error}", "[ERROR] Python installation failed or was cancelled.": "[ERROR] L'installation de Python a échoué ou a été annulée.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Interprète Python invalide ou introuvable : {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] Fichier de dépendances introuvable : {path}", - "[ERROR] System execution exception: {error}": "[ERROR] Exception système : {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Le fichier est verrouillé par un service Cloud. Veuillez le déverrouiller.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Le fichier cible est en cours d'exécution ou occupé. Veuillez fermer l'application.", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] L'icône spécifiée n'existe pas : {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Compilation interrompue exceptionnellement !\n\nDépannage courant :\n1. Incompatibilité d'environnement (Fréquent) : La version Python est incompatible. Allez dans [Options de compilation] pour la changer.\n2. Dépendances manquantes : Vérifiez 'ModuleNotFoundError' dans le mode détaillé.\n3. Blocage Antivirus : Assurez-vous que votre antivirus ne bloque pas le processus.\n\n(Note : Souvent causé par des différences d'environnement/code, pas par le moteur lui-même. Consultez le journal.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilation interrompue. Consultez le 'Mode Détaillé'.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] Analyse du code source et des dépendances...", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Interpréteur Python invalide ou introuvable : {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Fichier d'exigences introuvable : {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Exception d'exécution système : {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Le fichier cible est verrouillé ou chiffré par un lecteur cloud. Veuillez le déchiffrer et réessayer.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Le fichier cible est en cours d'exécution ou occupé. Veuillez fermer l'application existante et réessayer.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Le fichier d'icône spécifié n'existe pas : {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Construction interrompue de manière exceptionnelle !\n\nDépannage courant :\n1. Incompatibilité d'environnement (la plus courante) : La version Python sélectionnée est incompatible avec votre code source. Veuillez aller dans [Paramètres de construction] pour passer à la version Python que vous utilisez normalement pour ce code.\n2. Dépendances manquantes : Cliquez sur 'Mode détaillé' ci-dessus pour vérifier les ModuleNotFoundError.\n3. Blocage antivirus : Assurez-vous que votre logiciel de sécurité ne bloque pas le processus de construction.\n\n(Remarque : Cela est généralement causé par des écarts entre l'environnement/le code plutôt que par le moteur d'empaquetage lui-même. Veuillez consulter le journal détaillé pour connaître les raisons exactes.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilation interrompue avec des exceptions, veuillez cliquer sur 'Mode détaillé' au-dessus de la fenêtre de journal pour le dépannage.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' ajouté aux ressources supplémentaires.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] {count} élément(s) de ressource ajouté(s) aux ressources supplémentaires.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Analyse du code source et des dépendances du projet...", "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Signature numérique appliquée avec horodatage ({tsa})...", - "[INFO] Applying smart digital signature...": "[INFO] Application de la signature numérique...", - "[INFO] Build Cancelled.": "[INFO] Compilation annulée.", - "[INFO] Build log exported to: {path}": "[INFO] Journal exporté sous : {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] Compilation terminée, archivage des fichiers...", + "[INFO] Applying smart digital signature...": "[INFO] Application de la signature numérique intelligente...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Environnement virtuel existant '{venv}' détecté automatiquement. 'Conserver le venv local' est coché.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Module de rétroportage obsolète auto-protégé : '{pkg}' (Intégré dans Python {ver})", + "[INFO] Build Cancelled.": "[INFO] Construction annulée.", + "[INFO] Build log exported to: {path}": "[INFO] Journal de construction exporté vers : {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Compilation terminée, archivage des fichiers construits...", "[INFO] Creating virtual environment ({name})...": "[INFO] Création de l'environnement virtuel ({name})...", "[INFO] Creating virtual environment...": "[INFO] Création de l'environnement virtuel...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Téléchargement des navigateurs Playwright via le miroir : {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Évaluation de la mémoire (Libre : {ram:.1f} Go). Concurrence ajustée : {cores} -> {safe_jobs} ...", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Téléchargement des navigateurs Playwright via miroir : {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Évaluation de la mémoire physique du système (Disponible : {ram:.1f} Go). Concurrence adaptative ajustée : {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Environnement Clang local trouvé, priorité au compilateur LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Environnement local GCC/MinGW-w64 détecté, utilisation du compilateur MinGW64.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Environnement GCC/MinGW-w64 local trouvé, utilisation du compilateur MinGW64.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Environnement MSVC local trouvé, priorité au compilateur C++ natif.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Environnement local Zig détecté, Nuitka gérera la compilation du backend C.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Nettoyage de l'environnement temporaire...", - "[INFO] Initializing isolated build environment...": "[INFO] Initialisation de l'environnement isolé...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Installation des dépendances ({count} paquets) : {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Mode allégé activé, application de l'optimisation du bytecode (-OO) et suppression des modules de développement...", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Environnement Zig local trouvé, laissant Nuitka gérer la compilation du backend C.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Libération d'espace, nettoyage de l'environnement de construction temporaire...", + "[INFO] Initializing isolated build environment...": "[INFO] Initialisation de l'environnement de construction isolé...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Installation de l'environnement de construction et des dépendances du projet ({count} paquets) : {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Mode léger activé, application de l'optimisation du bytecode (-OO) et suppression des modules de développement...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Aucun compilateur C local détecté. Nuitka téléchargera et gérera automatiquement une chaîne d'outils MinGW-w64 compatible.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Astuce Nuitka : Assurez-vous d'une bonne connexion pour le téléchargement de GCC/MinGW.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Vérifications de l'environnement en cours...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright détecté. Installation des navigateurs intégrés...", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Astuce Nuitka : Si vous êtes invité à télécharger le compilateur GCC/MinGW lors de la première construction, assurez-vous d'avoir une connexion réseau stable.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Exécution des vérifications préalables de l'environnement...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright détecté. Installation des navigateurs intégrés (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ détecté : Utilisation du compilateur Zig (--zig) comme backend C.", - "[INFO] Python interpreter path: {path}": "[INFO] Chemin de l'interprète : {path}", + "[INFO] Python interpreter path: {path}": "[INFO] Chemin de l'interpréteur Python : {path}", "[INFO] Resolving project dependencies...": "[INFO] Résolution des dépendances du projet...", "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Nouvelle tentative de téléchargement du navigateur Playwright via le CDN officiel...", "[INFO] Reusing existing virtual environment...": "[INFO] Réutilisation de l'environnement virtuel existant...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Réutilisation de l'environnement virtuel existant : {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] Analyse via moteur AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Démarrage du moteur {engine} pour la compilation...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Suppression des paramètres de l'icône et recompilation...", + "[INFO] Scanning project source code via AST engine...": "[INFO] Analyse du code source du projet via le moteur AST...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Démarrage du moteur {engine} pour compiler les fichiers binaires...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Suppression des paramètres d'icône et reconstruction automatique...", "[INFO] Successfully installed compatible versions.": "[INFO] Versions compatibles installées avec succès.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Basculement vers l'index PIP secondaire : {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Mise à jour du gestionnaire pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Astuce : L'exécutable peut être faussement détecté par un antivirus. L'ajout d'exclusions est recommandé.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Basculement vers la source PyPI de secours pour la récupération : {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Synchronisation et mise à niveau du gestionnaire de paquets pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Astuce : Les exécutables sans signature commerciale peuvent être signalés à tort par Windows Defender/Antivirus.", "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Utilisation du compilateur MinGW64 (--mingw64) pour le backend C.", "[INFO] Using MinGW64 compiler.": "[INFO] Utilisation du compilateur MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Validation des fichiers et génération de l'exécutable...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilation réussie. Chemin de sortie : {path}", + "[INFO] Validating output files and generating final product...": "[INFO] Validation des fichiers de sortie et génération du produit final...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilation terminée, chemin de sortie : {path}", "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Signature numérique appliquée avec succès !", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Erreur de syntaxe] Erreur dans le code source :\n - Fichier : {file}\n - Type : {type}\n - Ligne : {line}\n - Détail : {desc}", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Erreur de syntaxe] L'analyse syntaxique a échoué, compilation annulée :\n - Fichier : {file}\n - Ligne : {line}\n - Détail : {desc}\n\nAstuce : Ce n'est généralement PAS une erreur de l'outil.\nAssurez-vous que la version de Python correspond à celle utilisée pour tester le code.\nL'utilisation d'une syntaxe plus récente dans un environnement ancien déclenchera cette erreur.\nIl est recommandé de changer de version de Python dans [Options de compilation].", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Module 'multiprocessing' détecté. Assurez-vous que 'multiprocessing.freeze_support()' est appelé sous 'if __name__ == \"__main__\":'.", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Le code source contient des erreurs de syntaxe, compilation interrompue :\n - Fichier : {file}\n - Type : {type}\n - Ligne : Ligne {line}\n - Détail : {desc}\n\nAstuce : Veuillez vous assurer que le code source s'exécute localement avant l'empaquetage.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] L'analyse syntaxique du code source a échoué, construction interrompue :\n - Fichier : {file}\n - Ligne : Ligne {line}\n - Détail : {desc}\n\nAstuce : Ce n'est généralement PAS une faute de l'outil d'empaquetage.\nVeuillez vous assurer que la [Version Python de construction] que vous avez sélectionnée correspond à celle utilisée pour [Écrire/Tester le code].\nL'utilisation d'une syntaxe plus récente (par exemple, l'opérateur morse :=, les unions de types |, match-case) dans un environnement Python plus ancien déclenchera cette erreur.\nNous recommandons d'aller dans [Paramètres de construction] -> [Moteur] pour passer à la version Python correcte.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Module 'multiprocessing' détecté. Assurez-vous que 'multiprocessing.freeze_support()' est appelé sous 'if __name__ == \"__main__\":' pour éviter les boucles de processus infinies (bombes de fork).", "[WARN] AST Analysis Exception: {error}": "[WARN] Exception d'analyse AST : {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Dépassement de délai de la commande (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' ou 'httpx' détecté. Inclusion automatique des certificats 'certifi' pour éviter les erreurs SSL.", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Délai d'attente de la commande dépassé (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Détection de 'requests' ou 'httpx'. Regroupement automatique des certificats 'certifi' pour éviter les erreurs SSL.", "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Échec de la purge de l'environnement invalide, repli sur un bac à sable temporaire : {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] La conversion de l'icône en .icns a échoué, compilation sans icône.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Écriture de l'icône bloquée (antivirus possible).", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Espace disque faible (Libre : {free:.1f} Go). Risque d'interruption.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Erreur de mémoire (OOM). Réessai en mode single-thread...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] L'installation du paquet '{pkg}' a échoué, on passe...", - "[WARN] Pause code injection exception: {error}": "[WARN] Exception d'injection de pause : {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] L'installation du navigateur Playwright a échoué, la compilation se poursuit avec un risque...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Repli de la détection des informations de l'environnement Python : {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Avertissement lors de la lecture de requirements.txt : {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Échec de la signature, mais le produit compilé est conservé.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Certaines dépendances ont échoué, la compilation se poursuit (avec risque)...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Échec de l'installation de versions spécifiques. Tentative de compatibilité automatique...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Il est recommandé d'activer [Environnement virtuel] pour le mode allégé.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Mémoire système faible. Réessai en mode single-thread...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Le projet est dans un dossier Cloud. Les fichiers peuvent être verrouillés.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Délai d'attente du serveur d'horodatage dépassé, signature rapide locale en cours...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Utilisation de '__file__' détectée. Dans le mode fichier unique, utilisez 'sys._MEIPASS' !", - "\\nProgram execution completed, press Enter to exit...": "\\nExécution terminée. Appuyez sur Entrée pour quitter...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Environnement virtuel existant '{venv}' auto-détecté. 'Conserver le venv local' est coché." + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] La conversion de l'icône en .icns a échoué, construction sans icône.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] L'écriture de la ressource d'icône a été bloquée (peut-être verrouillée par le système/antivirus), déclenchement de la protection de repli...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Espace disque faible détecté sur le lecteur cible de construction (Disponible : {free:.1f} Go, >= 5,0 Go recommandé). Le processus de construction peut être interrompu en raison de l'épuisement du disque.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Exception d'allocation mémoire interceptée (ZstdError / OOM). Déclenchement du repli de protection mémoire : Nouvelle tentative en mode mono-thread...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Le paquet '{pkg}' n'a pas pu être installé, ignoré...", + "[WARN] Pause code injection exception: {error}": "[WARN] Exception d'injection de code de pause : {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] L'installation du navigateur Playwright a échoué sur toutes les sources, la construction se poursuivra avec risque...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Repli de détection des informations d'environnement Python : {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Avertissement de lecture de requirements.txt : {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] La signature intelligente a échoué, mais la sortie de construction est conservée.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Certaines dépendances n'ont pas pu être installées, la construction se poursuivra avec un risque...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Les versions spécifiées n'ont pas pu être installées. Suppression des contraintes de version pour une compatibilité automatique...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Il est fortement recommandé de vérifier l'[Environnement virtuel] pour maximiser l'effet du mode léger.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Les droits d'écriture de Python système sont restreints. Nouvelle tentative en mode '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Mémoire système faible détectée (échec de l'allocation mémoire zstd). Nouvelle tentative automatique en mode monothread à faible mémoire...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Le projet cible se trouve dans un répertoire de synchronisation cloud (par ex. OneDrive/Dropbox). La synchronisation cloud peut temporairement verrouiller les fichiers de construction.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Délai d'attente dépassé pour le serveur d'horodatage, signature rapide locale en cours...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Utilisation de '__file__' détectée. En mode fichier unique PyInstaller, utilisez 'sys._MEIPASS' pour localiser de manière fiable les fichiers de ressources inclus !", + "\\nProgram execution completed, press Enter to exit...": "\\nExécution du programme terminée, appuyez sur Entrée pour quitter..." } diff --git a/qpypack/locales/it_IT.json b/qpypack/locales/it_IT.json index 1451c54..b84a170 100644 --- a/qpypack/locales/it_IT.json +++ b/qpypack/locales/it_IT.json @@ -1,63 +1,70 @@ { - " [No Console]": " [Nessuna console]", + " [Console]": "[Console]", + " [No Console]": "[No Console]", "* Nuitka Auto-manages C Compiler": "* Nuitka gestisce automaticamente il compilatore C", "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* La sponsorizzazione è completamente volontaria, serve come incoraggiamento incondizionato alla comunità open-source e non comporta impegni commerciali. Grazie per il tuo supporto!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Rilevato localmente:
{path}
Pronto per il passaggio diretto senza dover riscaricare.", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Rilevato localmente:
{path}
Pronto per passare direttamente senza riscaricare.", "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Sei sicuro di voler ripristinare tutte le preferenze?
Tutte le impostazioni verranno ripristinate allo stato predefinito.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Trovati {count} ambienti virtuali per il progetto corrente:
{paths}

Sei sicuro di volerli eliminare per liberare spazio su disco?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Ambiente Python installato con successo!

Variabili d'ambiente di sistema aggiornate. Si consiglia di uscire e riavviare il software per applicare le modifiche.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestione ambiente Python
Supporta il passaggio tra ambienti Python rilevati localmente o il download di nuove versioni.", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Ambiente Python installato con successo!

Le variabili d'ambiente di sistema sono state aggiornate. Si consiglia di uscire e riavviare il software per applicare le modifiche.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gestione ambiente Python
Supporta il passaggio a ambienti Python rilevati localmente o il download di nuove versioni.", "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Ambiente Python richiesto
La compilazione dell'applicazione dipende da un interprete Python.
Seleziona una versione per scaricare, installare e configurare automaticamente le variabili d'ambiente.
", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python non rilevato sul tuo sistema!

QPyPack richiede un ambiente Python per compilare il tuo codice.
Se non hai installato Python, scaricalo e installalo (ricorda di spuntare 'Aggiungi Python.exe al PATH' durante l'installazione).", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python non rilevato sul tuo sistema!

QPyPack richiede un ambiente Python per compilare il tuo codice.
Se non hai installato Python, scaricalo e installalo.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Consiglio: Si consiglia Python 3.11.9 per una compatibilità di compilazione e supporto motore ottimali.", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Raccomandazione: Python 3.11.9 è consigliato per una compatibilità di compilazione ottimale e supporto del motore.", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interprete
Rilevamento automatico dell'ambiente di sistema e della matrice di supporto del sistema operativo...", "AST Scan": "Scansione AST", "AST scan completed, found {count} dependencies.": "Scansione AST completata, trovate {count} dipendenze.", - "AWS PyPI Mirror (US/EU)": "Mirror AWS PyPI (US/EU)", - "Add Dir": "Aggiungi cartella", + "AWS PyPI Mirror (US/EU)": "Mirror PyPI AWS (US/UE)", + "About": "Informazioni", + "Active backport conflicts detected ({count}): {pkgs}": "Conflitti di backport attivi rilevati ({count}): {pkgs}", + "Add Backport Rule": "Aggiungi regola di backport", + "Add Dir": "Aggiungi directory", "Add File": "Aggiungi file", - "Add Mapping": "Aggiungi mapping", + "Add Mapping": "Aggiungi mappatura", "Additional Resources (Drag & Drop Supported)": "Risorse aggiuntive (trascina e rilascia supportato)", - "Aliyun Cloud (China)": "Cloud Aliyun (Cina)", + "Aliyun Cloud (China)": "Alibaba Cloud (Cina)", "Analyze Dependencies (AST)": "Analizza dipendenze (AST)", "App Icon:": "Icona app:", - "App Metadata & Presets": "Metadati app e preimpostazioni", + "App Metadata & Presets": "Metadati e preset dell'app", "Apple Silicon (M-Series) & Intel": "Apple Silicon (serie M) e Intel", "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) e Intel", - "Attention: Please check the log for details.": "Attenzione: controlla il registro per i dettagli.", + "Attention: Please check the log for details.": "Attenzione: controllare il log per i dettagli.", "Author/Company:": "Autore/Azienda:", "Auto Extract Icon": "Estrai icona automaticamente", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Applica automaticamente la firma digitale all'app compilata, eliminando l'avviso 'Editore sconosciuto'", - "Auto-patched missing ({count}): {pkgs}": "Correzioni automatiche mancanti ({count}): {pkgs}", - "Auto-save Build Log": "Salvataggio automatico registro di build", - "Backup PIP Index:": "Indice PIP di backup:", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Applica automaticamente la firma digitale all'app creata, eliminando l'avviso 'Editore sconosciuto'", + "Auto-patched missing ({count}): {pkgs}": "Patch automatiche mancanti ({count}): {pkgs}", + "Auto-save Build Log": "Salva automaticamente il log di build", + "Backport exclusion rules have been reset to defaults.": "Le regole di esclusione backport sono state ripristinate ai valori predefiniti.", + "Backup PIP Index:": "Backup indice PIP:", + "Browse": "Sfoglia", "Build Cancelled": "Build annullata", "Build Engine:": "Motore di build:", - "Build Failed": "Build non riuscita", + "Build Failed": "Build fallita", "Build Settings": "Impostazioni di build", - "Build Successful": "Build completata con successo", + "Build Successful": "Build riuscita", "Build engine packages ({count}): {pkgs}": "Pacchetti del motore di build ({count}): {pkgs}", "CPU Cores:": "Core CPU:", + "Cancel": "Annulla", "Cancel & Return": "Annulla e torna", "Cert Password:": "Password certificato:", "Certificate Subject (e.g. My Company):": "Oggetto del certificato (es. La mia azienda):", "Certificate generated successfully!": "Certificato generato con successo!", "Certificate password": "Password del certificato", - "Check log output below for troubleshooting.": "Controlla l'output del registro qui sotto per la risoluzione dei problemi.", + "Check log output below for troubleshooting.": "Controllare l'output del log di seguito per la risoluzione dei problemi.", "Clean Temporary Cache After Build": "Pulisci cache temporanea dopo la build", "Clear All": "Cancella tutto", "Clear Local Venvs": "Cancella venv locali", - "Clear Log": "Cancella registro", + "Clear Log": "Cancella log", "Clear Virtual Environments": "Cancella ambienti virtuali", - "Click to automatically download, install Python, and configure system environment variables.": "Fai clic per scaricare automaticamente, installare Python e configurare le variabili d'ambiente di sistema.", + "Click to automatically download, install Python, and configure system environment variables.": "Clicca per scaricare automaticamente, installare Python e configurare le variabili d'ambiente di sistema.", "Code Signing": "Firma del codice", "Comma separated (e.g. pandas, PyQt5)": "Separati da virgola (es. pandas, PyQt5)", "Comma separated (e.g. tkinter, matplotlib)": "Separati da virgola (es. tkinter, matplotlib)", "Commercial PFX File:": "File PFX commerciale:", "Compatibility Mode (Default)": "Modalità compatibilità (predefinita)", - "Compatibility depends on build environment glibc version.": "La compatibilità dipende dalla versione glibc dell'ambiente di build.", - "Concise Log Output": "Output registro conciso", + "Compatibility depends on build environment glibc version.": "La compatibilità dipende dalla versione di glibc dell'ambiente di build.", + "Concise Log Output": "Output di log conciso", "Concise Mode": "Modalità concisa", "Config preset exported to: {path}": "Preset di configurazione esportato in: {path}", "Config preset imported successfully.": "Preset di configurazione importato con successo.", @@ -65,77 +72,98 @@ "Configure Manually": "Configura manualmente", "Confirm Password:": "Conferma password:", "Contents Directory (--contents-directory):": "Directory dei contenuti (--contents-directory):", + "Copy": "Copia", + "Create": "Crea", "Create Self-Signed Cert": "Crea certificato autofirmato", "Custom Directory": "Directory personalizzata", + "Cut": "Taglia", "Declared in requirements.txt ({count}): {pkgs}": "Dichiarati in requirements.txt ({count}): {pkgs}", "Declared in requirements.txt: None": "Dichiarati in requirements.txt: Nessuno", "Delete All": "Elimina tutto", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Avviso dipendenze mancanti: {pkgs} non installate. Controlla il log per i dettagli.", + "Deleting...": "Eliminazione...", + "Dependencies": "Dipendenze", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Avviso dipendenza mancante: {pkgs} non installate. Controlla il log per i dettagli.", "Description:": "Descrizione:", "Desktop Application": "Applicazione desktop", "Detailed Mode": "Modalità dettagliata", - "Discovered via scanner ({count}): {pkgs}": "Scoperti tramite scanner ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Fai doppio clic per modificare il percorso di destinazione; supportato il trascinamento", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Fai doppio clic per modificare il percorso di destinazione; supportato il trascinamento. Usa 'Esporta preset' per salvare per riutilizzo.", + "Directory": "Directory", + "Discovered via scanner ({count}): {pkgs}": "Scoperte tramite scanner ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Doppio clic per modificare il percorso di destinazione; trascinamento supportato", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Fare doppio clic per modificare il percorso di destinazione; supportato il trascinamento. Usa 'Esporta preimpostazione' per salvare per riutilizzo.", "Download New Version": "Scarica nuova versione", "Download Python": "Scarica Python", - "Download complete. Starting Python installation...": "Download completato. Avvio installazione Python...", - "Downloading Python {ver}... Please wait.": "Download di Python {ver}... Attendere prego.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Trascina qui lo script Python (.py/.pyw)\no fai clic per sfogliare", + "Download complete. Starting Python installation...": "Download completato. Avvio dell'installazione di Python...", + "Downloading Python {ver}... Please wait.": "Download di Python {ver} in corso... Attendere.", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Trascina e rilascia lo script Python (.py/.pyw) qui\noppure fai clic per sfogliare", "Drop Python source code to start": "Rilascia il codice sorgente Python per iniziare", "Edit Path": "Modifica percorso", + "Enable Automatic Backport Isolation": "Abilita isolamento backport automatico", "Enable Smart Code Signing": "Abilita firma codice intelligente", "Enable UPX Compression": "Abilita compressione UPX", + "Engine": "Motore", "Engine & Environment": "Motore e ambiente", - "Exclude Modules:": "Escludi moduli:", - "Execution Log": "Log di esecuzione", - "Execution Mode": "Modalità di esecuzione", + "Environment Analysis": "Analisi ambiente", + "Environment Analysis & Remediation": "Analisi e correzione ambiente", + "Error": "Errore", + "Exclude Modules:": "Moduli esclusi:", + "Execution Log": "Registro esecuzione", + "Execution Mode": "Modalità esecuzione", "Exit Now": "Esci ora", "Export Log...": "Esporta registro...", - "Export Preset...": "Esporta preset...", + "Export Preset...": "Esporta preimpostazione...", "Failed to generate certificate.": "Impossibile generare il certificato.", + "File": "File", "Folder Mode (--onedir)": "Modalità cartella (--onedir)", - "Full backward compatibility": "Piena compatibilità con le versioni precedenti", + "Full backward compatibility": "Compatibilità completa all'indietro", + "Generate": "Genera", "GitHub Repository": "Repository GitHub", "Global configuration has been reset.": "La configurazione globale è stata reimpostata.", "Hidden Imports:": "Import nascosti:", "Hide Console (--noconsole)": "Nascondi console (--noconsole)", - "Hide Custom Cert Settings ▾": "Nascondi impostazioni certificato personalizzate ▾", + "Hide Custom Cert Settings ▾": "Nascondi impostazioni certificati personalizzati ▾", "Huawei Cloud (China)": "Huawei Cloud (Cina)", - "Import Name": "Nome import", + "Import Name": "Nome importazione", "Import Preset...": "Importa preset...", - "Import name (e.g. cv2):": "Nome import (es. cv2):", + "Import name (e.g. cv2):": "Nome importazione (es. cv2):", "Independent Developer": "Sviluppatore indipendente", "Initializing build...": "Inizializzazione build...", + "Inspect Interpreter Environment": "Ispeziona ambiente interprete", "Install Complete": "Installazione completata", "Install requirements.txt": "Installa requirements.txt", - "Internal directory name for dependencies (default: _internal)": "Nome della directory interna per le dipendenze (predefinito: _internal)", + "Internal directory name for dependencies (default: _internal)": "Nome directory interna per le dipendenze (predefinito: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Ispezione interprete superata: nessun conflitto di backport attivo rilevato.", "Interpreter:": "Interprete:", "Invalid syntax": "Sintassi non valida", "Issues & Feedback": "Problemi e feedback", "Keep Local Venv": "Mantieni venv locale", + "Later": "Più tardi", "Leave blank to auto-detect from environment variables": "Lasciare vuoto per rilevare automaticamente dalle variabili d'ambiente", "Leave blank to auto-detect system default Python": "Lasciare vuoto per rilevare automaticamente il Python predefinito di sistema", "Leave blank to auto-match script name": "Lasciare vuoto per abbinare automaticamente il nome dello script", "Leave blank to auto-search requirements.txt in current directory": "Lasciare vuoto per cercare automaticamente requirements.txt nella directory corrente", "Legacy macOS Compatible": "Compatibile con macOS legacy", - "Lite Mode (Smaller size)": "Modalità Lite (Dimensioni ridotte)", + "Lite Mode (Smaller size)": "Modalità leggera (dimensioni ridotte)", "Loaded: {filename}": "Caricato: {filename}", "Locally Detected Pythons": "Python rilevati localmente", "Lock Core Dependencies": "Blocca dipendenze principali", "Log saved to: {path}": "Log salvato in: {path}", - "Manifest complete (No missing packages)": "Manifest completo (Nessun pacchetto mancante)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Massima compatibilità. Consigliato per applicazioni con import dinamici complessi.", + "Manifest complete (No missing packages)": "Manifesto completo (nessun pacchetto mancante)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Massima compatibilità. Consigliato per app con import dinamici complessi.", + "Min Python Ver": "Versione Python Minima", + "Minimum Built-in Python Version (e.g. 3.4):": "Versione Python integrata minima (es. 3.4):", "Mirrors & Scanner": "Mirror e Scanner", - "Modern Cross-Platform Python Application Packager": "Packager moderno per applicazioni Python multipiattaforma", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI moderna per il packaging Python multipiattaforma basata su PyInstaller e Nuitka", - "No Windows 7 Support": "Nessun supporto per Windows 7", + "Modern Cross-Platform Python Application Packager": "Pacchettizzatore di applicazioni Python moderno e multipiattaforma", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI moderna per il packaging di applicazioni Python basata su PyInstaller e Nuitka", + "No Windows 7 Support": "Nessun supporto a Windows 7", + "No environment conflicts detected.": "Nessun conflitto di ambiente rilevato.", "No local Python environments detected.": "Nessun ambiente Python locale rilevato.", "No local virtual environments found to clean.": "Nessun ambiente virtuale locale trovato da pulire.", "No log content.": "Nessun contenuto di log.", "Nuitka Version:": "Versione Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compila il codice sorgente in binario nativo C/C++. Produce pacchetti di dimensioni ridotte, esecuzione più veloce e protezione profonda contro la decompilazione (richiede compilatore C).", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compila il codice sorgente in binario nativo C/C++. Produce pacchetti di dimensioni ridotte, esecuzione più veloce e protezione anti-decompilazione profonda (richiede compilatore C).", + "OK": "OK", "OS Support Matrix:": "Matrice di supporto sistemi operativi:", + "Obsolete Backport Exclusion Rules": "Regole di esclusione per backport obsoleti", "One-Click Download & Install": "Download e installazione con un clic", "One-Click Install": "Installazione con un clic", "One-File Mode (--onefile)": "Modalità file singolo (--onefile)", @@ -147,65 +175,84 @@ "Output Location:": "Posizione di output:", "Output Name:": "Nome di output:", "Package Map": "Mappa dei pacchetti", - "Package Name Mappings": "Mapping dei nomi dei pacchetti", - "Package mappings have been reset to defaults.": "I mapping dei pacchetti sono stati reimpostati ai valori predefiniti.", + "Package Mapping & Remediation": "Mappatura e correzione dei pacchetti", + "Package Mappings & Rules": "Mappature e regole dei pacchetti", + "Package Name": "Nome del pacchetto", + "Package Name (e.g. pathlib):": "Nome del pacchetto (es. pathlib):", + "Package Name Mappings": "Mappature dei nomi dei pacchetti", + "Package mappings have been reset to defaults.": "Le associazioni dei pacchetti sono state ripristinate ai valori predefiniti.", "Packaging Mode:": "Modalità di impacchettamento:", "Parsing metadata...": "Analisi dei metadati...", "Password cannot be empty!": "La password non può essere vuota!", "Password:": "Password:", "Passwords do not match!": "Le password non corrispondono!", + "Paste": "Incolla", "Performance Optimization": "Ottimizzazione delle prestazioni", "Platform Support Matrix:": "Matrice di supporto piattaforme:", + "Preferences": "Preferenze", "Preferences & System Behavior": "Preferenze e comportamento di sistema", "Preparing engine...": "Preparazione del motore...", "Primary PIP Index:": "Indice PIP primario:", "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Specifico del progetto. Non salvato nelle preferenze globali. Usa 'Esporta preset' per salvare la configurazione.", "PyInstaller Version:": "Versione PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Raggruppa interprete Python e bytecode. Velocità di build elevata, configurazione zero (nessun compilatore C necessario) ed eccellente compatibilità.", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Raggruppa l'interprete Python e il bytecode. Velocità di build rapida, configurazione zero (nessun compilatore C necessario) ed eccellente compatibilità.", "PyPI Home": "Home PyPI", "PyPI Official (Global Default)": "PyPI ufficiale (predefinito globale)", "PyPI Package Name": "Nome pacchetto PyPI", "PyPI package name for [{imp_name}]:": "Nome pacchetto PyPI per [{imp_name}]:", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (consigliato)", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (sperimentale)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (supporto Win7)", + "Python 3.10.11": "Python 3.10.11", + "Python 3.11.9 (Recommended)": "Python 3.11.9 (Consigliato)", + "Python 3.12.4": "Python 3.12.4", + "Python 3.13.0": "Python 3.13.0", + "Python 3.14.6 (Experimental)": "Python 3.14.6 (Sperimentale)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Supporto Win7)", + "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Gestione ambiente Python", "Python Environment Required": "Ambiente Python richiesto", - "Python Packaging, Reimagined.": "Packaging Python, reinventato.", - "Python TestPyPI": "TestPyPI Python", - "Python installed. Please restart QPyPack manually later.": "Python installato. Riavvia QPyPack manualmente in seguito.", + "Python Packaging, Reimagined.": "Impacchettamento Python, reinventato.", + "Python TestPyPI": "Python TestPyPI", + "Python installed. Please restart QPyPack manually later.": "Python installato. Riavviare QPyPack manualmente più tardi.", "QPyPack Developer": "Sviluppatore QPyPack", "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack è uno strumento gratuito e open-source. Se ha migliorato la tua efficienza o risolto problemi di packaging, considera di offrire un caffè all'autore!", - "Ready, waiting for build.": "Pronto, in attesa della build.", + "Ready, waiting for build.": "Pronto, in attesa di build.", + "Rebuild": "Ricompila", "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Consiglio: 6+ caratteri, alfanumerici, solo '-' e '_'. Evita spazi o cinese per prevenire errori di firma.", - "Remove Selected": "Rimuovi selezionati", - "Requirements File:": "File dei requisiti:", - "Reset to Default Config": "Ripristina configurazione predefinita", - "Restore Defaults": "Ripristina impostazioni predefinite", - "Save & Return": "Salva e torna", - "Save Certificate": "Salva certificato", - "Scan Entire Folder": "Scansiona intera cartella", - "Script and settings retained. Ready to rebuild.": "Script e impostazioni conservati. Pronto per la ricostruzione.", + "Remediate Detected Conflicts": "Rimedio ai Conflitti Rilevati", + "Remediation completed for packages: {pkgs}": "Rimedio completato per i pacchetti: {pkgs}", + "Remove Selected": "Rimuovi Selezionati", + "Requirements File:": "File dei Requisiti:", + "Reset": "Reimposta", + "Reset to Default Config": "Reimposta alla Configurazione Predefinita", + "Resources": "Risorse", + "Restore Defaults": "Ripristina Predefiniti", + "Save & Return": "Salva e Torna", + "Save Certificate": "Salva Certificato", + "Scan Entire Folder": "Scansiona Intera Cartella", + "Scanning...": "Scansione in corso...", + "Script and settings retained. Ready to rebuild.": "Script e impostazioni mantenuti. Pronto per la ricompilazione.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Script caricato. Puoi trascinare qui direttamente le cartelle di asset o i file di dati per includerli.", "Select .pfx / .p12 certificate file": "Seleziona file certificato .pfx / .p12", - "Select All": "Seleziona tutto", - "Select Python Version to Download:": "Seleziona versione Python da scaricare:", - "Self-Signed Certificate (*.pfx)": "Certificato autofirmato (*.pfx)", + "Select All": "Seleziona Tutto", + "Select Python Version to Download:": "Seleziona Versione Python da Scaricare:", + "Self-Signed Certificate (*.pfx)": "Certificato Auto-Firmato (*.pfx)", "Smaller output size. Recommended for 95% of standard apps.": "Dimensione output ridotta. Consigliato per il 95% delle app standard.", - "Sound Notification": "Notifica sonora", - "Source Directory (.qpypack_build)": "Directory sorgente (.qpypack_build)", - "Source File Directory": "Directory file sorgente", - "Start Build": "Avvia build", - "Status: Build Cancelled": "Stato: Build annullata", - "Status: Build Completed": "Stato: Build completata", - "Status: Build Failed": "Stato: Build non riuscita", + "Sound Notification": "Notifica Sonora", + "Source Directory (.qpypack_build)": "Directory Sorgente (.qpypack_build)", + "Source File Directory": "Directory File Sorgente", + "Sponsor": "Sponsor", + "Start Build": "Avvia Build", + "Status: Build Cancelled": "Stato: Build Annullato", + "Status: Build Completed": "Stato: Build Completato", + "Status: Build Failed": "Stato: Build Fallito", + "Status: Environment inspection ready.": "Stato: Ispezione ambiente pronta.", "Status: Loaded {filename}{mode}": "Stato: Caricato {filename}{mode}", - "Status: Packaging ({engine}) ...": "Stato: Creazione pacchetto ({engine}) ...", + "Status: Packaging ({engine}) ...": "Stato: Impacchettamento ({engine}) ...", "Status: Parsing {filename}...": "Stato: Analisi di {filename}...", "Status: Ready": "Stato: Pronto", - "Status: Workspace Reset": "Stato: Area di lavoro ripristinata", - "Stop Build": "Interrompi build", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Puliti correttamente {count} ambienti virtuali, liberati {size:.1f} MB di spazio su disco.", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Passato a [Impostazioni di build] -> [Motore], impostare il percorso di Python.", + "Status: Workspace Reset": "Stato: Workspace Reimpostato", + "Stop Build": "Ferma Build", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Puliti con successo {count} ambienti virtuali, liberati {size:.1f} MB di spazio su disco.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Passato a [Impostazioni Build] -> [Motore], impostare il percorso Python.", "Switched to local Python environment: {path}": "Passato all'ambiente Python locale: {path}", "System Default ({sys_native})": "Predefinito di sistema ({sys_native})", "System Temp Directory": "Directory temporanea di sistema", @@ -213,40 +260,57 @@ "Target relative path:": "Percorso relativo di destinazione:", "Temporary Directory:": "Directory temporanea:", "Tencent Cloud (China)": "Tencent Cloud (Cina)", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Suggerimento: la build non è riuscita in modalità Lite. Puoi provare a passare alla [Modalità compatibilità] nelle impostazioni di build e ricompilare.", - "Toggle Execution Log": "Attiva/disattiva registro di esecuzione", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Suggerimento: Build fallito in Modalità Lite. Puoi provare a passare alla [Modalità Compatibilità] nelle Impostazioni Build e ricostruire.", + "Toggle Execution Log": "Attiva/Disattiva Log di Esecuzione", "Tsinghua University (China)": "Università Tsinghua (Cina)", "UI Language:": "Lingua interfaccia:", "UPX Path:": "Percorso UPX:", "USTC (China)": "USTC (Cina)", - "Use Custom Commercial Cert (Optional) ▸": "Usa certificato commerciale personalizzato (opzionale) ▸", - "Use Installed Version Directly": "Usa direttamente la versione installata", + "Undo": "Annulla", + "Unknown": "Sconosciuto", + "Use Custom Commercial Cert (Optional) ▸": "Usa Certificato Commerciale Personalizzato (Opzionale) ▸", + "Use Installed Version Directly": "Usa Versione Installata Direttamente", "Use Selected Environment": "Usa ambiente selezionato", "Use Virtual Environment": "Usa ambiente virtuale", "Version:": "Versione:", "View Python": "Visualizza Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] File o directory di risorse aggiuntive non trovato: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Build interrotta: spazio su disco insufficiente (NoSpaceLeft / Errno 28). Libera spazio sul disco (si consiglia almeno 5 GB di spazio libero) e riprova.", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] File/directory risorsa aggiuntiva non trovato: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Build interrotta: spazio su disco insufficiente (NoSpaceLeft / Errno 28). Liberare spazio sul disco (almeno 5 GB di spazio libero consigliati) e riprovare.", "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Build completata, ma le seguenti dipendenze non sono state installate:\n\n - {pkgs}\n\nNota: l'applicazione potrebbe generare ModuleNotFoundError in fase di esecuzione.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Impossibile trovare un prodotto eseguibile valido nella directory di build temporanea: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Si è verificata un'eccezione durante l'analisi AST: {error}", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Impossibile individuare un eseguibile valido nella directory di build temporanea: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Correzione dell'ambiente non riuscita: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Eccezione durante l'analisi AST: {error}", "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Impossibile creare l'ambiente virtuale. L'ambiente Python corrente potrebbe non avere i moduli necessari o avere permessi limitati.", "[ERROR] Failed to export log file: {error}": "[ERROR] Impossibile esportare il file di log: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] Impossibile esportare il file preimpostato: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Impossibile esportare il file predefinito: {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] Eccezione I/O: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Spazio su disco insufficiente (disponibile: {free:.1f} GB). Sono necessari almeno 0,5 GB per inizializzare in sicurezza l'ambiente di build.", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Spazio su disco insufficiente (Disponibile: {free:.1f} GB). Sono necessari almeno 0,5 GB per inizializzare in sicurezza l'ambiente di build.", "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] La directory di output non ha i permessi di scrittura: {error}", "[ERROR] Please load a valid Python source file first!": "[ERROR] Caricare prima un file sorgente Python valido!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Errore nel formato del file preimpostato o file corrotto: {error}", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Errore nel formato del file predefinito o file corrotto: {error}", "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Errore di processo: comando o binario mancante ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Trasferimento del prodotto non riuscito, il file potrebbe essere occupato da un processo di sistema o mancare di permessi: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Installazione di Python non riuscita o annullata.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Interprete Python non valido o non trovato: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] File dei requisiti non trovato: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Eccezione di esecuzione del sistema: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Il file di destinazione è bloccato o crittografato dal cloud drive. Decrittografare e riprovare.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Il file di destinazione è in esecuzione o occupato. Chiudere l'applicazione esistente e riprovare.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Il file icona specificato non esiste: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Build interrotta in modo anomalo!\n\nRisoluzione dei problemi comune:\n1. Discrepanza dell'ambiente (più comune): la versione di Python selezionata è incompatibile con il codice sorgente. Andare su [Impostazioni di build] per passare alla versione di Python normalmente utilizzata per questo codice.\n2. Dipendenze mancanti: fare clic su 'Modalità dettagliata' sopra per verificare ModuleNotFoundError.\n3. Blocco antivirus: assicurarsi che il software di sicurezza non blocchi il processo di build.\n\n(Nota: di solito è causato da discrepanze ambiente/codice piuttosto che dal motore di packaging stesso. Controllare il log dettagliato per i motivi esatti.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilazione interrotta con eccezioni, fare clic su 'Modalità dettagliata' sopra la finestra del log per la risoluzione dei problemi.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] Aggiunto '{name}' alle risorse aggiuntive.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Aggiunti {count} elementi alle risorse aggiuntive.", "[INFO] Analyzing source code and project dependencies...": "[INFO] Analisi del codice sorgente e delle dipendenze del progetto...", "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Applicata firma digitale con timestamp ({tsa})...", "[INFO] Applying smart digital signature...": "[INFO] Applicazione firma digitale intelligente...", - "[INFO] Build Cancelled.": "[INFO] Build annullato.", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Rilevato automaticamente ambiente virtuale esistente '{venv}'. 'Mantieni venv locale' è selezionato.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Modulo backport obsoleto auto-protetto: '{pkg}' (Integrato in Python {ver})", + "[INFO] Build Cancelled.": "[INFO] Build annullata.", "[INFO] Build log exported to: {path}": "[INFO] Log di build esportato in: {path}", "[INFO] Compilation completed, archiving built files...": "[INFO] Compilazione completata, archiviazione dei file compilati...", - "[INFO] Creating virtual environment ({name})...": "[INFO] Creazione dell'ambiente virtuale ({name})...", - "[INFO] Creating virtual environment...": "[INFO] Creazione dell'ambiente virtuale...", + "[INFO] Creating virtual environment ({name})...": "[INFO] Creazione ambiente virtuale ({name})...", + "[INFO] Creating virtual environment...": "[INFO] Creazione ambiente virtuale...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Download dei browser Playwright tramite mirror: {url}", "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Valutazione della memoria fisica di sistema (Disponibile: {ram:.1f} GB). Concorrenza adattiva regolata: {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Trovato ambiente Clang locale, priorità al compilatore LLVM Clang.", @@ -254,65 +318,55 @@ "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Trovato ambiente MSVC locale, priorità al compilatore C++ nativo.", "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Trovato ambiente Zig locale, Nuitka gestirà la compilazione del backend C.", "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Liberazione spazio, pulizia dell'ambiente di build temporaneo...", - "[INFO] Initializing isolated build environment...": "[INFO] Inizializzazione dell'ambiente di build isolato...", + "[INFO] Initializing isolated build environment...": "[INFO] Inizializzazione ambiente di build isolato...", "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Installazione dell'ambiente di build e delle dipendenze del progetto ({count} pacchetti): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modalità Lite abilitata, applicazione dell'ottimizzazione bytecode (-OO) e rimozione dei moduli di sviluppo...", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modalità Lite attivata, applicazione ottimizzazione bytecode (-OO) e rimozione moduli di sviluppo...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Nessun compilatore C locale rilevato. Nuitka scaricherà e gestirà automaticamente una toolchain MinGW-w64 compatibile.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Suggerimento Nuitka: Se ti viene chiesto di scaricare il compilatore GCC/MinGW al primo build, assicurati di avere una connessione di rete stabile.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Esecuzione dei controlli ambientali preliminari...", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Suggerimento Nuitka: Se al primo build viene richiesto di scaricare il compilatore GCC/MinGW, assicurarsi di avere una connessione di rete stabile.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Esecuzione controlli ambientali preliminari...", "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright rilevato. Installazione dei browser integrati (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ rilevato: utilizzo del compilatore Zig (--zig) come backend C.", - "[INFO] Python interpreter path: {path}": "[INFO] Percorso dell'interprete Python: {path}", + "[INFO] Python interpreter path: {path}": "[INFO] Percorso interprete Python: {path}", "[INFO] Resolving project dependencies...": "[INFO] Risoluzione delle dipendenze del progetto...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Nuovo tentativo di download del browser Playwright tramite CDN ufficiale...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Nuovo tentativo di download dei browser Playwright tramite CDN ufficiale...", "[INFO] Reusing existing virtual environment...": "[INFO] Riutilizzo dell'ambiente virtuale esistente...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Riutilizzo dell'ambiente virtuale esistente: {path}", "[INFO] Scanning project source code via AST engine...": "[INFO] Scansione del codice sorgente del progetto tramite motore AST...", "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Avvio del motore {engine} per compilare i file binari...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Rimozione dei parametri dell'icona e ricostruzione automatica...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Rimozione dei parametri dell'icona e ricompilazione automatica...", "[INFO] Successfully installed compatible versions.": "[INFO] Versioni compatibili installate con successo.", "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Passaggio alla sorgente PyPI di backup per il recupero: {url}", "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Sincronizzazione e aggiornamento del gestore pacchetti pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Suggerimento: gli eseguibili pacchettizzati potrebbero essere erroneamente segnalati da Windows Defender/Antivirus. Si consiglia di aggiungere esclusioni o firma del codice.", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Suggerimento: gli eseguibili senza firma commerciale potrebbero essere erroneamente segnalati da Windows Defender/Antivirus.", "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Utilizzo del compilatore MinGW64 (--mingw64) per il backend C.", "[INFO] Using MinGW64 compiler.": "[INFO] Utilizzo del compilatore MinGW64.", "[INFO] Validating output files and generating final product...": "[INFO] Validazione dei file di output e generazione del prodotto finale...", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Errore di sintassi] Il codice sorgente contiene errori di sintassi, compilazione interrotta:\n - File: {file}\n - Tipo: {type}\n - Riga: Riga {line}\n - Dettaglio: {desc}\n\nSuggerimento: assicurarsi che il codice sorgente venga eseguito localmente prima dell'impacchettamento.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Errore di sintassi] Analisi della sintassi del codice sorgente non riuscita, build interrotta:\n - File: {file}\n - Riga: Riga {line}\n - Dettaglio: {desc}\n\nSuggerimento: di solito NON è un difetto dello strumento di impacchettamento.\nAssicurarsi che la [Versione Python di build] selezionata corrisponda alla versione utilizzata per [Scrivere/Testare il codice].\nL'uso di sintassi più recente (ad esempio operatore walrus :=, unioni di tipi |, match-case) in un ambiente Python più vecchio attiverà questo errore.\nSi consiglia di andare su [Impostazioni di build] -> [Motore] per passare alla versione Python corretta.", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilazione completata, percorso di output: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Firma digitale applicata con successo!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Il codice sorgente contiene errori di sintassi, compilazione interrotta:\n - File: {file}\n - Tipo: {type}\n - Riga: Riga {line}\n - Dettaglio: {desc}\n\nSuggerimento: assicurarsi che il codice sorgente venga eseguito localmente prima dell'impacchettamento.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Analisi della sintassi del codice sorgente non riuscita, build interrotta:\n - File: {file}\n - Riga: Riga {line}\n - Dettaglio: {desc}\n\nSuggerimento: di solito NON è un difetto dello strumento di impacchettamento.\nAssicurarsi che la [Versione Python di build] selezionata corrisponda alla versione utilizzata per [Scrivere/Testare il codice].\nL'uso di sintassi più recente (ad esempio operatore tricheco :=, unioni di tipi |, match-case) in un ambiente Python più vecchio attiverà questo errore.\nSi consiglia di andare su [Impostazioni di build] -> [Motore] per passare alla versione Python corretta.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Modulo 'multiprocessing' rilevato. Assicurarsi che 'multiprocessing.freeze_support()' venga chiamato sotto 'if __name__ == \"__main__\":' per prevenire cicli di processo infiniti (fork bomb).", + "[WARN] AST Analysis Exception: {error}": "[WARN] Eccezione durante l'analisi AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Timeout del comando (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Rilevati 'requests' o 'httpx'. Inclusione automatica dei certificati 'certifi' per prevenire errori SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Impossibile eliminare l'ambiente non valido, ripiego su sandbox temporanea: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Conversione dell'icona in .icns non riuscita, build senza icona.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Scrittura della risorsa icona bloccata (possibilmente bloccata dal sistema/antivirus), attivazione della protezione di fallback...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Spazio su disco insufficiente rilevato sull'unità di destinazione della build (Disponibile: {free:.1f} GB, >= 5.0 GB consigliato). Il processo di build potrebbe interrompersi a causa dell'esaurimento del disco.", "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Eccezione di allocazione memoria rilevata (ZstdError / OOM). Attivazione del fallback di protezione memoria: nuovo tentativo in modalità single-thread...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Installazione del pacchetto '{pkg}' non riuscita, salto...", - "[WARN] Pause code injection exception: {error}": "[WARN] Eccezione nell'iniezione del codice di pausa: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Installazione del browser Playwright non riuscita da tutte le fonti, la build procederà a rischio...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Fallback nel rilevamento delle informazioni sull'ambiente Python: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Avviso durante la lettura di requirements.txt: {error}", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pacchetto '{pkg}' non installato, salto...", + "[WARN] Pause code injection exception: {error}": "[WARN] Eccezione durante l'iniezione del codice di pausa: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Installazione del browser Playwright non riuscita da tutte le fonti, la build procederà con rischio...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Fallback rilevamento informazioni ambiente Python: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Avviso lettura requirements.txt: {error}", "[WARN] Smart signing failed, but build output is retained.": "[WARN] Firma intelligente non riuscita, ma l'output della build è conservato.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Alcune dipendenze non sono state installate, la build procederà a rischio...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Le versioni specificate non sono state installate. Rimozione dei vincoli di versione per corrispondenza automatica di compatibilità...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Si consiglia vivamente di controllare [Ambiente virtuale] per massimizzare l'effetto della modalità lite.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Rilevata memoria di sistema insufficiente (allocazione memoria zstd non riuscita). Nuovo tentativo automatico in modalità single-thread a bassa memoria...", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Alcune dipendenze non sono riuscite a installarsi, la build procederà con rischio...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Le versioni specificate non sono riuscite a installarsi. Rimozione dei vincoli di versione per la corrispondenza automatica di compatibilità...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Si consiglia vivamente di controllare [Ambiente Virtuale] per massimizzare l'effetto della modalità lite.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Permesso di scrittura di Python di sistema limitato. Nuovo tentativo con modalità '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Rilevata poca memoria di sistema (allocazione memoria zstd fallita). Nuovo tentativo automatico in modalità a thread singolo a bassa memoria...", "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Il progetto di destinazione si trova in una directory di sincronizzazione cloud (es. OneDrive/Dropbox). La sincronizzazione cloud potrebbe bloccare temporaneamente i file di build.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Timeout di connessione al server timestamp, esecuzione firma rapida locale...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Rilevato utilizzo di '__file__'. In modalità One-File di PyInstaller, usa 'sys._MEIPASS' per individuare in modo affidabile i file di risorse inclusi!", - "\\nProgram execution completed, press Enter to exit...": "\\nEsecuzione del programma completata, premere Invio per uscire...", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERRORE] Trasferimento del prodotto non riuscito, il file potrebbe essere occupato da un processo di sistema o mancare di autorizzazione: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ERRORE] Installazione di Python non riuscita o annullata.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERRORE] Interprete Python non valido o non trovato: {path}", - "[ERROR] Requirements file not found: {path}": "[ERRORE] File dei requisiti non trovato: {path}", - "[ERROR] System execution exception: {error}": "[ERRORE] Eccezione di esecuzione del sistema: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERRORE] Il file di destinazione è bloccato o crittografato dal cloud drive. Decrittografalo e riprova.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERRORE] Il file di destinazione è in esecuzione o occupato. Chiudi l'applicazione esistente e riprova.", - "[ERROR] The specified icon file does not exist: {path}": "[ERRORE] Il file icona specificato non esiste: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FALLITO] Build interrotto in modo anomalo!\n\nRisoluzione dei problemi comune:\n1. Disallineamento dell'ambiente (più comune): la versione di Python selezionata è incompatibile con il codice sorgente. Vai su [Impostazioni di build] per passare alla versione di Python che usi normalmente per questo codice.\n2. Dipendenze mancanti: fai clic su 'Modalità dettagliata' sopra per verificare ModuleNotFoundError.\n3. Blocco antivirus: assicurati che il software di sicurezza non stia bloccando il processo di build.\n\n(Nota: di solito è causato da discrepanze ambiente/codice piuttosto che dal motore di packaging stesso. Controlla il log dettagliato per i motivi esatti.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FALLITO] Compilazione interrotta con eccezioni, fai clic su 'Modalità dettagliata' sopra la finestra del log per la risoluzione dei problemi.", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESSO] Compilazione completata, percorso di output: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESSO] Firma digitale applicata con successo!", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[AVVISO] Rilevato modulo 'multiprocessing'. Assicurati che 'multiprocessing.freeze_support()' sia chiamato sotto 'if __name__ == \"__main__\":' per prevenire cicli di processo infiniti (fork bomb).", - "[WARN] AST Analysis Exception: {error}": "[AVVISO] Eccezione analisi AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[AVVISO] Timeout del comando (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[AVVISO] Rilevati 'requests' o 'httpx'. Inclusione automatica dei certificati 'certifi' per prevenire errori SSL.", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[AVVISO] Impossibile eliminare l'ambiente non valido, ripiego su sandbox temporanea: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[AVVISO] Conversione icona in .icns non riuscita, build senza icona.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[AVVISO] Scrittura risorsa icona bloccata (possibilmente bloccata da sistema/antivirus), attivazione protezione di fallback...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[AVVISO] Spazio su disco insufficiente rilevato sull'unità di destinazione della build (Disponibile: {free:.1f} GB, >= 5.0 GB consigliati). Il processo di build potrebbe interrompersi per esaurimento dello spazio.", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Ambiente virtuale esistente '{venv}' rilevato automaticamente. 'Mantieni Venv Locale' è selezionato." + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Timeout della connessione al server timestamp, esecuzione di firma rapida locale...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Rilevato uso di '__file__'. In modalità One-File di PyInstaller, usa 'sys._MEIPASS' per individuare in modo affidabile i file di risorse inclusi!", + "\\nProgram execution completed, press Enter to exit...": "\\nEsecuzione del programma completata, premere Invio per uscire..." } diff --git a/qpypack/locales/ja_JP.json b/qpypack/locales/ja_JP.json index 1225e63..ed864c8 100644 --- a/qpypack/locales/ja_JP.json +++ b/qpypack/locales/ja_JP.json @@ -1,345 +1,369 @@ { - " [Console]": " [コンソールあり]", - " [No Console]": " [コンソールなし]", - "* Nuitka Auto-manages C Compiler": "* Nuitka が C コンパイラを自動管理", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "※ スポンサーシップは任意です。ご支援に感謝いたします。", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ ローカルで検出:
{path}
再ダウンロードせずに直接切り替えることができます。", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "すべての設定を既定値にリセットしますか?
すべての設定が初期状態に復元されます。", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "現在のプロジェクトに対して {count} 個の仮想環境が見つかりました:
{paths}

ディスク領域を解放するためにこれらを削除してもよろしいですか?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python 環境が正常にインストールされました。

システム環境変数が更新されました。変更を適用するためソフトウェアを再起動することをお勧めします。", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 環境管理
検出されたローカルの Python 環境の切り替え、または新しいバージョンのダウンロードをサポートします。", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python 環境が必要です
アプリケーションのビルドには Python インタープリターが必要です。
バージョンを選択して、自動ダウンロード、インストール、環境変数の設定を行ってください。
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "システムに Python が検出されません。

インストールされていない場合はダウンロードしてインストールしてください ('Add Python.exe to PATH' のチェックをお忘れなく)。", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "お使いのシステムにPythonが検出されませんでした!

QPyPackはコードをコンパイルするためにPython環境が必要です。
Pythonをインストールしていない場合は、ダウンロードしてインストールしてください。", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "推奨: 最適なビルド互換性とエンジンサポートのため、Python 3.11.9 をお勧めします。", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
インタープリター
システム環境と OS サポート状況を自動検出中...", - "AST Scan": "AST 解析", - "AST scan completed, found {count} dependencies.": "AST スキャン完了。{count} 個の依存関係を検出しました。", - "AWS PyPI Mirror (US/EU)": "AWS PyPI ミラー (米国/欧州)", + " [Console]": "[コンソール]", + " [No Console]": "[コンソールなし]", + "* Nuitka Auto-manages C Compiler": "* NuitkaはCコンパイラを自動管理します", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* スポンサーシップは完全に任意であり、オープンソースコミュニティへの無条件の励ましとして機能し、商業的なコミットメントは一切含まれません。ご支援ありがとうございます!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ ローカルで検出:
{path}
再ダウンロードせずに直接切り替える準備ができています。", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "すべての設定をリセットしてもよろしいですか?
すべての設定がデフォルト状態に復元されます。", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "現在のプロジェクトで{count}個の仮想環境が見つかりました:
{paths}

ディスク領域を解放するために削除してもよろしいですか?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python環境が正常にインストールされました!

システム環境変数が更新されました。変更を適用するには、ソフトウェアを終了して再起動することをお勧めします。", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python環境管理
ローカルで検出されたPython環境の切り替えや、新しいバージョンのダウンロードをサポートします。", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python環境が必要です
アプリケーションのビルドはPythonインタープリタに依存しています。
バージョンを選択して、自動的にダウンロード、インストール、環境変数の設定を行ってください。
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "システムにPythonが検出されませんでした!

QPyPackはコードをコンパイルするためにPython環境が必要です。
Pythonをインストールしていない場合は、ダウンロードしてインストールしてください(インストール時に'Add Python.exe to PATH'にチェックを入れることを忘れないでください)。", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "システムにPythonが検出されませんでした!

QPyPackはコードをコンパイルするためにPython環境が必要です。
Pythonをインストールしていない場合は、ダウンロードしてインストールしてください。", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "推奨: 最適なビルド互換性とエンジンサポートのために、Python 3.11.9を推奨します。", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
インタープリタ
システム環境とOSサポートマトリックスを自動検出中...", + "AST Scan": "ASTスキャン", + "AST scan completed, found {count} dependencies.": "ASTスキャンが完了し、{count}個の依存関係が見つかりました。", + "AWS PyPI Mirror (US/EU)": "AWS PyPIミラー(米国/欧州)", "About": "バージョン情報", + "Active backport conflicts detected ({count}): {pkgs}": "アクティブなバックポート競合が検出されました({count}): {pkgs}", + "Add Backport Rule": "バックポートルールを追加", "Add Dir": "ディレクトリを追加", "Add File": "ファイルを追加", "Add Mapping": "マッピングを追加", - "Additional Resources (Drag & Drop Supported)": "追加リソース (ドラッグ&ドロップ対応)", - "Aliyun Cloud (China)": "Aliyun クラウド", - "Analyze Dependencies (AST)": "依存関係の自動解析 (AST)", + "Additional Resources (Drag & Drop Supported)": "追加リソース(ドラッグ&ドロップ対応)", + "Aliyun Cloud (China)": "阿里雲(中国)", + "Analyze Dependencies (AST)": "依存関係の分析(AST)", "App Icon:": "アプリアイコン:", "App Metadata & Presets": "アプリのメタデータとプリセット", - "Apple Silicon (M-Series) & Intel": "Apple Silicon (Mシリーズ) および Intel 対応", - "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) および Intel 対応", - "Attention: Please check the log for details.": "注意: 詳細はログを確認してください。", - "Author/Company:": "作者/組織名:", - "Auto Extract Icon": "アイコンの自動抽出", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "生成されたアプリにデジタル署名を自動適用し、「不明な発行元」警告を回避します。", - "Auto-patched missing ({count}): {pkgs}": "自動補完結果 ({count}): {pkgs}", - "Auto-save Build Log": "ビルドログの自動保存", - "Backup PIP Index:": "サブ PIP インデックス:", + "Apple Silicon (M-Series) & Intel": "Apple Silicon(Mシリーズ)およびIntel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon(M1/M2)およびIntel", + "Attention: Please check the log for details.": "注意:詳細はログを確認してください。", + "Author/Company:": "作者/会社::", + "Auto Extract Icon": "アイコンを自動抽出", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "ビルドしたアプリにデジタル署名を自動適用し、「発行元不明」の警告を排除します", + "Auto-patched missing ({count}): {pkgs}": "自動パッチ適用済み({count}件):{pkgs}", + "Auto-save Build Log": "ビルドログを自動保存", + "Backport exclusion rules have been reset to defaults.": "バックポート除外ルールはデフォルトにリセットされました。", + "Backup PIP Index:": "PIPインデックスのバックアップ::", "Browse": "参照", "Build Cancelled": "ビルドがキャンセルされました", - "Build Engine:": "ビルドエンジン:", - "Build Failed": "ビルド失敗", + "Build Engine:": "ビルドエンジン::", + "Build Failed": "ビルドに失敗しました", "Build Settings": "ビルド設定", - "Build Successful": "ビルド成功", - "Build engine packages ({count}): {pkgs}": "ビルドエンジンパッケージ ({count}): {pkgs}", - "CPU Cores:": "CPU コア数:", + "Build Successful": "ビルドに成功しました", + "Build engine packages ({count}): {pkgs}": "ビルドエンジンパッケージ({count}件):{pkgs}", + "CPU Cores:": "CPUコア数::", "Cancel": "キャンセル", - "Cancel & Return": "変更を破棄して戻る", - "Cert Password:": "証明書パスワード:", - "Certificate Subject (e.g. My Company):": "証明書の発行者 (例: My Company):", + "Cancel & Return": "キャンセルして戻る", + "Cert Password:": "証明書パスワード::", + "Certificate Subject (e.g. My Company):": "証明書のサブジェクト(例:自社名)::", "Certificate generated successfully!": "証明書が正常に生成されました!", - "Certificate password": "証明書のパスワード", - "Check log output below for troubleshooting.": "詳細は以下の実行ログを確認してください。", - "Clean Temporary Cache After Build": "ビルド後に一時キャッシュを削除", + "Certificate password": "証明書パスワード", + "Check log output below for troubleshooting.": "トラブルシューティングについては、以下のログ出力を確認してください。", + "Clean Temporary Cache After Build": "ビルド後に一時キャッシュをクリーンアップ", "Clear All": "すべてクリア", - "Clear Local Venvs": "ローカル仮想環境をクリア", - "Clear Log": "ログのクリア", + "Clear Local Venvs": "ローカルvenvをクリア", + "Clear Log": "ログをクリア", "Clear Virtual Environments": "仮想環境をクリア", - "Click to automatically download, install Python, and configure system environment variables.": "クリックすると、Python が自動的にダウンロード・インストールされ、環境変数が設定されます。", + "Click to automatically download, install Python, and configure system environment variables.": "クリックすると、Pythonを自動的にダウンロード、インストールし、システム環境変数を設定します。", "Code Signing": "コード署名", - "Comma separated (e.g. pandas, PyQt5)": "カンマ区切りで入力 (例: pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "カンマ区切りで入力 (例: tkinter, matplotlib)", - "Commercial PFX File:": "商用 PFX ファイル:", - "Compatibility Mode (Default)": "互換モード (既定)", - "Compatibility depends on build environment glibc version.": "互換性は現在のシステムの glibc バージョンに依存します。", - "Concise Log Output": "簡易ログ出力", - "Concise Mode": "簡易モード", - "Config preset exported to: {path}": "設定プリセットを出力しました: {path}", - "Config preset imported successfully.": "設定プリセットを正常に読み込みました。", - "Configure Build Settings": "ビルド設定の構成", - "Configure Manually": "手動で設定", - "Confirm Password:": "パスワードの確認:", - "Contents Directory (--contents-directory):": "内部リソースディレクトリ:", + "Commercial PFX File:": "商用PFXファイル::", + "Compatibility Mode (Default)": "互換モード(デフォルト)", + "Compatibility depends on build environment glibc version.": "互換性はビルド環境のglibcバージョンに依存します。", + "Concise Log Output": "簡潔なログ出力", + "Concise Mode": "簡潔モード", + "Config preset exported to: {path}": "設定プリセットをエクスポートしました:{path}", + "Config preset imported successfully.": "設定プリセットをインポートしました。", + "Configure Build Settings": "ビルド設定を構成", + "Configure Manually": "手動で構成", + "Confirm Password:": "パスワードを確認::", + "Contents Directory (--contents-directory):": "コンテンツディレクトリ(--contents-directory)::", "Copy": "コピー", "Create": "作成", - "Create Self-Signed Cert": "自己署名証明書の作成", + "Create Self-Signed Cert": "自己署名証明書を作成", "Custom Directory": "カスタムディレクトリ", "Cut": "切り取り", - "Declared in requirements.txt ({count}): {pkgs}": "requirements.txt での宣言 ({count}): {pkgs}", - "Declared in requirements.txt: None": "requirements.txt での宣言: なし", + "Declared in requirements.txt ({count}): {pkgs}": "requirements.txtで宣言済み({count}):{pkgs}", + "Declared in requirements.txt: None": "requirements.txtで宣言済み:なし", "Delete All": "すべて削除", + "Deleting...": "削除中...", "Dependencies": "依存関係", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "依存関係欠落警告: {pkgs} のインストールに失敗しました。", - "Description:": "詳細説明:", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "依存関係の欠落警告:{pkgs} のインストールに失敗しました。詳細はログを確認してください。", + "Description:": "説明::", "Desktop Application": "デスクトップアプリケーション", "Detailed Mode": "詳細モード", "Directory": "ディレクトリ", - "Discovered via scanner ({count}): {pkgs}": "スキャナーの検出結果 ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "ダブルクリックでパスを編集。ドラッグ&ドロップ対応", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "ダブルクリックでパスを編集。再利用には「プリセットのエクスポート」をご利用ください。", + "Discovered via scanner ({count}): {pkgs}": "スキャナーで検出({count}):{pkgs}", + "Double-click to edit target path; Drag & drop supported": "ダブルクリックでターゲットパスを編集;ドラッグ&ドロップ対応", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "ターゲットパスを編集するにはダブルクリック、ドラッグ&ドロップも対応しています。再利用するには「プリセットをエクスポート」を使用してください。", "Download New Version": "新しいバージョンをダウンロード", - "Download Python": "Python をダウンロード", - "Download complete. Starting Python installation...": "ダウンロードが完了しました。Python のインストールを開始しています...", - "Downloading Python {ver}... Please wait.": "Python {ver} をダウンロード中... しばらくお待ちください。", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python スクリプト (.py/.pyw) をここにドラッグ&ドロップ\nまたはクリックして参照", - "Drop Python source code to start": "Python ソースコードをドロップして開始", - "Edit Path": "パスの編集", - "Enable Smart Code Signing": "デジタル署名を有効化", - "Enable UPX Compression": "UPX 圧縮の有効化", + "Download Python": "Pythonをダウンロード", + "Download complete. Starting Python installation...": "ダウンロードが完了しました。Pythonのインストールを開始します...", + "Downloading Python {ver}... Please wait.": "Python {ver} をダウンロード中... お待ちください。", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Pythonスクリプト(.py/.pyw)をここにドラッグ&ドロップ\nまたはクリックして参照", + "Drop Python source code to start": "Pythonソースコードをドロップして開始", + "Edit Path": "パスを編集", + "Enable Automatic Backport Isolation": "自動バックポート分離を有効にする", + "Enable Smart Code Signing": "スマートコード署名を有効にする", + "Enable UPX Compression": "UPX圧縮を有効にする", "Engine": "エンジン", "Engine & Environment": "エンジンと環境", + "Environment Analysis": "環境分析", + "Environment Analysis & Remediation": "環境分析と修復", "Error": "エラー", "Exclude Modules:": "除外モジュール:", "Execution Log": "実行ログ", "Execution Mode": "実行モード", "Exit Now": "今すぐ終了", - "Export Log...": "ログのエクスポート...", - "Export Preset...": "プリセットのエクスポート...", + "Export Log...": "ログをエクスポート...", + "Export Preset...": "プリセットをエクスポート...", "Failed to generate certificate.": "証明書の生成に失敗しました。", "File": "ファイル", - "Folder Mode (--onedir)": "フォルダー (--onedir)", - "Full backward compatibility": "旧 OS 互換", - "Generate": "生成", - "GitHub Repository": "GitHub リポジトリ", - "Global configuration has been reset.": "全体設定がリセットされました。", - "Hidden Imports:": "暗黙のインポート:", - "Hide Console (--noconsole)": "コンソール非表示 (--noconsole)", - "Hide Custom Cert Settings ▾": "証明書の詳細設定を折りたたむ ▾", - "Huawei Cloud (China)": "Huawei クラウド", - "Import Name": "import 名", - "Import Preset...": "プリセットのインポート...", - "Import name (e.g. cv2):": "インポート名 (例: cv2):", - "Independent Developer": "個人開発者", - "Initializing build...": "ビルド初期化中...", + "Folder Mode (--onedir)": "フォルダモード(--onedir)", + "Full backward compatibility": "完全な後方互換性", + "GitHub Repository": "GitHubリポジトリ", + "Global configuration has been reset.": "グローバル設定がリセットされました。", + "Hidden Imports:": "隠しインポート:", + "Hide Console (--noconsole)": "コンソールを非表示 (--noconsole)", + "Hide Custom Cert Settings ▾": "カスタム証明書設定を隠す ▾", + "Huawei Cloud (China)": "Huawei Cloud (中国)", + "Import Name": "インポート名", + "Import Preset...": "プリセットをインポート...", + "Import name (e.g. cv2):": "インポート名(例: cv2):", + "Independent Developer": "独立開発者", + "Initializing build...": "ビルドを初期化中...", + "Inspect Interpreter Environment": "インタープリター環境を検査", "Install Complete": "インストール完了", - "Install requirements.txt": "requirements.txt のインストール", - "Internal directory name for dependencies (default: _internal)": "依存関係とリソースの内部ディレクトリ名 (既定値: _internal)", + "Install requirements.txt": "requirements.txt をインストール", + "Internal directory name for dependencies (default: _internal)": "依存関係の内部ディレクトリ名(デフォルト: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "インタープリター検査に合格: アクティブなバックポート競合は検出されませんでした。", "Interpreter:": "インタープリター:", "Invalid syntax": "無効な構文", "Issues & Feedback": "問題とフィードバック", - "Keep Local Venv": "ローカル仮想環境を保持", + "Keep Local Venv": "ローカル Venv を保持", "Later": "後で", - "Leave blank to auto-detect from environment variables": "空欄の場合は環境変数から自動検出", - "Leave blank to auto-detect system default Python": "空欄の場合はシステム既定の Python を自動検出", - "Leave blank to auto-match script name": "空欄の場合はスクリプト名を自動設定", - "Leave blank to auto-search requirements.txt in current directory": "空欄の場合は requirements.txt を自動検索", - "Legacy macOS Compatible": "旧版 macOS 互換", - "Lite Mode (Smaller size)": "軽量モード (サイズ削減)", + "Leave blank to auto-detect from environment variables": "空白のままにすると環境変数から自動検出されます", + "Leave blank to auto-detect system default Python": "空白のままにするとシステムデフォルトの Python を自動検出します", + "Leave blank to auto-match script name": "空白のままにするとスクリプト名に自動一致します", + "Leave blank to auto-search requirements.txt in current directory": "空白のままにすると現在のディレクトリの requirements.txt を自動検索します", + "Legacy macOS Compatible": "レガシー macOS 互換", + "Lite Mode (Smaller size)": "ライトモード(サイズ小)", "Loaded: {filename}": "読み込み済み: {filename}", - "Locally Detected Pythons": "検出されたローカル環境", - "Lock Core Dependencies": "コア依存関係の固定", - "Log saved to: {path}": "ログを保存しました: {path}", - "Manifest complete (No missing packages)": "マニフェスト完了 (欠落パッケージなし)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "最高の互換性。複雑な動的インポートを使用するアプリに推奨。", + "Locally Detected Pythons": "ローカルで検出された Python", + "Lock Core Dependencies": "コア依存関係をロック", + "Log saved to: {path}": "ログは {path} に保存されました", + "Manifest complete (No missing packages)": "マニフェスト完了(欠落パッケージなし)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "最大互換性。複雑な動的インポートを持つアプリに推奨。", + "Min Python Ver": "最小Pythonバージョン", + "Minimum Built-in Python Version (e.g. 3.4):": "最小組み込みPythonバージョン(例:3.4)::", "Mirrors & Scanner": "ミラーとスキャナー", - "Modern Cross-Platform Python Application Packager": "最新のクロスプラットフォームPythonアプリケーションパッケージャー", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstaller および Nuitka によるモダンなクロスプラットフォーム Python パッケージング GUI", - "No Windows 7 Support": "Windows 7 未対応", - "No local Python environments detected.": "ローカルの Python 環境が検出されませんでした。", - "No local virtual environments found to clean.": "クリーンアップするローカル仮想環境が見つかりません。", - "No log content.": "ログ出力がありません。", - "Nuitka Version:": "Nuitka バージョン:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — ネイティブ C/C++ バイナリへコンパイル。高速化・軽量化と逆コンパイル防止を実現 (C コンパイラ必須)。", + "Modern Cross-Platform Python Application Packager": "モダンなクロスプラットフォームPythonアプリケーションパッケージャー", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstallerとNuitkaを搭載したモダンなクロスプラットフォームPythonパッケージングGUI", + "No Windows 7 Support": "Windows 7はサポートされていません", + "No environment conflicts detected.": "環境の競合は検出されませんでした。", + "No local Python environments detected.": "ローカルPython環境が検出されませんでした。", + "No local virtual environments found to clean.": "クリーンアップするローカル仮想環境が見つかりませんでした。", + "No log content.": "ログコンテンツがありません。", + "Nuitka Version:": "Nuitkaバージョン::", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — ソースコードをネイティブのC/C++バイナリにコンパイルします。パッケージサイズが小さくなり、実行速度が速くなり、逆コンパイルに対する強力な保護を提供します(Cコンパイラが必要です)。", "OK": "OK", - "OS Support Matrix:": "OS サポート状況:", - "One-Click Download & Install": "ワンクリックでダウンロード&インストール", + "OS Support Matrix:": "OSサポートマトリックス::", + "Obsolete Backport Exclusion Rules": "廃止されたバックポート除外ルール", + "One-Click Download & Install": "ワンクリックダウンロードとインストール", "One-Click Install": "ワンクリックインストール", - "One-File Mode (--onefile)": "単一ファイル (--onefile)", - "Only supported on Windows.": "Windows 環境でのみサポートされています。", - "Open Directory": "出力先を開く", - "Open output directory or reset workspace.": "出力ディレクトリを開くかワークスペースをリセット", + "One-File Mode (--onefile)": "ワンファイルモード(--onefile)", + "Only supported on Windows.": "Windowsでのみサポートされています。", + "Open Directory": "ディレクトリを開く", + "Open output directory or reset workspace.": "出力ディレクトリを開くか、ワークスペースをリセットします。", "Optimization & Security": "最適化とセキュリティ", - "Output Location": "出力先", - "Output Location:": "出力場所:", - "Output Name:": "出力アプリ名:", + "Output Location": "出力場所", + "Output Location:": "出力場所::", + "Output Name:": "出力名::", "Package Map": "パッケージマップ", + "Package Mapping & Remediation": "パッケージマッピングと修復", + "Package Mappings & Rules": "パッケージマッピングとルール", + "Package Name": "パッケージ名", + "Package Name (e.g. pathlib):": "パッケージ名(例:pathlib)::", "Package Name Mappings": "パッケージ名マッピング", - "Package mappings have been reset to defaults.": "パッケージマッピングが既定値にリセットされました。", + "Package mappings have been reset to defaults.": "パッケージマッピングはデフォルトにリセットされました。", "Packaging Mode:": "パッケージングモード:", - "Parsing metadata...": "メタデータ解析中...", - "Password cannot be empty!": "パスワードを入力してください!", - "Password:": "パスワード:", + "Parsing metadata...": "メタデータを解析中...", + "Password cannot be empty!": "パスワードを空にすることはできません!", + "Password:": "パスワード:", "Passwords do not match!": "パスワードが一致しません!", "Paste": "貼り付け", "Performance Optimization": "パフォーマンス最適化", - "Platform Support Matrix:": "プラットフォームサポート:", + "Platform Support Matrix:": "プラットフォームサポートマトリックス:", "Preferences": "環境設定", - "Preferences & System Behavior": "環境設定と動作", - "Preparing engine...": "エンジン準備中...", - "Primary PIP Index:": "メイン PIP インデックス:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "プロジェクト固有の設定です。「プリセットのエクスポート」を使用して保存してください。", - "PyInstaller Version:": "PyInstaller バージョン:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — 構築が高速で高い互換性。C コンパイラ不要で設定なしで利用可能。", - "PyPI Home": "PyPI ホーム", - "PyPI Official (Global Default)": "PyPI 公式 (グローバル既定値)", - "PyPI Package Name": "PyPI パッケージ名", - "PyPI package name for [{imp_name}]:": "[{imp_name}] の PyPI パッケージ名:", + "Preferences & System Behavior": "環境設定とシステム動作", + "Preparing engine...": "エンジンを準備中...", + "Primary PIP Index:": "プライマリPIPインデックス:", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "プロジェクト固有。グローバル設定には保存されません。設定を保存するには「プリセットをエクスポート」を使用してください。", + "PyInstaller Version:": "PyInstallerバージョン:", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Pythonインタープリタとバイトコードをバンドルします。ビルド速度が速く、設定不要(Cコンパイラ不要)で、優れた互換性を備えています。", + "PyPI Home": "PyPIホーム", + "PyPI Official (Global Default)": "PyPI公式(グローバルデフォルト)", + "PyPI Package Name": "PyPIパッケージ名", + "PyPI package name for [{imp_name}]:": "[{imp_name}] のPyPIパッケージ名:", "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (推奨)", + "Python 3.11.9 (Recommended)": "Python 3.11.9(推奨)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (実験的)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7 サポート)", + "Python 3.14.6 (Experimental)": "Python 3.14.6(実験的)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10(Win7サポート)", "Python 3.9.13": "Python 3.9.13", - "Python Environment Management": "Python 環境管理", - "Python Environment Required": "Python 環境が必要です", - "Python Packaging, Reimagined.": "Python パッケージングを再定義。", + "Python Environment Management": "Python環境管理", + "Python Environment Required": "Python環境が必要です", + "Python Packaging, Reimagined.": "Pythonパッケージング、再考。", "Python TestPyPI": "Python TestPyPI", - "Python installed. Please restart QPyPack manually later.": "Python がインストールされました。後で手動で QPyPack を再起動してください。", + "Python installed. Please restart QPyPack manually later.": "Python がインストールされました。後で QPyPack を手動で再起動してください。", "QPyPack Developer": "QPyPack 開発者", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack は無料のオープンソースツールです。役立った場合は、作者へのご支援をご検討ください。", - "Ready, waiting for build.": "準備完了。ビルド待機中。", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack は無料のオープンソースツールです。効率が向上したり、パッケージングの問題が解決した場合は、作者にコーヒーを一杯ごちそうすることを検討してください!", + "Ready, waiting for build.": "準備完了、ビルド待機中。", "Rebuild": "再ビルド", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "推奨: 6文字以上の半角英数字、'-'、'_' のみ。スペースや全角文字は避けてください。", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "推奨: 6文字以上、英数字、'-' と '_' のみ。スペースや日本語を避けて、署名エラーを防ぎます。", + "Remediate Detected Conflicts": "検出された競合を修正", + "Remediation completed for packages: {pkgs}": "パッケージの修正が完了しました: {pkgs}", "Remove Selected": "選択項目を削除", - "Requirements File:": "requirements ファイル:", + "Requirements File:": "要件ファイル:", "Reset": "リセット", - "Reset to Default Config": "既定の設定にリセット", + "Reset to Default Config": "デフォルト設定にリセット", "Resources": "リソース", - "Restore Defaults": "既定値に戻す", + "Restore Defaults": "デフォルトに戻す", "Save & Return": "保存して戻る", "Save Certificate": "証明書を保存", "Scan Entire Folder": "フォルダ全体をスキャン", - "Script and settings retained. Ready to rebuild.": "スクリプトと設定を保持しました。再ビルドの準備が完了しました。", - "Select .pfx / .p12 certificate file": ".pfx / .p12 形式の証明書を選択してください", + "Scanning...": "スキャン中...", + "Script and settings retained. Ready to rebuild.": "スクリプトと設定は保持されています。再ビルドの準備ができました。", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "スクリプトが読み込まれました。アセットフォルダやデータファイルをここに直接ドラッグしてバンドルできます。", + "Select .pfx / .p12 certificate file": ".pfx / .p12 証明書ファイルを選択", "Select All": "すべて選択", - "Select Python Version to Download:": "ダウンロードする Python のバージョンを選択:", + "Select Python Version to Download:": "ダウンロードする Python バージョンを選択:", "Self-Signed Certificate (*.pfx)": "自己署名証明書 (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "出力サイズを最小化。一般的なアプリに推奨。", - "Sound Notification": "完了通知音", + "Smaller output size. Recommended for 95% of standard apps.": "出力サイズが小さくなります。標準アプリの95%に推奨されます。", + "Sound Notification": "サウンド通知", "Source Directory (.qpypack_build)": "ソースディレクトリ (.qpypack_build)", - "Source File Directory": "ソースと同じディレクトリ", + "Source File Directory": "ソースファイルディレクトリ", "Sponsor": "スポンサー", "Start Build": "ビルド開始", - "Status: Build Cancelled": "ステータス: ビルドがキャンセルされました", + "Status: Build Cancelled": "ステータス: ビルドキャンセル", "Status: Build Completed": "ステータス: ビルド完了", "Status: Build Failed": "ステータス: ビルド失敗", - "Status: Loaded {filename}{mode}": "ステータス: {filename}{mode} 読み込み完了", + "Status: Environment inspection ready.": "ステータス: 環境検査完了", + "Status: Loaded {filename}{mode}": "ステータス: {filename}{mode} を読み込みました", "Status: Packaging ({engine}) ...": "ステータス: パッケージング中 ({engine}) ...", "Status: Parsing {filename}...": "ステータス: {filename} を解析中...", "Status: Ready": "ステータス: 準備完了", "Status: Workspace Reset": "ステータス: ワークスペースをリセットしました", "Stop Build": "ビルド停止", "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "{count} 個の仮想環境を正常にクリーンアップし、{size:.1f} MB のディスク領域を解放しました。", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "[ビルド設定] -> [エンジン] に切り替えました。Python パスを設定してください。", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "[ビルド設定] -> [エンジン] に切り替えて、Python パスを設定してください。", "Switched to local Python environment: {path}": "ローカル Python 環境に切り替えました: {path}", - "System Default ({sys_native})": "システム既定 ({sys_native})", + "System Default ({sys_native})": "システムデフォルト ({sys_native})", "System Temp Directory": "システム一時ディレクトリ", - "Target Directory:": "保存先ディレクトリ:", + "Target Directory:": "ターゲットディレクトリ:", "Target relative path:": "ターゲット相対パス:", "Temporary Directory:": "一時ディレクトリ:", - "Tencent Cloud (China)": "Tencent クラウド", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "ヒント: 軽量モードでのビルドに失敗しました。[ビルド設定] で [互換モード] に切り替えて再ビルドをお試しください。", - "Toggle Execution Log": "実行ログの表示/非表示", - "Tsinghua University (China)": "清華大学ミラー", - "UI Language:": "表示言語:", - "UPX Path:": "UPX パス:", - "USTC (China)": "USTC ミラー", + "Tencent Cloud (China)": "Tencent Cloud (中国)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "ヒント: ライトモードでビルドに失敗しました。[ビルド設定] で [互換モード] に切り替えて再ビルドしてみてください。", + "Toggle Execution Log": "実行ログの切り替え", + "Tsinghua University (China)": "清華大学 (中国)", + "UI Language:": "UI言語:", + "UPX Path:": "UPXパス:", + "USTC (China)": "中国科学技術大学 (中国)", "Undo": "元に戻す", "Unknown": "不明", - "Use Custom Commercial Cert (Optional) ▸": "商用証明書の設定 (オプション) ▸", - "Use Installed Version Directly": "✔ ローカル環境を直接使用", + "Use Custom Commercial Cert (Optional) ▸": "カスタム商用証明書を使用 (オプション) ▸", + "Use Installed Version Directly": "インストール済みバージョンを直接使用", "Use Selected Environment": "選択した環境を使用", "Use Virtual Environment": "仮想環境を使用", "Version:": "バージョン:", - "View Python": "Python を表示", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 追加リソースが見つかりません: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] ビルド中止: ディスク容量が不足しています。空き容量を確保してください。", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] ビルドは完了しましたが、以下の依存パッケージのインストールに失敗しました:\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 有効な実行可能ファイルが見つかりません: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 解析中に例外が発生しました: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 仮想環境の作成に失敗しました。権限が制限されている可能性があります。", - "[ERROR] Failed to export log file: {error}": "[ERROR] ログのエクスポートに失敗しました: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] プリセットのエクスポートに失敗しました: {error}", - "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O 例外: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] ディスク容量が不足しています (空き: {free:.1f} GB)。", + "View Python": "Pythonを表示", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 追加リソースのファイル/ディレクトリが見つかりません: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] ビルドが中止されました: ディスク容量が不足しています (NoSpaceLeft / Errno 28)。ドライブの空き容量を確保して (推奨: 少なくとも5GB) 再試行してください。", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] ビルドは完了しましたが、以下の依存関係のインストールに失敗しました:\n\n - {pkgs}\n\n注: アプリケーションは実行時にModuleNotFoundErrorを発生させる可能性があります。", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 一時ビルドディレクトリに有効な実行可能製品が見つかりません: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] 環境の修復に失敗しました: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST解析中に例外が発生しました: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 仮想環境の作成に失敗しました。現在のPython環境に必要なモジュールがないか、権限が制限されている可能性があります。", + "[ERROR] Failed to export log file: {error}": "[ERROR] ログファイルのエクスポートに失敗しました: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] プリセットファイルのエクスポートに失敗しました: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O例外: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] ディスク容量が不足しています (利用可能: {free:.1f} GB)。ビルド環境を安全に初期化するには少なくとも0.5 GB必要です。", "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 出力ディレクトリに書き込み権限がありません: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] 有効な Python ソースコードファイルを先に読み込んでください。", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] プリセットの形式が不正です: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] プロセスエラー: コマンドまたはバイナリが存在しません ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 成果物の移動に失敗しました: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python のインストールが失敗したか、キャンセルされました。", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python インタープリターが無効または見つかりません: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] 依存関係ファイルが見つかりません: {path}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] 最初に有効なPythonソースファイルを読み込んでください!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] プリセットファイルの形式エラーまたは破損: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] プロセスエラー: コマンドまたはバイナリが見つかりません ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 製品の転送に失敗しました。ファイルがシステムプロセスによって占有されているか、権限がない可能性があります: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Pythonのインストールに失敗したか、キャンセルされました。", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Pythonインタープリタが無効または見つかりません: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] 要件ファイルが見つかりません: {path}", "[ERROR] System execution exception: {error}": "[ERROR] システム実行例外: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 対象ファイルがクラウドストレージ等によりロックされています。", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] ターゲットファイルが実行中または使用中です。アプリケーションを閉じて再試行してください。", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] ターゲットファイルがクラウドドライブによってロックまたは暗号化されています。復号化して再試行してください。", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] ターゲットファイルが実行中または占有されています。既存のアプリケーションを閉じて再試行してください。", "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 指定されたアイコンファイルが存在しません: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] ビルドが例外的に中断されました。\n\n一般的なトラブルシューティング:\n1. 環境の不一致 (最頻出): 選択した Python バージョンがソースコードと互換性がありません。[ビルド設定] で通常使用する Python バージョンに切り替えてください。\n2. 依存関係の欠落: 上の「詳細モード」をクリックして ModuleNotFoundError を確認してください。\n3. セキュリティソフトのブロック: セキュリティソフトがビルドプロセスをブロックしていないか確認してください。\n\n(注: これは通常、パッケージングエンジン自体の問題ではなく環境やコードの不一致によって発生します。詳細はログをご確認ください。)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 例外が発生したため中断されました。「詳細モード」でログを確認してください。", - "[INFO] Analyzing source code and project dependencies...": "[INFO] ソースコードと依存関係を解析中...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] タイムスタンプサーバー ({tsa}) 経由でデジタル署名を適用しました...", - "[INFO] Applying smart digital signature...": "[INFO] アプリケーションにデジタル署名を適用中...", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] ビルドが例外により中断されました!\n\n一般的なトラブルシューティング:\n1. 環境の不一致 (最も一般的): 選択したPythonバージョンがソースコードと互換性がありません。[ビルド設定] に移動して、このコードで通常使用するPythonバージョンに切り替えてください。\n2. 依存関係の欠落: 上記の「詳細モード」をクリックして、ModuleNotFoundErrorを確認してください。\n3. ウイルス対策によるブロック: セキュリティソフトウェアがビルドプロセスをブロックしていないことを確認してください。\n\n(注: これは通常、パッケージングエンジン自体ではなく、環境/コードの不一致が原因です。正確な理由については詳細ログを確認してください。)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] コンパイルが例外により中断されました。ログウィンドウの上にある「詳細モード」をクリックしてトラブルシューティングしてください。", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' を追加リソースに追加しました。", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] 追加リソースに {count} 個のリソース項目を追加しました。", + "[INFO] Analyzing source code and project dependencies...": "[INFO] ソースコードとプロジェクトの依存関係を分析中...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] タイムスタンプ付きデジタル署名を適用しました ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] スマートデジタル署名を適用中...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] 既存の仮想環境 '{venv}' を自動検出しました。'ローカルvenvを保持' がチェックされています。", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] 廃止されたバックポートモジュールを自動シールドしました: '{pkg}' (Python {ver} に組み込み)", "[INFO] Build Cancelled.": "[INFO] ビルドがキャンセルされました。", - "[INFO] Build log exported to: {path}": "[INFO] ビルドログを出力しました: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] コンパイル完了。生成ファイルをアーカイブ中...", - "[INFO] Creating virtual environment ({name})...": "[INFO] 仮想環境を作成中 ({name})...", + "[INFO] Build log exported to: {path}": "[INFO] ビルドログを {path} にエクスポートしました。", + "[INFO] Compilation completed, archiving built files...": "[INFO] コンパイルが完了しました。ビルド済みファイルをアーカイブ中...", + "[INFO] Creating virtual environment ({name})...": "[INFO] 仮想環境 ({name}) を作成中...", "[INFO] Creating virtual environment...": "[INFO] 仮想環境を作成中...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] ミラーから Playwright ブラウザーをダウンロード中: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] メモリ状態を評価中 (空き: {ram:.1f} GB)。並行処理を調整しました: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] ローカルの Clang 環境を検出。LLVM Clang コンパイラを優先します。", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] ローカルの GCC/MinGW-w64 環境を検出。MinGW64 コンパイラを使用します。", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] ローカルの MSVC 環境を検出。ネイティブ C++ コンパイラを優先します。", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] ローカルの Zig 環境を検出。Nuitka が C バックエンドのコンパイルを管理します。", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 一時ビルド環境をクリーンアップ中...", - "[INFO] Initializing isolated build environment...": "[INFO] 隔離されたビルド環境を初期化中...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 依存関係 ({count} パッケージ) をインストール中: {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 軽量化モードを有効化。バイトコード最適化 (-OO) と開発モジュール除外を適用中...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] ローカルの C コンパイラが未検出です。Nuitka が自動的に互換のある MinGW-w64 ツールチェーンを管理します。", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka ヒント: 初回ビルド時に GCC/MinGW のダウンロードが求められる場合があります。", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] ミラーからPlaywrightブラウザをダウンロード中: {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] システムの物理メモリを評価中 (利用可能: {ram:.1f} GB)。適応的並行性を調整しました: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] ローカルのClang環境を検出しました。LLVM Clangコンパイラを優先します。", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] ローカルのGCC/MinGW-w64環境を検出しました。MinGW64コンパイラを使用します。", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] ローカルのMSVC環境を検出しました。ネイティブC++コンパイラを優先します。", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] ローカルのZig環境を検出しました。NuitkaにCバックエンドのコンパイルを任せます。", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] スペースを解放中。一時ビルド環境をクリーンアップしています...", + "[INFO] Initializing isolated build environment...": "[INFO] 分離されたビルド環境を初期化中...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] ビルド環境とプロジェクトの依存関係をインストール中 ({count} パッケージ): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] ライトモードが有効です。バイトコード最適化 (-OO) を適用し、開発モジュールを削除しています...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] ローカルのCコンパイラが検出されませんでした。Nuitkaが互換性のあるMinGW-w64ツールチェーンを自動的にダウンロードして管理します。", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitkaのヒント: 初回ビルド時にGCC/MinGWコンパイラのダウンロードを求められた場合は、安定したネットワーク接続を確保してください。", "[INFO] Performing pre-flight environment checks...": "[INFO] 事前環境チェックを実行中...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright を検出。組み込みブラウザーをインストール中...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ を検出: Zig コンパイラを使用します。", - "[INFO] Python interpreter path: {path}": "[INFO] Python インタープリターパス: {path}", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwrightが検出されました。組み込みブラウザをインストール中 (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ が検出されました: CバックエンドとしてZigコンパイラ (--zig) を使用します。", + "[INFO] Python interpreter path: {path}": "[INFO] Pythonインタープリタのパス: {path}", "[INFO] Resolving project dependencies...": "[INFO] プロジェクトの依存関係を解決中...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 公式 CDN 経由で Playwright ブラウザーのダウンロードを再試行中...", - "[INFO] Reusing existing virtual environment...": "[INFO] 既存のローカル仮想環境を再利用中...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] 既存の仮想環境を再利用: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] AST エンジンで依存関係をスキャン中...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine} エンジンを起動してコンパイルを開始中...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] アイコンパラメーターを除外して自動再ビルド中...", - "[INFO] Successfully installed compatible versions.": "[INFO] 互換性のあるバージョンが正常にインストールされました。", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] バックアップの PyPI ソースに切り替えて再試行中: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip パッケージマネージャーを更新中...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] ヒント: パッケージ化されたファイルはセキュリティソフトに誤検知される場合があります。", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] MinGW64 コンパイラを使用します。", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 公式CDNからPlaywrightブラウザのダウンロードを再試行中...", + "[INFO] Reusing existing virtual environment...": "[INFO] 既存の仮想環境を再利用しています...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] 既存の仮想環境を再利用しています: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] ASTエンジンでプロジェクトのソースコードをスキャンしています...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine}エンジンを起動してバイナリファイルをコンパイルしています...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] アイコンパラメータを除去し、自動的に再ビルドしています...", + "[INFO] Successfully installed compatible versions.": "[INFO] 互換性のあるバージョンのインストールに成功しました。", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] バックアップのPyPIソースに切り替えて取得しています: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pipパッケージマネージャーを同期・アップグレードしています...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] ヒント: 商用署名のない実行ファイルは、Windows Defenderやアンチウイルスに誤検出される可能性があります。", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] CバックエンドにMinGW64コンパイラを使用しています (--mingw64)。", "[INFO] Using MinGW64 compiler.": "[INFO] MinGW64コンパイラを使用しています。", - "[INFO] Validating output files and generating final product...": "[INFO] 出力ファイルを検証し、最終成果物を生成中...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] コンパイルが正常に完了しました。出力先: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] デジタル署名が正常に適用されました!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[構文エラー] 構文エラーが存在します。コンパイルを中止しました:\n - 対象ファイル: {file}\n - エラー種別: {type}\n - 発生位置: {line} 行目\n - 詳細: {desc}\n\nヒント: ローカルで正常に動作することを確認してから再実行してください。", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[構文エラー] ソースコードの構文解析に失敗しました。ビルドを中止しました:\n - ファイル: {file}\n - 行: {line} 行目\n - 詳細: {desc}\n\nヒント: これは通常パッケージングツールの問題ではありません。\n選択した [ビルド Python バージョン] がコードの記述/テストに使用したバージョンと一致しているか確認してください。\n古い Python 環境で新しい構文 (:=, |, match-case など) を使用するとエラーが発生します。\n[ビルド設定] -> [エンジン] で適切な Python バージョンに切り替えることをお勧めします。", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing' モジュールを検出。無限ループ防止のため 'multiprocessing.freeze_support()' を呼び出してください。", - "[WARN] AST Analysis Exception: {error}": "[WARN] AST 解析例外: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] コマンドがタイムアウトしました (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' または 'httpx' を検出。SSL エラー防止のため 'certifi' を自動バンドルします。", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] 無効な環境の削除に失敗したため、一時サンドボックスにフォールバックします: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] .icns へのアイコン変換に失敗しました。アイコンなしでビルドします。", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] アイコンの書き込みがブロックされました (セキュリティソフト等)。フォールバックを実行します...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] ディスク空き容量が不足しています (空き: {free:.1f} GB)。中断の可能性があります。", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] メモリ不足例外が発生しました。シングルスレッドモードで再試行します...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] パッケージ '{pkg}' のインストールに失敗しました。スキップします...", - "[WARN] Pause code injection exception: {error}": "[WARN] ポーズコード挿入例外: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright ブラウザーのインストールがすべてのソースで失敗しました。リスクを承知でビルドを続行します...", + "[INFO] Validating output files and generating final product...": "[INFO] 出力ファイルを検証し、最終成果物を生成しています...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] コンパイルが完了しました。出力パス: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] デジタル署名が正常に適用されました!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] ソースコードに構文エラーが含まれているため、コンパイルを中止しました:\n - ファイル: {file}\n - 種類: {type}\n - 行: {line}行目\n - 詳細: {desc}\n\nヒント: パッケージ化する前に、ソースコードがローカルで実行できることを確認してください。", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] ソースコードの構文解析に失敗したため、ビルドを中止しました:\n - ファイル: {file}\n - 行: {line}行目\n - 詳細: {desc}\n\nヒント: これは通常、パッケージ化ツールの欠陥ではありません。\n選択した[ビルドPythonバージョン]が、コードの[作成/テスト]に使用したバージョンと一致していることを確認してください。\n古いPython環境で新しい構文(例: セイウチ演算子 :=、型ユニオン |、match-case)を使用すると、このエラーが発生します。\n[ビルド設定] -> [エンジン]で正しいPythonバージョンに切り替えることをお勧めします。", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing'モジュールが検出されました。無限プロセスループ(フォーク爆弾)を防ぐために、'if __name__ == \"__main__\":'の下で'multiprocessing.freeze_support()'を呼び出してください。", + "[WARN] AST Analysis Exception: {error}": "[WARN] AST解析例外: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] コマンドがタイムアウトしました (> {timeout}秒)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests'または'httpx'が検出されました。SSLエラーを防ぐために'certifi'証明書を自動的にバンドルしています。", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] 無効な環境のパージに失敗したため、一時サンドボックスにフォールバックします: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] アイコンの.icnsへの変換に失敗したため、アイコンなしでビルドします。", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] アイコンリソースの書き込みがブロックされました(システムまたはアンチウイルスによってロックされている可能性があります)。フォールバック保護をトリガーしています...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] ビルド先ドライブの空き容量が少ないです(利用可能: {free:.1f} GB、5.0 GB以上推奨)。ディスク不足によりビルドプロセスが中断される可能性があります。", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] メモリ割り当て例外をキャッチしました(ZstdError / OOM)。メモリ保護フォールバックをトリガーしています: シングルスレッドモードで再試行しています...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] パッケージ '{pkg}' のインストールに失敗したため、スキップしています...", + "[WARN] Pause code injection exception: {error}": "[WARN] 一時停止コードの注入例外: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwrightブラウザのインストールがすべてのソースで失敗したため、リスクを伴ってビルドを続行します...", "[WARN] Python environment info detection fallback: {error}": "[WARN] Python環境情報の検出フォールバック: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] requirements.txt 読み取り警告: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] デジタル署名に失敗しましたが、ビルド成果物は保持されます。", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 一部の依存関係のインストールに失敗しましたが、ビルドを続行します...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 指定バージョンのインストールに失敗。バージョン制約を解除して再試行します...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 軽量化効果を最大化するため、「仮想環境を使用」の有効化を推奨します。", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] メモリ不足を検出。シングルスレッドモードで再試行します...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] クラウド同期フォルダに存在します。ファイルがロックされる可能性があります。", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] タイムスタンプサーバー接続タイムアウト。ローカル高速署名を実行します...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' の使用を検出。単一ファイルモードでは 'sys._MEIPASS' を使用してください。", - "\\nProgram execution completed, press Enter to exit...": "\\n処理が完了しました。Enter キーを押して終了します...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] 既存の仮想環境 '{venv}' を自動検出しました。'ローカルVenvを保持' がチェックされています。" + "[WARN] Read requirements.txt warning: {error}": "[WARN] requirements.txtの読み取り警告: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] スマート署名に失敗しましたが、ビルド出力は保持されます。", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 一部の依存関係のインストールに失敗しました。リスクを伴ってビルドを続行します...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 指定されたバージョンのインストールに失敗しました。自動互換性マッチングのためバージョン制約を削除しています...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] ライトモードの効果を最大化するには、[仮想環境] を確認することを強くお勧めします。", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] システムPythonの書き込み権限が制限されています。'--user' モードで再試行しています...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] システムのメモリ不足を検出しました (zstdメモリ割り当てに失敗)。シングルスレッド低メモリモードで自動的に再試行しています...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] ターゲットプロジェクトはクラウド同期ディレクトリ (例: OneDrive/Dropbox) にあります。クラウド同期によりビルドファイルが一時的にロックされる可能性があります。", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] タイムスタンプサーバーへの接続がタイムアウトしました。ローカル高速署名を実行します...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' の使用が検出されました。PyInstallerのワンファイルモードでは、バンドルされたリソースファイルを確実に特定するために 'sys._MEIPASS' を使用してください!", + "\\nProgram execution completed, press Enter to exit...": "\\nプログラムの実行が完了しました。終了するにはEnterキーを押してください..." } diff --git a/qpypack/locales/ko_KR.json b/qpypack/locales/ko_KR.json index d87cb06..44d351e 100644 --- a/qpypack/locales/ko_KR.json +++ b/qpypack/locales/ko_KR.json @@ -1,345 +1,372 @@ { - " [Console]": " [콘솔 모드]", - " [No Console]": " [콘솔 없음]", - "* Nuitka Auto-manages C Compiler": "* Nuitka가 C 컴파일러를 자동으로 관리함", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* 후원은 완전히 자발적입니다. 지원해 주셔서 감사합니다!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ 로컬에서 감지됨:
{path}
다시 다운로드하지 않고 직접 전환할 준비가 되었습니다.", + " [Console]": "[콘솔]", + " [No Console]": "[콘솔 없음]", + "* Nuitka Auto-manages C Compiler": "* Nuitka가 C 컴파일러를 자동 관리합니다", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* 후원은 전적으로 자발적이며, 오픈소스 커뮤니티에 대한 무조건적인 격려로 제공되며 상업적 의무를 포함하지 않습니다. 지원해 주셔서 감사합니다!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ 로컬에서 감지됨:
{path}
재다운로드 없이 바로 전환할 준비가 되었습니다.", "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "모든 기본 설정을 재설정하시겠습니까?
모든 설정이 기본 상태로 복원됩니다.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "현재 프로젝트에 대해 {count}개의 가상 환경을 찾았습니다:
{paths}

디스크 공간을 확보하기 위해 삭제하시겠습니까?", "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python 환경이 성공적으로 설치되었습니다!

시스템 환경 변수가 업데이트되었습니다. 변경 사항을 적용하려면 소프트웨어를 종료하고 다시 시작하는 것이 좋습니다.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 환경 관리
로컬에서 감지된 Python 환경을 전환하거나 새 버전을 다운로드할 수 있습니다.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python 환경 필요
애플리케이션 빌드에는 Python 인터프리터가 필요합니다.
버전을 선택하여 환경 변수를 자동으로 다운로드, 설치 및 구성하세요.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python이 감지되지 않았습니다!
Python을 설치하세요. ('Add to PATH' 체크 필수)", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "시스템에 Python이 감지되지 않았습니다!

QPyPack은 코드를 컴파일하기 위해 Python 환경이 필요합니다.
Python을 설치하지 않았다면, 다운로드하여 설치하십시오.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 환경 관리
로컬에서 감지된 Python 환경 전환 또는 새 버전 다운로드를 지원합니다.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python 환경 필요
애플리케이션 빌드는 Python 인터프리터에 의존합니다.
버전을 선택하여 자동으로 다운로드, 설치 및 환경 변수를 구성하십시오.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "시스템에 Python이 감지되지 않았습니다!

QPyPack은 코드를 컴파일하기 위해 Python 환경이 필요합니다.
Python을 설치하지 않았다면 다운로드하여 설치하십시오(설치 중 'Add Python.exe to PATH'를 확인하는 것을 잊지 마십시오).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "시스템에 Python이 감지되지 않았습니다!

QPyPack은 코드를 컴파일하기 위해 Python 환경이 필요합니다.
Python을 설치하지 않았다면 다운로드하여 설치하십시오.", "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "권장 사항: 최적의 빌드 호환성과 엔진 지원을 위해 Python 3.11.9를 권장합니다.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
인터프리터
시스템 환경 및 OS 지원 현황 자동 감지 중...", - "AST Scan": "AST 구문 분석", - "AST scan completed, found {count} dependencies.": "AST 스캔 완료. {count}개의 의존성 발견.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
인터프리터
시스템 환경 및 OS 지원 매트릭스를 자동 감지하는 중...", + "AST Scan": "AST 스캔", + "AST scan completed, found {count} dependencies.": "AST 스캔 완료, {count}개의 종속성을 찾았습니다.", "AWS PyPI Mirror (US/EU)": "AWS PyPI 미러 (미국/유럽)", "About": "정보", + "Active backport conflicts detected ({count}): {pkgs}": "활성 백포트 충돌 감지됨 ({count}): {pkgs}", + "Add Backport Rule": "백포트 규칙 추가", "Add Dir": "디렉터리 추가", "Add File": "파일 추가", "Add Mapping": "매핑 추가", "Additional Resources (Drag & Drop Supported)": "추가 리소스 (드래그 앤 드롭 지원)", - "Aliyun Cloud (China)": "알리윤 클라우드", - "Analyze Dependencies (AST)": "의존성 자동 분석 (AST)", - "App Icon:": "애플리케이션 아이콘:", - "App Metadata & Presets": "메타데이터 및 프리셋", - "Apple Silicon (M-Series) & Intel": "Apple Silicon (M 시리즈) 및 Intel 지원", - "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) 및 Intel 지원", - "Attention: Please check the log for details.": "주의: 로그 출력을 확인하세요.", - "Author/Company:": "작성자/회사명:", + "Aliyun Cloud (China)": "Alibaba Cloud (중국)", + "Analyze Dependencies (AST)": "종속성 분석 (AST)", + "App Icon:": "앱 아이콘:", + "App Metadata & Presets": "앱 메타데이터 및 사전 설정", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (M 시리즈) 및 Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) 및 Intel", + "Attention: Please check the log for details.": "주의: 자세한 내용은 로그를 확인하세요.", + "Author/Company:": "저자/회사:", "Auto Extract Icon": "아이콘 자동 추출", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "생성된 앱에 디지털 서명을 자동으로 적용하여 '알 수 없는 게시자' 경고를 방지합니다.", - "Auto-patched missing ({count}): {pkgs}": "자동 패치됨 ({count}): {pkgs}", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "빌드된 앱에 디지털 서명을 자동 적용하여 '알 수 없는 게시자' 경고를 제거합니다.", + "Auto-patched missing ({count}): {pkgs}": "자동 패치 누락 ({count}): {pkgs}", "Auto-save Build Log": "빌드 로그 자동 저장", - "Backup PIP Index:": "보조 PIP 인덱스:", - "Browse": "찾아보기...", + "Backport exclusion rules have been reset to defaults.": "백포트 제외 규칙이 기본값으로 재설정되었습니다.", + "Backup PIP Index:": "PIP 인덱스 백업:", + "Browse": "찾아보기", "Build Cancelled": "빌드 취소됨", "Build Engine:": "빌드 엔진:", "Build Failed": "빌드 실패", "Build Settings": "빌드 설정", "Build Successful": "빌드 성공", "Build engine packages ({count}): {pkgs}": "빌드 엔진 패키지 ({count}): {pkgs}", - "CPU Cores:": "CPU 코어 수:", + "CPU Cores:": "CPU 코어:", "Cancel": "취소", "Cancel & Return": "취소 및 돌아가기", "Cert Password:": "인증서 비밀번호:", - "Certificate Subject (e.g. My Company):": "인증서 발급자 (예: My Company):", + "Certificate Subject (e.g. My Company):": "인증서 주체 (예: 내 회사):", "Certificate generated successfully!": "인증서가 성공적으로 생성되었습니다!", "Certificate password": "인증서 비밀번호", - "Check log output below for troubleshooting.": "문제 해결을 위해 아래의 로그를 확인하세요.", + "Check log output below for troubleshooting.": "문제 해결을 위해 아래 로그 출력을 확인하세요.", "Clean Temporary Cache After Build": "빌드 후 임시 캐시 정리", "Clear All": "모두 지우기", - "Clear Local Venvs": "로컬 가상 환경 정리", + "Clear Local Venvs": "로컬 가상 환경 지우기", "Clear Log": "로그 지우기", - "Clear Virtual Environments": "가상 환경 정리", - "Click to automatically download, install Python, and configure system environment variables.": "클릭하여 자동으로 Python을 다운로드, 설치하고 시스템 환경 변수를 구성하세요.", + "Clear Virtual Environments": "가상 환경 지우기", + "Click to automatically download, install Python, and configure system environment variables.": "클릭하여 Python을 자동으로 다운로드, 설치하고 시스템 환경 변수를 구성합니다.", "Code Signing": "코드 서명", "Comma separated (e.g. pandas, PyQt5)": "쉼표로 구분 (예: pandas, PyQt5)", "Comma separated (e.g. tkinter, matplotlib)": "쉼표로 구분 (예: tkinter, matplotlib)", - "Commercial PFX File:": "상용 PFX 파일:", + "Commercial PFX File:": "상업용 PFX 파일:", "Compatibility Mode (Default)": "호환 모드 (기본값)", - "Compatibility depends on build environment glibc version.": "호환성은 현재 시스템의 glibc 버전에 따라 달라집니다.", - "Concise Log Output": "간소화된 로그 출력", - "Concise Mode": "간소화 모드", - "Config preset exported to: {path}": "프리셋을 내보냈습니다: {path}", - "Config preset imported successfully.": "프리셋 가져오기 완료.", - "Configure Build Settings": "빌드 매개변수 구성", + "Compatibility depends on build environment glibc version.": "호환성은 빌드 환경의 glibc 버전에 따라 달라집니다.", + "Concise Log Output": "간결한 로그 출력", + "Concise Mode": "간결 모드", + "Config preset exported to: {path}": "구성 사전 설정이 다음 위치로 내보내졌습니다: {path}", + "Config preset imported successfully.": "구성 사전 설정을 성공적으로 가져왔습니다.", + "Configure Build Settings": "빌드 설정 구성", "Configure Manually": "수동으로 구성", "Confirm Password:": "비밀번호 확인:", - "Contents Directory (--contents-directory):": "내부 리소스 디렉터리:", + "Contents Directory (--contents-directory):": "콘텐츠 디렉터리 (--contents-directory):", "Copy": "복사", - "Create": "생성", - "Create Self-Signed Cert": "자체 서명 인증서 생성", + "Create": "만들기", + "Create Self-Signed Cert": "자체 서명 인증서 만들기", "Custom Directory": "사용자 지정 디렉터리", "Cut": "잘라내기", - "Declared in requirements.txt ({count}): {pkgs}": "requirements.txt 명시됨 ({count}): {pkgs}", - "Declared in requirements.txt: None": "requirements.txt 명시됨: 없음", + "Declared in requirements.txt ({count}): {pkgs}": "requirements.txt에 선언됨 ({count}): {pkgs}", + "Declared in requirements.txt: None": "requirements.txt에 선언됨: 없음", "Delete All": "모두 삭제", - "Dependencies": "의존성", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "의존성 누락 경고: {pkgs} 설치 실패.", + "Deleting...": "삭제 중...", + "Dependencies": "종속성", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "종속성 누락 경고: {pkgs} 설치 실패. 자세한 내용은 로그를 확인하세요.", "Description:": "설명:", "Desktop Application": "데스크톱 애플리케이션", "Detailed Mode": "상세 모드", "Directory": "디렉터리", - "Discovered via scanner ({count}): {pkgs}": "스캐너로 발견됨 ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "더블클릭하여 수정. 드래그 앤 드롭 지원", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "대상 경로를 편집하려면 더블 클릭하세요. 드래그 앤 드롭 지원. 저장을 위해 '프리셋 내보내기'를 사용하세요.", + "Discovered via scanner ({count}): {pkgs}": "스캐너를 통해 발견됨 ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "대상 경로를 편집하려면 두 번 클릭하세요. 끌어서 놓기 지원됨", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "대상 경로를 편집하려면 더블클릭하세요. 드래그 앤 드롭도 지원됩니다. 재사용을 위해 '내보내기 사전 설정'을 사용하세요.", "Download New Version": "새 버전 다운로드", "Download Python": "Python 다운로드", - "Download complete. Starting Python installation...": "다운로드 완료. Python 설치 시작 중...", - "Downloading Python {ver}... Please wait.": "Python {ver} 버전을 다운로드하는 중... 잠시만 기다려주세요.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python 스크립트 (.py/.pyw) 파일을 이곳에 끌어다 놓거나\n클릭하여 찾아보기...", - "Drop Python source code to start": "시작하려면 Python 소스 코드를 드래그 앤 드롭하세요", + "Download complete. Starting Python installation...": "다운로드 완료. Python 설치를 시작합니다...", + "Downloading Python {ver}... Please wait.": "Python {ver} 다운로드 중... 잠시 기다려 주세요.", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python 스크립트(.py/.pyw)를 여기에 드래그 앤 드롭하세요\n또는 클릭하여 찾아보기", + "Drop Python source code to start": "Python 소스 코드를 드롭하여 시작하세요", "Edit Path": "경로 편집", - "Enable Smart Code Signing": "디지털 서명 활성화", + "Enable Automatic Backport Isolation": "자동 백포트 격리 활성화", + "Enable Smart Code Signing": "스마트 코드 서명 활성화", "Enable UPX Compression": "UPX 압축 활성화", "Engine": "엔진", - "Engine & Environment": "빌드 엔진 및 환경", + "Engine & Environment": "엔진 및 환경", + "Environment Analysis": "환경 분석", + "Environment Analysis & Remediation": "환경 분석 및 수정", "Error": "오류", - "Exclude Modules:": "제외할 모듈:", - "Execution Log": "실행 기록", + "Exclude Modules:": "제외 모듈:", + "Execution Log": "실행 로그", "Execution Mode": "실행 모드", "Exit Now": "지금 종료", "Export Log...": "로그 내보내기...", - "Export Preset...": "프리셋 내보내기...", - "Failed to generate certificate.": "인증서 생성 실패.", + "Export Preset...": "사전 설정 내보내기...", + "Failed to generate certificate.": "인증서 생성에 실패했습니다.", "File": "파일", - "Folder Mode (--onedir)": "폴더 (--onedir)", - "Full backward compatibility": "구형 OS 호환", + "Folder Mode (--onedir)": "폴더 모드 (--onedir)", + "Full backward compatibility": "전체 하위 호환성", "Generate": "생성", - "GitHub Repository": "GitHub 레포지토리", - "Global configuration has been reset.": "글로벌 설정이 리셋되었습니다.", - "Hidden Imports:": "암시적 임포트:", + "GitHub Repository": "GitHub 저장소", + "Global configuration has been reset.": "전역 구성이 재설정되었습니다.", + "Hidden Imports:": "숨겨진 가져오기:", "Hide Console (--noconsole)": "콘솔 숨기기 (--noconsole)", - "Hide Custom Cert Settings ▾": "인증서 고급 설정 접기 ▾", - "Huawei Cloud (China)": "화웨이 클라우드", - "Import Name": "import 이름", - "Import Preset...": "프리셋 가져오기...", - "Import name (e.g. cv2):": "import 이름 (예: cv2):", + "Hide Custom Cert Settings ▾": "사용자 지정 인증서 설정 숨기기 ▾", + "Huawei Cloud (China)": "화웨이 클라우드 (중국)", + "Import Name": "가져오기 이름", + "Import Preset...": "사전 설정 가져오기...", + "Import name (e.g. cv2):": "가져오기 이름 (예: cv2):", "Independent Developer": "독립 개발자", "Initializing build...": "빌드 초기화 중...", + "Inspect Interpreter Environment": "인터프리터 환경 검사", "Install Complete": "설치 완료", "Install requirements.txt": "requirements.txt 설치", - "Internal directory name for dependencies (default: _internal)": "의존성 및 리소스를 위한 내부 디렉터리 이름 (기본값: _internal)", + "Internal directory name for dependencies (default: _internal)": "종속성 내부 디렉터리 이름 (기본값: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "인터프리터 검사 통과: 활성 백포트 충돌이 감지되지 않았습니다.", "Interpreter:": "인터프리터:", "Invalid syntax": "잘못된 구문", - "Issues & Feedback": "이슈 및 피드백", + "Issues & Feedback": "문제 및 피드백", "Keep Local Venv": "로컬 가상 환경 유지", "Later": "나중에", - "Leave blank to auto-detect from environment variables": "비워두면 자동 감지합니다", - "Leave blank to auto-detect system default Python": "비워두면 자동 감지합니다", - "Leave blank to auto-match script name": "비워두면 스크립트 이름을 사용합니다", - "Leave blank to auto-search requirements.txt in current directory": "비워두면 자동 검색합니다", - "Legacy macOS Compatible": "구형 macOS 호환", - "Lite Mode (Smaller size)": "경량 모드 (용량 최적화)", - "Loaded: {filename}": "로드 완료: {filename}", + "Leave blank to auto-detect from environment variables": "비워 두면 환경 변수에서 자동 감지", + "Leave blank to auto-detect system default Python": "비워 두면 시스템 기본 Python 자동 감지", + "Leave blank to auto-match script name": "비워 두면 스크립트 이름과 자동 일치", + "Leave blank to auto-search requirements.txt in current directory": "비워 두면 현재 디렉터리에서 requirements.txt 자동 검색", + "Legacy macOS Compatible": "레거시 macOS 호환", + "Lite Mode (Smaller size)": "라이트 모드 (더 작은 크기)", + "Loaded: {filename}": "로드됨: {filename}", "Locally Detected Pythons": "로컬에서 감지된 Python", - "Lock Core Dependencies": "핵심 의존성 고정", - "Log saved to: {path}": "로그가 저장되었습니다: {path}", - "Manifest complete (No missing packages)": "매니페스트 완료 (누락 없음)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "최대 호환성. 복잡한 동적 임포트를 사용하는 앱에 권장.", - "Mirrors & Scanner": "미러 서버 및 스캐너", - "Modern Cross-Platform Python Application Packager": "모던 크로스 플랫폼 Python 애플리케이션 패키징 도구", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstaller & Nuitka 기반의 모던 Python 패키징 GUI", + "Lock Core Dependencies": "핵심 종속성 잠금", + "Log saved to: {path}": "로그 저장 위치: {path}", + "Manifest complete (No missing packages)": "매니페스트 완료 (누락된 패키지 없음)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "최대 호환성. 복잡한 동적 가져오기가 있는 앱에 권장됩니다.", + "Min Python Ver": "최소 Python 버전", + "Minimum Built-in Python Version (e.g. 3.4):": "최소 내장 Python 버전 (예: 3.4):", + "Mirrors & Scanner": "미러 및 스캐너", + "Modern Cross-Platform Python Application Packager": "현대적인 크로스 플랫폼 Python 애플리케이션 패키저", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstaller 및 Nuitka 기반의 현대적인 크로스 플랫폼 Python 패키징 GUI", "No Windows 7 Support": "Windows 7 미지원", + "No environment conflicts detected.": "환경 충돌이 감지되지 않았습니다.", "No local Python environments detected.": "로컬 Python 환경이 감지되지 않았습니다.", "No local virtual environments found to clean.": "정리할 로컬 가상 환경이 없습니다.", "No log content.": "로그 내용이 없습니다.", "Nuitka Version:": "Nuitka 버전:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — 네이티브 C/C++ 바이너리로 컴파일하여 실행 속도가 빠릅니다.", - "OK": "확인", - "OS Support Matrix:": "OS 지원 현황:", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — 소스 코드를 네이티브 C/C++ 바이너리로 컴파일합니다. 더 작은 패키지 크기, 더 빠른 실행, 강력한 디컴파일 방지 보호 기능을 제공합니다 (C 컴파일러 필요).", + "OK": "OK", + "OS Support Matrix:": "OS 지원 매트릭스:", + "Obsolete Backport Exclusion Rules": "구식 백포트 제외 규칙", "One-Click Download & Install": "원클릭 다운로드 및 설치", "One-Click Install": "원클릭 설치", - "One-File Mode (--onefile)": "단일 파일 (--onefile)", - "Only supported on Windows.": "Windows 환경에서만 지원됩니다.", - "Open Directory": "출력 폴더 열기", - "Open output directory or reset workspace.": "출력 폴더를 열거나 작업 영역을 리셋하세요.", + "One-File Mode (--onefile)": "단일 파일 모드 (--onefile)", + "Only supported on Windows.": "Windows에서만 지원됩니다.", + "Open Directory": "디렉토리 열기", + "Open output directory or reset workspace.": "출력 디렉토리를 열거나 작업 공간을 재설정합니다.", "Optimization & Security": "최적화 및 보안", - "Output Location": "결과물 출력 위치", - "Output Location:": "출력 규칙:", - "Output Name:": "출력 파일 이름:", - "Package Map": "패키지 매핑", + "Output Location": "출력 위치", + "Output Location:": "출력 위치:", + "Output Name:": "출력 이름:", + "Package Map": "패키지 맵", + "Package Mapping & Remediation": "패키지 매핑 및 수정", + "Package Mappings & Rules": "패키지 매핑 및 규칙", + "Package Name": "패키지 이름", + "Package Name (e.g. pathlib):": "패키지 이름 (예: pathlib):", "Package Name Mappings": "패키지 이름 매핑", - "Package mappings have been reset to defaults.": "패키지 매핑이 초기화되었습니다.", + "Package mappings have been reset to defaults.": "패키지 매핑이 기본값으로 재설정되었습니다.", "Packaging Mode:": "패키징 모드:", - "Parsing metadata...": "메타데이터 분석 중...", - "Password cannot be empty!": "비밀번호를 입력해야 합니다!", + "Parsing metadata...": "메타데이터 파싱 중...", + "Password cannot be empty!": "비밀번호는 비워둘 수 없습니다!", "Password:": "비밀번호:", "Passwords do not match!": "비밀번호가 일치하지 않습니다!", "Paste": "붙여넣기", "Performance Optimization": "성능 최적화", - "Platform Support Matrix:": "플랫폼 지원:", + "Platform Support Matrix:": "플랫폼 지원 매트릭스:", "Preferences": "환경 설정", - "Preferences & System Behavior": "환경 설정 및 동작", + "Preferences & System Behavior": "환경 설정 및 시스템 동작", "Preparing engine...": "엔진 준비 중...", "Primary PIP Index:": "기본 PIP 인덱스:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "프로젝트 전용 설정입니다. '프리셋 내보내기'를 사용하세요.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "프로젝트별 설정입니다. 전역 환경 설정에 저장되지 않습니다. 구성을 저장하려면 '프리셋 내보내기'를 사용하세요.", "PyInstaller Version:": "PyInstaller 버전:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — 빌드 속도가 빠르고 호환성이 뛰어납니다. 컴파일러가 필요 없습니다.", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Python 인터프리터와 바이트코드를 번들링합니다. 빠른 빌드 속도, 제로 구성(C 컴파일러 불필요), 뛰어난 호환성을 제공합니다.", "PyPI Home": "PyPI 홈", - "PyPI Official (Global Default)": "PyPI 공식 (글로벌 기본값)", + "PyPI Official (Global Default)": "PyPI 공식(전역 기본값)", "PyPI Package Name": "PyPI 패키지 이름", - "PyPI package name for [{imp_name}]:": "[{imp_name}] PyPI 패키지 이름:", + "PyPI package name for [{imp_name}]:": "[{imp_name}]의 PyPI 패키지 이름:", "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (권장)", + "Python 3.11.9 (Recommended)": "Python 3.11.9(권장)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (실험적)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7 지원)", + "Python 3.14.6 (Experimental)": "Python 3.14.6(실험적)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10(Win7 지원)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Python 환경 관리", "Python Environment Required": "Python 환경 필요", - "Python Packaging, Reimagined.": "Python 패키징, 새로운 경험.", + "Python Packaging, Reimagined.": "Python 패키징, 재창조.", "Python TestPyPI": "Python TestPyPI", - "Python installed. Please restart QPyPack manually later.": "Python이 설치되었습니다. 나중에 수동으로 QPyPack을 다시 시작하십시오.", + "Python installed. Please restart QPyPack manually later.": "Python이 설치되었습니다. 나중에 QPyPack을 수동으로 다시 시작하세요.", "QPyPack Developer": "QPyPack 개발자", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack은 무료 도구입니다. 도움이 되셨다면 커피를 사주세요!", - "Ready, waiting for build.": "준비 완료. 빌드 대기 중.", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack은 무료 오픈소스 도구입니다. 효율성을 높이거나 패키징 문제를 해결했다면, 작성자에게 커피 한 잔 사주는 건 어떨까요!", + "Ready, waiting for build.": "준비 완료, 빌드 대기 중.", "Rebuild": "다시 빌드", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "권장: 6자 이상, 영문자, 숫자, '-' 및 '_'만 사용. 공백이나 특수문자 제외.", - "Remove Selected": "선택 삭제", - "Requirements File:": "의존성 목록 파일:", - "Reset": "재설정", - "Reset to Default Config": "기본 설정으로 재설정", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "권장: 6자 이상, 영숫자, '-' 및 '_'만 사용. 공백이나 중국어를 피하여 서명 오류를 방지하세요.", + "Remediate Detected Conflicts": "감지된 충돌 해결", + "Remediation completed for packages: {pkgs}": "패키지에 대한 해결 완료: {pkgs}", + "Remove Selected": "선택 항목 제거", + "Requirements File:": "요구 사항 파일:", + "Reset": "초기화", + "Reset to Default Config": "기본 구성으로 재설정", "Resources": "리소스", "Restore Defaults": "기본값 복원", "Save & Return": "저장 및 돌아가기", "Save Certificate": "인증서 저장", - "Scan Entire Folder": "폴더 전체 스캔", + "Scan Entire Folder": "전체 폴더 스캔", + "Scanning...": "스캔 중...", "Script and settings retained. Ready to rebuild.": "스크립트 및 설정이 유지되었습니다. 다시 빌드할 준비가 되었습니다.", - "Select .pfx / .p12 certificate file": ".pfx / .p12 형식의 인증서 파일을 선택하세요", - "Select All": "전체 선택", - "Select Python Version to Download:": "다운로드할 Python 버전을 선택하세요:", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "스크립트가 로드되었습니다. 에셋 폴더나 데이터 파일을 여기에 직접 끌어다 놓아 번들할 수 있습니다.", + "Select .pfx / .p12 certificate file": ".pfx / .p12 인증서 파일 선택", + "Select All": "모두 선택", + "Select Python Version to Download:": "다운로드할 Python 버전 선택:", "Self-Signed Certificate (*.pfx)": "자체 서명 인증서 (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "최소 출력 용량. 95%의 일반 앱에 권장.", - "Sound Notification": "완료 알림음", + "Smaller output size. Recommended for 95% of standard apps.": "더 작은 출력 크기. 표준 앱의 95%에 권장됩니다.", + "Sound Notification": "소리 알림", "Source Directory (.qpypack_build)": "소스 디렉터리 (.qpypack_build)", "Source File Directory": "소스 파일 디렉터리", - "Sponsor": "스폰서", + "Sponsor": "후원", "Start Build": "빌드 시작", "Status: Build Cancelled": "상태: 빌드 취소됨", "Status: Build Completed": "상태: 빌드 완료", "Status: Build Failed": "상태: 빌드 실패", + "Status: Environment inspection ready.": "상태: 환경 검사 준비 완료.", "Status: Loaded {filename}{mode}": "상태: {filename}{mode} 로드됨", "Status: Packaging ({engine}) ...": "상태: 패키징 중 ({engine}) ...", - "Status: Parsing {filename}...": "상태: {filename} 분석 중...", + "Status: Parsing {filename}...": "상태: {filename} 파싱 중...", "Status: Ready": "상태: 준비 완료", - "Status: Workspace Reset": "상태: 작업 영역 리셋됨", - "Stop Build": "빌드 중단", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "{count}개의 가상 환경을 정리하여 {size:.1f} MB의 디스크 공간을 확보했습니다.", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "[빌드 설정] -> [엔진]으로 전환되었습니다. Python 경로를 설정해 주세요.", + "Status: Workspace Reset": "상태: 작업 공간 재설정됨", + "Stop Build": "빌드 중지", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "{count}개의 가상 환경을 성공적으로 정리하여 {size:.1f} MB 디스크 공간을 확보했습니다.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "[빌드 설정] -> [엔진]으로 전환하여 Python 경로를 설정하세요.", "Switched to local Python environment: {path}": "로컬 Python 환경으로 전환됨: {path}", "System Default ({sys_native})": "시스템 기본값 ({sys_native})", - "System Temp Directory": "시스템 임시 폴더", + "System Temp Directory": "시스템 임시 디렉터리", "Target Directory:": "대상 디렉터리:", "Target relative path:": "대상 상대 경로:", "Temporary Directory:": "임시 디렉터리:", - "Tencent Cloud (China)": "텐센트 클라우드", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "팁: 경량 모드에서 빌드에 실패했습니다. [빌드 설정]에서 [호환 모드]로 전환 후 다시 시도해 보세요.", - "Toggle Execution Log": "실행 로그 켜기/끄기", - "Tsinghua University (China)": "칭화대학교", - "UI Language:": "표시 언어:", + "Tencent Cloud (China)": "텐센트 클라우드 (중국)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "팁: 라이트 모드에서 빌드가 실패했습니다. 빌드 설정에서 [호환 모드]로 전환한 후 다시 빌드해 보세요.", + "Toggle Execution Log": "실행 로그 토글", + "Tsinghua University (China)": "칭화대학교 (중국)", + "UI Language:": "UI 언어:", "UPX Path:": "UPX 경로:", - "USTC (China)": "USTC 미러", + "USTC (China)": "중국과학기술대학교 (중국)", "Undo": "실행 취소", "Unknown": "알 수 없음", - "Use Custom Commercial Cert (Optional) ▸": "상용 디지털 인증서 구성 (선택 사항) ▸", - "Use Installed Version Directly": "✔ 설치된 버전 직접 사용", + "Use Custom Commercial Cert (Optional) ▸": "사용자 지정 상업용 인증서 사용 (선택 사항) ▸", + "Use Installed Version Directly": "설치된 버전 직접 사용", "Use Selected Environment": "선택한 환경 사용", "Use Virtual Environment": "가상 환경 사용", "Version:": "버전:", "View Python": "Python 보기", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 추가 리소스를 찾을 수 없음: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 빌드 중단됨: 디스크 공간 부족. 최소 5GB를 확보하세요.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] 빌드 완료되었으나 설치 실패 패키지 존재:\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 실행 가능한 결과물을 찾을 수 없습니다: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 파싱 중 예외 발생: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 가상 환경 생성 실패.", - "[ERROR] Failed to export log file: {error}": "[ERROR] 로그 내보내기 실패: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] 프리셋 내보내기 실패: {error}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 추가 리소스 파일/디렉터리를 찾을 수 없음: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 빌드 중단: 디스크 공간 부족(NoSpaceLeft / Errno 28). 드라이브 공간을 정리하고(최소 5GB 여유 공간 권장) 다시 시도하세요.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] 빌드가 완료되었지만 다음 종속성을 설치하지 못했습니다:\n\n - {pkgs}\n\n참고: 런타임 시 ModuleNotFoundError가 발생할 수 있습니다.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 임시 빌드 디렉터리에서 유효한 실행 파일 제품을 찾을 수 없음: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] 환경 복구 실패: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 구문 분석 중 예외 발생: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 가상 환경을 만들지 못했습니다. 현재 Python 환경에 필요한 모듈이 없거나 권한이 제한되어 있을 수 있습니다.", + "[ERROR] Failed to export log file: {error}": "[ERROR] 로그 파일 내보내기 실패: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] 프리셋 파일 내보내기 실패: {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O 예외: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] 디스크 공간이 부족합니다 (사용 가능: {free:.1f} GB).", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 출력 디렉터리에 쓰기 권한이 없습니다: {error}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] 디스크 공간 부족(사용 가능: {free:.1f} GB). 빌드 환경을 안전하게 초기화하려면 최소 0.5GB가 필요합니다.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 출력 디렉터리에 쓰기 권한이 없음: {error}", "[ERROR] Please load a valid Python source file first!": "[ERROR] 먼저 유효한 Python 소스 파일을 로드하세요!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] 프리셋 형식이 잘못되었습니다: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] 프로세스 오류: {error}", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 결과물 이동 실패: {error}", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] 프리셋 파일 형식 오류 또는 손상: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] 프로세스 오류: 명령 또는 바이너리 누락({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 제품 전송 실패, 파일이 시스템 프로세스에 의해 사용 중이거나 권한이 없을 수 있습니다: {error}", "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python 설치가 실패했거나 취소되었습니다.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python 인터프리터를 찾을 수 없거나 올바르지 않음: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] 의존성 파일을 찾을 수 없음: {path}", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python 인터프리터가 잘못되었거나 찾을 수 없음: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] 요구 사항 파일을 찾을 수 없음: {path}", "[ERROR] System execution exception: {error}": "[ERROR] 시스템 실행 예외: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 대상 파일이 클라우드 드라이브에 의해 잠겼습니다.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] 대상 파일이 실행 중이거나 사용 중입니다. 애플리케이션을 닫고 다시 시도하세요.", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 아이콘 파일이 존재하지 않음: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] 예외적으로 빌드가 중단되었습니다!\n\n일반적인 문제 해결:\n1. 환경 불일치(가장 일반적): 선택한 Python 버전이 소스 코드와 호환되지 않습니다. [빌드 설정]으로 이동하여 이 코드에 사용하는 Python 버전으로 전환하세요.\n2. 누락된 종속성: 위의 '상세 모드'를 클릭하여 ModuleNotFoundError가 있는지 확인하세요.\n3. 바이러스 백신 차단: 보안 소프트웨어가 빌드 프로세스를 차단하고 있지 않은지 확인하세요.\n\n(참고: 이는 일반적으로 패키징 엔진 자체보다는 환경/코드 불일치로 인해 발생합니다. 정확한 이유는 상세 로그를 확인하세요.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 예외로 인해 컴파일이 중단되었습니다. '상세 모드'를 확인하세요.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] 소스 코드 및 의존성 분석 중...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] 타임스탬프 서버({tsa})를 통해 디지털 서명을 완료했습니다...", - "[INFO] Applying smart digital signature...": "[INFO] 애플리케이션에 디지털 서명 적용 중...", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 대상 파일이 클라우드 드라이브에 의해 잠겨 있거나 암호화되어 있습니다. 암호를 해독하고 다시 시도하세요.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] 대상 파일이 실행 중이거나 사용 중입니다. 기존 응용 프로그램을 닫고 다시 시도하세요.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 지정된 아이콘 파일이 존재하지 않음: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] 빌드가 예외적으로 중단되었습니다!\n\n일반적인 문제 해결:\n1. 환경 불일치(가장 일반적): 선택한 Python 버전이 소스 코드와 호환되지 않습니다. [빌드 설정]으로 이동하여 이 코드에 일반적으로 사용하는 Python 버전으로 전환하세요.\n2. 누락된 종속성: 위의 '상세 모드'를 클릭하여 ModuleNotFoundError를 확인하세요.\n3. 바이러스 백신 차단: 보안 소프트웨어가 빌드 프로세스를 차단하지 않는지 확인하세요.\n\n(참고: 이는 일반적으로 패키징 엔진 자체보다는 환경/코드 불일치로 인해 발생합니다. 정확한 이유는 상세 로그를 확인하세요.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 컴파일이 예외로 중단되었습니다. 문제 해결을 위해 로그 창 위의 '상세 모드'를 클릭하세요.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}'을(를) 추가 리소스에 추가했습니다.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] 추가 리소스에 {count}개의 리소스 항목을 추가했습니다.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] 소스 코드 및 프로젝트 종속성을 분석하는 중...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] 타임스탬프({tsa})와 함께 디지털 서명을 적용했습니다...", + "[INFO] Applying smart digital signature...": "[INFO] 스마트 디지털 서명을 적용하는 중...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] 기존 가상 환경 '{venv}'을(를) 자동 감지했습니다. '로컬 Venv 유지'가 선택되어 있습니다.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] 더 이상 사용되지 않는 백포트 모듈을 자동으로 차단했습니다: '{pkg}' (Python {ver}에 내장됨)", "[INFO] Build Cancelled.": "[INFO] 빌드가 취소되었습니다.", - "[INFO] Build log exported to: {path}": "[INFO] 빌드 로그 내보냄: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] 컴파일 완료, 파일 아카이빙 중...", - "[INFO] Creating virtual environment ({name})...": "[INFO] 가상 환경 생성 중 ({name})...", - "[INFO] Creating virtual environment...": "[INFO] 가상 환경 생성 중...", + "[INFO] Build log exported to: {path}": "[INFO] 빌드 로그를 {path}에 내보냈습니다.", + "[INFO] Compilation completed, archiving built files...": "[INFO] 컴파일이 완료되어 빌드된 파일을 보관하는 중...", + "[INFO] Creating virtual environment ({name})...": "[INFO] 가상 환경({name})을(를) 만드는 중...", + "[INFO] Creating virtual environment...": "[INFO] 가상 환경을 만드는 중...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] 미러를 통해 Playwright 브라우저를 다운로드하는 중: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] 시스템 메모리 평가 (사용 가능: {ram:.1f} GB). 동시성 조정: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] 로컬 Clang 환경을 발견했습니다. LLVM Clang 컴파일러를 우선 사용합니다.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] 로컬 GCC/MinGW-w64 환경을 감지했습니다. MinGW64 컴파일러를 사용합니다.", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] 로컬 MSVC 환경을 발견했습니다. 네이티브 C++ 컴파일러를 우선 사용합니다.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] 로컬 Zig 환경을 감지했습니다. Nuitka가 C 백엔드 컴파일을 관리합니다.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 임시 빌드 환경 정리 중...", - "[INFO] Initializing isolated build environment...": "[INFO] 격리된 빌드 환경 초기화 중...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 의존성 설치 중 ({count}개): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 경량화 모드가 활성화되었습니다. 바이트코드 최적화(-OO)를 적용하고 개발 모듈을 제거하는 중...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] 로컬 C 컴파일러가 감지되지 않았습니다. Nuitka가 호환되는 MinGW-w64 도구 체인을 자동으로 다운로드하고 관리합니다.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka 팁: 첫 빌드 시 GCC/MinGW 다운로드 요청 시 안정적인 네트워크를 유지하세요.", - "[INFO] Performing pre-flight environment checks...": "[INFO] 환경 사전 점검 수행 중...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright가 감지되었습니다. 내장 브라우저 드라이버를 설치하는 중...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ 감지됨: Zig 컴파일러를 사용합니다.", - "[INFO] Python interpreter path: {path}": "[INFO] Python 경로: {path}", - "[INFO] Resolving project dependencies...": "[INFO] 프로젝트 의존성 해결 중...", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] 시스템 물리 메모리를 평가하는 중 (사용 가능: {ram:.1f} GB). 적응형 동시성 조정: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] 로컬 Clang 환경을 찾았습니다. LLVM Clang 컴파일러를 우선 사용합니다.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] 로컬 GCC/MinGW-w64 환경을 찾았습니다. MinGW64 컴파일러를 사용합니다.", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] 로컬 MSVC 환경을 찾았습니다. 네이티브 C++ 컴파일러를 우선 사용합니다.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] 로컬 Zig 환경을 찾았습니다. Nuitka가 C 백엔드 컴파일을 관리하도록 합니다.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 공간을 확보하고 임시 빌드 환경을 정리하는 중...", + "[INFO] Initializing isolated build environment...": "[INFO] 격리된 빌드 환경을 초기화하는 중...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 빌드 환경 및 프로젝트 종속성을 설치하는 중 ({count}개 패키지): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 라이트 모드가 활성화되어 바이트코드 최적화(-OO) 및 개발 모듈 제거를 적용하는 중...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] 로컬 C 컴파일러가 감지되지 않았습니다. Nuitka가 호환되는 MinGW-w64 툴체인을 자동으로 다운로드하고 관리합니다.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka 팁: 첫 빌드 시 GCC/MinGW 컴파일러 다운로드가 요청되면 안정적인 네트워크 연결을 확인하세요.", + "[INFO] Performing pre-flight environment checks...": "[INFO] 사전 환경 점검을 수행하는 중...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright가 감지되었습니다. 내장 브라우저를 설치하는 중 (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ 감지: C 백엔드로 Zig 컴파일러(--zig)를 사용합니다.", + "[INFO] Python interpreter path: {path}": "[INFO] Python 인터프리터 경로: {path}", + "[INFO] Resolving project dependencies...": "[INFO] 프로젝트 종속성을 해결하는 중...", "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 공식 CDN을 통해 Playwright 브라우저 다운로드를 재시도하는 중...", - "[INFO] Reusing existing virtual environment...": "[INFO] 기존 로컬 가상 환경 재사용 중...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] 기존 가상 환경 재사용: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] AST 엔진을 통해 소스 코드 스캔 중...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine} 엔진을 시작하여 컴파일 중...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] 아이콘 매개변수를 제거하고 다시 빌드 중...", - "[INFO] Successfully installed compatible versions.": "[INFO] 호환 버전 설치 완료.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] 보조 PyPI 소스로 전환: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip 패키지 관리자 업데이트 중...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] 팁: 패키지화된 실행 파일은 백신에 의해 오탐될 수 있습니다. 예외 처리를 권장합니다.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] MinGW64 컴파일러를 사용합니다.", - "[INFO] Using MinGW64 compiler.": "[정보] MinGW64 컴파일러를 사용 중입니다.", - "[INFO] Validating output files and generating final product...": "[INFO] 출력 파일 검증 및 최종 결과물 생성 중...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] 컴파일 완료. 경로: {path}", + "[INFO] Reusing existing virtual environment...": "[INFO] 기존 가상 환경을 재사용하는 중...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] 기존 가상 환경 재사용 중: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] AST 엔진으로 프로젝트 소스 코드 스캔 중...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine} 엔진을 시작하여 바이너리 파일을 컴파일하는 중...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] 아이콘 매개변수를 제거하고 자동으로 다시 빌드하는 중...", + "[INFO] Successfully installed compatible versions.": "[INFO] 호환되는 버전을 성공적으로 설치했습니다.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] 백업 PyPI 소스로 전환하여 가져오는 중: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip 패키지 관리자를 동기화 및 업그레이드하는 중...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] 팁: 상업용 서명이 없는 실행 파일은 Windows Defender/백신에 의해 오탐될 수 있습니다.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] C 백엔드에 MinGW64 컴파일러(--mingw64)를 사용하는 중.", + "[INFO] Using MinGW64 compiler.": "[INFO] MinGW64 컴파일러를 사용하는 중.", + "[INFO] Validating output files and generating final product...": "[INFO] 출력 파일 검증 및 최종 제품 생성 중...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] 컴파일 완료, 출력 경로: {path}", "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] 디지털 서명이 성공적으로 적용되었습니다!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[구문 오류] 소스 코드에 오류가 있습니다:\n - 파일: {file}\n - 유형: {type}\n - 라인: {line}\n - 세부 정보: {desc}", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[구문 오류] 소스 코드 구문 분석 실패, 빌드 중단됨:\n - 파일: {file}\n - 라인: {line}\n - 세부 정보: {desc}\n\n팁: 이는 패키징 도구의 오류가 아닙니다.\n선택한 [빌드 Python 버전]이 [코드 작성/테스트]에 사용한 버전과 일치하는지 확인하세요.\n이전 Python 환경에서 최신 구문을 사용하면 이 오류가 발생합니다.\n올바른 Python 버전으로 전환하려면 [빌드 설정] -> [엔진]으로 이동하는 것이 좋습니다.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing' 모듈이 감지되었습니다. 무한 루프를 방지하려면 'multiprocessing.freeze_support()'를 호출하세요.", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] 소스 코드에 구문 오류가 있어 컴파일이 중단되었습니다:\n - 파일: {file}\n - 유형: {type}\n - 줄: {line}번째 줄\n - 세부 정보: {desc}\n\n팁: 패키징 전에 소스 코드가 로컬에서 실행되는지 확인하세요.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] 소스 코드 구문 분석에 실패하여 빌드가 중단되었습니다:\n - 파일: {file}\n - 줄: {line}번째 줄\n - 세부 정보: {desc}\n\n팁: 이는 일반적으로 패키징 도구의 문제가 아닙니다.\n선택한 [빌드 Python 버전]이 코드를 [작성/테스트]할 때 사용한 버전과 일치하는지 확인하세요.\n이전 Python 환경에서 최신 구문(예: 바다코끼리 연산자 :=, 타입 유니온 |, match-case)을 사용하면 이 오류가 발생합니다.\n[빌드 설정] -> [엔진]에서 올바른 Python 버전으로 전환하는 것을 권장합니다.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing' 모듈이 감지되었습니다. 무한 프로세스 루프(포크 폭탄)를 방지하려면 'if __name__ == \"__main__\":' 아래에서 'multiprocessing.freeze_support()'를 호출하세요.", "[WARN] AST Analysis Exception: {error}": "[WARN] AST 분석 예외: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] 명령 시간 초과 (>{timeout}초)", + "[WARN] Command timeout (>{timeout}s)": "[WARN] 명령 시간 초과(>{timeout}초)", "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' 또는 'httpx'가 감지되었습니다. SSL 오류를 방지하기 위해 'certifi' 인증서를 자동으로 번들링합니다.", "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] 잘못된 환경을 제거하지 못해 임시 샌드박스로 대체합니다: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] .icns로의 아이콘 변환 실패, 아이콘 없이 빌드합니다.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] 아이콘 쓰기가 차단되었습니다(백신 등).", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] 디스크 여유 공간 부족 (여유: {free:.1f} GB). 오류가 발생할 수 있습니다.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] 메모리 부족. 단일 스레드 모드로 재시도...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 패키지 '{pkg}' 설치 실패, 건너뛰는 중...", - "[WARN] Pause code injection exception: {error}": "[WARN] 일시 정지 코드 주입 예외: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] 모든 소스에서 Playwright 브라우저 설치 실패, 위험을 감수하고 빌드를 계속합니다...", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] .icns 아이콘 변환에 실패하여 아이콘 없이 빌드합니다.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] 아이콘 리소스 쓰기가 차단되어(시스템/백신에 의해 잠겼을 수 있음) 대체 보호를 트리거합니다...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] 빌드 대상 드라이브의 디스크 공간이 부족합니다(사용 가능: {free:.1f} GB, 5.0 GB 이상 권장). 디스크 부족으로 빌드 프로세스가 중단될 수 있습니다.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] 메모리 할당 예외가 발생했습니다(ZstdError / OOM). 메모리 보호 대체를 트리거합니다: 단일 스레드 모드로 재시도 중...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 패키지 '{pkg}' 설치에 실패하여 건너뜁니다...", + "[WARN] Pause code injection exception: {error}": "[WARN] 일시 중지 코드 주입 예외: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] 모든 소스에서 Playwright 브라우저 설치에 실패하여 위험을 감수하고 빌드를 진행합니다...", "[WARN] Python environment info detection fallback: {error}": "[WARN] Python 환경 정보 감지 대체: {error}", "[WARN] Read requirements.txt warning: {error}": "[WARN] requirements.txt 읽기 경고: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] 디지털 서명 실패, 결과물은 정상적으로 보존됩니다.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 일부 의존성 설치 실패. 위험을 안고 진행합니다...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 지정된 버전 설치 실패. 제약을 제거하고 호환성을 시도합니다...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 경량화 효과를 위해 [가상 환경] 사용을 권장합니다.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] 메모리 부족. 단일 스레드 모드로 재시도...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] 프로젝트가 클라우드 동기화 폴더에 있습니다. 파일이 잠길 수 있습니다.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] 타임스탬프 서버 연결 시간 초과, 로컬 빠른 서명을 진행합니다...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' 사용이 감지되었습니다. 단일 파일 모드에서는 리소스 파일을 찾기 위해 'sys._MEIPASS'를 사용하세요!", - "\\nProgram execution completed, press Enter to exit...": "\\n실행 완료. 종료하려면 Enter를 누르세요...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[정보] 기존 가상 환경 '{venv}'을(를) 자동으로 감지했습니다. '로컬 Venv 유지'가 선택되어 있습니다." + "[WARN] Smart signing failed, but build output is retained.": "[WARN] 스마트 서명에 실패했지만 빌드 출력은 유지됩니다.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 일부 종속성이 설치에 실패하여 위험을 감수하고 빌드를 진행합니다...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 지정된 버전 설치에 실패했습니다. 자동 호환성 매칭을 위해 버전 제약 조건을 제거합니다...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 라이트 모드 효과를 극대화하려면 [가상 환경]을 적극 권장합니다.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] 시스템 Python 쓰기 권한이 제한되어 있습니다. '--user' 모드로 재시도합니다...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] 시스템 메모리 부족 감지(zstd 메모리 할당 실패). 단일 스레드 저메모리 모드로 자동 재시도합니다...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] 대상 프로젝트가 클라우드 동기화 디렉터리(예: OneDrive/Dropbox)에 있습니다. 클라우드 동기화로 인해 빌드 파일이 일시적으로 잠길 수 있습니다.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] 타임스탬프 서버 연결 시간이 초과되어 로컬 빠른 서명을 수행합니다...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' 사용이 감지되었습니다. PyInstaller 원파일 모드에서는 'sys._MEIPASS'를 사용하여 번들 리소스 파일을 안정적으로 찾으십시오!", + "\\nProgram execution completed, press Enter to exit...": "\\n프로그램 실행이 완료되었습니다. 종료하려면 Enter를 누르십시오..." } diff --git a/qpypack/locales/nl_NL.json b/qpypack/locales/nl_NL.json index 5630f15..6eba53e 100644 --- a/qpypack/locales/nl_NL.json +++ b/qpypack/locales/nl_NL.json @@ -1,92 +1,110 @@ { - " [No Console]": " [Geen console]", + " [Console]": "[Console]", + " [No Console]": "[Geen Console]", "* Nuitka Auto-manages C Compiler": "* Nuitka beheert C-compiler automatisch", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsoring is volledig vrijwillig, dient als onvoorwaardelijke aanmoediging voor de open-sourcegemeenschap en brengt geen commerciële verplichtingen met zich mee. Bedankt voor uw steun!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Lokaal gedetecteerd:
{path}
Klaar om direct te schakelen zonder opnieuw te downloaden.", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsoring is volledig vrijwillig, dient als onvoorwaardelijke aanmoediging voor de open-sourcegemeenschap en houdt geen commerciële verplichtingen in. Dank voor uw steun!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Lokaal gedetecteerd:
{path}
Klaar om direct over te schakelen zonder opnieuw te downloaden.", "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Weet u zeker dat u alle voorkeuren wilt resetten?
Alle instellingen worden hersteld naar de standaardstatus.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "{count} virtuele omgeving(en) gevonden voor het huidige project:
{paths}

Weet u zeker dat u ze wilt verwijderen om schijfruimte vrij te maken?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python-omgeving succesvol geïnstalleerd!

Systeemomgevingsvariabelen bijgewerkt. Aanbevolen om de software af te sluiten en opnieuw te starten om wijzigingen toe te passen.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python-omgevingsbeheer
Ondersteunt het schakelen tussen lokaal gedetecteerde Python-omgevingen of het downloaden van nieuwe versies.", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python-omgeving succesvol geïnstalleerd!

Systeemomgevingsvariabelen zijn bijgewerkt. Het wordt aanbevolen om de software af te sluiten en opnieuw te starten om de wijzigingen toe te passen.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python-omgevingsbeheer
Ondersteunt het overschakelen naar lokaal gedetecteerde Python-omgevingen of het downloaden van nieuwe versies.", "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python-omgeving vereist
Het bouwen van de applicatie is afhankelijk van een Python-interpreter.
Selecteer een versie om automatisch te downloaden, installeren en omgevingsvariabelen te configureren.
", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python is niet gedetecteerd op uw systeem!

QPyPack vereist een Python-omgeving om uw code te compileren.
Als u Python nog niet hebt geïnstalleerd, download en installeer het dan (vergeet niet om 'Add Python.exe to PATH' aan te vinken tijdens de installatie).", "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python is niet gedetecteerd op uw systeem!

QPyPack vereist een Python-omgeving om uw code te compileren.
Als u Python nog niet hebt geïnstalleerd, download en installeer het dan.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Aanbeveling: Python 3.11.9 wordt aanbevolen voor optimale buildcompatibiliteit en engine-ondersteuning.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpreter
Systeemomgeving en OS-ondersteuningsmatrix automatisch detecteren...", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Aanbeveling: Python 3.11.9 wordt aanbevolen voor optimale bouwcompatibiliteit en engine-ondersteuning.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpreter
Automatisch detecteren van systeemomgeving en OS-ondersteuningsmatrix...", "AST Scan": "AST-scan", "AST scan completed, found {count} dependencies.": "AST-scan voltooid, {count} afhankelijkheden gevonden.", - "AWS PyPI Mirror (US/EU)": "AWS PyPI-mirror (VS/EU)", + "AWS PyPI Mirror (US/EU)": "AWS PyPI-spiegel (VS/EU)", + "About": "Over", + "Active backport conflicts detected ({count}): {pkgs}": "Actieve backport-conflicten gedetecteerd ({count}): {pkgs}", + "Add Backport Rule": "Backport-regel toevoegen", "Add Dir": "Map toevoegen", "Add File": "Bestand toevoegen", "Add Mapping": "Toewijzing toevoegen", "Additional Resources (Drag & Drop Supported)": "Extra bronnen (slepen en neerzetten ondersteund)", - "Aliyun Cloud (China)": "Alibaba Cloud (China)", + "Aliyun Cloud (China)": "Aliyun Cloud (China)", "Analyze Dependencies (AST)": "Afhankelijkheden analyseren (AST)", "App Icon:": "App-pictogram:", - "App Metadata & Presets": "App-metagegevens en voorinstellingen", + "App Metadata & Presets": "App-metagegevens en presets", "Apple Silicon (M-Series) & Intel": "Apple Silicon (M-serie) en Intel", "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) en Intel", - "Attention: Please check the log for details.": "Let op: raadpleeg het logboek voor details.", - "Author/Company:": "Auteur/bedrijf:", - "Auto Extract Icon": "Pictogram automatisch extraheren", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Past automatisch digitale handtekening toe op gebouwde app, waardoor waarschuwing 'Onbekende uitgever' wordt geëlimineerd", - "Auto-patched missing ({count}): {pkgs}": "Automatisch ontbrekende pakketten gepatcht ({count}): {pkgs}", - "Auto-save Build Log": "Bouwlogniveau automatisch opslaan", + "Attention: Please check the log for details.": "Let op: Raadpleeg het logboek voor details.", + "Author/Company:": "Auteur/Bedrijf:", + "Auto Extract Icon": "Automatisch pictogram extraheren", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Past automatisch digitale handtekening toe op gebouwde app, elimineert waarschuwing 'Onbekende uitgever'", + "Auto-patched missing ({count}): {pkgs}": "Automatisch gepatcht ontbrekend ({count}): {pkgs}", + "Auto-save Build Log": "Bouwlijst automatisch opslaan", + "Backport exclusion rules have been reset to defaults.": "Backport-uitsluitingsregels zijn teruggezet naar standaardwaarden.", "Backup PIP Index:": "Back-up PIP-index:", - "Build Cancelled": "Bouw geannuleerd", + "Browse": "Bladeren", + "Build Cancelled": "Bouwen geannuleerd", "Build Engine:": "Bouwengine:", - "Build Failed": "Bouw mislukt", + "Build Failed": "Bouwen mislukt", "Build Settings": "Bouwinstellingen", - "Build Successful": "Bouw geslaagd", + "Build Successful": "Bouwen geslaagd", "Build engine packages ({count}): {pkgs}": "Bouwengine-pakketten ({count}): {pkgs}", "CPU Cores:": "CPU-kernen:", + "Cancel": "Annuleren", "Cancel & Return": "Annuleren en terugkeren", "Cert Password:": "Certificaatwachtwoord:", - "Certificate Subject (e.g. My Company):": "Certificaatsubject (bijv. Mijn Bedrijf):", + "Certificate Subject (e.g. My Company):": "Certificaatsubject (bijv. Mijn bedrijf):", "Certificate generated successfully!": "Certificaat succesvol gegenereerd!", "Certificate password": "Certificaatwachtwoord", "Check log output below for troubleshooting.": "Controleer de loguitvoer hieronder voor probleemoplossing.", - "Clean Temporary Cache After Build": "Tijdelijke cache na bouw opschonen", + "Clean Temporary Cache After Build": "Tijdelijke cache opschonen na bouwen", "Clear All": "Alles wissen", - "Clear Local Venvs": "Lokale virtuele omgevingen wissen", - "Clear Log": "Log wissen", + "Clear Local Venvs": "Lokale venvs wissen", + "Clear Log": "Logboek wissen", "Clear Virtual Environments": "Virtuele omgevingen wissen", - "Click to automatically download, install Python, and configure system environment variables.": "Klik om automatisch Python te downloaden, te installeren en systeemomgevingsvariabelen te configureren.", - "Code Signing": "Codeondertekening", + "Click to automatically download, install Python, and configure system environment variables.": "Klik om automatisch Python te downloaden, installeren en systeemomgevingsvariabelen te configureren.", + "Code Signing": "Code-ondertekening", "Comma separated (e.g. pandas, PyQt5)": "Komma gescheiden (bijv. pandas, PyQt5)", "Comma separated (e.g. tkinter, matplotlib)": "Komma gescheiden (bijv. tkinter, matplotlib)", "Commercial PFX File:": "Commercieel PFX-bestand:", "Compatibility Mode (Default)": "Compatibiliteitsmodus (standaard)", - "Compatibility depends on build environment glibc version.": "Compatibiliteit hangt af van de glibc-versie van de bouwomgeving.", + "Compatibility depends on build environment glibc version.": "Compatibiliteit hangt af van de glibc-versie van de buildomgeving.", "Concise Log Output": "Beknopte loguitvoer", "Concise Mode": "Beknopte modus", "Config preset exported to: {path}": "Configuratievoorinstelling geëxporteerd naar: {path}", "Config preset imported successfully.": "Configuratievoorinstelling succesvol geïmporteerd.", - "Configure Build Settings": "Build-instellingen configureren", + "Configure Build Settings": "Buildinstellingen configureren", "Configure Manually": "Handmatig configureren", "Confirm Password:": "Bevestig wachtwoord:", "Contents Directory (--contents-directory):": "Inhoudsmap (--contents-directory):", + "Copy": "Kopiëren", + "Create": "Maken", "Create Self-Signed Cert": "Zelfondertekend certificaat maken", "Custom Directory": "Aangepaste map", - "Declared in requirements.txt ({count}): {pkgs}": "Gedeclareerd in requirements.txt ({count}): {pkgs}", - "Declared in requirements.txt: None": "Gedeclareerd in requirements.txt: Geen", + "Cut": "Knippen", + "Declared in requirements.txt ({count}): {pkgs}": "Verklaard in requirements.txt ({count}): {pkgs}", + "Declared in requirements.txt: None": "Verklaard in requirements.txt: Geen", "Delete All": "Alles verwijderen", + "Deleting...": "Verwijderen...", + "Dependencies": "Afhankelijkheden", "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Waarschuwing ontbrekende afhankelijkheid: {pkgs} kon niet worden geïnstalleerd. Controleer het logboek voor details.", "Description:": "Beschrijving:", "Desktop Application": "Desktoptoepassing", "Detailed Mode": "Gedetailleerde modus", - "Discovered via scanner ({count}): {pkgs}": "Ontdekt via scanner ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Dubbelklik om doelpadt te bewerken; slepen en neerzetten ondersteund", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Dubbelklik om doelpadt te bewerken; slepen en neerzetten ondersteund. Gebruik 'Voorinstelling exporteren' om op te slaan voor hergebruik.", + "Directory": "Map", + "Discovered via scanner ({count}): {pkgs}": "Gevonden via scanner ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Dubbelklik om doelpad te bewerken; slepen en neerzetten ondersteund", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Dubbelklik om doelpad te bewerken; Slepen en neerzetten ondersteund. Gebruik 'Exporteer Voorinstelling' om op te slaan voor hergebruik.", "Download New Version": "Nieuwe versie downloaden", "Download Python": "Python downloaden", - "Download complete. Starting Python installation...": "Download voltooid. Python-installatie wordt gestart...", + "Download complete. Starting Python installation...": "Download voltooid. Python-installatie start...", "Downloading Python {ver}... Please wait.": "Python {ver} wordt gedownload... Even geduld.", "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Sleep Python-script (.py/.pyw) hierheen\nof klik om te bladeren", "Drop Python source code to start": "Zet Python-broncode neer om te starten", "Edit Path": "Pad bewerken", - "Enable Smart Code Signing": "Slimme codeondertekening inschakelen", + "Enable Automatic Backport Isolation": "Automatische backport-isolatie inschakelen", + "Enable Smart Code Signing": "Slimme code-ondertekening inschakelen", "Enable UPX Compression": "UPX-compressie inschakelen", + "Engine": "Engine", "Engine & Environment": "Engine en omgeving", + "Environment Analysis": "Omgevingsanalyse", + "Environment Analysis & Remediation": "Omgevingsanalyse en herstel", + "Error": "Fout", "Exclude Modules:": "Modules uitsluiten:", "Execution Log": "Uitvoeringslogboek", "Execution Mode": "Uitvoeringsmodus", @@ -94,59 +112,73 @@ "Export Log...": "Logboek exporteren...", "Export Preset...": "Voorinstelling exporteren...", "Failed to generate certificate.": "Kan certificaat niet genereren.", + "File": "Bestand", "Folder Mode (--onedir)": "Mapmodus (--onedir)", "Full backward compatibility": "Volledige achterwaartse compatibiliteit", + "Generate": "Genereren", "GitHub Repository": "GitHub-repository", - "Global configuration has been reset.": "Globale configuratie is opnieuw ingesteld.", + "Global configuration has been reset.": "Globale configuratie is gereset.", "Hidden Imports:": "Verborgen imports:", "Hide Console (--noconsole)": "Console verbergen (--noconsole)", "Hide Custom Cert Settings ▾": "Aangepaste certificaatinstellingen verbergen ▾", "Huawei Cloud (China)": "Huawei Cloud (China)", "Import Name": "Importnaam", - "Import Preset...": "Voorinstelling importeren...", + "Import Preset...": "Preset importeren...", "Import name (e.g. cv2):": "Importnaam (bijv. cv2):", "Independent Developer": "Onafhankelijke ontwikkelaar", "Initializing build...": "Build initialiseren...", + "Inspect Interpreter Environment": "Interpreteromgeving inspecteren", "Install Complete": "Installatie voltooid", "Install requirements.txt": "requirements.txt installeren", "Internal directory name for dependencies (default: _internal)": "Interne mapnaam voor afhankelijkheden (standaard: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Interpreterinspectie geslaagd: geen actieve backport-conflicten gedetecteerd.", "Interpreter:": "Interpreter:", "Invalid syntax": "Ongeldige syntaxis", "Issues & Feedback": "Problemen en feedback", "Keep Local Venv": "Lokale venv behouden", - "Leave blank to auto-detect from environment variables": "Leeg laten om automatisch te detecteren uit omgevingsvariabelen", - "Leave blank to auto-detect system default Python": "Leeg laten om automatisch de systeemstandaard Python te detecteren", - "Leave blank to auto-match script name": "Leeg laten om automatisch overeen te laten komen met de scriptnaam", - "Leave blank to auto-search requirements.txt in current directory": "Leeg laten om automatisch requirements.txt in de huidige map te zoeken", + "Later": "Later", + "Leave blank to auto-detect from environment variables": "Laat leeg om automatisch te detecteren uit omgevingsvariabelen", + "Leave blank to auto-detect system default Python": "Laat leeg om automatisch de standaard Python van het systeem te detecteren", + "Leave blank to auto-match script name": "Laat leeg om automatisch de scriptnaam te matchen", + "Leave blank to auto-search requirements.txt in current directory": "Laat leeg om automatisch requirements.txt in de huidige map te zoeken", "Legacy macOS Compatible": "Legacy macOS-compatibel", "Lite Mode (Smaller size)": "Lite-modus (kleiner formaat)", "Loaded: {filename}": "Geladen: {filename}", "Locally Detected Pythons": "Lokaal gedetecteerde Pythons", "Lock Core Dependencies": "Kernafhankelijkheden vergrendelen", - "Log saved to: {path}": "Logboek opgeslagen in: {path}", + "Log saved to: {path}": "Log opgeslagen in: {path}", "Manifest complete (No missing packages)": "Manifest compleet (geen ontbrekende pakketten)", "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maximale compatibiliteit. Aanbevolen voor apps met complexe dynamische imports.", - "Mirrors & Scanner": "Mirrors & scanner", + "Min Python Ver": "Min Python Ver", + "Minimum Built-in Python Version (e.g. 3.4):": "Minimale ingebouwde Python-versie (bijv. 3.4):", + "Mirrors & Scanner": "Mirrors & Scanner", "Modern Cross-Platform Python Application Packager": "Moderne cross-platform Python-applicatieverpakker", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Moderne cross-platform Python-verpakkings-GUI, aangedreven door PyInstaller & Nuitka", - "No Windows 7 Support": "Geen ondersteuning voor Windows 7", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Moderne cross-platform Python-verpakkings-GUI aangedreven door PyInstaller & Nuitka", + "No Windows 7 Support": "Geen Windows 7-ondersteuning", + "No environment conflicts detected.": "Geen omgevingsconflicten gedetecteerd.", "No local Python environments detected.": "Geen lokale Python-omgevingen gedetecteerd.", "No local virtual environments found to clean.": "Geen lokale virtuele omgevingen gevonden om op te schonen.", - "No log content.": "Geen logboekinhoud.", + "No log content.": "Geen loginhoud.", "Nuitka Version:": "Nuitka-versie:", "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compileert broncode naar native C/C++-binair. Produceert kleinere pakketgrootte, snellere uitvoering en diepe anti-decompilatiebescherming (vereist C-compiler).", + "OK": "OK", "OS Support Matrix:": "OS-ondersteuningsmatrix:", - "One-Click Download & Install": "Downloaden en installeren met één klik", - "One-Click Install": "Installeren met één klik", - "One-File Mode (--onefile)": "One-file-modus (--onefile)", + "Obsolete Backport Exclusion Rules": "Regels voor uitsluiting van verouderde backports", + "One-Click Download & Install": "Eénkliks downloaden en installeren", + "One-Click Install": "Eénkliks installeren", + "One-File Mode (--onefile)": "Eén-bestandsmodus (--onefile)", "Only supported on Windows.": "Alleen ondersteund op Windows.", "Open Directory": "Map openen", "Open output directory or reset workspace.": "Open uitvoermap of reset werkruimte.", - "Optimization & Security": "Optimalisatie & beveiliging", + "Optimization & Security": "Optimalisatie & Beveiliging", "Output Location": "Uitvoerlocatie", "Output Location:": "Uitvoerlocatie:", "Output Name:": "Uitvoernaam:", - "Package Map": "Pakkettoewijzing", + "Package Map": "Pakketkaart", + "Package Mapping & Remediation": "Pakkettoewijzing & Herstel", + "Package Mappings & Rules": "Pakkettoewijzingen & Regels", + "Package Name": "Pakketnaam", + "Package Name (e.g. pathlib):": "Pakketnaam (bijv. pathlib):", "Package Name Mappings": "Pakketnaamtoewijzingen", "Package mappings have been reset to defaults.": "Pakkettoewijzingen zijn teruggezet naar standaardwaarden.", "Packaging Mode:": "Verpakkingsmodus:", @@ -154,39 +186,52 @@ "Password cannot be empty!": "Wachtwoord mag niet leeg zijn!", "Password:": "Wachtwoord:", "Passwords do not match!": "Wachtwoorden komen niet overeen!", + "Paste": "Plakken", "Performance Optimization": "Prestatieoptimalisatie", - "Platform Support Matrix:": "Matrix voor platformondersteuning:", + "Platform Support Matrix:": "Platformondersteuningsmatrix:", + "Preferences": "Voorkeuren", "Preferences & System Behavior": "Voorkeuren en systeemgedrag", "Preparing engine...": "Engine wordt voorbereid...", "Primary PIP Index:": "Primaire PIP-index:", "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Projectspecifiek. Niet opgeslagen in globale voorkeuren. Gebruik 'Exporteer voorinstelling' om configuratie op te slaan.", "PyInstaller Version:": "PyInstaller-versie:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Bundelt Python-interpreter en bytecode. Snelle buildsnelheid, nul configuratie (geen C-compiler nodig) en uitstekende compatibiliteit.", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Bundelt Python-interpreter en bytecode. Snelle bouwsnelheid, nul configuratie (geen C-compiler nodig) en uitstekende compatibiliteit.", "PyPI Home": "PyPI Home", - "PyPI Official (Global Default)": "PyPI Officieel (Globaal standaard)", + "PyPI Official (Global Default)": "PyPI Officieel (Globaal Standaard)", "PyPI Package Name": "PyPI-pakketnaam", "PyPI package name for [{imp_name}]:": "PyPI-pakketnaam voor [{imp_name}]:", + "Python 3.10.11": "Python 3.10.11", "Python 3.11.9 (Recommended)": "Python 3.11.9 (Aanbevolen)", + "Python 3.12.4": "Python 3.12.4", + "Python 3.13.0": "Python 3.13.0", "Python 3.14.6 (Experimental)": "Python 3.14.6 (Experimenteel)", "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7-ondersteuning)", + "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Python-omgevingsbeheer", "Python Environment Required": "Python-omgeving vereist", "Python Packaging, Reimagined.": "Python-verpakking, opnieuw bedacht.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python geïnstalleerd. Start QPyPack later handmatig opnieuw op.", - "QPyPack Developer": "QPyPack-ontwikkelaar", + "QPyPack Developer": "QPyPack Ontwikkelaar", "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack is een gratis en open-source tool. Als het uw efficiëntie heeft verbeterd of verpakkingsproblemen heeft opgelost, overweeg dan om de auteur een koffie te kopen!", - "Ready, waiting for build.": "Klaar, wachten op build.", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Aanbeveling: 6+ tekens, alfanumeriek, alleen '-' en '_'. Vermijd spaties of Chinees om ondertekenfouten te voorkomen.", + "Ready, waiting for build.": "Klaar, wachtend op build.", + "Rebuild": "Opnieuw bouwen", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Aanbeveling: 6+ tekens, alfanumeriek, alleen '-' en '_'. Vermijd spaties of Chinees om ondertekeningsfouten te voorkomen.", + "Remediate Detected Conflicts": "Gedetecteerde conflicten verhelpen", + "Remediation completed for packages: {pkgs}": "Verhelpen voltooid voor pakketten: {pkgs}", "Remove Selected": "Geselecteerde verwijderen", "Requirements File:": "Vereistenbestand:", - "Reset to Default Config": "Standaardconfiguratie herstellen", + "Reset": "Resetten", + "Reset to Default Config": "Reset naar standaardconfiguratie", + "Resources": "Bronnen", "Restore Defaults": "Standaardwaarden herstellen", "Save & Return": "Opslaan en terugkeren", "Save Certificate": "Certificaat opslaan", "Scan Entire Folder": "Hele map scannen", + "Scanning...": "Scannen...", "Script and settings retained. Ready to rebuild.": "Script en instellingen behouden. Klaar om opnieuw te bouwen.", - "Select .pfx / .p12 certificate file": "Selecteer .pfx / .p12-certificaatbestand", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Script geladen. U kunt assetmappen of gegevensbestanden hier direct naartoe slepen om ze te bundelen.", + "Select .pfx / .p12 certificate file": "Selecteer .pfx / .p12 certificaatbestand", "Select All": "Alles selecteren", "Select Python Version to Download:": "Selecteer Python-versie om te downloaden:", "Self-Signed Certificate (*.pfx)": "Zelfondertekend certificaat (*.pfx)", @@ -194,125 +239,134 @@ "Sound Notification": "Geluidsmelding", "Source Directory (.qpypack_build)": "Bronmap (.qpypack_build)", "Source File Directory": "Bronbestandsmap", + "Sponsor": "Sponsor", "Start Build": "Build starten", "Status: Build Cancelled": "Status: Build geannuleerd", "Status: Build Completed": "Status: Build voltooid", "Status: Build Failed": "Status: Build mislukt", + "Status: Environment inspection ready.": "Status: Omgevingsinspectie gereed.", "Status: Loaded {filename}{mode}": "Status: {filename}{mode} geladen", "Status: Packaging ({engine}) ...": "Status: Verpakken ({engine}) ...", - "Status: Parsing {filename}...": "Status: {filename} parseren...", + "Status: Parsing {filename}...": "Status: {filename} wordt geparseerd...", "Status: Ready": "Status: Gereed", "Status: Workspace Reset": "Status: Werkruimte gereset", "Stop Build": "Build stoppen", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Succesvol {count} virtuele omgeving(en) opgeschoond, {size:.1f} MB schijfruimte vrijgemaakt.", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Succesvol {count} virtuele omgeving(en) opgeruimd, {size:.1f} MB schijfruimte vrijgemaakt.", "Switched to [Build Settings] -> [Engine], please set the Python path.": "Geschakeld naar [Build-instellingen] -> [Engine], stel het Python-pad in.", "Switched to local Python environment: {path}": "Geschakeld naar lokale Python-omgeving: {path}", "System Default ({sys_native})": "Systeemstandaard ({sys_native})", - "System Temp Directory": "Systeem tijdelijke map", + "System Temp Directory": "Systeemtijdelijke map", "Target Directory:": "Doelmap:", - "Target relative path:": "Relatief doelpad:", + "Target relative path:": "Doel relatief pad:", "Temporary Directory:": "Tijdelijke map:", "Tencent Cloud (China)": "Tencent Cloud (China)", "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Tip: Build mislukt in Lite-modus. U kunt proberen over te schakelen naar [Compatibiliteitsmodus] in Build-instellingen en opnieuw te bouwen.", - "Toggle Execution Log": "Uitvoeringslogboek in-/uitschakelen", - "Tsinghua University (China)": "Tsinghua-universiteit (China)", - "UI Language:": "Interface-taal:", + "Toggle Execution Log": "Uitvoeringslogboek wisselen", + "Tsinghua University (China)": "Tsinghua University (China)", + "UI Language:": "UI-taal:", "UPX Path:": "UPX-pad:", "USTC (China)": "USTC (China)", + "Undo": "Ongedaan maken", + "Unknown": "Onbekend", "Use Custom Commercial Cert (Optional) ▸": "Aangepast commercieel certificaat gebruiken (optioneel) ▸", - "Use Installed Version Directly": "Geïnstalleerde versie rechtstreeks gebruiken", + "Use Installed Version Directly": "Geïnstalleerde versie direct gebruiken", "Use Selected Environment": "Geselecteerde omgeving gebruiken", "Use Virtual Environment": "Virtuele omgeving gebruiken", "Version:": "Versie:", "View Python": "Python bekijken", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Extra bronbestand/-map niet gevonden: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Build afgebroken: Onvoldoende schijfruimte (NoSpaceLeft / Errno 28). Maak schijfruimte vrij (minimaal 5 GB vrije ruimte aanbevolen) en probeer opnieuw.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Build voltooid, maar de volgende afhankelijkheden konden niet worden geïnstalleerd:\n\n - {pkgs}\n\nLet op: De applicatie kan tijdens runtime ModuleNotFoundError veroorzaken.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Kan geen geldig uitvoerbaar product vinden in tijdelijke buildmap: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Omgevingsherstel mislukt: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Uitzondering opgetreden tijdens AST-parsing: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Kan virtuele omgeving niet maken. De huidige Python-omgeving mist mogelijk benodigde modules of heeft beperkte rechten.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Kan logbestand niet exporteren: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Kan presetbestand niet exporteren: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O-uitzondering: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Onvoldoende schijfruimte (Beschikbaar: {free:.1f} GB). Minimaal 0,5 GB is vereist om de buildomgeving veilig te initialiseren.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Uitvoermap heeft geen schrijfrechten: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Laad eerst een geldig Python-bronbestand!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Fout in presetbestand of bestand is beschadigd: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Procesfout: opdracht of binary ontbreekt ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Productoverdracht mislukt, bestand is mogelijk bezet door systeemproces of heeft onvoldoende rechten: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python-installatie mislukt of is geannuleerd.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python-interpreter is ongeldig of niet gevonden: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Requirementsbestand niet gevonden: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Systeemuitvoeringsuitzondering: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Doelbestand is vergrendeld of versleuteld door cloudopslag. Decodeer het bestand en probeer opnieuw.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Doelbestand wordt uitgevoerd of is bezet. Sluit de bestaande toepassing en probeer opnieuw.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Het opgegeven pictogrambestand bestaat niet: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Build onderbroken met uitzonderingen!\n\nVeelvoorkomende probleemoplossing:\n1. Omgevingsmismatch (meest voorkomend): De geselecteerde Python-versie is incompatibel met uw broncode. Ga naar [Buildinstellingen] om over te schakelen naar de Python-versie die u normaal voor deze code gebruikt.\n2. Ontbrekende afhankelijkheden: Klik op 'Gedetailleerde modus' hierboven om te controleren op ModuleNotFoundError.\n3. Antivirusblokkering: Zorg ervoor dat uw beveiligingssoftware het buildproces niet blokkeert.\n\n(Let op: Dit wordt meestal veroorzaakt door omgevings-/codeverschillen in plaats van de verpakkingsengine zelf. Raadpleeg het gedetailleerde logboek voor exacte redenen.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilatie onderbroken met uitzonderingen, klik op 'Gedetailleerde modus' boven het logvenster voor probleemoplossing.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' toegevoegd aan extra bronnen.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] {count} resource-item(s) toegevoegd aan Extra bronnen.", "[INFO] Analyzing source code and project dependencies...": "[INFO] Broncode en projectafhankelijkheden analyseren...", "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Digitale handtekening met tijdstempel toegepast ({tsa})...", "[INFO] Applying smart digital signature...": "[INFO] Slimme digitale handtekening toepassen...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Automatisch gedetecteerde bestaande virtuele omgeving '{venv}'. 'Keep Local Venv' is aangevinkt.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Automatisch afgeschermde verouderde backport-module: '{pkg}' (ingebouwd in Python {ver})", "[INFO] Build Cancelled.": "[INFO] Build geannuleerd.", "[INFO] Build log exported to: {path}": "[INFO] Buildlogboek geëxporteerd naar: {path}", "[INFO] Compilation completed, archiving built files...": "[INFO] Compilatie voltooid, gebouwde bestanden archiveren...", "[INFO] Creating virtual environment ({name})...": "[INFO] Virtuele omgeving maken ({name})...", "[INFO] Creating virtual environment...": "[INFO] Virtuele omgeving maken...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Playwright-browsers downloaden via mirror: {url}", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Playwright-browsers downloaden via spiegel: {url}", "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Systeemfysiek geheugen evalueren (Beschikbaar: {ram:.1f} GB). Adaptieve gelijktijdigheid aangepast: {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Lokale Clang-omgeving gevonden, prioriteit aan LLVM Clang-compiler.", "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Lokale GCC/MinGW-w64-omgeving gevonden, MinGW64-compiler gebruiken.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Lokale MSVC-omgeving gevonden, prioriteit aan native C++-compiler.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Lokale Zig-omgeving gevonden, Nuitka beheert C-backendcompilatie.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Lokale Zig-omgeving gevonden, Nuitka laat C-backend-compilatie beheren.", "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Ruimte vrijmaken, tijdelijke buildomgeving opschonen...", "[INFO] Initializing isolated build environment...": "[INFO] Geïsoleerde buildomgeving initialiseren...", "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Buildomgeving en projectafhankelijkheden installeren ({count} pakketten): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Lite-modus ingeschakeld, bytecode-optimalisatie (-OO) toepassen en ontwikkelmodules verwijderen...", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Lite-modus ingeschakeld, bytecode-optimalisatie (-OO) toepassen en dev-modules strippen...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Geen lokale C-compiler gedetecteerd. Nuitka zal automatisch een compatibele MinGW-w64-toolchain downloaden en beheren.", "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka-tip: Als u bij de eerste build wordt gevraagd om GCC/MinGW-compiler te downloaden, zorg dan voor een stabiele netwerkverbinding.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Uitvoeren van pre-flight omgevingscontroles...", + "[INFO] Performing pre-flight environment checks...": "[INFO] Pre-flight-omgevingscontroles uitvoeren...", "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright gedetecteerd. Ingebouwde browsers installeren (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ gedetecteerd: Zig-compiler (--zig) gebruiken als C-backend.", "[INFO] Python interpreter path: {path}": "[INFO] Python-interpreterpad: {path}", "[INFO] Resolving project dependencies...": "[INFO] Projectafhankelijkheden oplossen...", "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Playwright-browserdownload opnieuw proberen via officiële CDN...", "[INFO] Reusing existing virtual environment...": "[INFO] Bestaande virtuele omgeving hergebruiken...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] Bestaande virtuele omgeving hergebruiken: {path}", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] Bestaande virtuele omgeving opnieuw gebruiken: {path}", "[INFO] Scanning project source code via AST engine...": "[INFO] Projectbroncode scannen via AST-engine...", "[INFO] Starting {engine} engine to compile binary files...": "[INFO] {engine}-engine starten om binaire bestanden te compileren...", "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Pictogramparameters verwijderen en automatisch herbouwen...", "[INFO] Successfully installed compatible versions.": "[INFO] Compatibele versies succesvol geïnstalleerd.", "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Overschakelen naar back-up PyPI-bron voor ophalen: {url}", "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Pip-pakketbeheer synchroniseren en upgraden...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Tip: Verpakte uitvoerbare bestanden kunnen ten onrechte worden gemarkeerd door Windows Defender/Antivirus. Het toevoegen van uitsluitingen of code-ondertekening wordt aanbevolen.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] MinGW64-compiler (--mingw64) gebruiken voor C-backend.", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Tip: Uitvoerbare bestanden zonder commerciële handtekening kunnen ten onrechte worden gemarkeerd door Windows Defender/Antivirus.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] MinGW64-compiler gebruiken (--mingw64) voor C-backend.", "[INFO] Using MinGW64 compiler.": "[INFO] MinGW64-compiler gebruiken.", "[INFO] Validating output files and generating final product...": "[INFO] Uitvoerbestanden valideren en eindproduct genereren...", "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilatie voltooid, uitvoerpad: {path}", "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Digitale handtekening succesvol toegepast!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Broncode bevat syntaxfouten, compilatie afgebroken:\n - Bestand: {file}\n - Type: {type}\n - Regel: Regel {line}\n - Detail: {desc}\n\nTip: Zorg ervoor dat de broncode lokaal werkt voordat u gaat verpakken.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Syntaxontleding van broncode mislukt, build afgebroken:\n - Bestand: {file}\n - Regel: Regel {line}\n - Detail: {desc}\n\nTip: Dit is meestal GEEN fout van het verpakkingsprogramma.\nZorg ervoor dat de [Build Python-versie] die u selecteert overeenkomt met de versie die u gebruikte om de code te [schrijven/testen].\nHet gebruik van nieuwere syntaxis (bijv. walrus-operator :=, type-unies |, match-case) in een oudere Python-omgeving zal deze fout veroorzaken.\nWe raden aan om naar [Build-instellingen] -> [Engine] te gaan om over te schakelen naar de juiste Python-versie.", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Broncode bevat syntaxfouten, compilatie afgebroken:\n - Bestand: {file}\n - Type: {type}\n - Regel: Regel {line}\n - Detail: {desc}\n\nTip: Zorg ervoor dat de broncode lokaal werkt voordat u deze verpakt.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Parsen van broncodesyntax mislukt, build afgebroken:\n - Bestand: {file}\n - Regel: Regel {line}\n - Detail: {desc}\n\nTip: Dit is meestal GEEN fout van het verpakkingsprogramma.\nZorg ervoor dat de [Build Python-versie] die u selecteert overeenkomt met de versie die u gebruikte om de code te [schrijven/testen].\nHet gebruik van nieuwere syntax (bijv. walrus-operator :=, type-unies |, match-case) in een oudere Python-omgeving veroorzaakt deze fout.\nWe raden aan om naar [Build-instellingen] -> [Engine] te gaan om over te schakelen naar de juiste Python-versie.", "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing'-module gedetecteerd. Zorg ervoor dat 'multiprocessing.freeze_support()' wordt aangeroepen onder 'if __name__ == \"__main__\":' om oneindige processlussen (fork-bommen) te voorkomen.", "[WARN] AST Analysis Exception: {error}": "[WARN] AST-analyse-uitzondering: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Time-out opdracht (>{timeout}s)", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Commandotime-out (>{timeout}s)", "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' of 'httpx' gedetecteerd. 'certifi'-certificaten automatisch bundelen om SSL-fouten te voorkomen.", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Ongeldige omgeving opschonen mislukt, terugvallen op tijdelijke sandbox: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Pictogramconversie naar .icns mislukt, bouwen zonder pictogram.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Ongeldige omgeving niet kunnen opschonen, terugvallen op tijdelijke sandbox: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Pictogramconversie naar .icns mislukt, build zonder pictogram.", "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Schrijven van pictogramresource geblokkeerd (mogelijk vergrendeld door systeem/antivirus), terugvalbeveiliging activeren...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Weinig schijfruimte gedetecteerd op het doelstation (Beschikbaar: {free:.1f} GB, >= 5,0 GB aanbevolen). Het buildproces kan worden onderbroken door onvoldoende schijfruimte.", - "\\nProgram execution completed, press Enter to exit...": "\\nProgramma-uitvoering voltooid, druk op Enter om af te sluiten...", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Geheugentoewijzingsuitzondering opgevangen (ZstdError / OOM). Geheugenbeschermingsfallback activeren: opnieuw proberen in single-thread modus...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pakket '{pkg}' kon niet worden geïnstalleerd, wordt overgeslagen...", - "[WARN] Pause code injection exception: {error}": "[WARN] Uitzondering bij pauzecode-injectie: {error}", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Weinig schijfruimte gedetecteerd op build-doelschijf (Beschikbaar: {free:.1f} GB, >= 5,0 GB aanbevolen). Buildproces kan worden onderbroken door schijfuitputting.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Geheugentoewijzingsuitzondering opgevangen (ZstdError / OOM). Geheugenbeschermingsfallback activeren: Opnieuw proberen in single-thread-modus...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pakket '{pkg}' installatie mislukt, overslaan...", + "[WARN] Pause code injection exception: {error}": "[WARN] Uitzondering bij injectie van pauzecode: {error}", "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright-browserinstallatie mislukt via alle bronnen, build gaat door met risico...", "[WARN] Python environment info detection fallback: {error}": "[WARN] Fallback voor detectie van Python-omgevingsinfo: {error}", "[WARN] Read requirements.txt warning: {error}": "[WARN] Waarschuwing bij lezen van requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Slim ondertekenen mislukt, maar builduitvoer is behouden.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Sommige afhankelijkheden konden niet worden geïnstalleerd, build gaat door met risico...", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Slim ondertekenen mislukt, maar build-uitvoer is behouden.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Sommige afhankelijkheden konden niet worden geïnstalleerd, de build gaat verder met risico...", "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Opgegeven versies konden niet worden geïnstalleerd. Versiebeperkingen worden verwijderd voor automatische compatibiliteitsmatch...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Sterk aanbevolen om [Virtuele omgeving] te controleren om het lite-mode-effect te maximaliseren.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Weinig systeemgeheugen gedetecteerd (zstd-geheugentoewijzing mislukt). Automatisch opnieuw proberen in single-thread lage geheugenmodus...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Doelproject bevindt zich in een Cloud Sync-map (bijv. OneDrive/Dropbox). Cloud-synchronisatie kan buildbestanden tijdelijk vergrendelen.", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Het wordt sterk aanbevolen om [Virtuele Omgeving] te controleren om het lite-modus effect te maximaliseren.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Systeem Python schrijfrechten zijn beperkt. Opnieuw proberen met '--user' modus...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Weinig systeemgeheugen gedetecteerd (zstd geheugentoewijzing mislukt). Automatisch opnieuw proberen in single-thread lage geheugenmodus...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Doelproject bevindt zich in een Cloud Sync-map (bijv. OneDrive/Dropbox). Cloud sync kan buildbestanden tijdelijk vergrendelen.", "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Tijdstempelserververbinding is verlopen, lokale snelle ondertekening wordt uitgevoerd...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Gebruik van '__file__' gedetecteerd. In PyInstaller One-File-modus, gebruik 'sys._MEIPASS' om gebundelde resourcebestanden betrouwbaar te lokaliseren!", - "[ERROR] Additional resource file/directory not found: {path}": "[FOUT] Extra bronbestand/map niet gevonden: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[FOUT] Build afgebroken: Onvoldoende schijfruimte (NoSpaceLeft / Errno 28). Maak schijfruimte vrij (minimaal 5 GB vrije ruimte aanbevolen) en probeer opnieuw.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[FOUT] Build voltooid, maar de volgende afhankelijkheden konden niet worden geïnstalleerd:\n\n - {pkgs}\n\nLet op: De applicatie kan tijdens runtime een ModuleNotFoundError veroorzaken.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[FOUT] Kon geen geldig uitvoerbaar product vinden in de tijdelijke buildmap: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[FOUT] Uitzondering opgetreden tijdens AST-parsing: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[FOUT] Kan virtuele omgeving niet maken. De huidige Python-omgeving mist mogelijk benodigde modules of heeft beperkte rechten.", - "[ERROR] Failed to export log file: {error}": "[FOUT] Kan logbestand niet exporteren: {error}", - "[ERROR] Failed to export preset file: {error}": "[FOUT] Kan presetbestand niet exporteren: {error}", - "[ERROR] I/O Exception: {err_msg}": "[FOUT] I/O-uitzondering: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[FOUT] Onvoldoende schijfruimte (Beschikbaar: {free:.1f} GB). Minimaal 0,5 GB is vereist om de buildomgeving veilig te initialiseren.", - "[ERROR] Output directory is missing write permissions: {error}": "[FOUT] Uitvoermap heeft geen schrijfrechten: {error}", - "[ERROR] Please load a valid Python source file first!": "[FOUT] Laad eerst een geldig Python-bronbestand!", - "[ERROR] Preset file format error or corrupted: {error}": "[FOUT] Presetbestand heeft een onjuist formaat of is beschadigd: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[FOUT] Procesfout: opdracht of binary ontbreekt ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[FOUT] Productoverdracht mislukt, bestand is mogelijk bezet door een systeemproces of heeft onvoldoende rechten: {error}", - "[ERROR] Python installation failed or was cancelled.": "[FOUT] Python-installatie mislukt of is geannuleerd.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[FOUT] Python-interpreter is ongeldig of niet gevonden: {path}", - "[ERROR] Requirements file not found: {path}": "[FOUT] Requirementsbestand niet gevonden: {path}", - "[ERROR] System execution exception: {error}": "[FOUT] Systeemuitvoeringsfout: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[FOUT] Doelbestand is vergrendeld of versleuteld door cloudopslag. Decodeer het bestand en probeer opnieuw.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[FOUT] Doelbestand wordt uitgevoerd of is bezet. Sluit de bestaande toepassing en probeer opnieuw.", - "[ERROR] The specified icon file does not exist: {path}": "[FOUT] Het opgegeven pictogrambestand bestaat niet: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[MISLUKT] Build onderbroken met uitzonderingen!\n\nVeelvoorkomende probleemoplossing:\n1. Omgevingsverschil (meest voorkomend): De geselecteerde Python-versie is incompatibel met uw broncode. Ga naar [Buildinstellingen] om over te schakelen naar de Python-versie die u normaal voor deze code gebruikt.\n2. Ontbrekende afhankelijkheden: Klik op 'Gedetailleerde modus' hierboven om te controleren op ModuleNotFoundError.\n3. Antivirusblokkering: Zorg ervoor dat uw beveiligingssoftware het buildproces niet blokkeert.\n\n(Let op: Dit wordt meestal veroorzaakt door omgevings-/codeverschillen en niet door de verpakkingsengine zelf. Raadpleeg het gedetailleerde logboek voor exacte redenen.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[MISLUKT] Compilatie onderbroken met uitzonderingen. Klik op 'Gedetailleerde modus' boven het logvenster voor probleemoplossing.", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Automatisch bestaande virtuele omgeving '{venv}' gedetecteerd. 'Lokale Venv Behouden' is aangevinkt." + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Gebruik van '__file__' gedetecteerd. In PyInstaller One-File modus, gebruik 'sys._MEIPASS' om gebundelde bronbestanden betrouwbaar te lokaliseren!", + "\\nProgram execution completed, press Enter to exit...": "\\nProgramma-uitvoering voltooid, druk op Enter om af te sluiten..." } diff --git a/qpypack/locales/pl_PL.json b/qpypack/locales/pl_PL.json index 487ff59..114c09b 100644 --- a/qpypack/locales/pl_PL.json +++ b/qpypack/locales/pl_PL.json @@ -1,25 +1,29 @@ { - " [No Console]": " [Bez konsoli]", + " [Console]": "[Konsola]", + " [No Console]": "[Bez konsoli]", "* Nuitka Auto-manages C Compiler": "* Nuitka automatycznie zarządza kompilatorem C", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsorowanie jest w pełni dobrowolne, stanowi bezwarunkowe wsparcie dla społeczności open-source i nie wiąże się z żadnymi zobowiązaniami komercyjnymi. Dziękujemy za Twoje wsparcie!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Wykryto lokalnie:
{path}
Gotowe do bezpośredniego przełączenia bez ponownego pobierania.", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsorowanie jest całkowicie dobrowolne, służy jako bezwarunkowe zachęcenie społeczności open-source i nie wiąże się z żadnymi zobowiązaniami komercyjnymi. Dziękujemy za wsparcie!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Wykryto lokalnie:
{path}
Gotowy do bezpośredniego przełączenia bez ponownego pobierania.", "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Czy na pewno chcesz zresetować wszystkie preferencje?
Wszystkie ustawienia zostaną przywrócone do stanu domyślnego.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Znaleziono {count} środowisk wirtualnych dla bieżącego projektu:
{paths}

Czy na pewno chcesz je usunąć, aby zwolnić miejsce na dysku?", "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Środowisko Pythona zostało pomyślnie zainstalowane!

Zaktualizowano zmienne środowiskowe systemu. Zaleca się zamknięcie i ponowne uruchomienie oprogramowania, aby zastosować zmiany.", "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Zarządzanie środowiskiem Pythona
Obsługuje przełączanie lokalnie wykrytych środowisk Pythona lub pobieranie nowych wersji.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Wymagane środowisko Pythona
Budowanie aplikacji zależy od interpretera Pythona.
Wybierz wersję, aby automatycznie pobrać, zainstalować i skonfigurować zmienne środowiskowe.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Nie wykryto Pythona w systemie!

QPyPack wymaga środowiska Pythona do skompilowania kodu.
Jeśli nie zainstalowałeś Pythona, pobierz i zainstaluj go (pamiętaj o zaznaczeniu 'Dodaj Python.exe do PATH' podczas instalacji).", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Nie wykryto Pythona w systemie!

QPyPack wymaga środowiska Pythona do skompilowania kodu.
Jeśli nie zainstalowałeś Pythona, pobierz i zainstaluj go.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Wymagane środowisko Pythona
Budowa aplikacji zależy od interpretera Pythona.
Wybierz wersję, aby automatycznie pobrać, zainstalować i skonfigurować zmienne środowiskowe.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Nie wykryto Pythona w systemie!

QPyPack wymaga środowiska Pythona do skompilowania kodu.
Jeśli nie masz zainstalowanego Pythona, pobierz i zainstaluj go (pamiętaj, aby zaznaczyć 'Dodaj Python.exe do PATH' podczas instalacji).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Nie wykryto Pythona w systemie!

QPyPack wymaga środowiska Pythona do skompilowania kodu.
Jeśli nie masz zainstalowanego Pythona, pobierz i zainstaluj go.", "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Zalecenie: Python 3.11.9 jest zalecany dla optymalnej zgodności budowania i wsparcia silnika.", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpreter
Automatyczne wykrywanie środowiska systemowego i macierzy wsparcia systemów operacyjnych...", - "AST Scan": "Skan AST", - "AST scan completed, found {count} dependencies.": "Skan AST zakończony, znaleziono {count} zależności.", - "AWS PyPI Mirror (US/EU)": "Mirror PyPI AWS (US/EU)", + "AST Scan": "Skanowanie AST", + "AST scan completed, found {count} dependencies.": "Skanowanie AST zakończone, znaleziono {count} zależności.", + "AWS PyPI Mirror (US/EU)": "Mirror PyPI AWS (USA/UE)", + "About": "O programie", + "Active backport conflicts detected ({count}): {pkgs}": "Wykryto aktywne konflikty backportów ({count}): {pkgs}", + "Add Backport Rule": "Dodaj regułę backportu", "Add Dir": "Dodaj katalog", "Add File": "Dodaj plik", "Add Mapping": "Dodaj mapowanie", "Additional Resources (Drag & Drop Supported)": "Dodatkowe zasoby (obsługiwane przeciąganie i upuszczanie)", - "Aliyun Cloud (China)": "Chmura Aliyun (Chiny)", + "Aliyun Cloud (China)": "Aliyun Cloud (Chiny)", "Analyze Dependencies (AST)": "Analizuj zależności (AST)", "App Icon:": "Ikona aplikacji:", "App Metadata & Presets": "Metadane aplikacji i presety", @@ -28,10 +32,12 @@ "Attention: Please check the log for details.": "Uwaga: Sprawdź log, aby uzyskać szczegóły.", "Author/Company:": "Autor/Firma:", "Auto Extract Icon": "Automatycznie wyodrębnij ikonę", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Automatycznie stosuje podpis cyfrowy do zbudowanej aplikacji, eliminując ostrzeżenie 'Nieznany wydawca'", - "Auto-patched missing ({count}): {pkgs}": "Automatycznie uzupełniono brakujące ({count}): {pkgs}", - "Auto-save Build Log": "Automatycznie zapisuj dziennik budowania", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Automatycznie stosuje podpis cyfrowy do zbudowanej aplikacji, eliminując ostrzeżenie „Nieznany wydawca”", + "Auto-patched missing ({count}): {pkgs}": "Automatycznie poprawiono brakujące ({count}): {pkgs}", + "Auto-save Build Log": "Automatycznie zapisz log budowania", + "Backport exclusion rules have been reset to defaults.": "Reguły wykluczania backportu zostały zresetowane do wartości domyślnych.", "Backup PIP Index:": "Kopia zapasowa indeksu PIP:", + "Browse": "Przeglądaj", "Build Cancelled": "Budowanie anulowane", "Build Engine:": "Silnik budowania:", "Build Failed": "Budowanie nie powiodło się", @@ -39,16 +45,17 @@ "Build Successful": "Budowanie zakończone sukcesem", "Build engine packages ({count}): {pkgs}": "Pakiety silnika budowania ({count}): {pkgs}", "CPU Cores:": "Rdzenie CPU:", + "Cancel": "Anuluj", "Cancel & Return": "Anuluj i wróć", "Cert Password:": "Hasło certyfikatu:", - "Certificate Subject (e.g. My Company):": "Temat certyfikatu (np. Moja Firma):", + "Certificate Subject (e.g. My Company):": "Temat certyfikatu (np. Moja firma):", "Certificate generated successfully!": "Certyfikat został pomyślnie wygenerowany!", "Certificate password": "Hasło certyfikatu", - "Check log output below for troubleshooting.": "Sprawdź poniższe dane dziennika w celu rozwiązywania problemów.", + "Check log output below for troubleshooting.": "Sprawdź poniższe dane wyjściowe logu w celu rozwiązywania problemów.", "Clean Temporary Cache After Build": "Wyczyść tymczasową pamięć podręczną po budowaniu", "Clear All": "Wyczyść wszystko", - "Clear Local Venvs": "Wyczyść lokalne środowiska wirtualne", - "Clear Log": "Wyczyść dziennik", + "Clear Local Venvs": "Wyczyść lokalne venv", + "Clear Log": "Wyczyść log", "Clear Virtual Environments": "Wyczyść środowiska wirtualne", "Click to automatically download, install Python, and configure system environment variables.": "Kliknij, aby automatycznie pobrać, zainstalować Pythona i skonfigurować zmienne środowiskowe systemu.", "Code Signing": "Podpisywanie kodu", @@ -57,7 +64,7 @@ "Commercial PFX File:": "Komercyjny plik PFX:", "Compatibility Mode (Default)": "Tryb zgodności (domyślny)", "Compatibility depends on build environment glibc version.": "Zgodność zależy od wersji glibc środowiska budowania.", - "Concise Log Output": "Zwięzłe dane dziennika", + "Concise Log Output": "Zwięzłe wyjście dziennika", "Concise Mode": "Tryb zwięzły", "Config preset exported to: {path}": "Eksportowano preset konfiguracji do: {path}", "Config preset imported successfully.": "Pomyślnie zaimportowano preset konfiguracji.", @@ -65,18 +72,24 @@ "Configure Manually": "Skonfiguruj ręcznie", "Confirm Password:": "Potwierdź hasło:", "Contents Directory (--contents-directory):": "Katalog zawartości (--contents-directory):", + "Copy": "Kopiuj", + "Create": "Utwórz", "Create Self-Signed Cert": "Utwórz certyfikat self-signed", "Custom Directory": "Katalog niestandardowy", + "Cut": "Wytnij", "Declared in requirements.txt ({count}): {pkgs}": "Zadeklarowane w requirements.txt ({count}): {pkgs}", "Declared in requirements.txt: None": "Zadeklarowane w requirements.txt: Brak", "Delete All": "Usuń wszystko", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Ostrzeżenie o brakujących zależnościach: {pkgs} nie zainstalowano. Sprawdź log, aby uzyskać szczegóły.", + "Deleting...": "Usuwanie...", + "Dependencies": "Zależności", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Ostrzeżenie o brakujących zależnościach: {pkgs} nie udało się zainstalować. Sprawdź dziennik, aby uzyskać szczegóły.", "Description:": "Opis:", "Desktop Application": "Aplikacja desktopowa", "Detailed Mode": "Tryb szczegółowy", - "Discovered via scanner ({count}): {pkgs}": "Wykryte przez skaner ({count}): {pkgs}", + "Directory": "Katalog", + "Discovered via scanner ({count}): {pkgs}": "Wykryto przez skaner ({count}): {pkgs}", "Double-click to edit target path; Drag & drop supported": "Kliknij dwukrotnie, aby edytować ścieżkę docelową; obsługiwane przeciąganie i upuszczanie", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Kliknij dwukrotnie, aby edytować ścieżkę docelową; obsługiwane przeciąganie i upuszczanie. Użyj 'Eksportuj preset', aby zapisać do ponownego użycia.", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Kliknij dwukrotnie, aby edytować ścieżkę docelową; obsługiwane jest przeciąganie i upuszczanie. Użyj 'Eksportuj ustawienia', aby zapisać do ponownego użycia.", "Download New Version": "Pobierz nową wersję", "Download Python": "Pobierz Pythona", "Download complete. Starting Python installation...": "Pobieranie zakończone. Rozpoczynanie instalacji Pythona...", @@ -84,69 +97,88 @@ "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Przeciągnij i upuść skrypt Pythona (.py/.pyw) tutaj\nlub kliknij, aby przeglądać", "Drop Python source code to start": "Upuść kod źródłowy Pythona, aby rozpocząć", "Edit Path": "Edytuj ścieżkę", + "Enable Automatic Backport Isolation": "Włącz automatyczną izolację backportu", "Enable Smart Code Signing": "Włącz inteligentne podpisywanie kodu", "Enable UPX Compression": "Włącz kompresję UPX", + "Engine": "Silnik", "Engine & Environment": "Silnik i środowisko", + "Environment Analysis": "Analiza środowiska", + "Environment Analysis & Remediation": "Analiza środowiska i naprawa", + "Error": "Błąd", "Exclude Modules:": "Wyklucz moduły:", - "Execution Log": "Log wykonania", - "Execution Mode": "Tryb wykonywania", + "Execution Log": "Dziennik wykonania", + "Execution Mode": "Tryb wykonania", "Exit Now": "Wyjdź teraz", "Export Log...": "Eksportuj dziennik...", "Export Preset...": "Eksportuj ustawienia...", "Failed to generate certificate.": "Nie udało się wygenerować certyfikatu.", + "File": "Plik", "Folder Mode (--onedir)": "Tryb folderu (--onedir)", - "Full backward compatibility": "Pełna kompatybilność wsteczna", + "Full backward compatibility": "Pełna wsteczna kompatybilność", + "Generate": "Generuj", "GitHub Repository": "Repozytorium GitHub", - "Global configuration has been reset.": "Konfiguracja globalna została zresetowana.", + "Global configuration has been reset.": "Globalna konfiguracja została zresetowana.", "Hidden Imports:": "Ukryte importy:", "Hide Console (--noconsole)": "Ukryj konsolę (--noconsole)", - "Hide Custom Cert Settings ▾": "Ukryj ustawienia niestandardowego certyfikatu ▾", + "Hide Custom Cert Settings ▾": "Ukryj ustawienia niestandardowych certyfikatów ▾", "Huawei Cloud (China)": "Huawei Cloud (Chiny)", "Import Name": "Nazwa importu", - "Import Preset...": "Importuj ustawienia...", + "Import Preset...": "Importuj preset...", "Import name (e.g. cv2):": "Nazwa importu (np. cv2):", "Independent Developer": "Niezależny deweloper", "Initializing build...": "Inicjalizacja budowania...", + "Inspect Interpreter Environment": "Sprawdź środowisko interpretera", "Install Complete": "Instalacja zakończona", "Install requirements.txt": "Zainstaluj requirements.txt", "Internal directory name for dependencies (default: _internal)": "Wewnętrzna nazwa katalogu dla zależności (domyślnie: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Kontrola interpretera zakończona pomyślnie: Nie wykryto aktywnych konfliktów backportów.", "Interpreter:": "Interpreter:", "Invalid syntax": "Nieprawidłowa składnia", "Issues & Feedback": "Problemy i opinie", "Keep Local Venv": "Zachowaj lokalne venv", + "Later": "Później", "Leave blank to auto-detect from environment variables": "Pozostaw puste, aby automatycznie wykryć ze zmiennych środowiskowych", "Leave blank to auto-detect system default Python": "Pozostaw puste, aby automatycznie wykryć domyślny Python systemu", "Leave blank to auto-match script name": "Pozostaw puste, aby automatycznie dopasować nazwę skryptu", "Leave blank to auto-search requirements.txt in current directory": "Pozostaw puste, aby automatycznie wyszukać requirements.txt w bieżącym katalogu", - "Legacy macOS Compatible": "Zgodny z legacy macOS", - "Lite Mode (Smaller size)": "Tryb Lite (mniejszy rozmiar)", + "Legacy macOS Compatible": "Zgodność z legacy macOS", + "Lite Mode (Smaller size)": "Tryb lekki (mniejszy rozmiar)", "Loaded: {filename}": "Załadowano: {filename}", "Locally Detected Pythons": "Lokalnie wykryte Pythony", "Lock Core Dependencies": "Zablokuj podstawowe zależności", - "Log saved to: {path}": "Dziennik zapisany do: {path}", - "Manifest complete (No missing packages)": "Manifest kompletny (brak brakujących pakietów)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maksymalna kompatybilność. Zalecane dla aplikacji ze złożonymi dynamicznymi importami.", + "Log saved to: {path}": "Log zapisany do: {path}", + "Manifest complete (No missing packages)": "Manifest ukończony (Brak brakujących pakietów)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maksymalna zgodność. Zalecane dla aplikacji ze złożonymi dynamicznymi importami.", + "Min Python Ver": "Min Python Ver", + "Minimum Built-in Python Version (e.g. 3.4):": "Minimalna wbudowana wersja Pythona (np. 3.4):", "Mirrors & Scanner": "Lustra i skaner", - "Modern Cross-Platform Python Application Packager": "Nowoczesny, wieloplatformowy pakowacz aplikacji Pythona", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Nowoczesny, wieloplatformowy GUI do pakowania Pythona oparty na PyInstaller i Nuitka", + "Modern Cross-Platform Python Application Packager": "Nowoczesny, wieloplatformowy pakiet aplikacji Pythona", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Nowoczesne GUI do pakowania Pythona oparte na PyInstaller i Nuitka", "No Windows 7 Support": "Brak wsparcia dla Windows 7", + "No environment conflicts detected.": "Nie wykryto konfliktów środowiskowych.", "No local Python environments detected.": "Nie wykryto lokalnych środowisk Pythona.", "No local virtual environments found to clean.": "Nie znaleziono lokalnych środowisk wirtualnych do wyczyszczenia.", - "No log content.": "Brak zawartości dziennika.", + "No log content.": "Brak treści dziennika.", "Nuitka Version:": "Wersja Nuitka:", "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — kompiluje kod źródłowy do natywnego pliku binarnego C/C++. Zapewnia mniejszy rozmiar pakietu, szybsze działanie i głęboką ochronę przed dekompilacją (wymaga kompilatora C).", + "OK": "OK", "OS Support Matrix:": "Macierz wsparcia systemów operacyjnych:", + "Obsolete Backport Exclusion Rules": "Zasady wykluczania przestarzałych backportów", "One-Click Download & Install": "Pobierz i zainstaluj jednym kliknięciem", "One-Click Install": "Instalacja jednym kliknięciem", - "One-File Mode (--onefile)": "Tryb jednego pliku (--onefile)", + "One-File Mode (--onefile)": "Tryb pojedynczego pliku (--onefile)", "Only supported on Windows.": "Obsługiwane tylko w systemie Windows.", "Open Directory": "Otwórz katalog", "Open output directory or reset workspace.": "Otwórz katalog wyjściowy lub zresetuj obszar roboczy.", "Optimization & Security": "Optymalizacja i bezpieczeństwo", - "Output Location": "Lokalizacja wyjściowa", - "Output Location:": "Lokalizacja wyjściowa:", - "Output Name:": "Nazwa wyjściowa:", + "Output Location": "Lokalizacja wyjścia", + "Output Location:": "Lokalizacja wyjścia:", + "Output Name:": "Nazwa wyjścia:", "Package Map": "Mapa pakietów", + "Package Mapping & Remediation": "Mapowanie pakietów i naprawa", + "Package Mappings & Rules": "Mapowania pakietów i reguły", + "Package Name": "Nazwa pakietu", + "Package Name (e.g. pathlib):": "Nazwa pakietu (np. pathlib):", "Package Name Mappings": "Mapowania nazw pakietów", "Package mappings have been reset to defaults.": "Mapowania pakietów zostały zresetowane do wartości domyślnych.", "Packaging Mode:": "Tryb pakowania:", @@ -154,165 +186,187 @@ "Password cannot be empty!": "Hasło nie może być puste!", "Password:": "Hasło:", "Passwords do not match!": "Hasła nie są zgodne!", + "Paste": "Wklej", "Performance Optimization": "Optymalizacja wydajności", "Platform Support Matrix:": "Macierz wsparcia platform:", + "Preferences": "Preferencje", "Preferences & System Behavior": "Preferencje i zachowanie systemu", "Preparing engine...": "Przygotowywanie silnika...", "Primary PIP Index:": "Główny indeks PIP:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Specyficzne dla projektu. Nie zapisywane w preferencjach globalnych. Użyj 'Eksportuj ustawienia', aby zapisać konfigurację.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Specyficzne dla projektu. Nie zapisywane w globalnych preferencjach. Użyj 'Eksportuj ustawienia', aby zapisać konfigurację.", "PyInstaller Version:": "Wersja PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — pakuje interpreter Pythona i kod bajtowy. Szybkie budowanie, zero konfiguracji (bez potrzeby kompilatora C) i doskonała kompatybilność.", - "PyPI Home": "Strona główna PyPI", - "PyPI Official (Global Default)": "PyPI Oficjalny (domyślny globalnie)", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Pakuje interpreter Pythona i kod bajtowy. Szybka kompilacja, zero konfiguracji (nie wymaga kompilatora C) i doskonała kompatybilność.", + "PyPI Home": "Strona PyPI", + "PyPI Official (Global Default)": "PyPI Oficjalny (globalna domyślna)", "PyPI Package Name": "Nazwa pakietu PyPI", "PyPI package name for [{imp_name}]:": "Nazwa pakietu PyPI dla [{imp_name}]:", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (zalecany)", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (eksperymentalny)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (wsparcie Win7)", + "Python 3.10.11": "Python 3.10.11", + "Python 3.11.9 (Recommended)": "Python 3.11.9 (Zalecany)", + "Python 3.12.4": "Python 3.12.4", + "Python 3.13.0": "Python 3.13.0", + "Python 3.14.6 (Experimental)": "Python 3.14.6 (Eksperymentalny)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Wsparcie Win7)", + "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Zarządzanie środowiskiem Pythona", "Python Environment Required": "Wymagane środowisko Pythona", - "Python Packaging, Reimagined.": "Pakowanie Pythona na nowo.", + "Python Packaging, Reimagined.": "Pakowanie Pythona, na nowo.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python zainstalowany. Uruchom ponownie QPyPack ręcznie później.", - "QPyPack Developer": "Programista QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack jest darmowym narzędziem open-source. Jeśli poprawiło Twoją wydajność lub rozwiązało problemy z pakowaniem, rozważ postawienie autorowi kawy!", - "Ready, waiting for build.": "Gotowy, oczekiwanie na budowanie.", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Zalecenie: min. 6 znaków, tylko alfanumeryczne, '-' i '_'. Unikaj spacji i chińskich znaków, aby zapobiec błędom podpisywania.", + "QPyPack Developer": "QPyPack Developer", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack to darmowe narzędzie open-source. Jeśli poprawiło Twoją wydajność lub rozwiązało problemy z pakowaniem, rozważ kupienie autorowi kawy!", + "Ready, waiting for build.": "Gotowy, oczekiwanie na budowę.", + "Rebuild": "Przebuduj", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Zalecenie: 6+ znaków, alfanumeryczne, tylko '-' i '_'. Unikaj spacji lub chińskich znaków, aby zapobiec błędom podpisywania.", + "Remediate Detected Conflicts": "Napraw wykryte konflikty", + "Remediation completed for packages: {pkgs}": "Naprawa zakończona dla pakietów: {pkgs}", "Remove Selected": "Usuń zaznaczone", "Requirements File:": "Plik wymagań:", - "Reset to Default Config": "Przywróć konfigurację domyślną", + "Reset": "Resetuj", + "Reset to Default Config": "Przywróć domyślną konfigurację", + "Resources": "Zasoby", "Restore Defaults": "Przywróć domyślne", "Save & Return": "Zapisz i wróć", "Save Certificate": "Zapisz certyfikat", "Scan Entire Folder": "Skanuj cały folder", + "Scanning...": "Skanowanie...", "Script and settings retained. Ready to rebuild.": "Skrypt i ustawienia zachowane. Gotowy do przebudowy.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Skrypt załadowany. Możesz przeciągnąć foldery zasobów lub pliki danych bezpośrednio tutaj, aby je spakować.", "Select .pfx / .p12 certificate file": "Wybierz plik certyfikatu .pfx / .p12", "Select All": "Zaznacz wszystko", "Select Python Version to Download:": "Wybierz wersję Pythona do pobrania:", - "Self-Signed Certificate (*.pfx)": "Certyfikat samopodpisany (*.pfx)", + "Self-Signed Certificate (*.pfx)": "Certyfikat self-signed (*.pfx)", "Smaller output size. Recommended for 95% of standard apps.": "Mniejszy rozmiar wyjściowy. Zalecane dla 95% standardowych aplikacji.", "Sound Notification": "Powiadomienie dźwiękowe", "Source Directory (.qpypack_build)": "Katalog źródłowy (.qpypack_build)", "Source File Directory": "Katalog plików źródłowych", + "Sponsor": "Sponsor", "Start Build": "Rozpocznij budowanie", "Status: Build Cancelled": "Status: Budowanie anulowane", "Status: Build Completed": "Status: Budowanie zakończone", "Status: Build Failed": "Status: Budowanie nie powiodło się", + "Status: Environment inspection ready.": "Status: Inspekcja środowiska zakończona.", "Status: Loaded {filename}{mode}": "Status: Załadowano {filename}{mode}", "Status: Packaging ({engine}) ...": "Status: Pakowanie ({engine}) ...", "Status: Parsing {filename}...": "Status: Analizowanie {filename}...", "Status: Ready": "Status: Gotowy", "Status: Workspace Reset": "Status: Obszar roboczy zresetowany", "Stop Build": "Zatrzymaj budowanie", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Pomyślnie wyczyszczono {count} środowisk wirtualnych, zwalniając {size:.1f} MB miejsca na dysku.", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Pomyślnie wyczyszczono {count} środowisk wirtualnych, zwolniono {size:.1f} MB miejsca na dysku.", "Switched to [Build Settings] -> [Engine], please set the Python path.": "Przełączono na [Ustawienia budowania] -> [Silnik], ustaw ścieżkę Pythona.", "Switched to local Python environment: {path}": "Przełączono na lokalne środowisko Pythona: {path}", "System Default ({sys_native})": "Domyślny systemowy ({sys_native})", - "System Temp Directory": "Systemowy katalog tymczasowy", + "System Temp Directory": "Katalog tymczasowy systemu", "Target Directory:": "Katalog docelowy:", - "Target relative path:": "Ścieżka względna docelowa:", + "Target relative path:": "Względna ścieżka docelowa:", "Temporary Directory:": "Katalog tymczasowy:", "Tencent Cloud (China)": "Tencent Cloud (Chiny)", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Wskazówka: Kompilacja nie powiodła się w trybie Lite. Możesz spróbować przełączyć się na [Tryb zgodności] w ustawieniach kompilacji i przebudować.", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Wskazówka: Budowanie nie powiodło się w trybie Lite. Możesz spróbować przełączyć się na [Tryb zgodności] w ustawieniach budowania i zbudować ponownie.", "Toggle Execution Log": "Przełącz dziennik wykonywania", "Tsinghua University (China)": "Uniwersytet Tsinghua (Chiny)", "UI Language:": "Język interfejsu:", "UPX Path:": "Ścieżka UPX:", "USTC (China)": "USTC (Chiny)", + "Undo": "Cofnij", + "Unknown": "Nieznany", "Use Custom Commercial Cert (Optional) ▸": "Użyj niestandardowego certyfikatu komercyjnego (opcjonalnie) ▸", "Use Installed Version Directly": "Użyj bezpośrednio zainstalowanej wersji", "Use Selected Environment": "Użyj wybranego środowiska", "Use Virtual Environment": "Użyj środowiska wirtualnego", "Version:": "Wersja:", "View Python": "Zobacz Pythona", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Nie znaleziono dodatkowego pliku/katalogu zasobów: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Kompilacja przerwana: Brak miejsca na dysku (NoSpaceLeft / Errno 28). Zwolnij miejsce na dysku (zalecane co najmniej 5 GB wolnego miejsca) i spróbuj ponownie.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Kompilacja zakończona, ale następujące zależności nie zostały zainstalowane:\n\n - {pkgs}\n\nUwaga: Aplikacja może zgłaszać ModuleNotFoundError podczas działania.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Nie można zlokalizować prawidłowego pliku wykonywalnego w tymczasowym katalogu kompilacji: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Naprawa środowiska nie powiodła się: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Wystąpił wyjątek podczas analizy AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Nie udało się utworzyć środowiska wirtualnego. Obecne środowisko Pythona może nie mieć wymaganych modułów lub mieć ograniczone uprawnienia.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Nie udało się wyeksportować pliku dziennika: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Nie udało się wyeksportować pliku ustawień: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] Wyjątek wejścia/wyjścia: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Za mało miejsca na dysku (dostępne: {free:.1f} GB). Do bezpiecznej inicjalizacji środowiska kompilacji wymagane jest co najmniej 0,5 GB.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Katalog wyjściowy nie ma uprawnień do zapisu: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Najpierw wczytaj prawidłowy plik źródłowy Pythona!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Błąd formatu pliku ustawień lub plik uszkodzony: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Błąd procesu: brak polecenia lub pliku binarnego ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Transfer produktu nie powiódł się, plik może być zajęty przez proces systemowy lub brak uprawnień: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Instalacja Pythona nie powiodła się lub została anulowana.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Interpreter Pythona jest nieprawidłowy lub nie został znaleziony: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Nie znaleziono pliku wymagań: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Wyjątek wykonania systemowego: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Plik docelowy jest zablokowany lub zaszyfrowany przez dysk w chmurze. Odszyfruj go i spróbuj ponownie.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Plik docelowy jest uruchomiony lub zajęty. Zamknij istniejącą aplikację i spróbuj ponownie.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Podany plik ikony nie istnieje: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Kompilacja przerwana z wyjątkiem!\n\nTypowe rozwiązywanie problemów:\n1. Niezgodność środowiska (najczęstsza): Wybrana wersja Pythona jest niezgodna z kodem źródłowym. Przejdź do [Ustawienia kompilacji], aby przełączyć się na wersję Pythona, której zwykle używasz dla tego kodu.\n2. Brakujące zależności: Kliknij 'Tryb szczegółowy' powyżej, aby sprawdzić ModuleNotFoundError.\n3. Blokada antywirusowa: Upewnij się, że oprogramowanie zabezpieczające nie blokuje procesu kompilacji.\n\n(Uwaga: Zwykle jest to spowodowane rozbieżnościami środowiska/kodu, a nie samym silnikiem pakowania. Sprawdź szczegółowy dziennik, aby poznać dokładne przyczyny.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Kompilacja przerwana z wyjątkami, kliknij 'Tryb szczegółowy' powyżej okna dziennika, aby rozwiązać problem.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] Dodano '{name}' do dodatkowych zasobów.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Dodano {count} element(ów) do Zasobów Dodatkowych.", "[INFO] Analyzing source code and project dependencies...": "[INFO] Analizowanie kodu źródłowego i zależności projektu...", "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Zastosowano podpis cyfrowy ze znacznikiem czasu ({tsa})...", "[INFO] Applying smart digital signature...": "[INFO] Stosowanie inteligentnego podpisu cyfrowego...", - "[INFO] Build Cancelled.": "[INFO] Kompilacja anulowana.", - "[INFO] Build log exported to: {path}": "[INFO] Dziennik kompilacji wyeksportowano do: {path}", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Wykryto automatycznie istniejące środowisko wirtualne '{venv}'. Opcja 'Zachowaj lokalne venv' jest zaznaczona.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Automatycznie zabezpieczono przestarzały moduł backport: '{pkg}' (Wbudowany w Python {ver})", + "[INFO] Build Cancelled.": "[INFO] Budowanie anulowane.", + "[INFO] Build log exported to: {path}": "[INFO] Dziennik budowania wyeksportowano do: {path}", "[INFO] Compilation completed, archiving built files...": "[INFO] Kompilacja zakończona, archiwizowanie zbudowanych plików...", "[INFO] Creating virtual environment ({name})...": "[INFO] Tworzenie środowiska wirtualnego ({name})...", "[INFO] Creating virtual environment...": "[INFO] Tworzenie środowiska wirtualnego...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Pobieranie przeglądarek Playwright przez mirror: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Ocena pamięci fizycznej systemu (dostępne: {ram:.1f} GB). Dostosowano współbieżność adaptacyjną: {cores} -> {safe_jobs} ...", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Ocena fizycznej pamięci systemu (Dostępne: {ram:.1f} GB). Dostosowano współbieżność adaptacyjnie: {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Znaleziono lokalne środowisko Clang, priorytet dla kompilatora LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Znaleziono lokalne środowisko GCC/MinGW-w64, używany kompilator MinGW64.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Znaleziono lokalne środowisko GCC/MinGW-w64, używanie kompilatora MinGW64.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Znaleziono lokalne środowisko MSVC, priorytet dla natywnego kompilatora C++.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Znaleziono lokalne środowisko Zig, pozwalając Nuitka zarządzać kompilacją backendu C.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Zwolnienie miejsca, czyszczenie tymczasowego środowiska kompilacji...", - "[INFO] Initializing isolated build environment...": "[INFO] Inicjalizacja izolowanego środowiska kompilacji...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalowanie środowiska kompilacji i zależności projektu ({count} pakietów): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Włączono tryb lekki, zastosowanie optymalizacji bajtkodu (-OO) i usuwanie modułów deweloperskich...", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Znaleziono lokalne środowisko Zig, pozwalanie Nuitka na zarządzanie kompilacją backendu C.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Zwolnienie miejsca, czyszczenie tymczasowego środowiska budowania...", + "[INFO] Initializing isolated build environment...": "[INFO] Inicjalizacja izolowanego środowiska budowania...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalowanie środowiska budowania i zależności projektu ({count} pakietów): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Tryb Lite włączony, stosowanie optymalizacji bytecode (-OO) i usuwanie modułów deweloperskich...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Nie wykryto lokalnego kompilatora C. Nuitka automatycznie pobierze i zarządza kompatybilnym zestawem narzędzi MinGW-w64.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Wskazówka Nuitka: Jeśli przy pierwszej kompilacji pojawi się monit o pobranie kompilatora GCC/MinGW, upewnij się, że masz stabilne połączenie sieciowe.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Wskazówka Nuitka: Jeśli przy pierwszym budowaniu pojawi się monit o pobranie kompilatora GCC/MinGW, upewnij się, że masz stabilne połączenie sieciowe.", "[INFO] Performing pre-flight environment checks...": "[INFO] Wykonywanie wstępnych kontroli środowiska...", "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Wykryto Playwright. Instalowanie wbudowanych przeglądarek (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Wykryto Python 3.13+: Używanie kompilatora Zig (--zig) jako backendu C.", "[INFO] Python interpreter path: {path}": "[INFO] Ścieżka interpretera Pythona: {path}", "[INFO] Resolving project dependencies...": "[INFO] Rozwiązywanie zależności projektu...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Ponawianie pobierania przeglądarki Playwright przez oficjalne CDN...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Ponawianie pobierania przeglądarek Playwright przez oficjalne CDN...", "[INFO] Reusing existing virtual environment...": "[INFO] Ponowne użycie istniejącego środowiska wirtualnego...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Ponowne użycie istniejącego środowiska wirtualnego: {path}", "[INFO] Scanning project source code via AST engine...": "[INFO] Skanowanie kodu źródłowego projektu za pomocą silnika AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Uruchamianie silnika {engine} do kompilacji plików binarnych...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Uruchamianie silnika {engine} w celu kompilacji plików binarnych...", "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Usuwanie parametrów ikony i automatyczne przebudowywanie...", - "[INFO] Successfully installed compatible versions.": "[INFO] Pomyślnie zainstalowano zgodne wersje.", + "[INFO] Successfully installed compatible versions.": "[INFO] Pomyślnie zainstalowano kompatybilne wersje.", "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Przełączanie na zapasowe źródło PyPI w celu pobrania: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Synchronizowanie i aktualizowanie menedżera pakietów pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Wskazówka: Spakowane pliki wykonywalne mogą być fałszywie oznaczone przez Windows Defender/Antivirus. Zaleca się dodanie wyjątków lub podpisanie kodu.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Używanie kompilatora MinGW64 (--mingw64) jako backendu C.", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Synchronizacja i aktualizacja menedżera pakietów pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Wskazówka: Pliki wykonywalne bez podpisu komercyjnego mogą być fałszywie oznaczone przez Windows Defender/Antivirus.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Używanie kompilatora MinGW64 (--mingw64) dla backendu C.", "[INFO] Using MinGW64 compiler.": "[INFO] Używanie kompilatora MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Weryfikowanie plików wyjściowych i generowanie finalnego produktu...", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Błąd składni] Kod źródłowy zawiera błędy składni, kompilacja przerwana:\n - Plik: {file}\n - Typ: {type}\n - Linia: Linia {line}\n - Szczegóły: {desc}\n\nWskazówka: Upewnij się, że kod źródłowy działa lokalnie przed pakowaniem.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Błąd składni] Analiza składni kodu źródłowego nie powiodła się, budowanie przerwane:\n - Plik: {file}\n - Linia: Linia {line}\n - Szczegóły: {desc}\n\nWskazówka: To zwykle NIE jest wina narzędzia do pakowania.\nUpewnij się, że wybrana [Wersja Pythona do budowania] odpowiada wersji użytej do [Pisania/Testowania kodu].\nUżycie nowszej składni (np. operator morsa :=, unie typów |, match-case) w starszym środowisku Python spowoduje ten błąd.\nZalecamy przejście do [Ustawienia budowania] -> [Silnik], aby przełączyć się na właściwą wersję Pythona.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Wykryto wyjątek alokacji pamięci (ZstdError / OOM). Wyzwalanie awaryjnego trybu ochrony pamięci: ponawianie w trybie jednowątkowym...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pakiet '{pkg}' nie zainstalował się, pomijanie...", - "[WARN] Pause code injection exception: {error}": "[WARN] Wyjątek wstrzyknięcia kodu pauzy: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Instalacja przeglądarki Playwright nie powiodła się we wszystkich źródłach, budowa będzie kontynuowana z ryzykiem...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Wykrywanie informacji o środowisku Pythona nie powiodło się, użyto trybu awaryjnego: {error}", + "[INFO] Validating output files and generating final product...": "[INFO] Weryfikacja plików wyjściowych i generowanie finalnego produktu...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Kompilacja zakończona, ścieżka wyjściowa: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Podpis cyfrowy zastosowany pomyślnie!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Kod źródłowy zawiera błędy składni, kompilacja przerwana:\n - Plik: {file}\n - Typ: {type}\n - Linia: Linia {line}\n - Szczegóły: {desc}\n\nWskazówka: Upewnij się, że kod źródłowy działa lokalnie przed pakowaniem.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Analiza składni kodu źródłowego nie powiodła się, budowanie przerwane:\n - Plik: {file}\n - Linia: Linia {line}\n - Szczegóły: {desc}\n\nWskazówka: To zwykle NIE jest wina narzędzia do pakowania.\nUpewnij się, że wybrana [Wersja Pythona do budowania] odpowiada wersji użytej do [Pisania/Testowania kodu].\nUżycie nowszej składni (np. operator morsa :=, unie typów |, match-case) w starszym środowisku Python spowoduje ten błąd.\nZalecamy przejście do [Ustawienia budowania] -> [Silnik], aby przełączyć się na właściwą wersję Pythona.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Wykryto moduł 'multiprocessing'. Upewnij się, że 'multiprocessing.freeze_support()' jest wywoływane w bloku 'if __name__ == \"__main__\":', aby zapobiec nieskończonym pętlom procesów (bomby fork).", + "[WARN] AST Analysis Exception: {error}": "[WARN] Wyjątek analizy AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Przekroczono limit czasu polecenia (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Wykryto 'requests' lub 'httpx'. Automatyczne dołączanie certyfikatów 'certifi', aby zapobiec błędom SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Nie udało się oczyścić nieprawidłowego środowiska, przełączanie na tymczasowy piaskownicę: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Konwersja ikony do .icns nie powiodła się, budowanie bez ikony.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Zapis zasobu ikony zablokowany (prawdopodobnie zablokowany przez system/antywirus), uruchamianie ochrony awaryjnej...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Wykryto mało miejsca na dysku na dysku docelowym (Dostępne: {free:.1f} GB, zalecane >= 5.0 GB). Proces budowania może zostać przerwany z powodu wyczerpania dysku.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Przechwycono wyjątek alokacji pamięci (ZstdError / OOM). Uruchamianie ochrony pamięci: Ponawianie w trybie jednowątkowym...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pakiet '{pkg}' nie został zainstalowany, pomijanie...", + "[WARN] Pause code injection exception: {error}": "[WARN] Wyjątek wstrzykiwania kodu pauzy: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Instalacja przeglądarki Playwright nie powiodła się we wszystkich źródłach, budowanie będzie kontynuowane z ryzykiem...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Wykrywanie informacji o środowisku Pythona nie powiodło się: {error}", "[WARN] Read requirements.txt warning: {error}": "[WARN] Ostrzeżenie podczas odczytu requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Inteligentne podpisywanie nie powiodło się, ale wynik budowy został zachowany.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Niektóre zależności nie zainstalowały się, budowa będzie kontynuowana z ryzykiem...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Określone wersje nie zainstalowały się. Usuwanie ograniczeń wersji w celu automatycznego dopasowania kompatybilności...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Zdecydowanie zaleca się sprawdzenie [Środowisko wirtualne], aby zmaksymalizować efekt trybu lekkiego.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Wykryto niską pamięć systemową (nie powiodła się alokacja pamięci zstd). Automatyczne ponawianie w trybie jednowątkowym o niskim zużyciu pamięci...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Projekt docelowy znajduje się w katalogu synchronizacji w chmurze (np. OneDrive/Dropbox). Synchronizacja w chmurze może tymczasowo blokować pliki budowy.", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Inteligentne podpisywanie nie powiodło się, ale plik wyjściowy został zachowany.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Niektóre zależności nie zostały zainstalowane, budowanie będzie kontynuowane z ryzykiem...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Podane wersje nie zostały zainstalowane. Usuwanie ograniczeń wersji w celu automatycznego dopasowania kompatybilności...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Zdecydowanie zaleca się sprawdzenie [Środowiska wirtualnego], aby zmaksymalizować efekt trybu lite.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Ograniczone uprawnienia do zapisu dla systemowego Pythona. Ponawianie próby w trybie '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Wykryto niską ilość pamięci systemowej (niepowodzenie alokacji pamięci zstd). Automatyczne ponawianie w trybie jednowątkowym o niskim zużyciu pamięci...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Projekt docelowy znajduje się w katalogu synchronizacji chmurowej (np. OneDrive/Dropbox). Synchronizacja chmurowa może tymczasowo blokować pliki budowania.", "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Przekroczono limit czasu połączenia z serwerem znaczników czasu, wykonywanie lokalnego szybkiego podpisywania...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Wykryto użycie '__file__'. W trybie PyInstaller One-File użyj 'sys._MEIPASS', aby niezawodnie zlokalizować dołączone pliki zasobów!", - "\\nProgram execution completed, press Enter to exit...": "\\nWykonanie programu zakończone, naciśnij Enter, aby wyjść...", - "[ERROR] Additional resource file/directory not found: {path}": "[BŁĄD] Nie znaleziono dodatkowego pliku/katalogu zasobów: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[BŁĄD] Przerwano budowanie: Za mało miejsca na dysku (NoSpaceLeft / Errno 28). Zwolnij miejsce na dysku (zalecane co najmniej 5 GB wolnego miejsca) i spróbuj ponownie.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[BŁĄD] Budowanie zakończone, ale nie udało się zainstalować następujących zależności:\n\n - {pkgs}\n\nUwaga: Aplikacja może zgłosić ModuleNotFoundError w czasie działania.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[BŁĄD] Nie można zlokalizować prawidłowego pliku wykonywalnego w tymczasowym katalogu budowania: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[BŁĄD] Wystąpił wyjątek podczas analizy AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[BŁĄD] Nie udało się utworzyć środowiska wirtualnego. Bieżące środowisko Python może nie mieć wymaganych modułów lub mieć ograniczone uprawnienia.", - "[ERROR] Failed to export log file: {error}": "[BŁĄD] Nie udało się wyeksportować pliku dziennika: {error}", - "[ERROR] Failed to export preset file: {error}": "[BŁĄD] Nie udało się wyeksportować pliku ustawień: {error}", - "[ERROR] I/O Exception: {err_msg}": "[BŁĄD] Wyjątek wejścia/wyjścia: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[BŁĄD] Za mało miejsca na dysku (dostępne: {free:.1f} GB). Wymagane co najmniej 0,5 GB, aby bezpiecznie zainicjować środowisko budowania.", - "[ERROR] Output directory is missing write permissions: {error}": "[BŁĄD] Katalog wyjściowy nie ma uprawnień do zapisu: {error}", - "[ERROR] Please load a valid Python source file first!": "[BŁĄD] Najpierw wczytaj prawidłowy plik źródłowy Python!", - "[ERROR] Preset file format error or corrupted: {error}": "[BŁĄD] Błąd formatu pliku ustawień lub plik uszkodzony: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[BŁĄD] Błąd procesu: brak polecenia lub pliku binarnego ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[BŁĄD] Przeniesienie produktu nie powiodło się, plik może być zajęty przez proces systemowy lub brak uprawnień: {error}", - "[ERROR] Python installation failed or was cancelled.": "[BŁĄD] Instalacja Pythona nie powiodła się lub została anulowana.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[BŁĄD] Interpreter Python jest nieprawidłowy lub nie został znaleziony: {path}", - "[ERROR] Requirements file not found: {path}": "[BŁĄD] Nie znaleziono pliku wymagań: {path}", - "[ERROR] System execution exception: {error}": "[BŁĄD] Wyjątek wykonania systemowego: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[BŁĄD] Plik docelowy jest zablokowany lub zaszyfrowany przez dysk w chmurze. Odszyfruj go i spróbuj ponownie.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[BŁĄD] Plik docelowy jest uruchomiony lub zajęty. Zamknij istniejącą aplikację i spróbuj ponownie.", - "[ERROR] The specified icon file does not exist: {path}": "[BŁĄD] Podany plik ikony nie istnieje: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[NIE POWIODŁO SIĘ] Budowanie przerwane wyjątkowo!\n\nTypowe rozwiązywanie problemów:\n1. Niezgodność środowiska (najczęstsza): Wybrana wersja Pythona jest niezgodna z kodem źródłowym. Przejdź do [Ustawienia budowania], aby przełączyć się na wersję Pythona, której zwykle używasz dla tego kodu.\n2. Brakujące zależności: Kliknij 'Tryb szczegółowy' powyżej, aby sprawdzić ModuleNotFoundError.\n3. Blokada antywirusowa: Upewnij się, że oprogramowanie zabezpieczające nie blokuje procesu budowania.\n\n(Uwaga: Zwykle jest to spowodowane rozbieżnościami środowiska/kodu, a nie samym silnikiem pakowania. Sprawdź szczegółowy dziennik, aby poznać dokładne przyczyny.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[NIE POWIODŁO SIĘ] Kompilacja przerwana z wyjątkami, kliknij 'Tryb szczegółowy' nad oknem dziennika, aby rozwiązać problem.", - "[SUCCESS] Compilation completed, output path: {path}": "[SUKCES] Kompilacja zakończona, ścieżka wyjściowa: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUKCES] Podpis cyfrowy zastosowany pomyślnie!", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[OSTRZEŻENIE] Wykryto moduł 'multiprocessing'. Upewnij się, że 'multiprocessing.freeze_support()' jest wywoływane w bloku 'if __name__ == \"__main__\":', aby zapobiec nieskończonym pętlom procesów (fork bombs).", - "[WARN] AST Analysis Exception: {error}": "[OSTRZEŻENIE] Wyjątek analizy AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[OSTRZEŻENIE] Przekroczono limit czasu polecenia (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[OSTRZEŻENIE] Wykryto 'requests' lub 'httpx'. Automatyczne dołączanie certyfikatów 'certifi' w celu zapobiegania błędom SSL.", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[OSTRZEŻENIE] Nie udało się wyczyścić nieprawidłowego środowiska, przełączanie na tymczasowy sandbox: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[OSTRZEŻENIE] Konwersja ikony do .icns nie powiodła się, budowanie bez ikony.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[OSTRZEŻENIE] Zablokowano zapis zasobu ikony (prawdopodobnie zablokowany przez system/antywirus), uruchamianie ochrony zastępczej...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[OSTRZEŻENIE] Wykryto mało miejsca na dysku docelowym (Dostępne: {free:.1f} GB, zalecane >= 5.0 GB). Proces budowania może zostać przerwany z powodu wyczerpania miejsca na dysku.", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Wykryto automatycznie istniejące środowisko wirtualne '{venv}'. Opcja 'Zachowaj lokalne środowisko' jest zaznaczona." + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Wykryto użycie '__file__'. W trybie jednego pliku PyInstaller, użyj 'sys._MEIPASS', aby niezawodnie zlokalizować dołączone pliki zasobów!", + "\\nProgram execution completed, press Enter to exit...": "\\nWykonywanie programu zakończone, naciśnij Enter, aby wyjść..." } diff --git a/qpypack/locales/pt_BR.json b/qpypack/locales/pt_BR.json index b7af54f..d2f17ce 100644 --- a/qpypack/locales/pt_BR.json +++ b/qpypack/locales/pt_BR.json @@ -1,345 +1,372 @@ { - " [Console]": " [Com console]", - " [No Console]": " [Sem console]", - "* Nuitka Auto-manages C Compiler": "* Nuitka gerencia o compilador C automaticamente", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* O patrocínio é voluntário. Obrigado pelo seu apoio!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Detectado localmente:
{path}
Pronto para trocar diretamente sem baixar novamente.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Tem certeza de que deseja redefinir todas as preferências?
Todas as configurações serão restauradas para o estado padrão.", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Ambiente Python Instalado com Sucesso!

Variáveis de ambiente do sistema atualizadas. Recomendado reiniciar o software para aplicar as mudanças.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gerenciamento de Ambiente Python
Suporta a troca de ambientes Python locais detectados ou o download de novas versões.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Ambiente Python Necessário
A compilação depende de um intérprete Python.
Selecione uma versão para baixar, instalar e configurar variáveis de ambiente automaticamente.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python não detectado!
Instale o Python (marque 'Add Python.exe to PATH').", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python não foi detectado no seu sistema!

O QPyPack requer um ambiente Python para compilar seu código.
Se você não instalou o Python, por favor, baixe e instale.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recomendação: O Python 3.11.9 é recomendado para melhor compatibilidade de compilação e suporte de motor.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Intérprete
Detectando automaticamente o ambiente e matriz de suporte...", - "AST Scan": "Análise AST", - "AST scan completed, found {count} dependencies.": "Análise AST concluída: {count} dependências encontradas.", - "AWS PyPI Mirror (US/EU)": "Espelho AWS PyPI (EUA/UE)", + " [Console]": "[Console]", + " [No Console]": "[Sem Console]", + "* Nuitka Auto-manages C Compiler": "* Nuitka gerencia automaticamente o compilador C", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* O patrocínio é totalmente voluntário, serve como um incentivo incondicional à comunidade de código aberto e não envolve compromissos comerciais. Obrigado pelo seu apoio!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Detectado localmente:
{path}
Pronto para alternar diretamente sem baixar novamente.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Tem certeza de que deseja redefinir todas as preferências?
Todas as configurações serão restauradas ao estado padrão.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Encontrado(s) {count} ambiente(s) virtual(is) para o projeto atual:
{paths}

Tem certeza de que deseja excluí-los para liberar espaço em disco?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Ambiente Python instalado com sucesso!

As variáveis de ambiente do sistema foram atualizadas. Recomenda-se sair e reiniciar o software para aplicar as alterações.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Gerenciamento de Ambiente Python
Suporta alternar entre ambientes Python detectados localmente ou baixar novas versões.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Ambiente Python Necessário
A compilação do aplicativo depende de um interpretador Python.
Selecione uma versão para baixar, instalar e configurar automaticamente as variáveis de ambiente.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python não foi detectado no seu sistema!

QPyPack requer um ambiente Python para compilar seu código.
Se você ainda não instalou o Python, baixe e instale-o (lembre-se de marcar 'Adicionar Python.exe ao PATH' durante a instalação).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python não foi detectado no seu sistema!

QPyPack requer um ambiente Python para compilar seu código.
Se você ainda não instalou o Python, baixe e instale-o.", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Recomendação: Python 3.11.9 é recomendado para compatibilidade de compilação e suporte de mecanismo ideais.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Interpretador
Detectando automaticamente o ambiente do sistema e a matriz de suporte do SO...", + "AST Scan": "Varredura AST", + "AST scan completed, found {count} dependencies.": "Varredura AST concluída, encontradas {count} dependências.", + "AWS PyPI Mirror (US/EU)": "Espelho PyPI AWS (EUA/UE)", "About": "Sobre", - "Add Dir": "Adicionar Pasta", + "Active backport conflicts detected ({count}): {pkgs}": "Conflitos de backport ativos detectados ({count}): {pkgs}", + "Add Backport Rule": "Adicionar Regra de Backport", + "Add Dir": "Adicionar Diretório", "Add File": "Adicionar Arquivo", "Add Mapping": "Adicionar Mapeamento", - "Additional Resources (Drag & Drop Supported)": "Recursos adicionais (Suporta Drag & Drop)", - "Aliyun Cloud (China)": "Nuvem Aliyun", - "Analyze Dependencies (AST)": "Analisar dependências (AST)", - "App Icon:": "Ícone do aplicativo:", - "App Metadata & Presets": "Metadados e predefinições", - "Apple Silicon (M-Series) & Intel": "Suporta Apple Silicon (Série M) e Intel", - "Apple Silicon (M1/M2) & Intel": "Suporta Apple Silicon (M1/M2) e Intel", - "Attention: Please check the log for details.": "Atenção: Verifique o log para detalhes.", - "Author/Company:": "Autor/Organização:", - "Auto Extract Icon": "Extrair ícone automaticamente", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Aplica automaticamente assinatura digital ao app, eliminando o aviso de 'Editor Desconhecido'.", - "Auto-patched missing ({count}): {pkgs}": "Corrigido automaticamente ({count}): {pkgs}", - "Auto-save Build Log": "Salvar log automaticamente", - "Backup PIP Index:": "Servidor PIP secundário:", - "Browse": "Navegar...", + "Additional Resources (Drag & Drop Supported)": "Recursos Adicionais (Suporte a Arrastar e Soltar)", + "Aliyun Cloud (China)": "Alibaba Cloud (China)", + "Analyze Dependencies (AST)": "Analisar Dependências (AST)", + "App Icon:": "Ícone do Aplicativo:", + "App Metadata & Presets": "Metadados e Predefinições do Aplicativo", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (Série M) e Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) e Intel", + "Attention: Please check the log for details.": "Atenção: Por favor, verifique o log para obter detalhes.", + "Author/Company:": "Autor/Empresa:", + "Auto Extract Icon": "Extrair Ícone Automaticamente", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Aplica automaticamente assinatura digital ao aplicativo compilado, eliminando o aviso 'Editor Desconhecido'", + "Auto-patched missing ({count}): {pkgs}": "Correções automáticas ausentes ({count}): {pkgs}", + "Auto-save Build Log": "Salvar Log de Compilação Automaticamente", + "Backport exclusion rules have been reset to defaults.": "As regras de exclusão de backport foram redefinidas para os padrões.", + "Backup PIP Index:": "Backup do Índice PIP:", + "Browse": "Procurar", "Build Cancelled": "Compilação Cancelada", - "Build Engine:": "Motor de compilação:", - "Build Failed": "Falha na compilação", - "Build Settings": "Configurações de Build", - "Build Successful": "Compilação bem-sucedida", - "Build engine packages ({count}): {pkgs}": "Pacotes do motor ({count}): {pkgs}", + "Build Engine:": "Mecanismo de Compilação:", + "Build Failed": "Falha na Compilação", + "Build Settings": "Configurações de Compilação", + "Build Successful": "Compilação Bem-sucedida", + "Build engine packages ({count}): {pkgs}": "Pacotes do mecanismo de compilação ({count}): {pkgs}", "CPU Cores:": "Núcleos de CPU:", "Cancel": "Cancelar", - "Cancel & Return": "Cancelar e voltar", + "Cancel & Return": "Cancelar e Voltar", "Cert Password:": "Senha do Certificado:", - "Certificate Subject (e.g. My Company):": "Emissor do Certificado (ex: Minha Empresa):", + "Certificate Subject (e.g. My Company):": "Assunto do Certificado (ex.: Minha Empresa):", "Certificate generated successfully!": "Certificado gerado com sucesso!", "Certificate password": "Senha do certificado", - "Check log output below for troubleshooting.": "Verifique o log abaixo para solucionar o problema.", - "Clean Temporary Cache After Build": "Limpar cache temporário após a compilação", + "Check log output below for troubleshooting.": "Verifique a saída do log abaixo para solucionar problemas.", + "Clean Temporary Cache After Build": "Limpar Cache Temporário Após a Compilação", "Clear All": "Limpar Tudo", + "Clear Local Venvs": "Limpar Venvs Locais", "Clear Log": "Limpar Log", - "Click to automatically download, install Python, and configure system environment variables.": "Clique para baixar, instalar e configurar variáveis de ambiente automaticamente.", + "Clear Virtual Environments": "Limpar Ambientes Virtuais", + "Click to automatically download, install Python, and configure system environment variables.": "Clique para baixar, instalar o Python e configurar as variáveis de ambiente do sistema automaticamente.", "Code Signing": "Assinatura de Código", - "Comma separated (e.g. pandas, PyQt5)": "Separados por vírgula (ex: pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "Separados por vírgula (ex: tkinter, matplotlib)", + "Comma separated (e.g. pandas, PyQt5)": "Separados por vírgula (ex.: pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "Separados por vírgula (ex.: tkinter, matplotlib)", "Commercial PFX File:": "Arquivo PFX Comercial:", - "Compatibility Mode (Default)": "Modo de compatibilidade (Padrão)", - "Compatibility depends on build environment glibc version.": "A compatibilidade depende da versão da glibc do ambiente.", - "Concise Log Output": "Saída de log concisa", - "Concise Mode": "Modo Conciso", - "Config preset exported to: {path}": "Predefinição exportada para: {path}", - "Config preset imported successfully.": "Predefinição importada com sucesso.", - "Configure Build Settings": "Configurações de compilação", + "Compatibility Mode (Default)": "Modo de Compatibilidade (Padrão)", + "Compatibility depends on build environment glibc version.": "A compatibilidade depende da versão do glibc do ambiente de compilação.", + "Concise Log Output": "Saída de Log Concisa", + "Concise Mode": "Modo Concise", + "Config preset exported to: {path}": "Preset de configuração exportado para: {path}", + "Config preset imported successfully.": "Preset de configuração importado com sucesso.", + "Configure Build Settings": "Configurar Configurações de Build", "Configure Manually": "Configurar Manualmente", "Confirm Password:": "Confirmar Senha:", "Contents Directory (--contents-directory):": "Diretório de Conteúdo (--contents-directory):", "Copy": "Copiar", "Create": "Criar", "Create Self-Signed Cert": "Criar Certificado Autoassinado", - "Custom Directory": "Diretório personalizado", + "Custom Directory": "Diretório Personalizado", "Cut": "Recortar", "Declared in requirements.txt ({count}): {pkgs}": "Declarado em requirements.txt ({count}): {pkgs}", "Declared in requirements.txt: None": "Declarado em requirements.txt: Nenhum", + "Delete All": "Excluir Tudo", + "Deleting...": "Excluindo...", "Dependencies": "Dependências", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Aviso: {pkgs} falharam ao instalar.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Aviso de Dependência Ausente: {pkgs} falhou ao instalar. Verifique o log para detalhes.", "Description:": "Descrição:", - "Desktop Application": "Aplicativo de Trabalho", + "Desktop Application": "Aplicativo de Desktop", "Detailed Mode": "Modo Detalhado", "Directory": "Diretório", "Discovered via scanner ({count}): {pkgs}": "Descoberto via scanner ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Clique duplo para editar; Suporta arrastar e soltar", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Clique duplo para editar o caminho de destino; Suporta arrastar e soltar. Use 'Exportar Predefinição' para salvar.", + "Double-click to edit target path; Drag & drop supported": "Clique duas vezes para editar o caminho do alvo; arrastar e soltar suportado", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Clique duas vezes para editar o caminho de destino; arrastar e soltar suportado. Use 'Exportar Predefinição' para salvar para reutilização.", "Download New Version": "Baixar Nova Versão", "Download Python": "Baixar Python", "Download complete. Starting Python installation...": "Download concluído. Iniciando instalação do Python...", "Downloading Python {ver}... Please wait.": "Baixando Python {ver}... Aguarde.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Arraste e solte o script Python (.py/.pyw) aqui\nou clique para navegar...", - "Drop Python source code to start": "Solte o código fonte Python para começar", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Arraste e solte o script Python (.py/.pyw) aqui\nou Clique para Procurar", + "Drop Python source code to start": "Solte o código-fonte Python para começar", "Edit Path": "Editar Caminho", - "Enable Smart Code Signing": "Habilitar Assinatura Digital", - "Enable UPX Compression": "Ativar compressão UPX", - "Engine": "Motor", - "Engine & Environment": "Motor e ambiente", + "Enable Automatic Backport Isolation": "Ativar Isolamento Automático de Backport", + "Enable Smart Code Signing": "Ativar Assinatura Inteligente de Código", + "Enable UPX Compression": "Ativar Compressão UPX", + "Engine": "Mecanismo", + "Engine & Environment": "Mecanismo e Ambiente", + "Environment Analysis": "Análise de Ambiente", + "Environment Analysis & Remediation": "Análise e Correção de Ambiente", "Error": "Erro", - "Exclude Modules:": "Excluir módulos:", + "Exclude Modules:": "Excluir Módulos:", "Execution Log": "Log de Execução", - "Execution Mode": "Modo de execução", + "Execution Mode": "Modo de Execução", "Exit Now": "Sair Agora", "Export Log...": "Exportar Log...", "Export Preset...": "Exportar Predefinição...", - "Failed to generate certificate.": "Falha ao gerar o certificado.", + "Failed to generate certificate.": "Falha ao gerar certificado.", "File": "Arquivo", - "Folder Mode (--onedir)": "Pasta (--onedir)", + "Folder Mode (--onedir)": "Modo Pasta (--onedir)", "Full backward compatibility": "Compatibilidade total com versões anteriores", "Generate": "Gerar", "GitHub Repository": "Repositório GitHub", - "Global configuration has been reset.": "Configuração global redefinida.", - "Hidden Imports:": "Importações implícitas:", - "Hide Console (--noconsole)": "Ocultar console (--noconsole)", - "Hide Custom Cert Settings ▾": "Ocultar Configurações do Certificado ▾", - "Huawei Cloud (China)": "Nuvem Huawei", - "Import Name": "Nome de importação", + "Global configuration has been reset.": "A configuração global foi redefinida.", + "Hidden Imports:": "Imports Ocultos:", + "Hide Console (--noconsole)": "Ocultar Console (--noconsole)", + "Hide Custom Cert Settings ▾": "Ocultar Configurações de Certificado Personalizado ▾", + "Huawei Cloud (China)": "Huawei Cloud (China)", + "Import Name": "Nome da Importação", "Import Preset...": "Importar Predefinição...", - "Import name (e.g. cv2):": "Nome de importação (ex: cv2):", + "Import name (e.g. cv2):": "Nome da importação (ex.: cv2):", "Independent Developer": "Desenvolvedor Independente", - "Initializing build...": "Inicializando compilação...", + "Initializing build...": "Inicializando a compilação...", + "Inspect Interpreter Environment": "Inspecionar Ambiente do Interpretador", "Install Complete": "Instalação Concluída", "Install requirements.txt": "Instalar requirements.txt", "Internal directory name for dependencies (default: _internal)": "Nome do diretório interno para dependências (padrão: _internal)", - "Interpreter:": "Intérprete:", + "Interpreter inspection passed: No active backport conflicts detected.": "Inspeção do interpretador aprovada: Nenhum conflito de backport ativo detectado.", + "Interpreter:": "Interpretador:", "Invalid syntax": "Sintaxe inválida", "Issues & Feedback": "Problemas e Feedback", + "Keep Local Venv": "Manter Venv Local", "Later": "Depois", - "Leave blank to auto-detect from environment variables": "Deixe em branco para detectar automaticamente", - "Leave blank to auto-detect system default Python": "Deixe em branco para detectar automaticamente", - "Leave blank to auto-match script name": "Deixe em branco para usar o nome do script", - "Leave blank to auto-search requirements.txt in current directory": "Deixe em branco para buscar automaticamente", - "Legacy macOS Compatible": "Compatível com macOS legado", - "Lite Mode (Smaller size)": "Modo leve (Tamanho menor)", + "Leave blank to auto-detect from environment variables": "Deixe em branco para detectar automaticamente pelas variáveis de ambiente", + "Leave blank to auto-detect system default Python": "Deixe em branco para detectar automaticamente o Python padrão do sistema", + "Leave blank to auto-match script name": "Deixe em branco para corresponder automaticamente ao nome do script", + "Leave blank to auto-search requirements.txt in current directory": "Deixe em branco para procurar automaticamente requirements.txt no diretório atual", + "Legacy macOS Compatible": "Compatível com macOS Legado", + "Lite Mode (Smaller size)": "Modo Leve (Tamanho menor)", "Loaded: {filename}": "Carregado: {filename}", "Locally Detected Pythons": "Pythons Detectados Localmente", - "Lock Core Dependencies": "Fixar dependências principais", + "Lock Core Dependencies": "Bloquear Dependências Principais", "Log saved to: {path}": "Log salvo em: {path}", - "Manifest complete (No missing packages)": "Manifesto completo (Sem pacotes faltando)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Compatibilidade máxima. Recomendado para apps com importações dinâmicas complexas.", - "Mirrors & Scanner": "Espelhos e analisador", - "Modern Cross-Platform Python Application Packager": "Empacotador de Aplicativos Python Moderno e Multiplataforma", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI de Empacotamento Python com PyInstaller & Nuitka", + "Manifest complete (No missing packages)": "Manifesto completo (Nenhum pacote ausente)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Compatibilidade máxima. Recomendado para aplicativos com importações dinâmicas complexas.", + "Min Python Ver": "Versão Mínima do Python", + "Minimum Built-in Python Version (e.g. 3.4):": "Versão Mínima do Python Integrado (ex.: 3.4):", + "Mirrors & Scanner": "Espelhos e Scanner", + "Modern Cross-Platform Python Application Packager": "Empacotador Moderno de Aplicativos Python Multiplataforma", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI Moderna de Empacotamento Python Multiplataforma com PyInstaller e Nuitka", "No Windows 7 Support": "Sem Suporte ao Windows 7", + "No environment conflicts detected.": "Nenhum conflito de ambiente detectado.", "No local Python environments detected.": "Nenhum ambiente Python local detectado.", - "No log content.": "Nenhum conteúdo de log.", + "No local virtual environments found to clean.": "Nenhum ambiente virtual local encontrado para limpar.", + "No log content.": "Sem conteúdo de log.", "Nuitka Version:": "Versão do Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compila para C/C++ nativo. Melhora o desempenho e protege o código-fonte.", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Compila o código-fonte em binário nativo C/C++. Produz tamanho de pacote menor, execução mais rápida e proteção profunda contra descompilação (requer compilador C).", "OK": "OK", - "OS Support Matrix:": "Matriz de Suporte a SO:", - "One-Click Download & Install": "Download e Instalação em Um Clique", + "OS Support Matrix:": "Matriz de Suporte ao SO:", + "Obsolete Backport Exclusion Rules": "Regras de Exclusão de Backport Obsoleto", + "One-Click Download & Install": "Download e Instalação com Um Clique", "One-Click Install": "Instalação com Um Clique", - "One-File Mode (--onefile)": "Arquivo único (--onefile)", + "One-File Mode (--onefile)": "Modo Arquivo Único (--onefile)", "Only supported on Windows.": "Suportado apenas no Windows.", - "Open Directory": "Abrir Pasta", - "Open output directory or reset workspace.": "Abra o diretório de saída ou redefina o espaço de trabalho.", + "Open Directory": "Abrir Diretório", + "Open output directory or reset workspace.": "Abrir diretório de saída ou redefinir espaço de trabalho.", "Optimization & Security": "Otimização e Segurança", - "Output Location": "Local de saída", - "Output Location:": "Regra de saída:", - "Output Name:": "Nome do executável:", - "Package Map": "Mapeamento", - "Package Name Mappings": "Mapeamento de nomes de pacotes", - "Package mappings have been reset to defaults.": "Mapeamentos redefinidos para os padrões.", - "Packaging Mode:": "Modo de empacotamento:", + "Output Location": "Local de Saída", + "Output Location:": "Local de Saída:", + "Output Name:": "Nome de Saída:", + "Package Map": "Mapa de Pacotes", + "Package Mapping & Remediation": "Mapeamento e Correção de Pacotes", + "Package Mappings & Rules": "Mapeamentos e Regras de Pacotes", + "Package Name": "Nome do Pacote", + "Package Name (e.g. pathlib):": "Nome do Pacote (ex.: pathlib):", + "Package Name Mappings": "Mapeamentos de Nomes de Pacotes", + "Package mappings have been reset to defaults.": "Os mapeamentos de pacotes foram redefinidos para os padrões.", + "Packaging Mode:": "Modo de Empacotamento:", "Parsing metadata...": "Analisando metadados...", "Password cannot be empty!": "A senha não pode estar vazia!", "Password:": "Senha:", "Passwords do not match!": "As senhas não coincidem!", "Paste": "Colar", - "Performance Optimization": "Otimização de desempenho", - "Platform Support Matrix:": "Matriz de Suporte a Plataforma:", + "Performance Optimization": "Otimização de Desempenho", + "Platform Support Matrix:": "Matriz de Suporte de Plataformas:", "Preferences": "Preferências", - "Preferences & System Behavior": "Preferências e comportamento", - "Preparing engine...": "Preparando o motor...", - "Primary PIP Index:": "Servidor PIP principal:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Específico do projeto. Use 'Exportar Predefinição'.", + "Preferences & System Behavior": "Preferências e Comportamento do Sistema", + "Preparing engine...": "Preparando o mecanismo...", + "Primary PIP Index:": "Índice PIP Primário:", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Específico do projeto. Não salvo nas preferências globais. Use 'Exportar Predefinição' para salvar a configuração.", "PyInstaller Version:": "Versão do PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Compilação rápida e excelente compatibilidade. Ideal para desenvolvimento iterativo.", - "PyPI Home": "Página PyPI", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Empacota o interpretador Python e o bytecode. Velocidade de compilação rápida, zero configuração (sem necessidade de compilador C) e excelente compatibilidade.", + "PyPI Home": "Início do PyPI", "PyPI Official (Global Default)": "PyPI Oficial (Padrão Global)", - "PyPI Package Name": "Nome do pacote no PyPI", + "PyPI Package Name": "Nome do Pacote PyPI", "PyPI package name for [{imp_name}]:": "Nome do pacote PyPI para [{imp_name}]:", "Python 3.10.11": "Python 3.10.11", "Python 3.11.9 (Recommended)": "Python 3.11.9 (Recomendado)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", "Python 3.14.6 (Experimental)": "Python 3.14.6 (Experimental)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Suporte Win7)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Suporte ao Win7)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Gerenciamento de Ambiente Python", "Python Environment Required": "Ambiente Python Necessário", - "Python Packaging, Reimagined.": "Empacotamento Python, reimaginado.", + "Python Packaging, Reimagined.": "Empacotamento Python, Reinventado.", "Python TestPyPI": "Python TestPyPI", - "Python installed. Please restart QPyPack manually later.": "Python instalado. Por favor, reinicie o QPyPack manualmente depois.", + "Python installed. Please restart QPyPack manually later.": "Python instalado. Reinicie o QPyPack manualmente mais tarde.", "QPyPack Developer": "Desenvolvedor QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack é gratuito. Se ajudou você, considere pagar um café ao autor!", - "Ready, waiting for build.": "Pronto, aguardando compilação.", - "Rebuild": "Recompilar", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recomendação: 6+ caracteres, apenas alfanuméricos, '-' e '_'. Evite espaços.", - "Remove Selected": "Remover Selecionado", - "Requirements File:": "Arquivo de dependências:", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack é uma ferramenta gratuita e de código aberto. Se ela melhorou sua eficiência ou resolveu problemas de empacotamento, considere comprar um café para o autor!", + "Ready, waiting for build.": "Pronto, aguardando build.", + "Rebuild": "Reconstruir", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Recomendação: 6+ caracteres, alfanumérico, apenas '-' e '_'. Evite espaços ou chinês para prevenir erros de assinatura.", + "Remediate Detected Conflicts": "Corrigir Conflitos Detectados", + "Remediation completed for packages: {pkgs}": "Correção concluída para pacotes: {pkgs}", + "Remove Selected": "Remover Selecionados", + "Requirements File:": "Arquivo de Requisitos:", "Reset": "Redefinir", - "Reset to Default Config": "Restaurar Configurações Padrão", + "Reset to Default Config": "Redefinir para Config Padrão", "Resources": "Recursos", - "Restore Defaults": "Restaurar Valores Padrão", + "Restore Defaults": "Restaurar Padrões", "Save & Return": "Salvar e Voltar", "Save Certificate": "Salvar Certificado", - "Scan Entire Folder": "Escanear a pasta inteira", + "Scan Entire Folder": "Escanear Pasta Inteira", + "Scanning...": "Escaneando...", "Script and settings retained. Ready to rebuild.": "Script e configurações mantidos. Pronto para reconstruir.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Script carregado. Você pode arrastar pastas de assets ou arquivos de dados diretamente aqui para empacotá-los.", "Select .pfx / .p12 certificate file": "Selecionar arquivo de certificado .pfx / .p12", "Select All": "Selecionar Tudo", - "Select Python Version to Download:": "Selecione a versão do Python para baixar:", + "Select Python Version to Download:": "Selecione a Versão do Python para Baixar:", "Self-Signed Certificate (*.pfx)": "Certificado Autoassinado (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Menor tamanho de saída. Recomendado para 95% dos aplicativos padrão.", - "Sound Notification": "Notificação sonora ao concluir", - "Source Directory (.qpypack_build)": "Diretório Fonte (.qpypack_build)", - "Source File Directory": "Diretório do arquivo fonte", - "Sponsor": "Patrocinar", - "Start Build": "Iniciar Compilação", - "Status: Build Cancelled": "Status: Compilação Cancelada", - "Status: Build Completed": "Status: Compilação concluída", - "Status: Build Failed": "Status: Falha na compilação", - "Status: Loaded {filename}{mode}": "Status: {filename}{mode} carregado", + "Smaller output size. Recommended for 95% of standard apps.": "Tamanho de saída menor. Recomendado para 95% dos aplicativos padrão.", + "Sound Notification": "Notificação Sonora", + "Source Directory (.qpypack_build)": "Diretório de Origem (.qpypack_build)", + "Source File Directory": "Diretório do Arquivo de Origem", + "Sponsor": "Patrocinador", + "Start Build": "Iniciar Build", + "Status: Build Cancelled": "Status: Build Cancelado", + "Status: Build Completed": "Status: Build Concluído", + "Status: Build Failed": "Status: Build Falhou", + "Status: Environment inspection ready.": "Status: Inspeção do ambiente pronta.", + "Status: Loaded {filename}{mode}": "Status: Carregado {filename}{mode}", "Status: Packaging ({engine}) ...": "Status: Empacotando ({engine}) ...", "Status: Parsing {filename}...": "Status: Analisando {filename}...", "Status: Ready": "Status: Pronto", - "Status: Workspace Reset": "Status: Área redefinida", - "Stop Build": "Interromper", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Alterado para [Configurações] -> [Motor], por favor, defina o caminho do Python.", - "Switched to local Python environment: {path}": "Trocado para o ambiente Python local: {path}", + "Status: Workspace Reset": "Status: Workspace Redefinido", + "Stop Build": "Parar Build", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Limpeza bem-sucedida de {count} ambiente(s) virtual(is), liberados {size:.1f} MB de espaço em disco.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Alternado para [Configurações de Build] -> [Engine], defina o caminho do Python.", + "Switched to local Python environment: {path}": "Alternado para ambiente Python local: {path}", "System Default ({sys_native})": "Padrão do Sistema ({sys_native})", - "System Temp Directory": "Diretório Temp do Sistema", - "Target Directory:": "Diretório de destino:", + "System Temp Directory": "Diretório Temporário do Sistema", + "Target Directory:": "Diretório de Destino:", "Target relative path:": "Caminho relativo de destino:", "Temporary Directory:": "Diretório Temporário:", - "Tencent Cloud (China)": "Nuvem Tencent", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Dica: Falha ao compilar no Modo Leve. Tente alternar para o [Modo de Compatibilidade] nas Configurações e recompilar.", - "Toggle Execution Log": "Exibir/Ocultar Log", - "Tsinghua University (China)": "Universidade de Tsinghua", - "UI Language:": "Idioma da interface:", - "UPX Path:": "Caminho UPX:", - "USTC (China)": "USTC", + "Tencent Cloud (China)": "Tencent Cloud (China)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Dica: O build falhou no Modo Lite. Você pode tentar alternar para [Modo de Compatibilidade] nas Configurações de Build e reconstruir.", + "Toggle Execution Log": "Alternar Log de Execução", + "Tsinghua University (China)": "Universidade Tsinghua (China)", + "UI Language:": "Idioma da Interface:", + "UPX Path:": "Caminho do UPX:", + "USTC (China)": "USTC (China)", "Undo": "Desfazer", "Unknown": "Desconhecido", - "Use Custom Commercial Cert (Optional) ▸": "Configurar Certificado Comercial (Opcional) ▸", - "Use Installed Version Directly": "✔ Usar Versão Instalada Diretamente", + "Use Custom Commercial Cert (Optional) ▸": "Usar Certificado Comercial Personalizado (Opcional) ▸", + "Use Installed Version Directly": "Usar Versão Instalada Diretamente", "Use Selected Environment": "Usar Ambiente Selecionado", + "Use Virtual Environment": "Usar Ambiente Virtual", "Version:": "Versão:", "View Python": "Ver Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Recurso não encontrado: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Compilação abortada: Espaço em disco insuficiente. Limpe pelo menos 5 GB.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Compilação concluída, mas as dependências falharam:\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Não foi possível localizar o executável na pasta temporária: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Exceção durante análise AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Falha ao criar ambiente virtual.", - "[ERROR] Failed to export log file: {error}": "[ERROR] Falha ao exportar log: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] Falha ao exportar predefinição: {error}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Arquivo/diretório de recurso adicional não encontrado: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Compilação abortada: Espaço em disco insuficiente (NoSpaceLeft / Errno 28). Por favor, limpe o espaço da unidade (pelo menos 5 GB de espaço livre recomendado) e tente novamente.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Compilação concluída, mas as seguintes dependências falharam ao instalar:\n\n - {pkgs}\n\nNota: O aplicativo pode gerar ModuleNotFoundError em tempo de execução.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Não foi possível localizar executável válido no diretório de compilação temporário: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Correção de ambiente falhou: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Exceção ocorreu durante análise AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Falha ao criar ambiente virtual. O ambiente Python atual pode estar sem módulos necessários ou ter permissões restritas.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Falha ao exportar arquivo de log: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Falha ao exportar arquivo de predefinição: {error}", "[ERROR] I/O Exception: {err_msg}": "[ERROR] Exceção de E/S: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espaço insuficiente (Livre: {free:.1f} GB).", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] O diretório de saída não possui permissões de escrita: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] Por favor, carregue um arquivo Python válido!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Predefinição corrompida: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Erro de processo: {error}", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Falha ao transferir o executável: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ERROR] A instalação do Python falhou ou foi cancelada.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Intérprete Python inválido ou não encontrado: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] Arquivo de dependências não encontrado: {path}", - "[ERROR] System execution exception: {error}": "[ERROR] Exceção de sistema: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Arquivo bloqueado ou criptografado por drive em nuvem.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] O arquivo está em execução ou ocupado. Por favor, feche a aplicação.", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] O ícone não existe: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Compilação interrompida excepcionalmente!\n\nSolução de Problemas Comuns:\n1. Incompatibilidade de Ambiente (Mais Comum): A versão selecionada é incompatível com o código. Vá para [Configurações] para alterar a versão.\n2. Dependências Ausentes: Clique em 'Modo Detalhado' acima para verificar ModuleNotFoundError.\n3. Bloqueio de Antivírus: Certifique-se de que seu software de segurança não está bloqueando o processo.\n\n(Nota: Normalmente causado por discrepâncias de ambiente/código e não pela engine em si. Verifique o log detalhado.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilação interrompida com erros. Verifique o 'Modo Detalhado'.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] Analisando código fonte e dependências...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Assinatura digital aplicada com carimbo de data/hora ({tsa})...", - "[INFO] Applying smart digital signature...": "[INFO] Aplicando assinatura digital...", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Espaço em disco insuficiente (Disponível: {free:.1f} GB). Pelo menos 0,5 GB é necessário para inicializar com segurança o ambiente de compilação.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Diretório de saída sem permissões de gravação: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Carregue um arquivo de código-fonte Python válido primeiro!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Formato de arquivo de predefinição inválido ou corrompido: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Erro de processo: comando ou binário ausente ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Transferência de produto falhou, o arquivo pode estar ocupado por processo do sistema ou sem permissão: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Instalação do Python falhou ou foi cancelada.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Interpretador Python inválido ou não encontrado: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Arquivo de requisitos não encontrado: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Exceção de execução do sistema: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] O arquivo de destino está bloqueado ou criptografado pelo drive em nuvem. Por favor, descriptografe e tente novamente.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] O arquivo de destino está em execução ou ocupado. Feche o aplicativo existente e tente novamente.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] O arquivo de ícone especificado não existe: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Compilação interrompida excepcionalmente!\n\nSolução de problemas comum:\n1. Incompatibilidade de Ambiente (Mais Comum): A versão do Python selecionada é incompatível com seu código-fonte. Vá para [Configurações de Compilação] para alternar para a versão do Python que você normalmente usa para este código.\n2. Dependências Ausentes: Clique em 'Modo Detalhado' acima para verificar ModuleNotFoundError.\n3. Bloqueio de Antivírus: Certifique-se de que seu software de segurança não está bloqueando o processo de compilação.\n\n(Nota: Isso geralmente é causado por discrepâncias de ambiente/código, não pelo mecanismo de empacotamento em si. Verifique o log detalhado para razões exatas.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Compilação interrompida com exceções, clique em 'Modo Detalhado' acima da janela de log para solução de problemas.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' adicionado aos Recursos Adicionais.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Adicionado(s) {count} item(ns) de recurso aos Recursos Adicionais.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Analisando código-fonte e dependências do projeto...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Assinatura digital aplicada com carimbo de tempo ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] Aplicando assinatura digital inteligente...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Ambiente virtual existente '{venv}' detectado automaticamente. 'Manter Venv Local' está marcado.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Módulo de retrocompatibilidade obsoleto protegido automaticamente: '{pkg}' (Integrado no Python {ver})", "[INFO] Build Cancelled.": "[INFO] Compilação cancelada.", - "[INFO] Build log exported to: {path}": "[INFO] Log exportado para: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] Compilação concluída, arquivando arquivos...", + "[INFO] Build log exported to: {path}": "[INFO] Log de compilação exportado para: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Compilação concluída, arquivando arquivos compilados...", + "[INFO] Creating virtual environment ({name})...": "[INFO] Criando ambiente virtual ({name})...", "[INFO] Creating virtual environment...": "[INFO] Criando ambiente virtual...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Baixando navegadores Playwright via espelho: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Avaliando memória (Livre: {ram:.1f} GB). Concorrência ajustada: {cores} -> {safe_jobs} ...", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Avaliando memória física do sistema (Disponível: {ram:.1f} GB). Concorrência adaptativa ajustada: {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Ambiente Clang local encontrado, priorizando compilador LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Ambiente GCC/MinGW-w64 local detectado, usando o compilador MinGW64.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Ambiente GCC/MinGW-w64 local encontrado, usando compilador MinGW64.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Ambiente MSVC local encontrado, priorizando compilador C++ nativo.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Ambiente Zig local detectado, Nuitka gerenciará a compilação do backend C.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Limpando ambiente temporário...", - "[INFO] Initializing isolated build environment...": "[INFO] Inicializando ambiente isolado...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalando dependências ({count} pacotes): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modo leve ativado, aplicando otimização de bytecode (-OO) e removendo módulos dev...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Nenhum compilador C local detectado. O Nuitka fará o download e o gerenciamento automático de um MinGW-w64.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Dica Nuitka: Mantenha conexão estável se baixar GCC/MinGW.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Realizando verificações do ambiente...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright detectado. Instalando navegadores integrados...", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Ambiente Zig local encontrado, deixando o Nuitka gerenciar a compilação do backend C.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Liberando espaço, limpando ambiente de compilação temporário...", + "[INFO] Initializing isolated build environment...": "[INFO] Inicializando ambiente de compilação isolado...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Instalando ambiente de compilação e dependências do projeto ({count} pacotes): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Modo leve ativado, aplicando otimização de bytecode (-OO) e removendo módulos de desenvolvimento...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Nenhum compilador C local detectado. O Nuitka baixará e gerenciará automaticamente um toolchain MinGW-w64 compatível.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Dica do Nuitka: Se for solicitado o download do compilador GCC/MinGW na primeira compilação, garanta uma conexão de rede estável.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Executando verificações de ambiente pré-voo...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright detectado. Instalando navegadores integrados (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ detectado: Usando compilador Zig (--zig) como backend C.", - "[INFO] Python interpreter path: {path}": "[INFO] Caminho do Python: {path}", + "[INFO] Python interpreter path: {path}": "[INFO] Caminho do interpretador Python: {path}", "[INFO] Resolving project dependencies...": "[INFO] Resolvendo dependências do projeto...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Tentando novamente baixar os navegadores Playwright via CDN oficial...", - "[INFO] Reusing existing virtual environment...": "[INFO] Reutilizando o ambiente virtual existente...", - "[INFO] Scanning project source code via AST engine...": "[INFO] Escaneando código via motor AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Iniciando motor {engine} para compilação...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Removendo parâmetros de ícone e recompilando...", - "[INFO] Successfully installed compatible versions.": "[INFO] Versões compatíveis instaladas com sucesso.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Alternando para servidor PIP secundário: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Atualizando pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Dica: Executáveis podem ser sinalizados por antivírus falsamente. Adicionar exclusões é recomendado.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Usando compilador MinGW64 (--mingw64).", - "[INFO] Using MinGW64 compiler.": "[INFO] Usando o compilador MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Validando arquivos e gerando executável...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilação concluída. Caminho: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Assinatura digital aplicada com sucesso!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Erro de Sintaxe] Erro de código, compilação abortada:\n - Arquivo: {file}\n - Tipo: {type}\n - Linha: {line}\n - Detalhe: {desc}", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Erro de Sintaxe] Falha na análise sintática, compilação abortada:\n - Arquivo: {file}\n - Linha: {line}\n - Detalhe: {desc}\n\nDica: Normalmente, isso NÃO é uma falha da ferramenta.\nCertifique-se de que a [Versão do Python] selecionada corresponda à versão usada para [Escrever o Código].\nUsar sintaxe recente em um ambiente antigo causará este erro.\nRecomendamos ir em [Configurações] -> [Motor] para trocar para a versão correta do Python.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Módulo 'multiprocessing' detectado. Chame 'multiprocessing.freeze_support()' em 'if __name__ == \"__main__\":'.", - "[WARN] AST Analysis Exception: {error}": "[WARN] Exceção de análise AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Tempo limite do comando esgotado (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' ou 'httpx' detectado. Agrupando certificados 'certifi' para evitar erros de SSL.", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] A conversão do ícone para .icns falhou, construindo sem ícone.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Escrita do ícone bloqueada (possível antivírus).", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Pouco espaço em disco (Livre: {free:.1f} GB).", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Exceção de memória (OOM). Re-tentando em modo single-thread...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Pacote '{pkg}' falhou ao instalar, pulando...", - "[WARN] Pause code injection exception: {error}": "[WARN] Exceção de injeção de pausa: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] A instalação do navegador Playwright falhou em todas as fontes, a compilação continuará com risco...", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Aviso ao ler requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Assinatura digital falhou, mas o executável foi mantido.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Algumas dependências falharam, a compilação continuará com risco...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Falha ao instalar versões especificadas. Buscando compatibilidade automática...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Recomendamos ativar [Ambiente Virtual] para o modo leve.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Sistema com pouca memória. Re-tentando em single-thread...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Projeto em diretório de Nuvem. Pode bloquear arquivos.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Tempo limite do servidor de carimbo esgotado, realizando assinatura rápida local...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Uso de '__file__' detectado. No modo de arquivo único, use 'sys._MEIPASS' para localizar arquivos de recurso!", - "\\nProgram execution completed, press Enter to exit...": "\\nExecução concluída. Pressione Enter para sair...", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Encontrado(s) {count} ambiente(s) virtual(is) para o projeto atual:
{paths}

Tem certeza de que deseja excluí-los para liberar espaço em disco?", - "Clear Local Venvs": "Limpar Venvs Locais", - "Clear Virtual Environments": "Limpar Ambientes Virtuais", - "Delete All": "Excluir Todos", - "Keep Local Venv": "Manter Venv Local", - "No local virtual environments found to clean.": "Nenhum ambiente virtual local encontrado para limpar.", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Ambiente(s) virtual(is) limpo(s) com sucesso: {count}, liberado(s) {size:.1f} MB de espaço em disco.", - "Use Virtual Environment": "Usar Ambiente Virtual", - "[INFO] Creating virtual environment ({name})...": "[INFO] Criando ambiente virtual ({name})...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Tentando novamente o download do navegador Playwright via CDN oficial...", + "[INFO] Reusing existing virtual environment...": "[INFO] Reutilizando ambiente virtual existente...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Reutilizando ambiente virtual existente: {path}", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Falha ao purgar ambiente inválido, usando sandbox temporário: {error}", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Detecção de informações do ambiente Python com fallback: {error}", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Ambiente virtual existente '{venv}' detectado automaticamente. 'Manter Venv Local' está marcado." + "[INFO] Scanning project source code via AST engine...": "[INFO] Analisando o código-fonte do projeto via mecanismo AST...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Iniciando o mecanismo {engine} para compilar arquivos binários...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Removendo parâmetros de ícone e reconstruindo automaticamente...", + "[INFO] Successfully installed compatible versions.": "[INFO] Versões compatíveis instaladas com sucesso.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Alternando para fonte PyPI de backup para recuperação: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Sincronizando e atualizando o gerenciador de pacotes pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Dica: Executáveis sem assinaturas comerciais podem ser sinalizados falsamente pelo Windows Defender/Antivírus.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Usando o compilador MinGW64 (--mingw64) para o backend C.", + "[INFO] Using MinGW64 compiler.": "[INFO] Usando o compilador MinGW64.", + "[INFO] Validating output files and generating final product...": "[INFO] Validando arquivos de saída e gerando o produto final...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Compilação concluída, caminho de saída: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Assinatura digital aplicada com sucesso!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] O código-fonte contém erros de sintaxe, compilação abortada:\n - Arquivo: {file}\n - Tipo: {type}\n - Linha: Linha {line}\n - Detalhe: {desc}\n\nDica: Certifique-se de que o código-fonte seja executado localmente antes de empacotar.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Falha na análise de sintaxe do código-fonte, compilação abortada:\n - Arquivo: {file}\n - Linha: Linha {line}\n - Detalhe: {desc}\n\nDica: Isso geralmente NÃO é uma falha da ferramenta de empacotamento.\nCertifique-se de que a [Versão do Python de Compilação] selecionada corresponda à versão usada para [Escrever/Testar o Código].\nO uso de sintaxe mais recente (por exemplo, operador walrus :=, uniões de tipos |, match-case) em um ambiente Python mais antigo acionará este erro.\nRecomendamos ir para [Configurações de Compilação] -> [Mecanismo] para alternar para a versão correta do Python.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Módulo 'multiprocessing' detectado. Certifique-se de que 'multiprocessing.freeze_support()' seja chamado sob 'if __name__ == \"__main__\":' para evitar loops infinitos de processos (fork bombs).", + "[WARN] AST Analysis Exception: {error}": "[WARN] Exceção na análise AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Tempo limite do comando excedido (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Detectado 'requests' ou 'httpx'. Agrupando automaticamente certificados 'certifi' para evitar erros SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Falha ao limpar ambiente inválido, usando sandbox temporário: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Falha na conversão do ícone para .icns, compilando sem ícone.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Gravação do recurso de ícone bloqueada (possivelmente bloqueada pelo sistema/antivírus), acionando proteção de fallback...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Pouco espaço em disco detectado na unidade de destino da compilação (Disponível: {free:.1f} GB, >= 5.0 GB recomendado). O processo de compilação pode ser interrompido devido ao esgotamento do disco.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Exceção de alocação de memória capturada (ZstdError / OOM). Acionando fallback de proteção de memória: Tentando novamente em modo de thread única...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Falha na instalação do pacote '{pkg}', ignorando...", + "[WARN] Pause code injection exception: {error}": "[WARN] Exceção na injeção de código de pausa: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Falha na instalação do navegador Playwright em todas as fontes, a compilação continuará com risco...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Fallback na detecção de informações do ambiente Python: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Aviso ao ler requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Falha na assinatura inteligente, mas a saída da compilação é mantida.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Algumas dependências falharam ao instalar, a compilação prosseguirá com risco...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] As versões especificadas falharam ao instalar. Removendo restrições de versão para correspondência automática de compatibilidade...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Recomenda-se fortemente verificar [Ambiente Virtual] para maximizar o efeito do modo leve.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Permissão de escrita do Python do sistema restrita. Tentando novamente com o modo '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Memória baixa do sistema detectada (falha na alocação de memória zstd). Tentando novamente automaticamente no modo de baixa memória de thread única...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] O projeto alvo está em um diretório de sincronização em nuvem (ex.: OneDrive/Dropbox). A sincronização em nuvem pode bloquear temporariamente os arquivos de compilação.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] O servidor de carimbo de tempo expirou, realizando assinatura local rápida...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Uso de '__file__' detectado. No modo One-File do PyInstaller, use 'sys._MEIPASS' para localizar com confiabilidade os arquivos de recursos empacotados!", + "\\nProgram execution completed, press Enter to exit...": "\\nExecução do programa concluída, pressione Enter para sair..." } diff --git a/qpypack/locales/ru_RU.json b/qpypack/locales/ru_RU.json index 8ccded2..d7604d7 100644 --- a/qpypack/locales/ru_RU.json +++ b/qpypack/locales/ru_RU.json @@ -1,164 +1,187 @@ { - " [Console]": " [С консолью]", - " [No Console]": " [Без консоли]", + " [Console]": "[Консоль]", + " [No Console]": "[Без консоли]", "* Nuitka Auto-manages C Compiler": "* Nuitka автоматически управляет компилятором C", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Поддержка добровольна. Спасибо!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Обнаружено локально:
{path}
Готово к прямому переключению без повторной загрузки.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Вы уверены, что хотите сбросить все настройки?
Все настройки будут восстановлены до состояния по умолчанию.", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Окружение Python успешно установлено!

Системные переменные обновлены. Рекомендуется перезапустить программу.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Управление окружением Python
Поддерживает переключение локально обнаруженных окружений Python или загрузку новых версий.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Требуется окружение Python
Сборка зависит от интерпретатора Python.
Выберите версию для автоматической загрузки, установки и настройки переменных среды.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python не найден!
Установите Python (с галочкой 'Add to PATH').", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python не обнаружен в вашей системе!

QPyPack требует окружение Python для компиляции вашего кода.
Если вы не установили Python, пожалуйста, загрузите и установите его.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Рекомендация: Для оптимальной совместимости сборки и поддержки движка рекомендуется Python 3.11.9.", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Интерпретатор
Автоопределение среды и матрицы поддержки ОС...", - "AST Scan": "AST-анализ", - "AST scan completed, found {count} dependencies.": "AST-анализ: найдено {count} зависимостей.", - "AWS PyPI Mirror (US/EU)": "Зеркало AWS PyPI (США/ЕС)", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Спонсорство полностью добровольное, служит безусловным поощрением сообщества открытого кода и не предполагает коммерческих обязательств. Спасибо за вашу поддержку!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Обнаружено локально:
{path}
Готово к переключению без повторной загрузки.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Вы уверены, что хотите сбросить все настройки?
Все параметры будут восстановлены в состояние по умолчанию.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Найдено {count} виртуальных окружений для текущего проекта:
{paths}

Вы уверены, что хотите удалить их для освобождения места на диске?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Окружение Python успешно установлено!

Системные переменные окружения обновлены. Рекомендуется выйти и перезапустить программу для применения изменений.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Управление окружением Python
Поддерживает переключение между локально обнаруженными окружениями Python или загрузку новых версий.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Требуется окружение Python
Сборка приложения зависит от интерпретатора Python.
Пожалуйста, выберите версию для автоматической загрузки, установки и настройки переменных окружения.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Python не обнаружен в вашей системе!

QPyPack требует окружение Python для компиляции вашего кода.
Если вы еще не установили Python, пожалуйста, загрузите и установите его (не забудьте отметить 'Add Python.exe to PATH' во время установки).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python не обнаружен в вашей системе!

QPyPack требует окружение Python для компиляции вашего кода.
Если вы еще не установили Python, пожалуйста, загрузите и установите его.", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Рекомендация: Python 3.11.9 рекомендуется для оптимальной совместимости сборки и поддержки движка.", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Интерпретатор
Автоматическое обнаружение системного окружения и матрицы поддержки ОС...", + "AST Scan": "AST-сканирование", + "AST scan completed, found {count} dependencies.": "AST-сканирование завершено, найдено {count} зависимостей.", + "AWS PyPI Mirror (US/EU)": "AWS PyPI зеркало (США/ЕС)", "About": "О программе", + "Active backport conflicts detected ({count}): {pkgs}": "Обнаружены конфликты активных бэкпортов ({count}): {pkgs}", + "Add Backport Rule": "Добавить правило бэкпорта", "Add Dir": "Добавить папку", "Add File": "Добавить файл", - "Add Mapping": "Добавить правило", - "Additional Resources (Drag & Drop Supported)": "Дополнительные ресурсы (Drag & Drop)", - "Aliyun Cloud (China)": "Aliyun Cloud (Китай)", - "Analyze Dependencies (AST)": "Анализ зависимостей (AST)", - "App Icon:": "Иконка:", + "Add Mapping": "Добавить сопоставление", + "Additional Resources (Drag & Drop Supported)": "Дополнительные ресурсы (поддерживается перетаскивание)", + "Aliyun Cloud (China)": "Alibaba Cloud (Китай)", + "Analyze Dependencies (AST)": "Анализировать зависимости (AST)", + "App Icon:": "Иконка приложения:", "App Metadata & Presets": "Метаданные приложения и пресеты", - "Apple Silicon (M-Series) & Intel": "Поддержка Apple Silicon (Серия M) и Intel", - "Apple Silicon (M1/M2) & Intel": "Поддержка Apple Silicon (M1/M2) и Intel", - "Attention: Please check the log for details.": "Внимание: Проверьте журнал.", - "Author/Company:": "Автор/Организация:", - "Auto Extract Icon": "Автоматическое извлечение иконки", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Автоматически подписывает приложение, устраняя предупреждение о «Неизвестном издателе».", - "Auto-patched missing ({count}): {pkgs}": "Авто-дополнено ({count}): {pkgs}", - "Auto-save Build Log": "Автосохранение журнала", - "Backup PIP Index:": "Резервное зеркало PIP:", - "Browse": "Обзор...", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (M-серия) и Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) и Intel", + "Attention: Please check the log for details.": "Внимание: Подробности смотрите в журнале.", + "Author/Company:": "Автор/Компания:", + "Auto Extract Icon": "Автоизвлечение значка", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Автоматически применяет цифровую подпись к собранному приложению, устраняя предупреждение «Неизвестный издатель»", + "Auto-patched missing ({count}): {pkgs}": "Автоматически исправлено отсутствующих ({count}): {pkgs}", + "Auto-save Build Log": "Автосохранение журнала сборки", + "Backport exclusion rules have been reset to defaults.": "Правила исключения обратного портирования сброшены к значениям по умолчанию.", + "Backup PIP Index:": "Резервный PIP-индекс:", + "Browse": "Обзор", "Build Cancelled": "Сборка отменена", "Build Engine:": "Движок сборки:", "Build Failed": "Сборка не удалась", - "Build Settings": "Параметры сборки", - "Build Successful": "Сборка успешно завершена", - "Build engine packages ({count}): {pkgs}": "Пакеты движка ({count}): {pkgs}", + "Build Settings": "Настройки сборки", + "Build Successful": "Сборка успешна", + "Build engine packages ({count}): {pkgs}": "Пакеты движка сборки ({count}): {pkgs}", "CPU Cores:": "Ядра ЦП:", "Cancel": "Отмена", - "Cancel & Return": "Отменить и вернуться", + "Cancel & Return": "Отмена и возврат", "Cert Password:": "Пароль сертификата:", - "Certificate Subject (e.g. My Company):": "Издатель сертификата (напр. Моя Компания):", - "Certificate generated successfully!": "Сертификат успешно сгенерирован!", + "Certificate Subject (e.g. My Company):": "Субъект сертификата (например, Моя компания):", + "Certificate generated successfully!": "Сертификат успешно создан!", "Certificate password": "Пароль сертификата", - "Check log output below for troubleshooting.": "Ознакомьтесь с журналом ниже для устранения неполадок.", + "Check log output below for troubleshooting.": "Проверьте вывод журнала ниже для устранения неполадок.", "Clean Temporary Cache After Build": "Очистить временный кэш после сборки", "Clear All": "Очистить все", + "Clear Local Venvs": "Очистить локальные виртуальные среды", "Clear Log": "Очистить журнал", - "Click to automatically download, install Python, and configure system environment variables.": "Нажмите, чтобы автоматически скачать, установить Python и настроить системные переменные среды.", + "Clear Virtual Environments": "Очистить виртуальные среды", + "Click to automatically download, install Python, and configure system environment variables.": "Нажмите, чтобы автоматически загрузить, установить Python и настроить системные переменные среды.", "Code Signing": "Подпись кода", - "Comma separated (e.g. pandas, PyQt5)": "Через запятую (напр. pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "Через запятую (напр. tkinter, matplotlib)", - "Commercial PFX File:": "Коммерческий файл PFX:", - "Compatibility Mode (Default)": "Режим совместимости (По умолчанию)", - "Compatibility depends on build environment glibc version.": "Совместимость зависит от версии glibc среды сборки.", + "Comma separated (e.g. pandas, PyQt5)": "Через запятую (например, pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "Через запятую (например, tkinter, matplotlib)", + "Commercial PFX File:": "Коммерческий PFX-файл:", + "Compatibility Mode (Default)": "Режим совместимости (по умолчанию)", + "Compatibility depends on build environment glibc version.": "Совместимость зависит от версии glibc в среде сборки.", "Concise Log Output": "Краткий вывод журнала", "Concise Mode": "Краткий режим", - "Config preset exported to: {path}": "Пресет экспортирован в: {path}", - "Config preset imported successfully.": "Пресет импортирован.", + "Config preset exported to: {path}": "Пресет конфигурации экспортирован в: {path}", + "Config preset imported successfully.": "Пресет конфигурации успешно импортирован.", "Configure Build Settings": "Настройка параметров сборки", "Configure Manually": "Настроить вручную", "Confirm Password:": "Подтвердите пароль:", - "Contents Directory (--contents-directory):": "Внутренний каталог (--contents-directory):", + "Contents Directory (--contents-directory):": "Каталог содержимого (--contents-directory):", "Copy": "Копировать", "Create": "Создать", - "Create Self-Signed Cert": "Создать самоподписанный сертификат", - "Custom Directory": "Пользовательская папка", + "Create Self-Signed Cert": "Создать самозаверяющий сертификат", + "Custom Directory": "Пользовательский каталог", "Cut": "Вырезать", - "Declared in requirements.txt ({count}): {pkgs}": "Объявлено в requirements.txt ({count}): {pkgs}", - "Declared in requirements.txt: None": "В requirements.txt: Нет", + "Declared in requirements.txt ({count}): {pkgs}": "Указано в requirements.txt ({count}): {pkgs}", + "Declared in requirements.txt: None": "Указано в requirements.txt: нет", + "Delete All": "Удалить все", + "Deleting...": "Удаление...", "Dependencies": "Зависимости", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Внимание: {pkgs} не установлены.", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Предупреждение об отсутствующих зависимостях: {pkgs} не удалось установить. Подробности в журнале.", "Description:": "Описание:", "Desktop Application": "Настольное приложение", "Detailed Mode": "Подробный режим", - "Directory": "Папка", - "Discovered via scanner ({count}): {pkgs}": "Найдено сканером ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Двойной клик для редактирования. Поддерживается Drag & Drop", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Двойной клик для изменения пути. Для сохранения используйте «Экспортировать пресет».", + "Directory": "Каталог", + "Discovered via scanner ({count}): {pkgs}": "Обнаружено сканером ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Двойной щелчок для редактирования пути цели; поддерживается перетаскивание", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Дважды щелкните, чтобы изменить целевой путь; поддерживается перетаскивание. Используйте «Экспорт пресета» для сохранения для повторного использования.", "Download New Version": "Скачать новую версию", "Download Python": "Скачать Python", "Download complete. Starting Python installation...": "Загрузка завершена. Запуск установки Python...", "Downloading Python {ver}... Please wait.": "Загрузка Python {ver}... Пожалуйста, подождите.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Перетащите Python-скрипт (.py/.pyw) сюда\nили нажмите для обзора...", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Перетащите сюда скрипт Python (.py/.pyw)\nили нажмите, чтобы выбрать", "Drop Python source code to start": "Перетащите исходный код Python для начала", "Edit Path": "Изменить путь", - "Enable Smart Code Signing": "Включить цифровую подпись", - "Enable UPX Compression": "Включить UPX-сжатие", + "Enable Automatic Backport Isolation": "Включить автоматическую изоляцию обратного порта", + "Enable Smart Code Signing": "Включить умную подпись кода", + "Enable UPX Compression": "Включить сжатие UPX", "Engine": "Движок", - "Engine & Environment": "Движок сборки и окружение", + "Engine & Environment": "Движок и окружение", + "Environment Analysis": "Анализ окружения", + "Environment Analysis & Remediation": "Анализ и исправление окружения", "Error": "Ошибка", "Exclude Modules:": "Исключить модули:", - "Execution Log": "Журнал работы", + "Execution Log": "Журнал выполнения", "Execution Mode": "Режим выполнения", "Exit Now": "Выйти сейчас", - "Export Log...": "Сохранить журнал...", - "Export Preset...": "Экспортировать пресет...", - "Failed to generate certificate.": "Не удалось сгенерировать сертификат.", + "Export Log...": "Экспорт журнала...", + "Export Preset...": "Экспорт пресета...", + "Failed to generate certificate.": "Не удалось создать сертификат.", "File": "Файл", - "Folder Mode (--onedir)": "Папка (--onedir)", + "Folder Mode (--onedir)": "Режим папки (--onedir)", "Full backward compatibility": "Полная обратная совместимость", "Generate": "Сгенерировать", "GitHub Repository": "Репозиторий GitHub", - "Global configuration has been reset.": "Настройки сброшены.", - "Hidden Imports:": "Неявные импорты:", + "Global configuration has been reset.": "Глобальная конфигурация сброшена.", + "Hidden Imports:": "Скрытые импорты:", "Hide Console (--noconsole)": "Скрыть консоль (--noconsole)", - "Hide Custom Cert Settings ▾": "Скрыть настройки сертификата ▾", + "Hide Custom Cert Settings ▾": "Скрыть настройки пользовательских сертификатов ▾", "Huawei Cloud (China)": "Huawei Cloud (Китай)", "Import Name": "Имя импорта", "Import Preset...": "Импортировать пресет...", - "Import name (e.g. cv2):": "Имя импорта (напр. cv2):", + "Import name (e.g. cv2):": "Имя импорта (например, cv2):", "Independent Developer": "Независимый разработчик", "Initializing build...": "Инициализация сборки...", + "Inspect Interpreter Environment": "Проверить окружение интерпретатора", "Install Complete": "Установка завершена", "Install requirements.txt": "Установить requirements.txt", - "Internal directory name for dependencies (default: _internal)": "Имя внутренней папки для зависимостей (по умолчанию: _internal)", + "Internal directory name for dependencies (default: _internal)": "Внутреннее имя каталога для зависимостей (по умолчанию: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Проверка интерпретатора пройдена: конфликтов обратного переноса не обнаружено.", "Interpreter:": "Интерпретатор:", - "Invalid syntax": "Неверный синтаксис", - "Issues & Feedback": "Вопросы и отзывы", + "Invalid syntax": "Недопустимый синтаксис", + "Issues & Feedback": "Проблемы и отзывы", + "Keep Local Venv": "Сохранить локальную виртуальную среду", "Later": "Позже", - "Leave blank to auto-detect from environment variables": "Оставьте пустым для автоопределения (PATH)", - "Leave blank to auto-detect system default Python": "Оставьте пустым для автоопределения", - "Leave blank to auto-match script name": "Оставьте пустым для автоопределения имени", - "Leave blank to auto-search requirements.txt in current directory": "Оставьте пустым для автопоиска", - "Legacy macOS Compatible": "Совместимо со старыми macOS", - "Lite Mode (Smaller size)": "Облегченный режим (Меньший размер)", + "Leave blank to auto-detect from environment variables": "Оставьте пустым для автоматического определения из переменных окружения", + "Leave blank to auto-detect system default Python": "Оставьте пустым для автоматического определения системного Python по умолчанию", + "Leave blank to auto-match script name": "Оставьте пустым для автоматического сопоставления с именем скрипта", + "Leave blank to auto-search requirements.txt in current directory": "Оставьте пустым для автоматического поиска requirements.txt в текущем каталоге", + "Legacy macOS Compatible": "Совместимость с устаревшими macOS", + "Lite Mode (Smaller size)": "Облегченный режим (меньший размер)", "Loaded: {filename}": "Загружено: {filename}", "Locally Detected Pythons": "Локально обнаруженные Python", - "Lock Core Dependencies": "Фиксация ключевых зависимостей", + "Lock Core Dependencies": "Заблокировать основные зависимости", "Log saved to: {path}": "Журнал сохранен в: {path}", - "Manifest complete (No missing packages)": "Манифест полон (Нет отсутствующих пакетов)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Максимальная совместимость. Рекомендуется для приложений со сложным динамическим импортом.", + "Manifest complete (No missing packages)": "Манифест завершен (нет отсутствующих пакетов)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Максимальная совместимость. Рекомендуется для приложений со сложными динамическими импортами.", + "Min Python Ver": "Минимальная версия Python", + "Minimum Built-in Python Version (e.g. 3.4):": "Минимальная встроенная версия Python (например, 3.4):", "Mirrors & Scanner": "Зеркала и сканер", "Modern Cross-Platform Python Application Packager": "Современный кроссплатформенный упаковщик Python-приложений", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Современный GUI-упаковщик Python на базе PyInstaller и Nuitka", - "No Windows 7 Support": "Без поддержки Windows 7", - "No local Python environments detected.": "Локальные окружения Python не обнаружены.", - "No log content.": "Нет записей в журнале.", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Современный графический интерфейс для упаковки Python-приложений на основе PyInstaller и Nuitka", + "No Windows 7 Support": "Нет поддержки Windows 7", + "No environment conflicts detected.": "Конфликтов окружения не обнаружено.", + "No local Python environments detected.": "Локальных окружений Python не обнаружено.", + "No local virtual environments found to clean.": "Локальных виртуальных окружений для очистки не найдено.", + "No log content.": "Нет содержимого журнала.", "Nuitka Version:": "Версия Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Компилирует в C/C++. Меньший размер, выше производительность.", - "OK": "ОК", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — компилирует исходный код в нативный бинарный файл C/C++. Обеспечивает меньший размер пакета, более быстрое выполнение и глубокую защиту от декомпиляции (требуется компилятор C).", + "OK": "OK", "OS Support Matrix:": "Матрица поддержки ОС:", - "One-Click Download & Install": "Скачать и установить в один клик", + "Obsolete Backport Exclusion Rules": "Правила исключения устаревших обратных переносов", + "One-Click Download & Install": "Загрузка и установка в один клик", "One-Click Install": "Установка в один клик", - "One-File Mode (--onefile)": "Один файл (--onefile)", + "One-File Mode (--onefile)": "Режим одного файла (--onefile)", "Only supported on Windows.": "Поддерживается только в Windows.", - "Open Directory": "Открыть папку", - "Open output directory or reset workspace.": "Откройте целевую папку или сбросьте рабочую область.", + "Open Directory": "Открыть каталог", + "Open output directory or reset workspace.": "Открыть выходной каталог или сбросить рабочую область.", "Optimization & Security": "Оптимизация и безопасность", - "Output Location": "Расположение файла", - "Output Location:": "Правило размещения:", - "Output Name:": "Имя файла:", - "Package Map": "Сопоставление", - "Package Name Mappings": "Сопоставление имен пакетов", - "Package mappings have been reset to defaults.": "Сопоставления сброшены.", - "Packaging Mode:": "Режим сборки:", + "Output Location": "Расположение вывода", + "Output Location:": "Расположение вывода:", + "Output Name:": "Имя вывода:", + "Package Map": "Карта пакетов", + "Package Mapping & Remediation": "Сопоставление пакетов и исправление", + "Package Mappings & Rules": "Сопоставления пакетов и правила", + "Package Name": "Имя пакета", + "Package Name (e.g. pathlib):": "Имя пакета (например, pathlib):", + "Package Name Mappings": "Сопоставления имен пакетов", + "Package mappings have been reset to defaults.": "Сопоставления пакетов сброшены к значениям по умолчанию.", + "Packaging Mode:": "Режим упаковки:", "Parsing metadata...": "Анализ метаданных...", "Password cannot be empty!": "Пароль не может быть пустым!", "Password:": "Пароль:", @@ -167,179 +190,183 @@ "Performance Optimization": "Оптимизация производительности", "Platform Support Matrix:": "Матрица поддержки платформ:", "Preferences": "Настройки", - "Preferences & System Behavior": "Предпочтения и поведение", + "Preferences & System Behavior": "Настройки и поведение системы", "Preparing engine...": "Подготовка движка...", - "Primary PIP Index:": "Основное зеркало PIP:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Только для этого проекта. Используйте 'Экспортировать пресет'.", + "Primary PIP Index:": "Основной PIP-индекс:", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Специфично для проекта. Не сохраняется в глобальные настройки. Используйте «Экспорт пресета» для сохранения конфигурации.", "PyInstaller Version:": "Версия PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Высокая скорость сборки и совместимость.", - "PyPI Home": "Страница PyPI", - "PyPI Official (Global Default)": "Официальный PyPI (По умолчанию)", - "PyPI Package Name": "Имя в PyPI", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — объединяет интерпретатор Python и байт-код. Быстрая сборка, нулевая настройка (не нужен компилятор C) и отличная совместимость.", + "PyPI Home": "Домашняя страница PyPI", + "PyPI Official (Global Default)": "Официальный PyPI (глобальный по умолчанию)", + "PyPI Package Name": "Имя пакета PyPI", "PyPI package name for [{imp_name}]:": "Имя пакета PyPI для [{imp_name}]:", "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (Рекомендуется)", + "Python 3.11.9 (Recommended)": "Python 3.11.9 (рекомендуется)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (Экспериментальная)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Поддержка Win7)", + "Python 3.14.6 (Experimental)": "Python 3.14.6 (экспериментально)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (поддержка Win7)", "Python 3.9.13": "Python 3.9.13", - "Python Environment Management": "Управление окружением Python", - "Python Environment Required": "Требуется Python", - "Python Packaging, Reimagined.": "Переосмысление упаковки Python.", + "Python Environment Management": "Управление средой Python", + "Python Environment Required": "Требуется среда Python", + "Python Packaging, Reimagined.": "Упаковка Python, переосмысленная.", "Python TestPyPI": "Python TestPyPI", - "Python installed. Please restart QPyPack manually later.": "Python установлен. Пожалуйста, перезапустите QPyPack позже вручную.", + "Python installed. Please restart QPyPack manually later.": "Python установлен. Пожалуйста, перезапустите QPyPack вручную позже.", "QPyPack Developer": "Разработчик QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack бесплатен. Поддержите автора чашкой кофе!", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack — это бесплатный инструмент с открытым исходным кодом. Если он повысил вашу эффективность или решил проблемы с упаковкой, подумайте о том, чтобы купить автору кофе!", "Ready, waiting for build.": "Готово, ожидание сборки.", "Rebuild": "Пересобрать", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Рекомендация: от 6 символов, только латиница, цифры, '-' и '_'. Без пробелов.", - "Remove Selected": "Удалить выбранное", - "Requirements File:": "Файл зависимостей:", - "Reset": "Сброс", - "Reset to Default Config": "Сбросить параметры по умолчанию", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Рекомендация: 6+ символов, только буквы и цифры, '-' и '_'. Избегайте пробелов или китайских символов, чтобы предотвратить ошибки подписи.", + "Remediate Detected Conflicts": "Исправить обнаруженные конфликты", + "Remediation completed for packages: {pkgs}": "Исправление завершено для пакетов: {pkgs}", + "Remove Selected": "Удалить выбранные", + "Requirements File:": "Файл требований:", + "Reset": "Сбросить", + "Reset to Default Config": "Сбросить к конфигурации по умолчанию", "Resources": "Ресурсы", "Restore Defaults": "Восстановить значения по умолчанию", "Save & Return": "Сохранить и вернуться", "Save Certificate": "Сохранить сертификат", "Scan Entire Folder": "Сканировать всю папку", + "Scanning...": "Сканирование...", "Script and settings retained. Ready to rebuild.": "Скрипт и настройки сохранены. Готово к пересборке.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Скрипт загружен. Вы можете перетащить папки с ресурсами или файлы данных прямо сюда, чтобы включить их в пакет.", "Select .pfx / .p12 certificate file": "Выберите файл сертификата .pfx / .p12", - "Select All": "Выделить все", + "Select All": "Выбрать все", "Select Python Version to Download:": "Выберите версию Python для загрузки:", - "Self-Signed Certificate (*.pfx)": "Самоподписанный сертификат (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Меньший размер файла. Рекомендуется для 95% стандартных приложений.", + "Self-Signed Certificate (*.pfx)": "Самозаверяющий сертификат (*.pfx)", + "Smaller output size. Recommended for 95% of standard apps.": "Меньший размер вывода. Рекомендуется для 95% стандартных приложений.", "Sound Notification": "Звуковое уведомление", - "Source Directory (.qpypack_build)": "Папка источника (.qpypack_build)", - "Source File Directory": "Папка исходного файла", - "Sponsor": "Поддержать", + "Source Directory (.qpypack_build)": "Исходный каталог (.qpypack_build)", + "Source File Directory": "Каталог исходных файлов", + "Sponsor": "Спонсор", "Start Build": "Начать сборку", "Status: Build Cancelled": "Статус: Сборка отменена", "Status: Build Completed": "Статус: Сборка завершена", "Status: Build Failed": "Статус: Сборка не удалась", - "Status: Loaded {filename}{mode}": "Статус: Загружен {filename}{mode}", + "Status: Environment inspection ready.": "Статус: Проверка окружения завершена.", + "Status: Loaded {filename}{mode}": "Статус: Загружено {filename}{mode}", "Status: Packaging ({engine}) ...": "Статус: Упаковка ({engine}) ...", - "Status: Parsing {filename}...": "Статус: Анализ {filename}...", + "Status: Parsing {filename}...": "Статус: Разбор {filename}...", "Status: Ready": "Статус: Готово", "Status: Workspace Reset": "Статус: Рабочая область сброшена", - "Stop Build": "Остановить", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "Переключено на [Параметры сборки] -> [Движок], пожалуйста, установите путь к Python.", + "Stop Build": "Остановить сборку", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Успешно очищено {count} виртуальных сред, освобождено {size:.1f} МБ дискового пространства.", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "Переключено на [Настройки сборки] -> [Движок], пожалуйста, укажите путь к Python.", "Switched to local Python environment: {path}": "Переключено на локальное окружение Python: {path}", - "System Default ({sys_native})": "Системный ({sys_native})", - "System Temp Directory": "Системная Temp-папка", + "System Default ({sys_native})": "Системное по умолчанию ({sys_native})", + "System Temp Directory": "Системная временная папка", "Target Directory:": "Целевая папка:", - "Target relative path:": "Целевой относительный путь:", + "Target relative path:": "Относительный путь цели:", "Temporary Directory:": "Временная папка:", "Tencent Cloud (China)": "Tencent Cloud (Китай)", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Совет: Сборка в облегченном режиме не удалась. Попробуйте переключиться на [Режим совместимости] в настройках и повторить сборку.", - "Toggle Execution Log": "Переключить журнал", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Подсказка: Сборка не удалась в облегченном режиме. Вы можете попробовать переключиться на [Режим совместимости] в настройках сборки и пересобрать.", + "Toggle Execution Log": "Переключить журнал выполнения", "Tsinghua University (China)": "Университет Цинхуа (Китай)", "UI Language:": "Язык интерфейса:", - "UPX Path:": "Путь UPX:", + "UPX Path:": "Путь к UPX:", "USTC (China)": "USTC (Китай)", "Undo": "Отменить", "Unknown": "Неизвестно", - "Use Custom Commercial Cert (Optional) ▸": "Настроить коммерческий сертификат (Опционально) ▸", - "Use Installed Version Directly": "✔ Использовать установленную версию напрямую", - "Use Selected Environment": "Использовать выбранное окружение", + "Use Custom Commercial Cert (Optional) ▸": "Использовать пользовательский коммерческий сертификат (необязательно) ▸", + "Use Installed Version Directly": "Использовать установленную версию напрямую", + "Use Selected Environment": "Использовать выбранную среду", + "Use Virtual Environment": "Использовать виртуальную среду", "Version:": "Версия:", - "View Python": "Показать Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Ресурс не найден: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Сборка прервана: Недостаточно места (Очистите 5 ГБ).", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Сборка завершена, но не установлены:\n\n - {pkgs}", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Не найден исполняемый файл: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Исключение AST-анализа: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Ошибка создания виртуального окружения.", - "[ERROR] Failed to export log file: {error}": "[ERROR] Ошибка экспорта журнала: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] Ошибка экспорта пресета: {error}", - "[ERROR] I/O Exception: {err_msg}": "[ERROR] Ошибка ввода-вывода: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Недостаточно места на диске (Доступно: {free:.1f} ГБ).", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Нет прав на запись в целевую папку: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] Загрузите валидный файл Python!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Пресет поврежден: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Ошибка процесса: {error}", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Ошибка перемещения файла: {error}", + "View Python": "Просмотреть Python", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Дополнительный файл/каталог ресурсов не найден: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Сборка прервана: недостаточно места на диске (NoSpaceLeft / Errno 28). Пожалуйста, очистите место на диске (рекомендуется не менее 5 ГБ свободного места) и повторите попытку.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Сборка завершена, но не удалось установить следующие зависимости:\n\n - {pkgs}\n\nПримечание: Приложение может вызвать ModuleNotFoundError во время выполнения.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Не удалось найти допустимый исполняемый продукт во временном каталоге сборки: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Не удалось исправить среду: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Исключение при синтаксическом анализе AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Не удалось создать виртуальную среду. Текущее окружение Python может не иметь необходимых модулей или иметь ограниченные разрешения.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Не удалось экспортировать файл журнала: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Не удалось экспортировать файл предустановок: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] Исключение ввода/вывода: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Недостаточно места на диске (Доступно: {free:.1f} ГБ). Для безопасной инициализации среды сборки требуется не менее 0,5 ГБ.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] В каталоге вывода отсутствуют права на запись: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Сначала загрузите допустимый исходный файл Python!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Ошибка формата файла предустановок или файл поврежден: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Ошибка процесса: команда или двоичный файл отсутствует ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Не удалось передать продукт, файл может быть занят системным процессом или отсутствуют разрешения: {error}", "[ERROR] Python installation failed or was cancelled.": "[ERROR] Установка Python не удалась или была отменена.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Неверный интерпретатор Python: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] Файл зависимостей не найден: {path}", - "[ERROR] System execution exception: {error}": "[ERROR] Ошибка выполнения системы: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Файл заблокирован облачным диском. Расшифруйте.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Целевой файл запущен или занят. Пожалуйста, закройте приложение.", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Файл иконки не существует: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Сборка прервана с ошибкой!\n\nЧасто встречающиеся проблемы:\n1. Несовпадение окружения (Чаще всего): Выбранная версия Python несовместима с исходным кодом. Перейдите в [Параметры сборки] для изменения версии Python.\n2. Отсутствующие зависимости: Нажмите 'Подробный режим' выше для проверки ModuleNotFoundError.\n3. Блокировка антивирусом: Убедитесь, что защитное ПО не блокирует процесс.\n\n(Примечание: Обычно это связано с несовпадениями среды/кода, а не с самим движком упаковки. См. журнал.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Компиляция прервана с ошибками. Проверьте 'Подробный режим'.", - "[INFO] Analyzing source code and project dependencies...": "[INFO] Анализ исходного кода и зависимостей...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Цифровая подпись со штампом времени ({tsa}) успешно применена...", - "[INFO] Applying smart digital signature...": "[INFO] Применение цифровой подписи...", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Интерпретатор Python недействителен или не найден: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Файл требований не найден: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Исключение при выполнении системы: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Целевой файл заблокирован или зашифрован облачным диском. Пожалуйста, расшифруйте и повторите попытку.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Целевой файл запущен или занят. Пожалуйста, закройте существующее приложение и повторите попытку.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Указанный файл значка не существует: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Сборка прервана с исключением!\n\nОбщие рекомендации по устранению неполадок:\n1. Несоответствие среды (наиболее распространенное): выбранная версия Python несовместима с вашим исходным кодом. Перейдите в [Настройки сборки], чтобы переключиться на версию Python, которую вы обычно используете для этого кода.\n2. Отсутствующие зависимости: нажмите «Подробный режим» выше, чтобы проверить ModuleNotFoundError.\n3. Блокировка антивирусом: убедитесь, что ваше антивирусное ПО не блокирует процесс сборки.\n\n(Примечание: Обычно это вызвано несоответствием среды/кода, а не самого механизма упаковки. Пожалуйста, проверьте подробный журнал для точных причин.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Компиляция прервана с исключениями, нажмите «Подробный режим» над окном журнала для устранения неполадок.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] Добавлено '{name}' в дополнительные ресурсы.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Добавлено {count} элемент(ов) ресурсов в Дополнительные ресурсы.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Анализ исходного кода и зависимостей проекта...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Применена цифровая подпись с меткой времени ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] Применение умной цифровой подписи...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Автоматически обнаружено существующее виртуальное окружение '{venv}'. Опция 'Сохранить локальное venv' отмечена.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Автоматически скрыт устаревший модуль обратной совместимости: '{pkg}' (встроен в Python {ver})", "[INFO] Build Cancelled.": "[INFO] Сборка отменена.", - "[INFO] Build log exported to: {path}": "[INFO] Журнал экспортирован в: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] Компиляция завершена, архивирование файлов...", + "[INFO] Build log exported to: {path}": "[INFO] Журнал сборки экспортирован в: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Компиляция завершена, архивирование собранных файлов...", + "[INFO] Creating virtual environment ({name})...": "[INFO] Создание виртуального окружения ({name})...", "[INFO] Creating virtual environment...": "[INFO] Создание виртуального окружения...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Загрузка браузеров Playwright через зеркало: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Оценка памяти (Доступно: {ram:.1f} ГБ). Потоки: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Найден Clang, приоритет у LLVM Clang.", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Найден локальный GCC/MinGW-w64, используется MinGW64.", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Найден локальный MSVC, используется нативный C++.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Найдена среда Zig, Nuitka сама управляет C-бэкендом.", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Освобождение места, очистка среды...", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Оценка физической памяти системы (Доступно: {ram:.1f} ГБ). Адаптивная параллельность скорректирована: {cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Обнаружено локальное окружение Clang, приоритет компилятору LLVM Clang.", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Обнаружено локальное окружение GCC/MinGW-w64, используется компилятор MinGW64.", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Обнаружено локальное окружение MSVC, приоритет нативному компилятору C++.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Обнаружено локальное окружение Zig, Nuitka будет управлять компиляцией C-бэкенда.", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Освобождение места, очистка временного окружения сборки...", "[INFO] Initializing isolated build environment...": "[INFO] Инициализация изолированного окружения сборки...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Установка зависимостей ({count} шт): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Облегченный режим включен, применяется оптимизация байт-кода (-OO) и удаление dev-модулей...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Локальный C-компилятор не найден. Nuitka автоматически скачает и настроит MinGW-w64.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Совет Nuitka: При скачивании GCC/MinGW обеспечьте стабильный интернет.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Выполнение проверок среды...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Обнаружен Playwright. Установка встроенных браузеров...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+: Использование Zig (--zig).", - "[INFO] Python interpreter path: {path}": "[INFO] Путь Python: {path}", - "[INFO] Resolving project dependencies...": "[INFO] Разрешение зависимостей...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Повторная попытка загрузки браузера Playwright через официальный CDN...", - "[INFO] Reusing existing virtual environment...": "[INFO] Повторное использование существующего виртуального окружения...", - "[INFO] Scanning project source code via AST engine...": "[INFO] Сканирование через AST-движок...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Запуск движка {engine} для компиляции...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Удаление параметров иконки и пересборка...", - "[INFO] Successfully installed compatible versions.": "[INFO] Успешно установлены совместимые версии.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Переключение на резервное зеркало PyPI: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Обновление менеджера пакетов pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Подсказка: Антивирус может ошибочно реагировать на файлы. Рекомендуется добавление исключений.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Использование MinGW64 (--mingw64).", - "[INFO] Using MinGW64 compiler.": "[ИНФО] Используется компилятор MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Проверка выходных файлов и генерация...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Сборка успешно завершена: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Цифровая подпись успешно применена!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Синтаксическая ошибка] В коде ошибка:\n - Файл: {file}\n - Тип: {type}\n - Строка: {line}\n - Детали: {desc}", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Синтаксическая ошибка] Ошибка синтаксического анализа исходного кода, сборка прервана:\n - Файл: {file}\n - Строка: {line}\n - Детали: {desc}\n\nСовет: Обычно это НЕ вина инструмента упаковки.\nУбедитесь, что выбранная [Версия Python] совпадает с той, которую вы использовали для написания кода.\nИспользование более нового синтаксиса в старом окружении Python вызовет эту ошибку.\nРекомендуется перейти в [Параметры сборки] -> [Движок], чтобы переключиться на правильную версию Python.", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Обнаружен модуль 'multiprocessing'. Обязательно вызывайте 'multiprocessing.freeze_support()'.", - "[WARN] AST Analysis Exception: {error}": "[WARN] Исключение AST-анализа: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] Превышено время ожидания команды (>{timeout}с)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Обнаружено 'requests' или 'httpx'. Автоматическое добавление сертификатов 'certifi' для предотвращения ошибок SSL.", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Преобразование иконки в .icns не удалось, сборка без иконки.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Запись иконки заблокирована (антивирус?).", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Недостаточно места на диске (Доступно: {free:.1f} ГБ).", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Исключение памяти (OOM). Повтор в однопоточном режиме...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Ошибка установки пакета '{pkg}', пропуск...", - "[WARN] Pause code injection exception: {error}": "[WARN] Исключение вставки кода паузы: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Установка браузера Playwright не удалась из всех источников, сборка продолжится с риском...", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Предупреждение чтения requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Подпись не удалась, но исполняемый файл сохранен.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Некоторые зависимости не установлены, сборка продолжится (с риском)...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Не удалось установить версии. Попытка автоматической совместимости...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Рекомендуется включить [Виртуальное окружение] для облегченного режима.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Недостаточно памяти. Повтор в однопоточном режиме...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Проект в облачной папке (OneDrive/Dropbox). Файлы могут быть заблокированы.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Превышено время ожидания сервера штампа времени, выполняется локальная быстрая подпись...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Обнаружено использование '__file__'. В режиме одного файла используйте 'sys._MEIPASS'!", - "\\nProgram execution completed, press Enter to exit...": "\\nВыполнение завершено, нажмите Enter...", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Найдено {count} виртуальное(ых) окружение(ий) для текущего проекта:
{paths}

Вы уверены, что хотите удалить их, чтобы освободить место на диске?", - "Clear Local Venvs": "Очистить локальные виртуальные окружения", - "Clear Virtual Environments": "Очистить виртуальные окружения", - "Delete All": "Удалить все", - "Keep Local Venv": "Сохранить локальное виртуальное окружение", - "No local virtual environments found to clean.": "Локальные виртуальные окружения для очистки не найдены.", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "Успешно очищено {count} виртуальное(ых) окружение(ий), освобождено {size:.1f} МБ дискового пространства.", - "Use Virtual Environment": "Использовать виртуальное окружение", - "[INFO] Creating virtual environment ({name})...": "[INFO] Создание виртуального окружения ({name})...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Установка окружения сборки и зависимостей проекта ({count} пакетов): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Включен облегченный режим, применяется оптимизация байт-кода (-OO) и удаление dev-модулей...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Локальный компилятор C не обнаружен. Nuitka автоматически загрузит и установит совместимый инструментарий MinGW-w64.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Совет Nuitka: Если при первой сборке появится запрос на загрузку компилятора GCC/MinGW, убедитесь в стабильном сетевом соединении.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Выполнение предварительных проверок окружения...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Обнаружен Playwright. Установка встроенных браузеров (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Обнаружен Python 3.13+: используется компилятор Zig (--zig) в качестве C-бэкенда.", + "[INFO] Python interpreter path: {path}": "[INFO] Путь к интерпретатору Python: {path}", + "[INFO] Resolving project dependencies...": "[INFO] Разрешение зависимостей проекта...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Повторная попытка загрузки браузеров Playwright через официальный CDN...", + "[INFO] Reusing existing virtual environment...": "[INFO] Использование существующего виртуального окружения...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Повторное использование существующего виртуального окружения: {path}", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Не удалось очистить недействительное окружение, используется временная песочница: {error}", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Запасной вариант определения информации об окружении Python: {error}", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[ИНФО] Автоматически обнаружено существующее виртуальное окружение '{venv}'. Опция 'Сохранить локальное виртуальное окружение' отмечена." + "[INFO] Scanning project source code via AST engine...": "[INFO] Сканирование исходного кода проекта с помощью AST-движка...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Запуск движка {engine} для компиляции двоичных файлов...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Удаление параметров значка и автоматическая пересборка...", + "[INFO] Successfully installed compatible versions.": "[INFO] Совместимые версии успешно установлены.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Переключение на резервный источник PyPI для получения: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Синхронизация и обновление менеджера пакетов pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Совет. Исполняемые файлы без коммерческой подписи могут быть ложно определены Защитником Windows/антивирусом.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Использование компилятора MinGW64 (--mingw64) для C-бэкенда.", + "[INFO] Using MinGW64 compiler.": "[INFO] Использование компилятора MinGW64.", + "[INFO] Validating output files and generating final product...": "[INFO] Проверка выходных файлов и создание конечного продукта...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Компиляция завершена, путь вывода: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Цифровая подпись успешно применена!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Исходный код содержит синтаксические ошибки, компиляция прервана:\n - Файл: {file}\n - Тип: {type}\n - Строка: строка {line}\n - Подробности: {desc}\n\nСовет. Убедитесь, что исходный код запускается локально перед упаковкой.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Не удалось выполнить синтаксический анализ исходного кода, сборка прервана:\n - Файл: {file}\n - Строка: строка {line}\n - Подробности: {desc}\n\nСовет. Обычно это НЕ ошибка инструмента упаковки.\nУбедитесь, что выбранная [Версия Python для сборки] соответствует версии, которую вы использовали для [Написания/Тестирования кода].\nИспользование нового синтаксиса (например, оператор моржа :=, объединение типов |, match-case) в более старой среде Python вызовет эту ошибку.\nРекомендуем перейти в [Настройки сборки] -> [Движок], чтобы переключиться на правильную версию Python.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Обнаружен модуль 'multiprocessing'. Убедитесь, что 'multiprocessing.freeze_support()' вызывается внутри 'if __name__ == \"__main__\":', чтобы предотвратить бесконечные циклы процессов (форк-бомбы).", + "[WARN] AST Analysis Exception: {error}": "[WARN] Исключение при анализе AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Тайм-аут команды (>{timeout}с)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Обнаружены 'requests' или 'httpx'. Автоматическое включение сертификатов 'certifi' для предотвращения ошибок SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Не удалось очистить недопустимое окружение, используется временная песочница: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Не удалось преобразовать значок в .icns, сборка без значка.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Запись ресурса значка заблокирована (возможно, заблокирована системой/антивирусом), запуск защитного механизма...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Обнаружено мало места на диске целевого диска (Доступно: {free:.1f} ГБ, рекомендуется >= 5.0 ГБ). Процесс сборки может прерваться из-за нехватки места.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Перехвачено исключение выделения памяти (ZstdError / OOM). Запуск защитного механизма памяти: повторная попытка в однопоточном режиме...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Пакет '{pkg}' не удалось установить, пропуск...", + "[WARN] Pause code injection exception: {error}": "[WARN] Исключение при внедрении кода паузы: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Не удалось установить браузер Playwright из всех источников, сборка продолжится с риском...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Ошибка определения информации об окружении Python: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Предупреждение при чтении requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Не удалось выполнить умную подпись, но результат сборки сохранен.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Некоторые зависимости не удалось установить, сборка будет продолжена с риском...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Указанные версии не удалось установить. Снятие ограничений версий для автоматического подбора совместимости...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Настоятельно рекомендуется проверить [Виртуальное окружение] для максимального эффекта облегченного режима.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Ограничены права на запись в системный Python. Повторная попытка в режиме '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Обнаружена нехватка памяти системы (сбой выделения памяти zstd). Автоматический повтор в однопоточном режиме с низким потреблением памяти...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Целевой проект находится в каталоге облачной синхронизации (например, OneDrive/Dropbox). Облачная синхронизация может временно блокировать файлы сборки.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Истекло время ожидания соединения с сервером меток времени, выполняется локальная быстрая подпись...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Обнаружено использование '__file__'. В однофайловом режиме PyInstaller используйте 'sys._MEIPASS' для надежного поиска встроенных файлов ресурсов!", + "\\nProgram execution completed, press Enter to exit...": "\\nВыполнение программы завершено, нажмите Enter для выхода..." } diff --git a/qpypack/locales/th_TH.json b/qpypack/locales/th_TH.json index 8c67be6..6105de5 100644 --- a/qpypack/locales/th_TH.json +++ b/qpypack/locales/th_TH.json @@ -1,46 +1,49 @@ { - " [Console]": " [คอนโซล]", - " [No Console]": " [ไม่มีคอนโซล]", + " [Console]": "[Console]", + " [No Console]": "[No Console]", "* Nuitka Auto-manages C Compiler": "* Nuitka จัดการคอมไพเลอร์ C อัตโนมัติ", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* การสนับสนุนเป็นไปโดยสมัครใจล้วนๆ เป็นการให้กำลังใจแก่ชุมชนโอเพนซอร์สโดยไม่มีเงื่อนไข และไม่มีข้อผูกพันทางการค้าใดๆ ขอบคุณสำหรับการสนับสนุนของคุณ!", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* การสนับสนุนเป็นไปโดยสมัครใจ เป็นกำลังใจให้ชุมชนโอเพนซอร์สโดยไม่มีเงื่อนไขทางการค้าใดๆ ขอบคุณสำหรับการสนับสนุน!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ ตรวจพบในเครื่อง:
{path}
พร้อมสลับโดยตรงโดยไม่ต้องดาวน์โหลดใหม่", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตการตั้งค่าทั้งหมด?
การตั้งค่าทั้งหมดจะถูกคืนค่าเป็นค่าเริ่มต้น", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "พบสภาพแวดล้อมเสมือน {count} รายการสำหรับโปรเจกต์ปัจจุบัน:
{paths}

คุณแน่ใจหรือไม่ว่าต้องการลบเพื่อเพิ่มพื้นที่ดิสก์?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "ติดตั้งสภาพแวดล้อม Python สำเร็จ!

ตัวแปรสภาพแวดล้อมของระบบได้รับการอัปเดตแล้ว แนะนำให้ออกและรีสตาร์ทซอฟต์แวร์เพื่อให้การเปลี่ยนแปลงมีผล", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "การจัดการสภาพแวดล้อม Python
รองรับการสลับระหว่างสภาพแวดล้อม Python ที่ตรวจพบในเครื่องหรือดาวน์โหลดเวอร์ชันใหม่", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "จำเป็นต้องมีสภาพแวดล้อม Python
การสร้างแอปพลิเคชันขึ้นอยู่กับตัวแปลภาษา Python
โปรดเลือกเวอร์ชันเพื่อดาวน์โหลด ติดตั้ง และกำหนดค่าตัวแปรสภาพแวดล้อมโดยอัตโนมัติ
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "ไม่พบ Python ในระบบของคุณ!

QPyPack ต้องใช้สภาพแวดล้อม Python เพื่อคอมไพล์โค้ดของคุณ
หากคุณยังไม่ได้ติดตั้ง Python โปรดดาวน์โหลดและติดตั้ง (อย่าลืมเลือก 'Add Python.exe to PATH' ระหว่างการติดตั้ง)", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "ไม่พบ Python ในระบบของคุณ!

QPyPack ต้องใช้สภาพแวดล้อม Python เพื่อคอมไพล์โค้ดของคุณ
หากคุณยังไม่ได้ติดตั้ง Python โปรดดาวน์โหลดและติดตั้ง", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "คำแนะนำ: แนะนำให้ใช้ Python 3.11.9 เพื่อความเข้ากันได้ในการสร้างและรองรับเอ็นจินที่ดีที่สุด", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตการตั้งค่าทั้งหมด?
การตั้งค่าทั้งหมดจะกลับเป็นค่าเริ่มต้น", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "พบสภาพแวดล้อมเสมือน {count} รายการสำหรับโปรเจกต์ปัจจุบัน:
{paths}

คุณแน่ใจหรือไม่ว่าต้องการลบเพื่อเพิ่มพื้นที่ว่าง?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "ติดตั้งสภาพแวดล้อม Python สำเร็จ!

อัปเดตตัวแปรสภาพแวดล้อมของระบบแล้ว แนะนำให้ออกและรีสตาร์ทซอฟต์แวร์เพื่อให้การเปลี่ยนแปลงมีผล", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "การจัดการสภาพแวดล้อม Python
รองรับการสลับสภาพแวดล้อม Python ที่ตรวจพบในเครื่องหรือดาวน์โหลดเวอร์ชันใหม่", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "ต้องใช้สภาพแวดล้อม Python
การสร้างแอปพลิเคชันขึ้นอยู่กับตัวแปลภาษา Python
โปรดเลือกเวอร์ชันเพื่อดาวน์โหลด ติดตั้ง และกำหนดค่าตัวแปรสภาพแวดล้อมโดยอัตโนมัติ
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "ไม่พบ Python ในระบบของคุณ!

QPyPack ต้องใช้สภาพแวดล้อม Python เพื่อคอมไพล์โค้ดของคุณ
หากยังไม่ได้ติดตั้ง Python โปรดดาวน์โหลดและติดตั้ง (อย่าลืมเลือก 'Add Python.exe to PATH' ระหว่างการติดตั้ง)", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "ไม่พบ Python ในระบบของคุณ!

QPyPack ต้องใช้สภาพแวดล้อม Python เพื่อคอมไพล์โค้ดของคุณ
หากยังไม่ได้ติดตั้ง Python โปรดดาวน์โหลดและติดตั้ง", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "คำแนะนำ: แนะนำให้ใช้ Python 3.11.9 เพื่อความเข้ากันได้ดีที่สุดในการสร้างและรองรับเอ็นจิน", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
ตัวแปลภาษา
กำลังตรวจจับสภาพแวดล้อมระบบและเมทริกซ์การรองรับ OS โดยอัตโนมัติ...", "AST Scan": "สแกน AST", - "AST scan completed, found {count} dependencies.": "การสแกน AST เสร็จสิ้น พบ {count} dependencies", + "AST scan completed, found {count} dependencies.": "สแกน AST เสร็จสิ้น พบ {count} รายการที่ต้องพึ่งพา", "AWS PyPI Mirror (US/EU)": "มิเรอร์ PyPI ของ AWS (US/EU)", "About": "เกี่ยวกับ", + "Active backport conflicts detected ({count}): {pkgs}": "ตรวจพบความขัดแย้งของ backport ที่ใช้งานอยู่ ({count}): {pkgs}", + "Add Backport Rule": "เพิ่มกฎ Backport", "Add Dir": "เพิ่มไดเรกทอรี", "Add File": "เพิ่มไฟล์", "Add Mapping": "เพิ่มการแมป", "Additional Resources (Drag & Drop Supported)": "ทรัพยากรเพิ่มเติม (รองรับการลากและวาง)", "Aliyun Cloud (China)": "คลาวด์ Aliyun (จีน)", - "Analyze Dependencies (AST)": "วิเคราะห์ dependencies (AST)", + "Analyze Dependencies (AST)": "วิเคราะห์การพึ่งพา (AST)", "App Icon:": "ไอคอนแอป:", - "App Metadata & Presets": "ข้อมูลเมตาและพรีเซ็ตของแอป", + "App Metadata & Presets": "ข้อมูลเมตาของแอปและพรีเซ็ต", "Apple Silicon (M-Series) & Intel": "Apple Silicon (M-Series) และ Intel", "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) และ Intel", - "Attention: Please check the log for details.": "โปรดทราบ: กรุณาตรวจสอบบันทึกสำหรับรายละเอียด", + "Attention: Please check the log for details.": "คำเตือน: โปรดตรวจสอบบันทึกสำหรับรายละเอียด", "Author/Company:": "ผู้เขียน/บริษัท:", "Auto Extract Icon": "แยกไอคอนอัตโนมัติ", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "ใช้ลายเซ็นดิจิทัลกับแอปที่สร้างโดยอัตโนมัติ ลบคำเตือน 'ผู้เผยแพร่ที่ไม่รู้จัก'", - "Auto-patched missing ({count}): {pkgs}": "แพตช์อัตโนมัติที่ขาดหายไป ({count}): {pkgs}", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "ใช้ลายเซ็นดิจิทัลกับแอปที่สร้างโดยอัตโนมัติ กำจัดคำเตือน 'ผู้เผยแพร่ที่ไม่รู้จัก'", + "Auto-patched missing ({count}): {pkgs}": "แพตช์ที่ขาดหายไปอัตโนมัติ ({count}): {pkgs}", "Auto-save Build Log": "บันทึกบันทึกการสร้างอัตโนมัติ", - "Backup PIP Index:": "ดัชนี PIP สำรอง:", + "Backport exclusion rules have been reset to defaults.": "กฎการยกเว้น Backport ถูกรีเซ็ตเป็นค่าเริ่มต้นแล้ว", + "Backup PIP Index:": "สำรอง PIP Index:", "Browse": "เรียกดู", "Build Cancelled": "การสร้างถูกยกเลิก", - "Build Engine:": "เอนจินการสร้าง:", + "Build Engine:": "เอ็นจินการสร้าง:", "Build Failed": "การสร้างล้มเหลว", "Build Settings": "การตั้งค่าการสร้าง", "Build Successful": "การสร้างสำเร็จ", - "Build engine packages ({count}): {pkgs}": "แพ็คเกจเอนจินการสร้าง ({count}): {pkgs}", + "Build engine packages ({count}): {pkgs}": "แพ็คเกจเอ็นจินการสร้าง ({count}): {pkgs}", "CPU Cores:": "คอร์ CPU:", "Cancel": "ยกเลิก", "Cancel & Return": "ยกเลิกและกลับ", @@ -63,9 +66,9 @@ "Compatibility depends on build environment glibc version.": "ความเข้ากันได้ขึ้นอยู่กับเวอร์ชัน glibc ของสภาพแวดล้อมการสร้าง", "Concise Log Output": "เอาต์พุตบันทึกแบบกระชับ", "Concise Mode": "โหมดกระชับ", - "Config preset exported to: {path}": "ส่งออกชุดการกำหนดค่าไปยัง: {path}", - "Config preset imported successfully.": "นำเข้าชุดการกำหนดค่าสำเร็จ", - "Configure Build Settings": "กำหนดค่าการตั้งค่าบิลด์", + "Config preset exported to: {path}": "ส่งออกค่ากำหนดการกำหนดค่าไปยัง: {path}", + "Config preset imported successfully.": "นำเข้าค่ากำหนดการกำหนดค่าสำเร็จ", + "Configure Build Settings": "กำหนดค่าการตั้งค่าการสร้าง", "Configure Manually": "กำหนดค่าด้วยตนเอง", "Confirm Password:": "ยืนยันรหัสผ่าน:", "Contents Directory (--contents-directory):": "ไดเรกทอรีเนื้อหา (--contents-directory):", @@ -77,33 +80,37 @@ "Declared in requirements.txt ({count}): {pkgs}": "ประกาศใน requirements.txt ({count}): {pkgs}", "Declared in requirements.txt: None": "ประกาศใน requirements.txt: ไม่มี", "Delete All": "ลบทั้งหมด", + "Deleting...": "กำลังลบ...", "Dependencies": "การพึ่งพา", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "คำเตือนการพึ่งพาหายไป: {pkgs} ไม่สามารถติดตั้งได้ ตรวจสอบบันทึกสำหรับรายละเอียด", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "คำเตือนการพึ่งพาที่ขาดหายไป: {pkgs} ไม่สามารถติดตั้งได้ ตรวจสอบบันทึกสำหรับรายละเอียด", "Description:": "คำอธิบาย:", "Desktop Application": "แอปพลิเคชันเดสก์ท็อป", - "Detailed Mode": "โหมดละเอียด", + "Detailed Mode": "โหมดรายละเอียด", "Directory": "ไดเรกทอรี", - "Discovered via scanner ({count}): {pkgs}": "พบผ่านสแกนเนอร์ ({count}): {pkgs}", + "Discovered via scanner ({count}): {pkgs}": "ค้นพบผ่านสแกนเนอร์ ({count}): {pkgs}", "Double-click to edit target path; Drag & drop supported": "ดับเบิลคลิกเพื่อแก้ไขเส้นทางเป้าหมาย; รองรับการลากและวาง", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "ดับเบิลคลิกเพื่อแก้ไขเส้นทางเป้าหมาย; รองรับการลากและวาง ใช้ 'ส่งออกชุดการกำหนดค่า' เพื่อบันทึกสำหรับใช้ซ้ำ", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "ดับเบิลคลิกเพื่อแก้ไขเส้นทางเป้าหมาย; รองรับการลากและวาง ใช้ 'Export Preset' เพื่อบันทึกไว้ใช้ใหม่", "Download New Version": "ดาวน์โหลดเวอร์ชันใหม่", "Download Python": "ดาวน์โหลด Python", - "Download complete. Starting Python installation...": "ดาวน์โหลดเสร็จสิ้น กำลังเริ่มการติดตั้ง Python...", - "Downloading Python {ver}... Please wait.": "กำลังดาวน์โหลด Python {ver}... โปรดรอ", + "Download complete. Starting Python installation...": "ดาวน์โหลดเสร็จสมบูรณ์ กำลังเริ่มติดตั้ง Python...", + "Downloading Python {ver}... Please wait.": "กำลังดาวน์โหลด Python {ver}... โปรดรอสักครู่", "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "ลากและวางสคริปต์ Python (.py/.pyw) ที่นี่\nหรือคลิกเพื่อเรียกดู", "Drop Python source code to start": "วางซอร์สโค้ด Python เพื่อเริ่มต้น", "Edit Path": "แก้ไขเส้นทาง", - "Enable Smart Code Signing": "เปิดใช้การลงนามโค้ดอัจฉริยะ", - "Enable UPX Compression": "เปิดใช้การบีบอัด UPX", - "Engine": "เอนจิน", - "Engine & Environment": "เอนจินและสภาพแวดล้อม", + "Enable Automatic Backport Isolation": "เปิดใช้งานการแยก backport อัตโนมัติ", + "Enable Smart Code Signing": "เปิดใช้งานการลงนามโค้ดอัจฉริยะ", + "Enable UPX Compression": "เปิดใช้งานการบีบอัด UPX", + "Engine": "เอ็นจิน", + "Engine & Environment": "เอ็นจินและสภาพแวดล้อม", + "Environment Analysis": "การวิเคราะห์สภาพแวดล้อม", + "Environment Analysis & Remediation": "การวิเคราะห์และแก้ไขสภาพแวดล้อม", "Error": "ข้อผิดพลาด", - "Exclude Modules:": "โมดูลที่ไม่รวม:", + "Exclude Modules:": "โมดูลที่แยกออก:", "Execution Log": "บันทึกการดำเนินการ", "Execution Mode": "โหมดการดำเนินการ", - "Exit Now": "ออกตอนนี้", + "Exit Now": "ออกจากโปรแกรมทันที", "Export Log...": "ส่งออกบันทึก...", - "Export Preset...": "ส่งออกค่าที่ตั้งไว้...", + "Export Preset...": "ส่งออกพรีเซ็ต...", "Failed to generate certificate.": "ไม่สามารถสร้างใบรับรองได้", "File": "ไฟล์", "Folder Mode (--onedir)": "โหมดโฟลเดอร์ (--onedir)", @@ -113,44 +120,50 @@ "Global configuration has been reset.": "การกำหนดค่าระดับโลกถูกรีเซ็ตแล้ว", "Hidden Imports:": "การนำเข้าที่ซ่อนอยู่:", "Hide Console (--noconsole)": "ซ่อนคอนโซล (--noconsole)", - "Hide Custom Cert Settings ▾": "ซ่อนการตั้งค่าใบรับรองที่กำหนดเอง ▾", - "Huawei Cloud (China)": "Huawei Cloud (จีน)", - "Import Name": "ชื่อการนำเข้า", - "Import Preset...": "นำเข้าค่าที่ตั้งไว้...", - "Import name (e.g. cv2):": "ชื่อการนำเข้า (เช่น cv2):", + "Hide Custom Cert Settings ▾": "ซ่อนการตั้งค่าใบรับรองแบบกำหนดเอง ▾", + "Huawei Cloud (China)": "หัวเหว่ยคลาวด์ (จีน)", + "Import Name": "ชื่อนำเข้า", + "Import Preset...": "นำเข้าพรีเซ็ต...", + "Import name (e.g. cv2):": "ชื่อนำเข้า (เช่น cv2):", "Independent Developer": "นักพัฒนาอิสระ", "Initializing build...": "กำลังเริ่มต้นการสร้าง...", + "Inspect Interpreter Environment": "ตรวจสอบสภาพแวดล้อมอินเทอร์พรีเตอร์", "Install Complete": "การติดตั้งเสร็จสมบูรณ์", "Install requirements.txt": "ติดตั้ง requirements.txt", "Internal directory name for dependencies (default: _internal)": "ชื่อไดเรกทอรีภายในสำหรับ dependencies (ค่าเริ่มต้น: _internal)", - "Interpreter:": "ตัวแปลภาษา:", + "Interpreter inspection passed: No active backport conflicts detected.": "การตรวจสอบอินเทอร์พรีเตอร์ผ่าน: ไม่พบความขัดแย้งของ backport ที่ใช้งานอยู่", + "Interpreter:": "อินเทอร์พรีเตอร์:", "Invalid syntax": "ไวยากรณ์ไม่ถูกต้อง", "Issues & Feedback": "ปัญหาและข้อเสนอแนะ", "Keep Local Venv": "เก็บ Venv ในเครื่อง", "Later": "ภายหลัง", - "Leave blank to auto-detect from environment variables": "เว้นว่างเพื่อตรวจจับอัตโนมัติจากตัวแปรสภาพแวดล้อม", - "Leave blank to auto-detect system default Python": "เว้นว่างเพื่อตรวจจับ Python เริ่มต้นของระบบอัตโนมัติ", - "Leave blank to auto-match script name": "เว้นว่างเพื่อจับคู่ชื่อสคริปต์อัตโนมัติ", - "Leave blank to auto-search requirements.txt in current directory": "เว้นว่างเพื่อค้นหา requirements.txt ในไดเรกทอรีปัจจุบันอัตโนมัติ", + "Leave blank to auto-detect from environment variables": "เว้นว่างไว้เพื่อตรวจจับจากตัวแปรสภาพแวดล้อมอัตโนมัติ", + "Leave blank to auto-detect system default Python": "เว้นว่างไว้เพื่อตรวจจับ Python เริ่มต้นของระบบอัตโนมัติ", + "Leave blank to auto-match script name": "เว้นว่างไว้เพื่อจับคู่ชื่อสคริปต์อัตโนมัติ", + "Leave blank to auto-search requirements.txt in current directory": "เว้นว่างไว้เพื่อค้นหา requirements.txt ในไดเรกทอรีปัจจุบันอัตโนมัติ", "Legacy macOS Compatible": "เข้ากันได้กับ macOS รุ่นเก่า", "Lite Mode (Smaller size)": "โหมดไลต์ (ขนาดเล็กลง)", "Loaded: {filename}": "โหลดแล้ว: {filename}", "Locally Detected Pythons": "Python ที่ตรวจพบในเครื่อง", - "Lock Core Dependencies": "ล็อก dependencies หลัก", - "Log saved to: {path}": "บันทึกบันทึกไปที่: {path}", - "Manifest complete (No missing packages)": "manifest สมบูรณ์ (ไม่มีแพ็กเกจที่ขาดหาย)", + "Lock Core Dependencies": "ล็อก Core Dependencies", + "Log saved to: {path}": "บันทึกบันทึกลงใน: {path}", + "Manifest complete (No missing packages)": "Manifest สมบูรณ์ (ไม่มีแพ็คเกจที่ขาดหายไป)", "Maximum compatibility. Recommended for apps with complex dynamic imports.": "ความเข้ากันได้สูงสุด แนะนำสำหรับแอปที่มีการนำเข้าแบบไดนามิกซับซ้อน", + "Min Python Ver": "เวอร์ชัน Python ขั้นต่ำ", + "Minimum Built-in Python Version (e.g. 3.4):": "เวอร์ชัน Python ในตัวขั้นต่ำ (เช่น 3.4):", "Mirrors & Scanner": "มิเรอร์และสแกนเนอร์", - "Modern Cross-Platform Python Application Packager": "เครื่องมือแพ็กเกจแอปพลิเคชัน Python ข้ามแพลตฟอร์มสมัยใหม่", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI สำหรับแพ็กเกจ Python ข้ามแพลตฟอร์มสมัยใหม่ ขับเคลื่อนโดย PyInstaller และ Nuitka", + "Modern Cross-Platform Python Application Packager": "โปรแกรมแพ็กเกจแอปพลิเคชัน Python ข้ามแพลตฟอร์มที่ทันสมัย", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI แพ็กเกจจิ้ง Python ข้ามแพลตฟอร์มที่ทันสมัย ขับเคลื่อนโดย PyInstaller และ Nuitka", "No Windows 7 Support": "ไม่รองรับ Windows 7", + "No environment conflicts detected.": "ไม่พบความขัดแย้งของสภาพแวดล้อม", "No local Python environments detected.": "ไม่พบสภาพแวดล้อม Python ในเครื่อง", - "No local virtual environments found to clean.": "ไม่พบสภาพแวดล้อมเสมือนในเครื่องที่ต้องล้าง", - "No log content.": "ไม่มีเนื้อหาบันทึก", + "No local virtual environments found to clean.": "ไม่พบสภาพแวดล้อมเสมือนในเครื่องที่จะทำความสะอาด", + "No log content.": "ไม่มีเนื้อหาล็อก", "Nuitka Version:": "เวอร์ชัน Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — คอมไพล์ซอร์สโค้ดเป็นไบนารี C/C++ ดั้งเดิม ให้ขนาดแพ็กเกจเล็กลง ทำงานเร็วขึ้น และป้องกันการดีคอมไพล์อย่างลึกซึ้ง (ต้องมี C compiler)", - "OK": "ตกลง", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — คอมไพล์ซอร์สโค้ดเป็นไบนารี C/C++ ดั้งเดิม ให้ขนาดแพ็กเกจเล็กลง ทำงานเร็วขึ้น และป้องกันการดีคอมไพล์เชิงลึก (ต้องใช้คอมไพเลอร์ C)", + "OK": "OK", "OS Support Matrix:": "เมทริกซ์การรองรับระบบปฏิบัติการ:", + "Obsolete Backport Exclusion Rules": "กฎการยกเว้นแบ็กพอร์ตที่ล้าสมัย", "One-Click Download & Install": "ดาวน์โหลดและติดตั้งด้วยคลิกเดียว", "One-Click Install": "ติดตั้งด้วยคลิกเดียว", "One-File Mode (--onefile)": "โหมดไฟล์เดียว (--onefile)", @@ -162,24 +175,28 @@ "Output Location:": "ตำแหน่งเอาต์พุต:", "Output Name:": "ชื่อเอาต์พุต:", "Package Map": "แผนที่แพ็กเกจ", + "Package Mapping & Remediation": "การแมปแพ็กเกจและการแก้ไข", + "Package Mappings & Rules": "การแมปแพ็กเกจและกฎ", + "Package Name": "ชื่อแพ็กเกจ", + "Package Name (e.g. pathlib):": "ชื่อแพ็กเกจ (เช่น pathlib):", "Package Name Mappings": "การแมปชื่อแพ็กเกจ", "Package mappings have been reset to defaults.": "การแมปแพ็กเกจถูกรีเซ็ตเป็นค่าเริ่มต้นแล้ว", "Packaging Mode:": "โหมดการแพ็กเกจ:", - "Parsing metadata...": "กำลังแยกวิเคราะห์เมตาดาต้า...", - "Password cannot be empty!": "รหัสผ่านต้องไม่เว้นว่าง!", + "Parsing metadata...": "กำลังวิเคราะห์เมตาดาต้า...", + "Password cannot be empty!": "รหัสผ่านต้องไม่ว่างเปล่า!", "Password:": "รหัสผ่าน:", "Passwords do not match!": "รหัสผ่านไม่ตรงกัน!", "Paste": "วาง", - "Performance Optimization": "การเพิ่มประสิทธิภาพการทำงาน", + "Performance Optimization": "การปรับปรุงประสิทธิภาพ", "Platform Support Matrix:": "เมทริกซ์การรองรับแพลตฟอร์ม:", "Preferences": "การตั้งค่า", - "Preferences & System Behavior": "การตั้งค่าและพฤติกรรมระบบ", + "Preferences & System Behavior": "การตั้งค่าและพฤติกรรมของระบบ", "Preparing engine...": "กำลังเตรียมเอ็นจิน...", "Primary PIP Index:": "ดัชนี PIP หลัก:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "เฉพาะโปรเจกต์ ไม่ถูกบันทึกลงในการตั้งค่าทั่วโลก ใช้ 'ส่งออกพรีเซ็ต' เพื่อบันทึกการกำหนดค่า", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "เฉพาะโปรเจกต์ ไม่บันทึกลงในการตั้งค่าทั่วโลก ใช้ 'ส่งออกพรีเซ็ต' เพื่อบันทึกการกำหนดค่า", "PyInstaller Version:": "เวอร์ชัน PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — รวมตัวแปลภาษา Python และไบต์โค้ด ความเร็วในการบิลด์รวดเร็ว ไม่ต้องกำหนดค่า (ไม่ต้องใช้คอมไพเลอร์ C) และเข้ากันได้ดีเยี่ยม", - "PyPI Home": "หน้าแรก PyPI", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — รวมตัวแปลภาษาและไบต์โค้ดของ Python ความเร็วในการสร้างเร็ว การกำหนดค่าเป็นศูนย์ (ไม่ต้องใช้คอมไพเลอร์ C) และความเข้ากันได้ดีเยี่ยม", + "PyPI Home": "หน้าแรกของ PyPI", "PyPI Official (Global Default)": "PyPI อย่างเป็นทางการ (ค่าเริ่มต้นทั่วโลก)", "PyPI Package Name": "ชื่อแพ็กเกจ PyPI", "PyPI package name for [{imp_name}]:": "ชื่อแพ็กเกจ PyPI สำหรับ [{imp_name}]:", @@ -191,54 +208,59 @@ "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (รองรับ Win7)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "การจัดการสภาพแวดล้อม Python", - "Python Environment Required": "จำเป็นต้องมีสภาพแวดล้อม Python", - "Python Packaging, Reimagined.": "การแพ็กเกจ Python ใหม่ในรูปแบบที่สร้างสรรค์", + "Python Environment Required": "ต้องมีสภาพแวดล้อม Python", + "Python Packaging, Reimagined.": "การแพ็กเกจ Python ถูกจินตนาการใหม่", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "ติดตั้ง Python แล้ว กรุณารีสตาร์ท QPyPack ด้วยตนเองในภายหลัง", - "QPyPack Developer": "นักพัฒนา QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack เป็นเครื่องมือฟรีและโอเพนซอร์ส หากมันช่วยเพิ่มประสิทธิภาพหรือแก้ปัญหาการแพ็กเกจของคุณ ลองซื้อกาแฟให้ผู้พัฒนาได้นะ!", - "Ready, waiting for build.": "พร้อมแล้ว รอการสร้างแพ็กเกจ", + "QPyPack Developer": "QPyPack นักพัฒนา", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack เป็นเครื่องมือฟรีและโอเพนซอร์ส หากมันช่วยเพิ่มประสิทธิภาพหรือแก้ปัญหาการแพ็คเกจได้ ลองพิจารณาซื้อกาแฟให้ผู้พัฒนา!", + "Ready, waiting for build.": "พร้อมแล้ว รอการสร้าง", "Rebuild": "สร้างใหม่", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "คำแนะนำ: อย่างน้อย 6 ตัวอักษร ใช้ตัวอักษรและตัวเลข, '-' และ '_' เท่านั้น หลีกเลี่ยงการเว้นวรรคหรือภาษาจีนเพื่อป้องกันข้อผิดพลาดในการเซ็นชื่อ", - "Remove Selected": "ลบรายการที่เลือก", - "Requirements File:": "ไฟล์ requirements:", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "คำแนะนำ: 6+ ตัวอักษร ตัวเลข และ '_' เท่านั้น หลีกเลี่ยงช่องว่างหรือภาษาจีนเพื่อป้องกันข้อผิดพลาดในการเซ็นชื่อ", + "Remediate Detected Conflicts": "แก้ไขข้อขัดแย้งที่ตรวจพบ", + "Remediation completed for packages: {pkgs}": "การแก้ไขเสร็จสมบูรณ์สำหรับแพ็คเกจ: {pkgs}", + "Remove Selected": "ลบที่เลือก", + "Requirements File:": "ไฟล์ข้อกำหนด:", "Reset": "รีเซ็ต", - "Reset to Default Config": "รีเซ็ตเป็นการตั้งค่าเริ่มต้น", + "Reset to Default Config": "รีเซ็ตเป็นค่าคอนฟิกเริ่มต้น", "Resources": "ทรัพยากร", "Restore Defaults": "คืนค่าเริ่มต้น", "Save & Return": "บันทึกและกลับ", "Save Certificate": "บันทึกใบรับรอง", "Scan Entire Folder": "สแกนทั้งโฟลเดอร์", + "Scanning...": "กำลังสแกน...", "Script and settings retained. Ready to rebuild.": "สคริปต์และการตั้งค่าถูกเก็บไว้ พร้อมสร้างใหม่", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "โหลดสคริปต์แล้ว คุณสามารถลากโฟลเดอร์ทรัพยากรหรือไฟล์ข้อมูลมาที่นี่เพื่อรวมเข้าด้วยกัน", "Select .pfx / .p12 certificate file": "เลือกไฟล์ใบรับรอง .pfx / .p12", "Select All": "เลือกทั้งหมด", "Select Python Version to Download:": "เลือกเวอร์ชัน Python ที่จะดาวน์โหลด:", "Self-Signed Certificate (*.pfx)": "ใบรับรองที่เซ็นชื่อเอง (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "ขนาดไฟล์เอาต์พุตเล็กลง แนะนำสำหรับแอปมาตรฐาน 95%", + "Smaller output size. Recommended for 95% of standard apps.": "ขนาดเอาต์พุตเล็กลง แนะนำสำหรับแอปมาตรฐาน 95%", "Sound Notification": "การแจ้งเตือนด้วยเสียง", "Source Directory (.qpypack_build)": "ไดเรกทอรีต้นทาง (.qpypack_build)", "Source File Directory": "ไดเรกทอรีไฟล์ต้นทาง", "Sponsor": "ผู้สนับสนุน", - "Start Build": "เริ่มบิลด์", - "Status: Build Cancelled": "สถานะ: ยกเลิกบิลด์แล้ว", - "Status: Build Completed": "สถานะ: บิลด์เสร็จสมบูรณ์", - "Status: Build Failed": "สถานะ: บิลด์ล้มเหลว", + "Start Build": "เริ่มการบิลด์", + "Status: Build Cancelled": "สถานะ: ยกเลิกการบิลด์แล้ว", + "Status: Build Completed": "สถานะ: การบิลด์เสร็จสมบูรณ์", + "Status: Build Failed": "สถานะ: การบิลด์ล้มเหลว", + "Status: Environment inspection ready.": "สถานะ: พร้อมตรวจสอบสภาพแวดล้อม", "Status: Loaded {filename}{mode}": "สถานะ: โหลด {filename}{mode} แล้ว", "Status: Packaging ({engine}) ...": "สถานะ: กำลังแพ็กเกจ ({engine}) ...", "Status: Parsing {filename}...": "สถานะ: กำลังแยกวิเคราะห์ {filename}...", "Status: Ready": "สถานะ: พร้อม", "Status: Workspace Reset": "สถานะ: รีเซ็ตพื้นที่ทำงานแล้ว", - "Stop Build": "หยุดบิลด์", + "Stop Build": "หยุดการบิลด์", "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "ล้างสภาพแวดล้อมเสมือน {count} รายการสำเร็จ เพิ่มพื้นที่ดิสก์ {size:.1f} MB", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "สลับไปที่ [การตั้งค่าบิลด์] -> [เอนจิน] โปรดตั้งค่าเส้นทาง Python", - "Switched to local Python environment: {path}": "สลับไปที่สภาพแวดล้อม Python ในเครื่อง: {path}", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "สลับไปที่ [การตั้งค่าการบิลด์] -> [เอ็นจิน] โปรดตั้งค่าเส้นทาง Python", + "Switched to local Python environment: {path}": "สลับไปใช้สภาพแวดล้อม Python ในเครื่อง: {path}", "System Default ({sys_native})": "ค่าเริ่มต้นของระบบ ({sys_native})", "System Temp Directory": "ไดเรกทอรีชั่วคราวของระบบ", "Target Directory:": "ไดเรกทอรีเป้าหมาย:", "Target relative path:": "เส้นทางสัมพัทธ์เป้าหมาย:", "Temporary Directory:": "ไดเรกทอรีชั่วคราว:", "Tencent Cloud (China)": "เทนเซ็นต์คลาวด์ (จีน)", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "เคล็ดลับ: บิลด์ล้มเหลวในโหมดไลต์ คุณสามารถลองสลับไปที่ [โหมดความเข้ากันได้] ในการตั้งค่าบิลด์แล้วบิลด์ใหม่", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "คำแนะนำ: การบิลด์ล้มเหลวในโหมดไลต์ คุณสามารถลองสลับไปที่ [โหมดความเข้ากันได้] ในการตั้งค่าการบิลด์แล้วบิลด์ใหม่", "Toggle Execution Log": "สลับบันทึกการดำเนินการ", "Tsinghua University (China)": "มหาวิทยาลัยชิงหัว (จีน)", "UI Language:": "ภาษาของอินเทอร์เฟซ:", @@ -252,94 +274,98 @@ "Use Virtual Environment": "ใช้สภาพแวดล้อมเสมือน", "Version:": "เวอร์ชัน:", "View Python": "ดู Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ข้อผิดพลาด] ไม่พบไฟล์หรือไดเรกทอรีทรัพยากรเพิ่มเติม: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ข้อผิดพลาด] การสร้างถูกยกเลิก: พื้นที่ดิสก์ไม่เพียงพอ (NoSpaceLeft / Errno 28) โปรดล้างพื้นที่ดิสก์ (แนะนำให้มีพื้นที่ว่างอย่างน้อย 5 GB) แล้วลองอีกครั้ง", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ข้อผิดพลาด] การสร้างเสร็จสมบูรณ์ แต่การติดตั้ง dependencies ต่อไปนี้ล้มเหลว:\n\n - {pkgs}\n\nหมายเหตุ: แอปพลิเคชันอาจเกิดข้อผิดพลาด ModuleNotFoundError ขณะรันไทม์", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ข้อผิดพลาด] ไม่พบผลิตภัณฑ์ที่ปฏิบัติการได้ที่ถูกต้องในไดเรกทอรีสร้างชั่วคราว: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ข้อผิดพลาด] เกิดข้อยกเว้นระหว่างการแยกวิเคราะห์ AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ข้อผิดพลาด] ไม่สามารถสร้างสภาพแวดล้อมเสมือนได้ สภาพแวดล้อม Python ปัจจุบันอาจขาดโมดูลที่จำเป็นหรือมีสิทธิ์จำกัด", - "[ERROR] Failed to export log file: {error}": "[ข้อผิดพลาด] ไม่สามารถส่งออกไฟล์บันทึก: {error}", - "[ERROR] Failed to export preset file: {error}": "[ข้อผิดพลาด] ไม่สามารถส่งออกไฟล์พรีเซ็ต: {error}", - "[ERROR] I/O Exception: {err_msg}": "[ข้อผิดพลาด] ข้อยกเว้น I/O: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ข้อผิดพลาด] พื้นที่ดิสก์ไม่เพียงพอ (มีว่าง: {free:.1f} GB) ต้องใช้พื้นที่อย่างน้อย 0.5 GB เพื่อเริ่มต้นสภาพแวดล้อมการสร้างอย่างปลอดภัย", - "[ERROR] Output directory is missing write permissions: {error}": "[ข้อผิดพลาด] ไดเรกทอรีเอาต์พุตไม่มีสิทธิ์เขียน: {error}", - "[ERROR] Please load a valid Python source file first!": "[ข้อผิดพลาด] โปรดโหลดไฟล์ซอร์ส Python ที่ถูกต้องก่อน!", - "[ERROR] Preset file format error or corrupted: {error}": "[ข้อผิดพลาด] ไฟล์พรีเซ็ตรูปแบบผิดหรือเสียหาย: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ข้อผิดพลาด] กระบวนการผิดพลาด: คำสั่งหรือไบนารีหายไป ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ข้อผิดพลาด] การถ่ายโอนผลิตภัณฑ์ล้มเหลว ไฟล์อาจถูกครอบครองโดยกระบวนการระบบหรือขาดสิทธิ์: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ข้อผิดพลาด] การติดตั้ง Python ล้มเหลวหรือถูกยกเลิก", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ข้อผิดพลาด] ตัวแปลภาษา Python ไม่ถูกต้องหรือไม่พบ: {path}", - "[ERROR] Requirements file not found: {path}": "[ข้อผิดพลาด] ไม่พบไฟล์ requirements: {path}", - "[ERROR] System execution exception: {error}": "[ข้อผิดพลาด] ข้อยกเว้นการทำงานของระบบ: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ข้อผิดพลาด] ไฟล์เป้าหมายถูกล็อกหรือเข้ารหัสโดยคลาวด์ไดรฟ์ โปรดถอดรหัสแล้วลองอีกครั้ง", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ข้อผิดพลาด] ไฟล์เป้าหมายกำลังทำงานหรือถูกครอบครอง โปรดปิดแอปพลิเคชันที่มีอยู่แล้วลองอีกครั้ง", - "[ERROR] The specified icon file does not exist: {path}": "[ข้อผิดพลาด] ไม่พบไฟล์ไอคอนที่ระบุ: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[ล้มเหลว] การสร้างถูกขัดจังหวะอย่างผิดปกติ!\n\nการแก้ไขปัญหาทั่วไป:\n1. สภาพแวดล้อมไม่ตรงกัน (พบได้บ่อยที่สุด): เวอร์ชัน Python ที่เลือกเข้ากันไม่ได้กับซอร์สโค้ดของคุณ โปรดไปที่ [การตั้งค่าการสร้าง] เพื่อเปลี่ยนเป็นเวอร์ชัน Python ที่คุณใช้ปกติสำหรับโค้ดนี้\n2. Dependencies หายไป: คลิก 'โหมดรายละเอียด' ด้านบนเพื่อตรวจสอบ ModuleNotFoundError\n3. โปรแกรมป้องกันไวรัสบล็อก: ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ความปลอดภัยของคุณไม่ได้บล็อกกระบวนการสร้าง\n\n(หมายเหตุ: โดยปกติเกิดจากความไม่สอดคล้องของสภาพแวดล้อม/โค้ด ไม่ใช่ตัวเอนจินการแพ็กเกจเอง โปรดตรวจสอบบันทึกรายละเอียดเพื่อหาสาเหตุที่แท้จริง)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[ล้มเหลว] การคอมไพล์ถูกขัดจังหวะเนื่องจากมีข้อยกเว้น กรุณาคลิก 'โหมดรายละเอียด' เหนือหน้าต่างบันทึกเพื่อแก้ไขปัญหา", - "[INFO] Analyzing source code and project dependencies...": "[INFO] กำลังวิเคราะห์ซอร์สโค้ดและ dependencies ของโปรเจกต์...", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] ไม่พบไฟล์/ไดเรกทอรีทรัพยากรเพิ่มเติม: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] การสร้างถูกยกเลิก: พื้นที่ดิสก์ไม่เพียงพอ (NoSpaceLeft / Errno 28) กรุณาทำความสะอาดพื้นที่ดิสก์ (แนะนำให้มีพื้นที่ว่างอย่างน้อย 5 GB) แล้วลองอีกครั้ง", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] การสร้างเสร็จสมบูรณ์ แต่การติดตั้ง dependencies ต่อไปนี้ล้มเหลว:\n\n - {pkgs}\n\nหมายเหตุ: แอปพลิเคชันอาจเกิด ModuleNotFoundError เมื่อรันไทม์", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] ไม่พบ executable product ที่ถูกต้องในไดเรกทอรี build ชั่วคราว: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] การแก้ไขสภาพแวดล้อมล้มเหลว: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] เกิดข้อยกเว้นระหว่างการแยกวิเคราะห์ AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] ไม่สามารถสร้างสภาพแวดล้อมเสมือนได้ สภาพแวดล้อม Python ปัจจุบันอาจขาดโมดูลที่จำเป็นหรือมีสิทธิ์จำกัด", + "[ERROR] Failed to export log file: {error}": "[ERROR] ไม่สามารถส่งออกไฟล์บันทึก: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] ไม่สามารถส่งออกไฟล์ preset: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O Exception: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] พื้นที่ดิสก์ไม่เพียงพอ (มีว่าง: {free:.1f} GB) ต้องมีอย่างน้อย 0.5 GB เพื่อเริ่มต้นสภาพแวดล้อม build อย่างปลอดภัย", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] ไดเรกทอรีเอาต์พุตไม่มีสิทธิ์เขียน: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] กรุณาโหลดไฟล์ซอร์ส Python ที่ถูกต้องก่อน!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] รูปแบบไฟล์ preset ผิดพลาดหรือเสียหาย: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] ข้อผิดพลาดของกระบวนการ: คำสั่งหรือไบนารีหายไป ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] การถ่ายโอนผลิตภัณฑ์ล้มเหลว ไฟล์อาจถูกครอบครองโดยกระบวนการระบบหรือขาดสิทธิ์: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] การติดตั้ง Python ล้มเหลวหรือถูกยกเลิก", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] ตัวแปล Python ไม่ถูกต้องหรือไม่พบ: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] ไม่พบไฟล์ requirements: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] ข้อยกเว้นการทำงานของระบบ: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] ไฟล์เป้าหมายถูกล็อกหรือเข้ารหัสโดยคลาวด์ไดรฟ์ กรุณาถอดรหัสแล้วลองอีกครั้ง", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] ไฟล์เป้าหมายกำลังทำงานหรือถูกครอบครอง กรุณาปิดแอปพลิเคชันที่มีอยู่แล้วลองอีกครั้ง", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] ไม่พบไฟล์ไอคอนที่ระบุ: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] การสร้างถูกขัดจังหวะด้วยข้อยกเว้น!\n\nการแก้ไขปัญหาทั่วไป:\n1. สภาพแวดล้อมไม่ตรงกัน (พบบ่อยที่สุด): เวอร์ชัน Python ที่เลือกเข้ากันไม่ได้กับซอร์สโค้ดของคุณ กรุณาไปที่ [การตั้งค่าการสร้าง] เพื่อเปลี่ยนเป็นเวอร์ชัน Python ที่คุณใช้ปกติสำหรับโค้ดนี้\n2. Dependencies หายไป: คลิก 'โหมดรายละเอียด' ด้านบนเพื่อตรวจสอบ ModuleNotFoundError\n3. โปรแกรมป้องกันไวรัสบล็อก: ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ความปลอดภัยของคุณไม่ได้บล็อกกระบวนการสร้าง\n\n(หมายเหตุ: โดยปกติเกิดจากความไม่สอดคล้องของสภาพแวดล้อม/โค้ด ไม่ใช่ตัวเครื่องมือแพ็กเกจ กรุณาตรวจสอบบันทึกโดยละเอียดสำหรับสาเหตุที่แท้จริง)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] การคอมไพล์ถูกขัดจังหวะด้วยข้อยกเว้น กรุณาคลิก 'โหมดรายละเอียด' ด้านบนหน้าต่างบันทึกเพื่อแก้ไขปัญหา", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] เพิ่ม '{name}' ลงในทรัพยากรเพิ่มเติม", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] เพิ่มรายการทรัพยากร {count} รายการลงในทรัพยากรเพิ่มเติม", + "[INFO] Analyzing source code and project dependencies...": "[INFO] กำลังวิเคราะห์ซอร์สโค้ดและการพึ่งพาของโปรเจกต์...", "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] ใช้ลายเซ็นดิจิทัลพร้อม timestamp ({tsa}) แล้ว...", "[INFO] Applying smart digital signature...": "[INFO] กำลังใช้ลายเซ็นดิจิทัลอัจฉริยะ...", - "[INFO] Build Cancelled.": "[INFO] การบิลด์ถูกยกเลิก", - "[INFO] Build log exported to: {path}": "[INFO] ส่งออกบันทึกการบิลด์ไปที่: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] การคอมไพล์เสร็จสมบูรณ์ กำลังเก็บถาวรไฟล์ที่บิลด์แล้ว...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] ตรวจพบสภาพแวดล้อมเสมือน '{venv}' ที่มีอยู่โดยอัตโนมัติ ตัวเลือก 'Keep Local Venv' ถูกเลือกไว้", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] ปกป้องโมดูล backport ที่ล้าสมัยโดยอัตโนมัติ: '{pkg}' (มีในตัวใน Python {ver})", + "[INFO] Build Cancelled.": "[INFO] ยกเลิกการสร้างแล้ว", + "[INFO] Build log exported to: {path}": "[INFO] ส่งออกบันทึกการสร้างไปที่: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] การคอมไพล์เสร็จสิ้น กำลังเก็บถาวรไฟล์ที่สร้าง...", "[INFO] Creating virtual environment ({name})...": "[INFO] กำลังสร้างสภาพแวดล้อมเสมือน ({name})...", "[INFO] Creating virtual environment...": "[INFO] กำลังสร้างสภาพแวดล้อมเสมือน...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] กำลังดาวน์โหลดเบราว์เซอร์ Playwright ผ่านมิเรอร์: {url}", "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] กำลังประเมินหน่วยความจำกายภาพของระบบ (ว่าง: {ram:.1f} GB) ปรับความพร้อมกันแบบปรับตัว: {cores} -> {safe_jobs} ...", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] พบสภาพแวดล้อม Clang ในเครื่อง กำลังให้ความสำคัญกับคอมไพเลอร์ LLVM Clang", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] พบสภาพแวดล้อม Clang ในเครื่อง ให้ความสำคัญกับคอมไพเลอร์ LLVM Clang", "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] พบสภาพแวดล้อม GCC/MinGW-w64 ในเครื่อง ใช้คอมไพเลอร์ MinGW64", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] พบสภาพแวดล้อม MSVC ในเครื่อง กำลังให้ความสำคัญกับคอมไพเลอร์ C++ ดั้งเดิม", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] พบสภาพแวดล้อม Zig ในเครื่อง ปล่อยให้ Nuitka จัดการคอมไพล์แบ็กเอนด์ C", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] กำลังเพิ่มพื้นที่ว่าง ทำความสะอาดสภาพแวดล้อมการบิลด์ชั่วคราว...", - "[INFO] Initializing isolated build environment...": "[INFO] กำลังเริ่มต้นสภาพแวดล้อมการบิลด์แบบแยกส่วน...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] กำลังติดตั้งสภาพแวดล้อมการบิลด์และ dependencies ของโปรเจกต์ ({count} แพ็กเกจ): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] เปิดใช้โหมด Lite กำลังใช้การปรับแต่งไบต์โค้ด (-OO) และตัดโมดูลสำหรับพัฒนาออก...", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] พบสภาพแวดล้อม MSVC ในเครื่อง ให้ความสำคัญกับคอมไพเลอร์ C++ ดั้งเดิม", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] พบสภาพแวดล้อม Zig ในเครื่อง ให้ Nuitka จัดการคอมไพล์แบ็กเอนด์ C", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] กำลังเพิ่มพื้นที่ว่าง ทำความสะอาดสภาพแวดล้อมการสร้างชั่วคราว...", + "[INFO] Initializing isolated build environment...": "[INFO] กำลังเริ่มต้นสภาพแวดล้อมการสร้างแบบแยกส่วน...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] กำลังติดตั้งสภาพแวดล้อมการสร้างและการพึ่งพาของโปรเจกต์ ({count} แพ็กเกจ): {pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] เปิดใช้โหมด Lite ใช้การปรับไบต์โค้ด (-OO) และลบโมดูล dev...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] ไม่พบคอมไพเลอร์ C ในเครื่อง Nuitka จะดาวน์โหลดและจัดการชุดเครื่องมือ MinGW-w64 ที่เข้ากันได้โดยอัตโนมัติ", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] เคล็ดลับ Nuitka: หากได้รับแจ้งให้ดาวน์โหลดคอมไพเลอร์ GCC/MinGW ในการบิลด์ครั้งแรก โปรดตรวจสอบให้แน่ใจว่าการเชื่อมต่อเครือข่ายมีเสถียรภาพ", - "[INFO] Performing pre-flight environment checks...": "[INFO] กำลังตรวจสอบสภาพแวดล้อมก่อนเริ่มทำงาน...", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] เคล็ดลับ Nuitka: หากได้รับแจ้งให้ดาวน์โหลดคอมไพเลอร์ GCC/MinGW ในการสร้างครั้งแรก โปรดตรวจสอบการเชื่อมต่อเครือข่ายที่เสถียร", + "[INFO] Performing pre-flight environment checks...": "[INFO] กำลังตรวจสอบสภาพแวดล้อมก่อนเริ่มต้น...", "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] ตรวจพบ Playwright กำลังติดตั้งเบราว์เซอร์ในตัว (PLAYWRIGHT_BROWSERS_PATH=0)...", "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] ตรวจพบ Python 3.13+: ใช้คอมไพเลอร์ Zig (--zig) เป็นแบ็กเอนด์ C", "[INFO] Python interpreter path: {path}": "[INFO] พาธของอินเทอร์พรีเตอร์ Python: {path}", - "[INFO] Resolving project dependencies...": "[INFO] กำลังแก้ไข dependencies ของโปรเจกต์...", + "[INFO] Resolving project dependencies...": "[INFO] กำลังแก้ไขการพึ่งพาของโปรเจกต์...", "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] กำลังลองดาวน์โหลดเบราว์เซอร์ Playwright ผ่าน CDN อย่างเป็นทางการอีกครั้ง...", - "[INFO] Reusing existing virtual environment...": "[INFO] กำลังใช้สภาพแวดล้อมเสมือนเดิมซ้ำ...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] กำลังใช้สภาพแวดล้อมเสมือนที่มีอยู่: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] กำลังสแกนซอร์สโค้ดของโปรเจกต์ผ่านเอ็นจิน AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] กำลังเริ่มเอ็นจิน {engine} เพื่อคอมไพล์ไฟล์ไบนารี...", + "[INFO] Reusing existing virtual environment...": "[INFO] ใช้สภาพแวดล้อมเสมือนที่มีอยู่ซ้ำ...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] กำลังใช้สภาพแวดล้อมเสมือนเดิม: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] กำลังสแกนซอร์สโค้ดโปรเจกต์ด้วย AST engine...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] กำลังเริ่ม {engine} engine เพื่อคอมไพล์ไฟล์ไบนารี...", "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] กำลังลบพารามิเตอร์ไอคอนและสร้างใหม่โดยอัตโนมัติ...", "[INFO] Successfully installed compatible versions.": "[INFO] ติดตั้งเวอร์ชันที่เข้ากันได้สำเร็จ", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] กำลังสลับไปใช้แหล่ง PyPI สำรองสำหรับการดึงข้อมูล: {url}", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] กำลังสลับไปยังแหล่ง PyPI สำรองเพื่อดึงข้อมูล: {url}", "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] กำลังซิงโครไนซ์และอัปเกรดตัวจัดการแพ็กเกจ pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] เคล็ดลับ: ไฟล์ปฏิบัติการที่แพ็กอาจถูก Windows Defender/โปรแกรมป้องกันไวรัสแจ้งเตือนโดยผิดพลาด แนะนำให้เพิ่มข้อยกเว้นหรือลงนามในโค้ด", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] กำลังใช้คอมไพเลอร์ MinGW64 (--mingw64) สำหรับแบ็กเอนด์ C", - "[INFO] Using MinGW64 compiler.": "[INFO] กำลังใช้คอมไพเลอร์ MinGW64", - "[INFO] Validating output files and generating final product...": "[INFO] กำลังตรวจสอบไฟล์ผลลัพธ์และสร้างผลิตภัณฑ์สุดท้าย...", - "[SUCCESS] Compilation completed, output path: {path}": "[สำเร็จ] การคอมไพล์เสร็จสมบูรณ์ พาธผลลัพธ์: {path}", - "[SUCCESS] Digital signature applied successfully!": "[สำเร็จ] ใช้ลายเซ็นดิจิทัลเรียบร้อยแล้ว!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[ข้อผิดพลาดไวยากรณ์] ซอร์สโค้ดมีข้อผิดพลาดทางไวยากรณ์ การคอมไพล์ถูกยกเลิก:\n - ไฟล์: {file}\n - ประเภท: {type}\n - บรรทัด: บรรทัดที่ {line}\n - รายละเอียด: {desc}\n\nเคล็ดลับ: โปรดตรวจสอบให้แน่ใจว่าซอร์สโค้ดทำงานได้ในเครื่องก่อนแพ็กเกจ", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[ข้อผิดพลาดไวยากรณ์] การแยกวิเคราะห์ไวยากรณ์ซอร์สโค้ดล้มเหลว การสร้างถูกยกเลิก:\n - ไฟล์: {file}\n - บรรทัด: บรรทัดที่ {line}\n - รายละเอียด: {desc}\n\nเคล็ดลับ: โดยปกติแล้ว这不是เครื่องมือแพ็กเกจผิดพลาด\nโปรดตรวจสอบให้แน่ใจว่า [เวอร์ชัน Python สำหรับสร้าง] ที่คุณเลือกตรงกับเวอร์ชันที่คุณใช้ [เขียน/ทดสอบโค้ด]\nการใช้ไวยากรณ์ใหม่กว่า (เช่น ตัวดำเนินการ walrus :=, การรวมชนิด |, match-case) ในสภาพแวดล้อม Python ที่เก่ากว่าจะทำให้เกิดข้อผิดพลาดนี้\nเราแนะนำให้ไปที่ [การตั้งค่าการสร้าง] -> [เอนจิน] เพื่อสลับไปยังเวอร์ชัน Python ที่ถูกต้อง", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[คำเตือน] ตรวจพบโมดูล 'multiprocessing' โปรดตรวจสอบให้แน่ใจว่าได้เรียก 'multiprocessing.freeze_support()' ภายใต้ 'if __name__ == \"__main__\":' เพื่อป้องกันการวนลูปกระบวนการไม่รู้จบ (fork bombs)", - "[WARN] AST Analysis Exception: {error}": "[คำเตือน] ข้อยกเว้นการวิเคราะห์ AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[คำเตือน] คำสั่งหมดเวลา (> {timeout} วินาที)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[คำเตือน] ตรวจพบ 'requests' หรือ 'httpx' กำลังรวมใบรับรอง 'certifi' อัตโนมัติเพื่อป้องกันข้อผิดพลาด SSL", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] ไม่สามารถล้างสภาพแวดล้อมที่ไม่ถูกต้อง กำลังใช้แซนด์บ็อกซ์ชั่วคราวแทน: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[คำเตือน] การแปลงไอคอนเป็น .icns ล้มเหลว กำลังสร้างโดยไม่มีไอคอน", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[คำเตือน] การเขียนทรัพยากรไอคอนถูกบล็อก (อาจถูกล็อกโดยระบบ/โปรแกรมป้องกันไวรัส) กำลังเรียกใช้การป้องกันสำรอง...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[คำเตือน] ตรวจพบพื้นที่ดิสก์เหลือน้อยบนไดรฟ์เป้าหมายการสร้าง (ว่าง: {free:.1f} GB แนะนำ >= 5.0 GB) กระบวนการสร้างอาจหยุดชะงักเนื่องจากดิสก์เต็ม", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[คำเตือน] จับข้อยกเว้นการจัดสรรหน่วยความจำ (ZstdError / OOM) กำลังเรียกใช้การป้องกันหน่วยความจำสำรอง: ลองใหม่ในโหมดเธรดเดียว...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[คำเตือน] แพ็กเกจ '{pkg}' ติดตั้งไม่สำเร็จ กำลังข้าม...", - "[WARN] Pause code injection exception: {error}": "[คำเตือน] ข้อยกเว้นการฉีดโค้ดหยุดชั่วคราว: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[คำเตือน] การติดตั้งเบราว์เซอร์ Playwright ล้มเหลวจากทุกแหล่ง การสร้างจะดำเนินการต่อโดยมีความเสี่ยง...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] การตรวจจับข้อมูลสภาพแวดล้อม Python ล้มเหลว ใช้วิธีสำรอง: {error}", - "[WARN] Read requirements.txt warning: {error}": "[คำเตือน] คำเตือนการอ่าน requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[คำเตือน] การลงนามอัจฉริยะล้มเหลว แต่ยังคงรักษาผลลัพธ์การสร้างไว้", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[คำเตือน] ดีเพนเดนซีบางตัวติดตั้งไม่สำเร็จ การสร้างจะดำเนินการต่อโดยมีความเสี่ยง...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[คำเตือน] เวอร์ชันที่ระบุติดตั้งไม่สำเร็จ กำลังลบข้อจำกัดเวอร์ชันเพื่อจับคู่ความเข้ากันได้อัตโนมัติ...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[คำเตือน] ขอแนะนำอย่างยิ่งให้ตรวจสอบ [สภาพแวดล้อมเสมือน] เพื่อเพิ่มประสิทธิภาพโหมดไลต์ให้สูงสุด", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[คำเตือน] ตรวจพบหน่วยความจำระบบต่ำ (การจัดสรรหน่วยความจำ zstd ล้มเหลว) กำลังลองใหม่ในโหมดหน่วยความจำต่ำแบบเธรดเดียวโดยอัตโนมัติ...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[คำเตือน] โปรเจกต์เป้าหมายอยู่ในไดเรกทอรีซิงก์คลาวด์ (เช่น OneDrive/Dropbox) การซิงก์คลาวด์อาจล็อกไฟล์สร้างชั่วคราว", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[คำเตือน] การเชื่อมต่อเซิร์ฟเวอร์ประทับเวลาหมดเวลา กำลังดำเนินการลงนามอย่างรวดเร็วในเครื่อง...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[คำเตือน] ตรวจพบการใช้ '__file__' ในโหมดไฟล์เดียวของ PyInstaller ให้ใช้ 'sys._MEIPASS' เพื่อค้นหาไฟล์ทรัพยากรที่รวมไว้อย่างน่าเชื่อถือ!", - "\\nProgram execution completed, press Enter to exit...": "\\nการทำงานของโปรแกรมเสร็จสิ้น กด Enter เพื่อออก...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] ตรวจพบสภาพแวดล้อมเสมือน '{venv}' ที่มีอยู่โดยอัตโนมัติ ตัวเลือก 'เก็บ Venv ในเครื่อง' ถูกเลือกไว้" + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] เคล็ดลับ: ไฟล์ปฏิบัติการที่ไม่มีลายเซ็นเชิงพาณิชย์อาจถูกแจ้งเตือนโดย Windows Defender/โปรแกรมป้องกันไวรัส", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] ใช้คอมไพเลอร์ MinGW64 (--mingw64) สำหรับแบ็กเอนด์ C", + "[INFO] Using MinGW64 compiler.": "[INFO] ใช้คอมไพเลอร์ MinGW64", + "[INFO] Validating output files and generating final product...": "[INFO] กำลังตรวจสอบไฟล์เอาต์พุตและสร้างผลิตภัณฑ์สุดท้าย...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] การคอมไพล์เสร็จสมบูรณ์ พาธเอาต์พุต: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] ใช้ลายเซ็นดิจิทัลสำเร็จ!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] ซอร์สโค้ดมีข้อผิดพลาดทางไวยากรณ์ การคอมไพล์ถูกยกเลิก:\n - ไฟล์: {file}\n - ประเภท: {type}\n - บรรทัด: บรรทัดที่ {line}\n - รายละเอียด: {desc}\n\nเคล็ดลับ: โปรดตรวจสอบให้แน่ใจว่าซอร์สโค้ดทำงานได้ในเครื่องก่อนแพ็กเกจ", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] ตรวจพบโมดูล 'multiprocessing' โปรดตรวจสอบให้แน่ใจว่าได้เรียก 'multiprocessing.freeze_support()' ภายใต้ 'if __name__ == \"__main__\":' เพื่อป้องกันการวนซ้ำของกระบวนการไม่รู้จบ (fork bombs)", + "[WARN] AST Analysis Exception: {error}": "[WARN] ข้อยกเว้นการวิเคราะห์ AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] คำสั่งหมดเวลา (> {timeout} วินาที)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] ตรวจพบ 'requests' หรือ 'httpx' กำลังรวมใบรับรอง 'certifi' โดยอัตโนมัติเพื่อป้องกันข้อผิดพลาด SSL", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] ล้างสภาพแวดล้อมที่ไม่ถูกต้องล้มเหลว กำลังใช้แซนด์บ็อกซ์ชั่วคราว: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] การแปลงไอคอนเป็น .icns ล้มเหลว กำลังสร้างโดยไม่มีไอคอน", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] การเขียนทรัพยากรไอคอนถูกบล็อก (อาจถูกล็อกโดยระบบ/โปรแกรมป้องกันไวรัส) กำลังเรียกใช้การป้องกันแบบสำรอง...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] ตรวจพบพื้นที่ดิสก์ต่ำบนไดรฟ์เป้าหมายการสร้าง (ว่าง: {free:.1f} GB, แนะนำ >= 5.0 GB) กระบวนการสร้างอาจถูกขัดจังหวะเนื่องจากดิสก์เต็ม", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] จับข้อยกเว้นการจัดสรรหน่วยความจำ (ZstdError / OOM) กำลังเรียกใช้การป้องกันหน่วยความจำแบบสำรอง: ลองใหม่ในโหมดเธรดเดียว...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] แพ็กเกจ '{pkg}' ติดตั้งไม่สำเร็จ กำลังข้าม...", + "[WARN] Pause code injection exception: {error}": "[WARN] ข้อยกเว้นการแทรกโค้ดหยุดชั่วคราว: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] การติดตั้งเบราว์เซอร์ Playwright ล้มเหลวในทุกแหล่ง กระบวนการสร้างจะดำเนินต่อไปพร้อมความเสี่ยง...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] การตรวจจับข้อมูลสภาพแวดล้อม Python สำรอง: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] คำเตือนการอ่าน requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] การลงนามอัจฉริยะล้มเหลว แต่ยังคงเก็บเอาต์พุตการสร้างไว้", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] การติดตั้ง dependencies บางตัวล้มเหลว การ build จะดำเนินการต่อไปโดยมีความเสี่ยง...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] การติดตั้งเวอร์ชันที่ระบุล้มเหลว กำลังลบข้อจำกัดเวอร์ชันเพื่อให้เข้ากันได้โดยอัตโนมัติ...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] แนะนำอย่างยิ่งให้ตรวจสอบ [Virtual Environment] เพื่อเพิ่มประสิทธิภาพของโหมด lite ให้สูงสุด", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] สิทธิ์การเขียนของ Python ระบบถูกจำกัด กำลังลองใหม่ด้วยโหมด '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] ตรวจพบหน่วยความจำระบบต่ำ (การจัดสรรหน่วยความจำ zstd ล้มเหลว) กำลังลองใหม่โดยอัตโนมัติในโหมดหน่วยความจำต่ำแบบเธรดเดียว...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] โปรเจกต์เป้าหมายอยู่ในไดเรกทอรี Cloud Sync (เช่น OneDrive/Dropbox) การซิงก์คลาวด์อาจล็อกไฟล์ build ชั่วคราว", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] การเชื่อมต่อกับเซิร์ฟเวอร์ timestamp หมดเวลา กำลังลงนามแบบเร็วในเครื่อง...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] ตรวจพบการใช้ '__file__' ในโหมด One-File ของ PyInstaller ควรใช้ 'sys._MEIPASS' เพื่อค้นหาไฟล์ทรัพยากรที่รวมอยู่ได้อย่างน่าเชื่อถือ!", + "\\nProgram execution completed, press Enter to exit...": "\\nการทำงานของโปรแกรมเสร็จสิ้น กด Enter เพื่อออก..." } diff --git a/qpypack/locales/tr_TR.json b/qpypack/locales/tr_TR.json index cd0263e..e342ec9 100644 --- a/qpypack/locales/tr_TR.json +++ b/qpypack/locales/tr_TR.json @@ -1,21 +1,25 @@ { - " [No Console]": " [Konsol Yok]", + " [Console]": "[Konsol]", + " [No Console]": "[Konsol Yok]", "* Nuitka Auto-manages C Compiler": "* Nuitka C Derleyicisini Otomatik Yönetir", "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Sponsorluk tamamen gönüllüdür, açık kaynak topluluğuna koşulsuz bir teşvik olarak hizmet eder ve hiçbir ticari taahhüt içermez. Desteğiniz için teşekkürler!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Yerel olarak algılandı:
{path}
Yeniden indirmeden doğrudan geçişe hazır.", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Tüm tercihleri sıfırlamak istediğinizden emin misiniz?
Tüm ayarlar varsayılan duruma geri yüklenecek.", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Geçerli proje için {count} sanal ortam bulundu:
{paths}

Disk alanı açmak için bunları silmek istediğinizden emin misiniz?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python Ortamı Başarıyla Kuruldu!

Sistem ortam değişkenleri güncellendi. Değişikliklerin uygulanması için yazılımdan çıkıp yeniden başlatmanız önerilir.", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python Ortamı Yönetimi
Yerel olarak algılanan Python ortamlarına geçişi veya yeni sürümlerin indirilmesini destekler.", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Tüm tercihleri sıfırlamak istediğinize emin misiniz?
Tüm ayarlar varsayılan duruma geri yüklenecek.", + "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Geçerli proje için {count} sanal ortam bulundu:
{paths}

Disk alanı boşaltmak için bunları silmek istediğinize emin misiniz?", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python Ortamı Başarıyla Kuruldu!

Sistem ortam değişkenleri güncellendi. Değişiklikleri uygulamak için yazılımdan çıkıp yeniden başlatmanız önerilir.", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python Ortam Yönetimi
Yerel olarak algılanan Python ortamlarına geçişi veya yeni sürümlerin indirilmesini destekler.", "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Python Ortamı Gerekli
Uygulama derlemesi bir Python yorumlayıcısına bağlıdır.
Otomatik olarak indirmek, kurmak ve ortam değişkenlerini yapılandırmak için bir sürüm seçin.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Sisteminizde Python algılanamadı!

QPyPack, kodunuzu derlemek için bir Python ortamı gerektirir.
Python kurmadıysanız, lütfen indirip kurun (kurulum sırasında 'Python.exe'yi PATH'e Ekle seçeneğini işaretlemeyi unutmayın).", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Sisteminizde Python algılanamadı!

QPyPack, kodunuzu derlemek için bir Python ortamı gerektirir.
Python kurmadıysanız, lütfen indirip kurun.", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Sisteminizde Python algılanamadı!

QPyPack kodunuzu derlemek için bir Python ortamı gerektirir.
Python kurulu değilse, lütfen indirip kurun (kurulum sırasında 'Add Python.exe to PATH' seçeneğini işaretlemeyi unutmayın).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Sisteminizde Python algılanamadı!

QPyPack kodunuzu derlemek için bir Python ortamı gerektirir.
Python kurulu değilse, lütfen indirip kurun.", "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Öneri: En iyi derleme uyumluluğu ve motor desteği için Python 3.11.9 önerilir.", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Yorumlayıcı
Sistem ortamı ve işletim sistemi destek matrisi otomatik algılanıyor...", "AST Scan": "AST Taraması", "AST scan completed, found {count} dependencies.": "AST taraması tamamlandı, {count} bağımlılık bulundu.", "AWS PyPI Mirror (US/EU)": "AWS PyPI Aynası (AB/ABD)", - "Add Dir": "Klasör Ekle", + "About": "Hakkında", + "Active backport conflicts detected ({count}): {pkgs}": "Aktif geri taşıma çakışmaları algılandı ({count}): {pkgs}", + "Add Backport Rule": "Geri Taşıma Kuralı Ekle", + "Add Dir": "Dizin Ekle", "Add File": "Dosya Ekle", "Add Mapping": "Eşleme Ekle", "Additional Resources (Drag & Drop Supported)": "Ek Kaynaklar (Sürükle ve Bırak Desteklenir)", @@ -23,15 +27,17 @@ "Analyze Dependencies (AST)": "Bağımlılıkları Analiz Et (AST)", "App Icon:": "Uygulama Simgesi:", "App Metadata & Presets": "Uygulama Meta Verileri ve Ön Ayarlar", - "Apple Silicon (M-Series) & Intel": "Apple Silicon (M Serisi) ve Intel", + "Apple Silicon (M-Series) & Intel": "Apple Silicon (M-Serisi) ve Intel", "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) ve Intel", "Attention: Please check the log for details.": "Dikkat: Ayrıntılar için lütfen günlüğü kontrol edin.", "Author/Company:": "Yazar/Şirket:", "Auto Extract Icon": "Simgeyi Otomatik Çıkar", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Derlenen uygulamaya otomatik olarak dijital imza uygular, 'Bilinmeyen Yayımcı' uyarısını ortadan kaldırır", - "Auto-patched missing ({count}): {pkgs}": "Otomatik düzeltilen eksikler ({count}): {pkgs}", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Derlenen uygulamaya dijital imzayı otomatik uygular, 'Bilinmeyen Yayıncı' uyarısını ortadan kaldırır", + "Auto-patched missing ({count}): {pkgs}": "Otomatik yamalanan eksikler ({count}): {pkgs}", "Auto-save Build Log": "Derleme Günlüğünü Otomatik Kaydet", + "Backport exclusion rules have been reset to defaults.": "Geri taşıma hariç tutma kuralları varsayılanlara sıfırlandı.", "Backup PIP Index:": "PIP Dizini Yedekle:", + "Browse": "Gözat", "Build Cancelled": "Derleme İptal Edildi", "Build Engine:": "Derleme Motoru:", "Build Failed": "Derleme Başarısız", @@ -39,6 +45,7 @@ "Build Successful": "Derleme Başarılı", "Build engine packages ({count}): {pkgs}": "Derleme motoru paketleri ({count}): {pkgs}", "CPU Cores:": "CPU Çekirdekleri:", + "Cancel": "İptal", "Cancel & Return": "İptal ve Geri Dön", "Cert Password:": "Sertifika Parolası:", "Certificate Subject (e.g. My Company):": "Sertifika Konusu (örn. Şirketim):", @@ -52,90 +59,111 @@ "Clear Virtual Environments": "Sanal Ortamları Temizle", "Click to automatically download, install Python, and configure system environment variables.": "Python'u otomatik indirmek, kurmak ve sistem ortam değişkenlerini yapılandırmak için tıklayın.", "Code Signing": "Kod İmzalama", - "Comma separated (e.g. pandas, PyQt5)": "Virgülle ayrılmış (örn. pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "Virgülle ayrılmış (örn. tkinter, matplotlib)", + "Comma separated (e.g. pandas, PyQt5)": "Virgülle ayrılmış (ör. pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "Virgülle ayrılmış (ör. tkinter, matplotlib)", "Commercial PFX File:": "Ticari PFX Dosyası:", "Compatibility Mode (Default)": "Uyumluluk Modu (Varsayılan)", "Compatibility depends on build environment glibc version.": "Uyumluluk, derleme ortamının glibc sürümüne bağlıdır.", - "Concise Log Output": "Özet Günlük Çıktısı", - "Concise Mode": "Özet Mod", - "Config preset exported to: {path}": "Config preset exported to: {path}", - "Config preset imported successfully.": "Config preset imported successfully.", - "Configure Build Settings": "Configure Build Settings", - "Configure Manually": "Configure Manually", - "Confirm Password:": "Confirm Password:", - "Contents Directory (--contents-directory):": "Contents Directory (--contents-directory):", - "Create Self-Signed Cert": "Create Self-Signed Cert", - "Custom Directory": "Custom Directory", - "Declared in requirements.txt ({count}): {pkgs}": "Declared in requirements.txt ({count}): {pkgs}", - "Declared in requirements.txt: None": "Declared in requirements.txt: None", - "Delete All": "Delete All", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Dependency Missing Warning: {pkgs} failed to install. Check log for details.", - "Description:": "Description:", - "Desktop Application": "Desktop Application", - "Detailed Mode": "Detailed Mode", - "Discovered via scanner ({count}): {pkgs}": "Discovered via scanner ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Double-click to edit target path; Drag & drop supported", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.", - "Download New Version": "Download New Version", - "Download Python": "Download Python", - "Download complete. Starting Python installation...": "Download complete. Starting Python installation...", - "Downloading Python {ver}... Please wait.": "Downloading Python {ver}... Please wait.", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse", - "Drop Python source code to start": "Drop Python source code to start", - "Edit Path": "Edit Path", - "Enable Smart Code Signing": "Enable Smart Code Signing", - "Enable UPX Compression": "Enable UPX Compression", - "Engine & Environment": "Engine & Environment", - "Exclude Modules:": "Exclude Modules:", - "Execution Log": "Execution Log", - "Execution Mode": "Çalıştırma Modu", + "Concise Log Output": "Öz Günlük Çıktısı", + "Concise Mode": "Öz Mod", + "Config preset exported to: {path}": "Yapılandırma ön ayarı şuraya dışa aktarıldı: {path}", + "Config preset imported successfully.": "Yapılandırma ön ayarı başarıyla içe aktarıldı.", + "Configure Build Settings": "Derleme Ayarlarını Yapılandır", + "Configure Manually": "El İle Yapılandır", + "Confirm Password:": "Parolayı Doğrula:", + "Contents Directory (--contents-directory):": "İçerik Dizini (--contents-directory):", + "Copy": "Kopyala", + "Create": "Oluştur", + "Create Self-Signed Cert": "Kendinden İmzalı Sertifika Oluştur", + "Custom Directory": "Özel Dizin", + "Cut": "Kes", + "Declared in requirements.txt ({count}): {pkgs}": "requirements.txt içinde bildirildi ({count}): {pkgs}", + "Declared in requirements.txt: None": "requirements.txt içinde bildirildi: Yok", + "Delete All": "Tümünü Sil", + "Deleting...": "Siliniyor...", + "Dependencies": "Bağımlılıklar", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Eksik Bağımlılık Uyarısı: {pkgs} kurulamadı. Ayrıntılar için günlüğe bakın.", + "Description:": "Açıklama:", + "Desktop Application": "Masaüstü Uygulaması", + "Detailed Mode": "Ayrıntılı Mod", + "Directory": "Dizin", + "Discovered via scanner ({count}): {pkgs}": "Tarayıcıyla keşfedildi ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Hedef yolu düzenlemek için çift tıklayın; Sürükle ve bırak desteklenir", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Hedef yolu düzenlemek için çift tıklayın; Sürükle ve bırak desteklenir. Yeniden kullanmak için 'Dışa Aktarma Ön Ayarı'nı kullanın.", + "Download New Version": "Yeni Sürümü İndir", + "Download Python": "Python'u İndir", + "Download complete. Starting Python installation...": "İndirme tamamlandı. Python kurulumu başlatılıyor...", + "Downloading Python {ver}... Please wait.": "Python {ver} indiriliyor... Lütfen bekleyin.", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Python betiğini (.py/.pyw) buraya sürükleyip bırakın\nveya Gözat'a tıklayın", + "Drop Python source code to start": "Başlamak için Python kaynak kodunu bırakın", + "Edit Path": "Yolu Düzenle", + "Enable Automatic Backport Isolation": "Otomatik Geri Taşıma İzolasyonunu Etkinleştir", + "Enable Smart Code Signing": "Akıllı Kod İmzalamayı Etkinleştir", + "Enable UPX Compression": "UPX Sıkıştırmayı Etkinleştir", + "Engine": "Motor", + "Engine & Environment": "Motor ve Ortam", + "Environment Analysis": "Ortam Analizi", + "Environment Analysis & Remediation": "Ortam Analizi ve Düzeltme", + "Error": "Hata", + "Exclude Modules:": "Hariç Tutulan Modüller:", + "Execution Log": "Yürütme Günlüğü", + "Execution Mode": "Yürütme Modu", "Exit Now": "Şimdi Çık", "Export Log...": "Günlüğü Dışa Aktar...", "Export Preset...": "Ön Ayarı Dışa Aktar...", "Failed to generate certificate.": "Sertifika oluşturulamadı.", + "File": "Dosya", "Folder Mode (--onedir)": "Klasör Modu (--onedir)", "Full backward compatibility": "Tam geriye dönük uyumluluk", + "Generate": "Oluştur", "GitHub Repository": "GitHub Deposu", "Global configuration has been reset.": "Genel yapılandırma sıfırlandı.", "Hidden Imports:": "Gizli İçe Aktarımlar:", "Hide Console (--noconsole)": "Konsolu Gizle (--noconsole)", "Hide Custom Cert Settings ▾": "Özel Sertifika Ayarlarını Gizle ▾", "Huawei Cloud (China)": "Huawei Cloud (Çin)", - "Import Name": "İçe Aktarım Adı", + "Import Name": "Adı İçe Aktar", "Import Preset...": "Ön Ayarı İçe Aktar...", - "Import name (e.g. cv2):": "İçe aktarım adı (örn. cv2):", + "Import name (e.g. cv2):": "Adı içe aktar (örn. cv2):", "Independent Developer": "Bağımsız Geliştirici", "Initializing build...": "Derleme başlatılıyor...", + "Inspect Interpreter Environment": "Yorumlayıcı Ortamını İncele", "Install Complete": "Kurulum Tamamlandı", "Install requirements.txt": "requirements.txt dosyasını kur", "Internal directory name for dependencies (default: _internal)": "Bağımlılıklar için dahili dizin adı (varsayılan: _internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "Yorumlayıcı incelemesi geçti: Etkin geri uyumluluk çakışması tespit edilmedi.", "Interpreter:": "Yorumlayıcı:", "Invalid syntax": "Geçersiz sözdizimi", "Issues & Feedback": "Sorunlar ve Geri Bildirim", "Keep Local Venv": "Yerel Venv'i Koru", + "Later": "Sonra", "Leave blank to auto-detect from environment variables": "Ortam değişkenlerinden otomatik algılamak için boş bırakın", "Leave blank to auto-detect system default Python": "Sistem varsayılan Python'unu otomatik algılamak için boş bırakın", "Leave blank to auto-match script name": "Betik adıyla otomatik eşleştirmek için boş bırakın", "Leave blank to auto-search requirements.txt in current directory": "Geçerli dizinde requirements.txt dosyasını otomatik aramak için boş bırakın", "Legacy macOS Compatible": "Eski macOS Uyumlu", - "Lite Mode (Smaller size)": "Lite Modu (Daha Küçük Boyut)", + "Lite Mode (Smaller size)": "Hafif Mod (Daha küçük boyut)", "Loaded: {filename}": "Yüklendi: {filename}", "Locally Detected Pythons": "Yerel Olarak Algılanan Python'lar", "Lock Core Dependencies": "Çekirdek Bağımlılıkları Kilitle", "Log saved to: {path}": "Günlük kaydedildi: {path}", "Manifest complete (No missing packages)": "Manifest tamamlandı (Eksik paket yok)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maksimum uyumluluk. Karmaşık dinamik içe aktarımlara sahip uygulamalar için önerilir.", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Maksimum uyumluluk. Karmaşık dinamik içe aktarmalı uygulamalar için önerilir.", + "Min Python Ver": "Min Python Ver", + "Minimum Built-in Python Version (e.g. 3.4):": "Minimum Yerleşik Python Sürümü (örn. 3.4):", "Mirrors & Scanner": "Aynalar ve Tarayıcı", "Modern Cross-Platform Python Application Packager": "Modern Çapraz Platform Python Uygulama Paketleyici", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstaller ve Nuitka ile Güçlendirilmiş Modern Çapraz Platform Python Paketleme Arayüzü", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "PyInstaller ve Nuitka Tarafından Desteklenen Modern Çapraz Platform Python Paketleme Arayüzü", "No Windows 7 Support": "Windows 7 Desteği Yok", + "No environment conflicts detected.": "Ortam çakışması algılanmadı.", "No local Python environments detected.": "Yerel Python ortamı algılanmadı.", "No local virtual environments found to clean.": "Temizlenecek yerel sanal ortam bulunamadı.", "No log content.": "Günlük içeriği yok.", "Nuitka Version:": "Nuitka Sürümü:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Kaynak kodunu yerel C/C++ ikili dosyasına derler. Daha küçük paket boyutu, daha hızlı çalışma ve derin tersine mühendislik koruması sağlar (C derleyicisi gerektirir).", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Kaynak kodunu yerel C/C++ ikili dosyasına derler. Daha küçük paket boyutu, daha hızlı çalışma ve derin tersine mühendislik koruması üretir (C derleyicisi gerektirir).", + "OK": "OK", "OS Support Matrix:": "İşletim Sistemi Destek Matrisi:", + "Obsolete Backport Exclusion Rules": "Eski Geri Taşıma Hariç Tutma Kuralları", "One-Click Download & Install": "Tek Tıkla İndir ve Kur", "One-Click Install": "Tek Tıkla Kur", "One-File Mode (--onefile)": "Tek Dosya Modu (--onefile)", @@ -147,6 +175,10 @@ "Output Location:": "Çıktı Konumu:", "Output Name:": "Çıktı Adı:", "Package Map": "Paket Haritası", + "Package Mapping & Remediation": "Paket Eşleme ve Düzeltme", + "Package Mappings & Rules": "Paket Eşlemeleri ve Kuralları", + "Package Name": "Paket Adı", + "Package Name (e.g. pathlib):": "Paket Adı (örn. pathlib):", "Package Name Mappings": "Paket Adı Eşlemeleri", "Package mappings have been reset to defaults.": "Paket eşlemeleri varsayılanlara sıfırlandı.", "Packaging Mode:": "Paketleme Modu:", @@ -154,50 +186,65 @@ "Password cannot be empty!": "Şifre boş olamaz!", "Password:": "Şifre:", "Passwords do not match!": "Şifreler eşleşmiyor!", + "Paste": "Yapıştır", "Performance Optimization": "Performans Optimizasyonu", "Platform Support Matrix:": "Platform Destek Matrisi:", + "Preferences": "Tercihler", "Preferences & System Behavior": "Tercihler ve Sistem Davranışı", "Preparing engine...": "Motor hazırlanıyor...", "Primary PIP Index:": "Birincil PIP Dizini:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Projeye özgü. Genel tercihlere kaydedilmez. Yapılandırmayı kaydetmek için 'Ön Ayarı Dışa Aktar'ı kullanın.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Projeye özgü. Global tercihlere kaydedilmez. Yapılandırmayı kaydetmek için 'Ön Ayarı Dışa Aktar'ı kullanın.", "PyInstaller Version:": "PyInstaller Sürümü:", "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Python yorumlayıcısını ve bayt kodunu paketler. Hızlı derleme hızı, sıfır yapılandırma (C derleyicisi gerekmez) ve mükemmel uyumluluk.", "PyPI Home": "PyPI Ana Sayfası", - "PyPI Official (Global Default)": "PyPI Resmi (Genel Varsayılan)", + "PyPI Official (Global Default)": "PyPI Resmi (Global Varsayılan)", "PyPI Package Name": "PyPI Paket Adı", "PyPI package name for [{imp_name}]:": "[{imp_name}] için PyPI paket adı:", + "Python 3.10.11": "Python 3.10.11", "Python 3.11.9 (Recommended)": "Python 3.11.9 (Önerilen)", + "Python 3.12.4": "Python 3.12.4", + "Python 3.13.0": "Python 3.13.0", "Python 3.14.6 (Experimental)": "Python 3.14.6 (Deneysel)", "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7 Desteği)", + "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Python Ortam Yönetimi", "Python Environment Required": "Python Ortamı Gerekli", "Python Packaging, Reimagined.": "Python Paketleme, Yeniden Tasarlanmış.", "Python TestPyPI": "Python TestPyPI", "Python installed. Please restart QPyPack manually later.": "Python kuruldu. Lütfen QPyPack'i daha sonra manuel olarak yeniden başlatın.", - "QPyPack Developer": "QPyPack Geliştiricisi", + "QPyPack Developer": "QPyPack Geliştirici", "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack ücretsiz ve açık kaynaklı bir araçtır. Verimliliğinizi artırdıysa veya paketleme sorunlarını çözdüyse, yazara bir kahve ısmarlamayı düşünün!", "Ready, waiting for build.": "Hazır, derleme bekleniyor.", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Öneri: 6+ karakter, yalnızca alfasayısal, '-' ve '_'. İmza hatalarını önlemek için boşluk veya Çince karakterlerden kaçının.", - "Remove Selected": "Seçileni Kaldır", + "Rebuild": "Yeniden Derle", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Öneri: 6+ karakter, alfanümerik, yalnızca '-' ve '_'. İmza hatalarını önlemek için boşluk veya Çince karakterlerden kaçının.", + "Remediate Detected Conflicts": "Tespit Edilen Çakışmaları Gider", + "Remediation completed for packages: {pkgs}": "Paketler için giderme tamamlandı: {pkgs}", + "Remove Selected": "Seçilenleri Kaldır", "Requirements File:": "Gereksinim Dosyası:", + "Reset": "Sıfırla", "Reset to Default Config": "Varsayılan Yapılandırmaya Sıfırla", + "Resources": "Kaynaklar", "Restore Defaults": "Varsayılanları Geri Yükle", "Save & Return": "Kaydet ve Geri Dön", "Save Certificate": "Sertifikayı Kaydet", "Scan Entire Folder": "Tüm Klasörü Tara", + "Scanning...": "Taranıyor...", "Script and settings retained. Ready to rebuild.": "Betik ve ayarlar korundu. Yeniden derlemeye hazır.", - "Select .pfx / .p12 certificate file": ".pfx / .p12 sertifika dosyası seç", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Betik yüklendi. Varlık klasörlerini veya veri dosyalarını doğrudan buraya sürükleyerek paketleyebilirsiniz.", + "Select .pfx / .p12 certificate file": ".pfx / .p12 sertifika dosyası seçin", "Select All": "Tümünü Seç", "Select Python Version to Download:": "İndirilecek Python Sürümünü Seçin:", - "Self-Signed Certificate (*.pfx)": "Kendi İmzalı Sertifika (*.pfx)", + "Self-Signed Certificate (*.pfx)": "Kendi Kendine İmzalı Sertifika (*.pfx)", "Smaller output size. Recommended for 95% of standard apps.": "Daha küçük çıktı boyutu. Standart uygulamaların %95'i için önerilir.", "Sound Notification": "Ses Bildirimi", - "Source Directory (.qpypack_build)": "Kaynak Dizin (.qpypack_build)", + "Source Directory (.qpypack_build)": "Kaynak Dizini (.qpypack_build)", "Source File Directory": "Kaynak Dosya Dizini", + "Sponsor": "Sponsor", "Start Build": "Derlemeyi Başlat", "Status: Build Cancelled": "Durum: Derleme İptal Edildi", "Status: Build Completed": "Durum: Derleme Tamamlandı", "Status: Build Failed": "Durum: Derleme Başarısız", + "Status: Environment inspection ready.": "Durum: Ortam incelemesi hazır.", "Status: Loaded {filename}{mode}": "Durum: {filename}{mode} yüklendi", "Status: Packaging ({engine}) ...": "Durum: Paketleniyor ({engine}) ...", "Status: Parsing {filename}...": "Durum: {filename} ayrıştırılıyor...", @@ -219,30 +266,49 @@ "UI Language:": "Arayüz Dili:", "UPX Path:": "UPX Yolu:", "USTC (China)": "USTC (Çin)", + "Undo": "Geri Al", + "Unknown": "Bilinmiyor", "Use Custom Commercial Cert (Optional) ▸": "Özel Ticari Sertifika Kullan (İsteğe Bağlı) ▸", - "Use Installed Version Directly": "Kurulu Sürümü Doğrudan Kullan", + "Use Installed Version Directly": "Yüklü Sürümü Doğrudan Kullan", "Use Selected Environment": "Seçili Ortamı Kullan", "Use Virtual Environment": "Sanal Ortam Kullan", "Version:": "Sürüm:", "View Python": "Python'u Görüntüle", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Sözdizimi Hatası] Kaynak kod sözdizimi hataları içeriyor, derleme iptal edildi:\n - Dosya: {file}\n - Tür: {type}\n - Satır: Satır {line}\n - Ayrıntı: {desc}\n\nİpucu: Paketlemeden önce kaynak kodun yerel olarak çalıştığından emin olun.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Sözdizimi Hatası] Kaynak kod sözdizimi ayrıştırılamadı, derleme iptal edildi:\n - Dosya: {file}\n - Satır: Satır {line}\n - Ayrıntı: {desc}\n\nİpucu: Bu genellikle paketleme aracının hatası DEĞİLDİR.\nSeçtiğiniz [Derleme Python Sürümü]'nün, [Kodu Yazma/Test Etme] için kullandığınız sürümle eşleştiğinden emin olun.\nDaha yeni sözdizimini (ör. mors operatörü :=, tip birleşimleri |, match-case) eski bir Python ortamında kullanmak bu hatayı tetikler.\nDoğru Python sürümüne geçmek için [Derleme Ayarları] -> [Motor] bölümüne gitmenizi öneririz.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Bellek ayırma istisnası yakalandı (ZstdError / OOM). Bellek koruma geri dönüşü tetiklendi: Tek iş parçacıklı modda yeniden deneniyor...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] '{pkg}' paketi kurulamadı, atlanıyor...", - "[WARN] Pause code injection exception: {error}": "[WARN] Duraklatma kodu enjeksiyon istisnası: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright tarayıcı kurulumu tüm kaynaklarda başarısız oldu, derleme riskli olarak devam edecek...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Python ortam bilgisi algılama geri dönüşü: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] requirements.txt okuma uyarısı: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Akıllı imzalama başarısız oldu, ancak derleme çıktısı korundu.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Bazı bağımlılıklar kurulamadı, derleme riskli olarak devam edecek...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Belirtilen sürümler kurulamadı. Otomatik uyumluluk eşleşmesi için sürüm kısıtlamaları kaldırılıyor...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Lite mod etkisini en üst düzeye çıkarmak için [Sanal Ortam] seçeneğini işaretlemeniz önerilir.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Sistem düşük bellek algılandı (zstd bellek ayırma başarısız oldu). Otomatik olarak tek iş parçacıklı düşük bellek modunda yeniden deneniyor...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Hedef proje bir Bulut Senkronizasyon dizininde (örn. OneDrive/Dropbox). Bulut senkronizasyonu derleme dosyalarını geçici olarak kilitleyebilir.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Zaman damgası sunucusu bağlantısı zaman aşımına uğradı, yerel hızlı imzalama yapılıyor...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' kullanımı algılandı. PyInstaller Tek Dosya modunda, paketlenmiş kaynak dosyalarını güvenilir şekilde bulmak için 'sys._MEIPASS' kullanın!", - "\\nProgram execution completed, press Enter to exit...": "\\nProgram yürütme tamamlandı, çıkmak için Enter'a basın...", - "[INFO] Compilation completed, archiving built files...": "[INFO] Derleme tamamlandı, oluşturulan dosyalar arşivleniyor...", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Ek kaynak dosyası/dizini bulunamadı: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Derleme iptal edildi: Yetersiz disk alanı (NoSpaceLeft / Errno 28). Lütfen disk alanını temizleyin (en az 5 GB boş alan önerilir) ve tekrar deneyin.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Derleme tamamlandı, ancak aşağıdaki bağımlılıklar kurulamadı:\n\n - {pkgs}\n\nNot: Uygulama çalışma zamanında ModuleNotFoundError hatası verebilir.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Geçici derleme dizininde geçerli çalıştırılabilir ürün bulunamadı: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Ortam düzeltme başarısız oldu: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST ayrıştırma sırasında özel durum oluştu: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Sanal ortam oluşturulamadı. Mevcut Python ortamı gerekli modüllerden yoksun olabilir veya kısıtlı izinlere sahip olabilir.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Günlük dosyası dışa aktarılamadı: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Ön ayar dosyası dışa aktarılamadı: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] G/Ç Özel Durumu: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Yetersiz disk alanı (Kullanılabilir: {free:.1f} GB). Derleme ortamını güvenli bir şekilde başlatmak için en az 0,5 GB gerekir.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Çıktı dizini yazma iznine sahip değil: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Lütfen önce geçerli bir Python kaynak dosyası yükleyin!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Ön ayar dosyası biçim hatası veya bozuk: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] İşlem hatası: komut veya ikili dosya eksik ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Ürün aktarımı başarısız oldu, dosya sistem işlemi tarafından kullanılıyor olabilir veya izin eksik olabilir: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python kurulumu başarısız oldu veya iptal edildi.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python yorumlayıcısı geçersiz veya bulunamadı: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Gereksinimler dosyası bulunamadı: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Sistem yürütme özel durumu: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Hedef dosya kilitli veya bulut sürücüsü tarafından şifrelenmiş. Lütfen şifresini çözüp tekrar deneyin.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Hedef dosya çalışıyor veya kullanılıyor. Lütfen mevcut uygulamayı kapatıp tekrar deneyin.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Belirtilen simge dosyası mevcut değil: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Derleme beklenmedik bir şekilde kesildi!\n\nYaygın Sorun Giderme:\n1. Ortam Uyumsuzluğu (En Yaygın): Seçilen Python sürümü kaynak kodunuzla uyumsuz. Lütfen [Derleme Ayarları] bölümüne gidip bu kod için normalde kullandığınız Python sürümüne geçin.\n2. Eksik Bağımlılıklar: ModuleNotFoundError kontrolü için yukarıdaki 'Ayrıntılı Mod' düğmesine tıklayın.\n3. Antivirüs Engellemesi: Güvenlik yazılımınızın derleme sürecini engellemediğinden emin olun.\n\n(Not: Bu genellikle paketleme motorundan ziyade ortam/kod farklılıklarından kaynaklanır. Kesin nedenler için ayrıntılı günlüğü kontrol edin.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Derleme özel durumlarla kesildi, sorun giderme için lütfen günlük penceresinin üzerindeki 'Ayrıntılı Mod' düğmesine tıklayın.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] '{name}' Ek Kaynaklara eklendi.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Ek Kaynaklara {count} kaynak öğesi eklendi.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Kaynak kodu ve proje bağımlılıkları analiz ediliyor...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Zaman damgalı dijital imza uygulandı ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] Akıllı dijital imza uygulanıyor...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Mevcut sanal ortam '{venv}' otomatik algılandı. 'Yerel Venv'i Koru' işaretli.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Eski sürüm geri taşıma modülü otomatik korundu: '{pkg}' (Python {ver} içinde yerleşik)", + "[INFO] Build Cancelled.": "[INFO] Derleme İptal Edildi.", + "[INFO] Build log exported to: {path}": "[INFO] Derleme günlüğü şuraya aktarıldı: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Derleme tamamlandı, derlenen dosyalar arşivleniyor...", "[INFO] Creating virtual environment ({name})...": "[INFO] Sanal ortam oluşturuluyor ({name})...", "[INFO] Creating virtual environment...": "[INFO] Sanal ortam oluşturuluyor...", "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Playwright tarayıcıları aynadan indiriliyor: {url}", @@ -250,69 +316,57 @@ "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Yerel Clang ortamı bulundu, LLVM Clang derleyicisi önceliklendiriliyor.", "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Yerel GCC/MinGW-w64 ortamı bulundu, MinGW64 derleyicisi kullanılıyor.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Yerel MSVC ortamı bulundu, yerel C++ derleyicisi önceliklendiriliyor.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Yerel Zig ortamı bulundu, C arka uç derlemesi Nuitka'ya bırakılıyor.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Yerel Zig ortamı bulundu, Nuitka'nın C arka uç derlemesini yönetmesine izin veriliyor.", "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Yer açılıyor, geçici derleme ortamı temizleniyor...", - "[INFO] Initializing isolated build environment...": "[INFO] Yalıtılmış derleme ortamı başlatılıyor...", + "[INFO] Initializing isolated build environment...": "[INFO] İzole derleme ortamı başlatılıyor...", "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Derleme ortamı ve proje bağımlılıkları kuruluyor ({count} paket): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Hafif mod etkin, bayt kodu optimizasyonu (-OO) uygulanıyor ve geliştirme modülleri kaldırılıyor...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Yerel C derleyicisi algılanmadı. Nuitka uyumlu bir MinGW-w64 araç zincirini otomatik olarak indirip yönetecek.", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka İpucu: İlk derlemede GCC/MinGW derleyicisi indirmeniz istenirse, istikrarlı bir ağ bağlantınız olduğundan emin olun.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Ön uçuş ortam kontrolleri yapılıyor...", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Hafif mod etkin, bayt kodu optimizasyonu (-OO) uygulanıyor ve geliştirici modülleri kaldırılıyor...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Yerel C derleyicisi algılanmadı. Nuitka otomatik olarak uyumlu bir MinGW-w64 araç zincirini indirip yönetecek.", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka İpucu: İlk derlemede GCC/MinGW derleyicisini indirmeniz istenirse, lütfen istikrarlı bir ağ bağlantısı sağlayın.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Ön kontrol ortam kontrolleri yapılıyor...", "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Playwright algılandı. Yerleşik tarayıcılar kuruluyor (PLAYWRIGHT_BROWSERS_PATH=0)...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ algılandı: C arka uç olarak Zig derleyicisi (--zig) kullanılıyor.", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+ algılandı: C arka ucu olarak Zig derleyicisi (--zig) kullanılıyor.", "[INFO] Python interpreter path: {path}": "[INFO] Python yorumlayıcı yolu: {path}", "[INFO] Resolving project dependencies...": "[INFO] Proje bağımlılıkları çözümleniyor...", "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Playwright tarayıcı indirmesi resmi CDN üzerinden yeniden deneniyor...", "[INFO] Reusing existing virtual environment...": "[INFO] Mevcut sanal ortam yeniden kullanılıyor...", "[INFO] Reusing existing virtual environment: {path}": "[INFO] Mevcut sanal ortam yeniden kullanılıyor: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] Proje kaynak kodu AST motoru ile taranıyor...", + "[INFO] Scanning project source code via AST engine...": "[INFO] AST motoru ile proje kaynak kodu taranıyor...", "[INFO] Starting {engine} engine to compile binary files...": "[INFO] İkili dosyaları derlemek için {engine} motoru başlatılıyor...", "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Simge parametreleri kaldırılıyor ve otomatik olarak yeniden derleniyor...", - "[INFO] Successfully installed compatible versions.": "[INFO] Uyumlu sürümler başarıyla kuruldu.", + "[INFO] Successfully installed compatible versions.": "[INFO] Uyumlu sürümler başarıyla yüklendi.", "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Alım için yedek PyPI kaynağına geçiliyor: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip paket yöneticisi eşitleniyor ve yükseltiliyor...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] İpucu: Paketlenmiş çalıştırılabilir dosyalar Windows Defender/Antivirüs tarafından yanlışlıkla işaretlenebilir. Hariç tutma eklemek veya kod imzalama önerilir.", - "[ERROR] Additional resource file/directory not found: {path}": "[HATA] Ek kaynak dosyası/dizini bulunamadı: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[HATA] Derleme iptal edildi: Yetersiz disk alanı (NoSpaceLeft / Errno 28). Lütfen sürücüde yer açın (en az 5 GB boş alan önerilir) ve tekrar deneyin.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[HATA] Derleme tamamlandı, ancak aşağıdaki bağımlılıklar kurulamadı:\n\n - {pkgs}\n\nNot: Uygulama çalışma zamanında ModuleNotFoundError hatası verebilir.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[HATA] Geçici derleme dizininde geçerli bir çalıştırılabilir ürün bulunamadı: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[HATA] AST ayrıştırma sırasında bir özel durum oluştu: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[HATA] Sanal ortam oluşturulamadı. Mevcut Python ortamı gerekli modüllerden yoksun olabilir veya kısıtlı izinlere sahip olabilir.", - "[ERROR] Failed to export log file: {error}": "[HATA] Günlük dosyası dışa aktarılamadı: {error}", - "[ERROR] Failed to export preset file: {error}": "[HATA] Ön ayar dosyası dışa aktarılamadı: {error}", - "[ERROR] I/O Exception: {err_msg}": "[HATA] G/Ç Özel Durumu: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[HATA] Yetersiz disk alanı (Kullanılabilir: {free:.1f} GB). Derleme ortamını güvenli bir şekilde başlatmak için en az 0,5 GB gerekir.", - "[ERROR] Output directory is missing write permissions: {error}": "[HATA] Çıktı dizininde yazma izni yok: {error}", - "[ERROR] Please load a valid Python source file first!": "[HATA] Lütfen önce geçerli bir Python kaynak dosyası yükleyin!", - "[ERROR] Preset file format error or corrupted: {error}": "[HATA] Ön ayar dosyası biçim hatası veya bozuk: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[HATA] İşlem hatası: komut veya ikili dosya eksik ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[HATA] Ürün aktarımı başarısız oldu, dosya sistem işlemi tarafından kullanılıyor veya izin eksik olabilir: {error}", - "[ERROR] Python installation failed or was cancelled.": "[HATA] Python kurulumu başarısız oldu veya iptal edildi.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[HATA] Python yorumlayıcısı geçersiz veya bulunamadı: {path}", - "[ERROR] Requirements file not found: {path}": "[HATA] Gereksinimler dosyası bulunamadı: {path}", - "[ERROR] System execution exception: {error}": "[HATA] Sistem yürütme özel durumu: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[HATA] Hedef dosya bulut sürücüsü tarafından kilitlenmiş veya şifrelenmiş. Lütfen şifresini çözün ve tekrar deneyin.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[HATA] Hedef dosya çalışıyor veya kullanılıyor. Lütfen mevcut uygulamayı kapatın ve tekrar deneyin.", - "[ERROR] The specified icon file does not exist: {path}": "[HATA] Belirtilen simge dosyası mevcut değil: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[BAŞARISIZ] Derleme beklenmeyen bir şekilde kesintiye uğradı!\n\nYaygın Sorun Giderme:\n1. Ortam Uyuşmazlığı (En Yaygın): Seçilen Python sürümü kaynak kodunuzla uyumsuz. Lütfen [Derleme Ayarları] bölümüne gidip bu kod için normalde kullandığınız Python sürümüne geçin.\n2. Eksik Bağımlılıklar: ModuleNotFoundError kontrolü için yukarıdaki 'Ayrıntılı Mod' düğmesine tıklayın.\n3. Antivirüs Engellemesi: Güvenlik yazılımınızın derleme sürecini engellemediğinden emin olun.\n\n(Not: Bu genellikle paketleme motorunun kendisinden ziyade ortam/kod uyumsuzluklarından kaynaklanır. Kesin nedenler için ayrıntılı günlüğü kontrol edin.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[BAŞARISIZ] Derleme özel durumlarla kesintiye uğradı, sorun giderme için günlük penceresinin üzerindeki 'Ayrıntılı Mod' düğmesine tıklayın.", - "[INFO] Analyzing source code and project dependencies...": "[BİLGİ] Kaynak kod ve proje bağımlılıkları analiz ediliyor...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[BİLGİ] Zaman damgalı dijital imza uygulandı ({tsa})...", - "[INFO] Applying smart digital signature...": "[BİLGİ] Akıllı dijital imza uygulanıyor...", - "[INFO] Build Cancelled.": "[BİLGİ] Derleme İptal Edildi.", - "[INFO] Build log exported to: {path}": "[BİLGİ] Derleme günlüğü şuraya dışa aktarıldı: {path}", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[BİLGİ] C arka ucu için MinGW64 derleyicisi kullanılıyor (--mingw64).", - "[INFO] Using MinGW64 compiler.": "[BİLGİ] MinGW64 derleyicisi kullanılıyor.", - "[INFO] Validating output files and generating final product...": "[BİLGİ] Çıktı dosyaları doğrulanıyor ve son ürün oluşturuluyor...", - "[SUCCESS] Compilation completed, output path: {path}": "[BAŞARI] Derleme tamamlandı, çıktı yolu: {path}", - "[SUCCESS] Digital signature applied successfully!": "[BAŞARI] Dijital imza başarıyla uygulandı!", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[UYARI] 'multiprocessing' modülü algılandı. Sonsuz işlem döngülerini (fork bombaları) önlemek için 'multiprocessing.freeze_support()' çağrısının 'if __name__ == \"__main__\":' altında yapıldığından emin olun.", - "[WARN] AST Analysis Exception: {error}": "[UYARI] AST Analizi İstisnası: {error}", - "[WARN] Command timeout (>{timeout}s)": "[UYARI] Komut zaman aşımı (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[UYARI] 'requests' veya 'httpx' algılandı. SSL hatalarını önlemek için 'certifi' sertifikaları otomatik olarak paketleniyor.", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[UYARI] Geçersiz ortam temizlenemedi, geçici kum havuzuna geri dönülüyor: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[UYARI] Simgenin .icns'e dönüştürülmesi başarısız oldu, simge olmadan derleniyor.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[UYARI] Simge kaynağı yazma engellendi (muhtemelen sistem/antivirüs tarafından kilitlendi), yedek koruma tetikleniyor...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[UYARI] Derleme hedef sürücüsünde düşük disk alanı algılandı (Kullanılabilir: {free:.1f} GB, önerilen >= 5.0 GB). Derleme işlemi disk tükenmesi nedeniyle kesintiye uğrayabilir.", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[BİLGİ] Mevcut sanal ortam '{venv}' otomatik olarak algılandı. 'Yerel Venv'i Koru' işaretli." + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] pip paket yöneticisi senkronize ediliyor ve yükseltiliyor...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] İpucu: Ticari imzası olmayan çalıştırılabilir dosyalar Windows Defender/Antivirüs tarafından yanlışlıkla işaretlenebilir.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] C arka ucu için MinGW64 derleyicisi kullanılıyor (--mingw64).", + "[INFO] Using MinGW64 compiler.": "[INFO] MinGW64 derleyicisi kullanılıyor.", + "[INFO] Validating output files and generating final product...": "[INFO] Çıktı dosyaları doğrulanıyor ve son ürün oluşturuluyor...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Derleme tamamlandı, çıktı yolu: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Dijital imza başarıyla uygulandı!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Kaynak kod sözdizimi hataları içeriyor, derleme iptal edildi:\n - Dosya: {file}\n - Tür: {type}\n - Satır: {line}. satır\n - Ayrıntı: {desc}\n\nİpucu: Paketlemeden önce kaynak kodun yerel olarak çalıştığından emin olun.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Kaynak kod sözdizimi ayrıştırılamadı, derleme iptal edildi:\n - Dosya: {file}\n - Satır: {line}. satır\n - Ayrıntı: {desc}\n\nİpucu: Bu genellikle paketleme aracının hatası DEĞİLDİR.\nSeçtiğiniz [Derleme Python Sürümü] ile [Kodu Yazarken/Test Ederken] kullandığınız sürümün eşleştiğinden emin olun.\nDaha yeni sözdizimi (ör. mors operatörü :=, tür birleşimleri |, match-case) kullanmak eski bir Python ortamında bu hatayı tetikler.\n[Derleme Ayarları] -> [Motor] bölümünden doğru Python sürümüne geçmenizi öneririz.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 'multiprocessing' modülü algılandı. Sonsuz işlem döngülerini (fork bombaları) önlemek için 'multiprocessing.freeze_support()' çağrısının 'if __name__ == \"__main__\":' altında yapıldığından emin olun.", + "[WARN] AST Analysis Exception: {error}": "[WARN] AST Analiz İstisnası: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Komut zaman aşımı (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 'requests' veya 'httpx' algılandı. SSL hatalarını önlemek için 'certifi' sertifikaları otomatik olarak paketleniyor.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Geçersiz ortam temizlenemedi, geçici kum havuzuna düşülüyor: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Simgenin .icns'e dönüştürülmesi başarısız oldu, simge olmadan derleniyor.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Simge kaynak yazımı engellendi (sistem/antivirüs tarafından kilitlenmiş olabilir), yedek koruma tetikleniyor...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Derleme hedef sürücüsünde düşük disk alanı algılandı (Kullanılabilir: {free:.1f} GB, >= 5.0 GB önerilir). Disk tükenmesi nedeniyle derleme işlemi kesintiye uğrayabilir.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Bellek ayırma istisnası yakalandı (ZstdError / OOM). Bellek koruma yedeği tetikleniyor: Tek iş parçacıklı modda yeniden deneniyor...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] '{pkg}' paketi yüklenemedi, atlanıyor...", + "[WARN] Pause code injection exception: {error}": "[WARN] Duraklatma kodu enjeksiyon istisnası: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright tarayıcı kurulumu tüm kaynaklarda başarısız oldu, derlemeye riskle devam edilecek...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Python ortam bilgisi algılama yedeği: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] requirements.txt okuma uyarısı: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Akıllı imzalama başarısız oldu, ancak derleme çıktısı korundu.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Bazı bağımlılıklar kurulamadı, derleme riskli olarak devam edecek...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Belirtilen sürümler kurulamadı. Otomatik uyumluluk eşleştirmesi için sürüm kısıtlamaları kaldırılıyor...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Lite modunun etkisini en üst düzeye çıkarmak için [Sanal Ortam] kontrol etmeniz şiddetle önerilir.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Sistem Python yazma izni kısıtlı. '--user' moduyla yeniden deneniyor...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Sistemde düşük bellek algılandı (zstd bellek ayırma başarısız oldu). Otomatik olarak tek iş parçacıklı düşük bellek modunda yeniden deneniyor...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Hedef proje bir Bulut Senkronizasyon dizininde (örn. OneDrive/Dropbox). Bulut senkronizasyonu derleme dosyalarını geçici olarak kilitleyebilir.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Zaman damgası sunucusu bağlantısı zaman aşımına uğradı, yerel hızlı imzalama yapılıyor...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] '__file__' kullanımı algılandı. PyInstaller Tek Dosya modunda, paketlenmiş kaynak dosyalarını güvenilir şekilde bulmak için 'sys._MEIPASS' kullanın!", + "\\nProgram execution completed, press Enter to exit...": "\\nProgram yürütme tamamlandı, çıkmak için Enter'a basın..." } diff --git a/qpypack/locales/vi_VN.json b/qpypack/locales/vi_VN.json index 683fb00..82c5bc8 100644 --- a/qpypack/locales/vi_VN.json +++ b/qpypack/locales/vi_VN.json @@ -1,28 +1,32 @@ { - " [No Console]": " [Không Console]", - "* Nuitka Auto-manages C Compiler": "* Nuitka Tự quản lý Trình biên dịch C", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Tài trợ hoàn toàn tự nguyện, là sự khích lệ vô điều kiện cho cộng đồng mã nguồn mở, và không liên quan đến cam kết thương mại. Cảm ơn sự ủng hộ của bạn!", + " [Console]": "[Bảng điều khiển]", + " [No Console]": "[Không có bảng điều khiển]", + "* Nuitka Auto-manages C Compiler": "* Nuitka tự động quản lý trình biên dịch C", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* Việc tài trợ hoàn toàn tự nguyện, là sự khích lệ vô điều kiện cho cộng đồng mã nguồn mở, và không liên quan đến bất kỳ cam kết thương mại nào. Cảm ơn sự ủng hộ của bạn!", "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ Đã phát hiện cục bộ:
{path}
Sẵn sàng chuyển đổi trực tiếp mà không cần tải lại.", "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "Bạn có chắc chắn muốn đặt lại tất cả tùy chọn?
Tất cả cài đặt sẽ được khôi phục về trạng thái mặc định.", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "Đã tìm thấy {count} môi trường ảo cho dự án hiện tại:
{paths}

Bạn có chắc chắn muốn xóa chúng để giải phóng dung lượng ổ đĩa?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Đã cài đặt Môi trường Python thành công!

Biến môi trường hệ thống đã được cập nhật. Khuyến nghị thoát và khởi động lại phần mềm để áp dụng các thay đổi.", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Cài đặt Môi trường Python thành công!

Biến môi trường hệ thống đã được cập nhật. Khuyến nghị thoát và khởi động lại phần mềm để áp dụng các thay đổi.", "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Quản lý Môi trường Python
Hỗ trợ chuyển đổi giữa các môi trường Python được phát hiện cục bộ hoặc tải xuống phiên bản mới.", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Yêu cầu Môi trường Python
Việc xây dựng ứng dụng phụ thuộc vào trình thông dịch Python.
Vui lòng chọn phiên bản để tự động tải xuống, cài đặt và cấu hình biến môi trường.
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Không phát hiện Python trên hệ thống của bạn!

QPyPack yêu cầu môi trường Python để biên dịch mã của bạn.
Nếu bạn chưa cài đặt Python, vui lòng tải xuống và cài đặt (nhớ chọn 'Add Python.exe to PATH' trong quá trình cài đặt).", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Không phát hiện Python trên hệ thống của bạn!

QPyPack yêu cầu môi trường Python để biên dịch mã của bạn.
Nếu bạn chưa cài đặt Python, vui lòng tải xuống và cài đặt.", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "Yêu cầu Môi trường Python
Việc xây dựng ứng dụng phụ thuộc vào trình thông dịch Python.
Vui lòng chọn một phiên bản để tự động tải xuống, cài đặt và cấu hình biến môi trường.
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "Không phát hiện thấy Python trên hệ thống của bạn!

QPyPack yêu cầu môi trường Python để biên dịch mã của bạn.
Nếu bạn chưa cài đặt Python, vui lòng tải xuống và cài đặt (nhớ chọn 'Add Python.exe to PATH' trong quá trình cài đặt).", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Không phát hiện thấy Python trên hệ thống của bạn!

QPyPack yêu cầu môi trường Python để biên dịch mã của bạn.
Nếu bạn chưa cài đặt Python, vui lòng tải xuống và cài đặt.", "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "Khuyến nghị: Python 3.11.9 được khuyến nghị để có khả năng tương thích xây dựng và hỗ trợ công cụ tối ưu.", "
Interpreter
Auto-detecting system environment and OS support matrix...": "
Trình thông dịch
Đang tự động phát hiện môi trường hệ thống và ma trận hỗ trợ hệ điều hành...", "AST Scan": "Quét AST", "AST scan completed, found {count} dependencies.": "Quét AST hoàn tất, tìm thấy {count} phụ thuộc.", - "AWS PyPI Mirror (US/EU)": "AWS PyPI Mirror (Mỹ/Châu Âu)", + "AWS PyPI Mirror (US/EU)": "AWS PyPI Mirror (US/EU)", + "About": "Giới thiệu", + "Active backport conflicts detected ({count}): {pkgs}": "Phát hiện xung đột backport đang hoạt động ({count}): {pkgs}", + "Add Backport Rule": "Thêm Quy tắc Backport", "Add Dir": "Thêm Thư mục", "Add File": "Thêm Tệp", "Add Mapping": "Thêm Ánh xạ", - "Additional Resources (Drag & Drop Supported)": "Tài nguyên bổ sung (Hỗ trợ kéo và thả)", - "Aliyun Cloud (China)": "Đám mây Aliyun (Trung Quốc)", - "Analyze Dependencies (AST)": "Phân tích phụ thuộc (AST)", + "Additional Resources (Drag & Drop Supported)": "Tài nguyên bổ sung (Hỗ trợ Kéo & Thả)", + "Aliyun Cloud (China)": "Aliyun Cloud (Trung Quốc)", + "Analyze Dependencies (AST)": "Phân tích Phụ thuộc (AST)", "App Icon:": "Biểu tượng ứng dụng:", - "App Metadata & Presets": "Siêu dữ liệu & Cài đặt sẵn ứng dụng", + "App Metadata & Presets": "Siêu dữ liệu & Cài đặt trước Ứng dụng", "Apple Silicon (M-Series) & Intel": "Apple Silicon (Dòng M) & Intel", "Apple Silicon (M1/M2) & Intel": "Apple Silicon (M1/M2) & Intel", "Attention: Please check the log for details.": "Chú ý: Vui lòng kiểm tra nhật ký để biết chi tiết.", @@ -31,7 +35,9 @@ "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "Tự động áp dụng chữ ký số cho ứng dụng đã xây dựng, loại bỏ cảnh báo 'Nhà phát hành không xác định'", "Auto-patched missing ({count}): {pkgs}": "Đã tự động vá các gói bị thiếu ({count}): {pkgs}", "Auto-save Build Log": "Tự động lưu nhật ký xây dựng", - "Backup PIP Index:": "Chỉ mục PIP dự phòng:", + "Backport exclusion rules have been reset to defaults.": "Các quy tắc loại trừ backport đã được đặt lại về mặc định.", + "Backup PIP Index:": "Sao lưu chỉ mục PIP:", + "Browse": "Duyệt", "Build Cancelled": "Đã hủy xây dựng", "Build Engine:": "Công cụ xây dựng:", "Build Failed": "Xây dựng thất bại", @@ -39,15 +45,16 @@ "Build Successful": "Xây dựng thành công", "Build engine packages ({count}): {pkgs}": "Các gói công cụ xây dựng ({count}): {pkgs}", "CPU Cores:": "Số lõi CPU:", - "Cancel & Return": "Hủy & Quay lại", + "Cancel": "Hủy", + "Cancel & Return": "Hủy và quay lại", "Cert Password:": "Mật khẩu chứng chỉ:", "Certificate Subject (e.g. My Company):": "Chủ đề chứng chỉ (ví dụ: Công ty của tôi):", "Certificate generated successfully!": "Đã tạo chứng chỉ thành công!", "Certificate password": "Mật khẩu chứng chỉ", "Check log output below for troubleshooting.": "Kiểm tra đầu ra nhật ký bên dưới để khắc phục sự cố.", - "Clean Temporary Cache After Build": "Dọn bộ nhớ đệm tạm thời sau khi xây dựng", + "Clean Temporary Cache After Build": "Dọn dẹp bộ nhớ cache tạm thời sau khi xây dựng", "Clear All": "Xóa tất cả", - "Clear Local Venvs": "Xóa môi trường ảo cục bộ", + "Clear Local Venvs": "Xóa Venvs cục bộ", "Clear Log": "Xóa nhật ký", "Clear Virtual Environments": "Xóa môi trường ảo", "Click to automatically download, install Python, and configure system environment variables.": "Nhấp để tự động tải xuống, cài đặt Python và cấu hình biến môi trường hệ thống.", @@ -58,35 +65,46 @@ "Compatibility Mode (Default)": "Chế độ tương thích (Mặc định)", "Compatibility depends on build environment glibc version.": "Khả năng tương thích phụ thuộc vào phiên bản glibc của môi trường xây dựng.", "Concise Log Output": "Đầu ra nhật ký ngắn gọn", - "Concise Mode": "Chế độ gọn", - "Config preset exported to: {path}": "Đã xuất cấu hình mẫu tới: {path}", - "Config preset imported successfully.": "Đã nhập cấu hình mẫu thành công.", - "Configure Build Settings": "Cấu hình cài đặt build", + "Concise Mode": "Chế độ ngắn gọn", + "Config preset exported to: {path}": "Đã xuất cấu hình đặt trước tới: {path}", + "Config preset imported successfully.": "Đã nhập cấu hình đặt trước thành công.", + "Configure Build Settings": "Cấu hình cài đặt xây dựng", "Configure Manually": "Cấu hình thủ công", "Confirm Password:": "Xác nhận mật khẩu:", "Contents Directory (--contents-directory):": "Thư mục nội dung (--contents-directory):", + "Copy": "Sao chép", + "Create": "Tạo", "Create Self-Signed Cert": "Tạo chứng chỉ tự ký", "Custom Directory": "Thư mục tùy chỉnh", - "Declared in requirements.txt ({count}): {pkgs}": "Khai báo trong requirements.txt ({count}): {pkgs}", - "Declared in requirements.txt: None": "Khai báo trong requirements.txt: Không có", + "Cut": "Cắt", + "Declared in requirements.txt ({count}): {pkgs}": "Được khai báo trong requirements.txt ({count}): {pkgs}", + "Declared in requirements.txt: None": "Được khai báo trong requirements.txt: Không có", "Delete All": "Xóa tất cả", + "Deleting...": "Đang xóa...", + "Dependencies": "Phụ thuộc", "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "Cảnh báo thiếu phụ thuộc: {pkgs} không cài đặt được. Kiểm tra nhật ký để biết chi tiết.", "Description:": "Mô tả:", "Desktop Application": "Ứng dụng máy tính để bàn", "Detailed Mode": "Chế độ chi tiết", - "Discovered via scanner ({count}): {pkgs}": "Phát hiện qua máy quét ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "Nhấp đúp để sửa đường dẫn đích; Hỗ trợ kéo và thả", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Nhấp đúp để sửa đường dẫn đích; Hỗ trợ kéo và thả. Dùng 'Xuất cấu hình mẫu' để lưu dùng lại.", + "Directory": "Thư mục", + "Discovered via scanner ({count}): {pkgs}": "Được phát hiện qua máy quét ({count}): {pkgs}", + "Double-click to edit target path; Drag & drop supported": "Nhấp đúp để chỉnh sửa đường dẫn mục tiêu; Hỗ trợ kéo và thả", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "Nhấp đúp để chỉnh sửa đường dẫn đích; Hỗ trợ kéo và thả. Dùng 'Xuất cấu hình' để lưu dùng lại.", "Download New Version": "Tải phiên bản mới", "Download Python": "Tải Python", - "Download complete. Starting Python installation...": "Tải xuống hoàn tất. Đang bắt đầu cài đặt Python...", + "Download complete. Starting Python installation...": "Tải xuống hoàn tất. Bắt đầu cài đặt Python...", "Downloading Python {ver}... Please wait.": "Đang tải Python {ver}... Vui lòng chờ.", "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "Kéo và thả tập lệnh Python (.py/.pyw) vào đây\nhoặc Nhấp để duyệt", "Drop Python source code to start": "Thả mã nguồn Python để bắt đầu", - "Edit Path": "Sửa đường dẫn", + "Edit Path": "Chỉnh sửa đường dẫn", + "Enable Automatic Backport Isolation": "Bật cách ly backport tự động", "Enable Smart Code Signing": "Bật ký mã thông minh", "Enable UPX Compression": "Bật nén UPX", + "Engine": "Công cụ", "Engine & Environment": "Công cụ & Môi trường", + "Environment Analysis": "Phân tích môi trường", + "Environment Analysis & Remediation": "Phân tích & khắc phục môi trường", + "Error": "Lỗi", "Exclude Modules:": "Loại trừ mô-đun:", "Execution Log": "Nhật ký thực thi", "Execution Mode": "Chế độ thực thi", @@ -94,52 +112,62 @@ "Export Log...": "Xuất nhật ký...", "Export Preset...": "Xuất cấu hình...", "Failed to generate certificate.": "Không thể tạo chứng chỉ.", + "File": "Tệp", "Folder Mode (--onedir)": "Chế độ thư mục (--onedir)", "Full backward compatibility": "Tương thích ngược đầy đủ", + "Generate": "Tạo", "GitHub Repository": "Kho lưu trữ GitHub", "Global configuration has been reset.": "Cấu hình toàn cục đã được đặt lại.", "Hidden Imports:": "Nhập ẩn:", - "Hide Console (--noconsole)": "Ẩn cửa sổ console (--noconsole)", - "Hide Custom Cert Settings ▾": "Ẩn cài đặt chứng chỉ tùy chỉnh ▾", - "Huawei Cloud (China)": "Huawei Cloud (Trung Quốc)", - "Import Name": "Tên nhập", - "Import Preset...": "Nhập cấu hình...", + "Hide Console (--noconsole)": "Ẩn Bảng Điều Khiển (--noconsole)", + "Hide Custom Cert Settings ▾": "Ẩn Cài Đặt Chứng Chỉ Tùy Chỉnh ▾", + "Huawei Cloud (China)": "Đám Mây Huawei (Trung Quốc)", + "Import Name": "Tên Nhập", + "Import Preset...": "Nhập Cấu Hình...", "Import name (e.g. cv2):": "Tên nhập (ví dụ: cv2):", - "Independent Developer": "Nhà phát triển độc lập", + "Independent Developer": "Nhà Phát Triển Độc Lập", "Initializing build...": "Đang khởi tạo bản dựng...", - "Install Complete": "Cài đặt hoàn tất", + "Inspect Interpreter Environment": "Kiểm Tra Môi Trường Thông Dịch", + "Install Complete": "Cài Đặt Hoàn Tất", "Install requirements.txt": "Cài đặt requirements.txt", "Internal directory name for dependencies (default: _internal)": "Tên thư mục nội bộ cho các phụ thuộc (mặc định: _internal)", - "Interpreter:": "Trình thông dịch:", + "Interpreter inspection passed: No active backport conflicts detected.": "Kiểm tra thông dịch đã qua: Không phát hiện xung đột backport hoạt động.", + "Interpreter:": "Trình Thông Dịch:", "Invalid syntax": "Cú pháp không hợp lệ", - "Issues & Feedback": "Vấn đề & Phản hồi", - "Keep Local Venv": "Giữ môi trường ảo cục bộ", + "Issues & Feedback": "Vấn Đề & Phản Hồi", + "Keep Local Venv": "Giữ Venv Cục Bộ", + "Later": "Sau", "Leave blank to auto-detect from environment variables": "Để trống để tự động phát hiện từ biến môi trường", "Leave blank to auto-detect system default Python": "Để trống để tự động phát hiện Python mặc định của hệ thống", "Leave blank to auto-match script name": "Để trống để tự động khớp tên tập lệnh", "Leave blank to auto-search requirements.txt in current directory": "Để trống để tự động tìm kiếm requirements.txt trong thư mục hiện tại", - "Legacy macOS Compatible": "Tương thích macOS cũ", - "Lite Mode (Smaller size)": "Chế độ Lite (Kích thước nhỏ hơn)", + "Legacy macOS Compatible": "Tương Thích macOS Cũ", + "Lite Mode (Smaller size)": "Chế Độ Gọn Nhẹ (Kích thước nhỏ hơn)", "Loaded: {filename}": "Đã tải: {filename}", - "Locally Detected Pythons": "Python được phát hiện cục bộ", - "Lock Core Dependencies": "Khóa các phụ thuộc cốt lõi", + "Locally Detected Pythons": "Python Được Phát Hiện Cục Bộ", + "Lock Core Dependencies": "Khóa Các Phụ Thuộc Cốt Lõi", "Log saved to: {path}": "Nhật ký đã lưu tại: {path}", - "Manifest complete (No missing packages)": "Tệp kê khai hoàn tất (Không thiếu gói nào)", + "Manifest complete (No missing packages)": "Tệp kê khai hoàn tất (Không thiếu gói)", "Maximum compatibility. Recommended for apps with complex dynamic imports.": "Tương thích tối đa. Khuyến nghị cho ứng dụng có nhập động phức tạp.", - "Mirrors & Scanner": "Máy chủ nhân bản & Trình quét", + "Min Python Ver": "Phiên bản Python tối thiểu", + "Minimum Built-in Python Version (e.g. 3.4):": "Phiên bản Python tích hợp tối thiểu (ví dụ: 3.4):", + "Mirrors & Scanner": "Máy nhân bản & Máy quét", "Modern Cross-Platform Python Application Packager": "Trình đóng gói ứng dụng Python đa nền tảng hiện đại", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "Giao diện đồ họa đóng gói Python đa nền tảng hiện đại, hỗ trợ bởi PyInstaller & Nuitka", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "GUI đóng gói Python đa nền tảng hiện đại được hỗ trợ bởi PyInstaller & Nuitka", "No Windows 7 Support": "Không hỗ trợ Windows 7", + "No environment conflicts detected.": "Không phát hiện xung đột môi trường.", "No local Python environments detected.": "Không phát hiện môi trường Python cục bộ.", - "No local virtual environments found to clean.": "Không tìm thấy môi trường ảo cục bộ để dọn dẹp.", + "No local virtual environments found to clean.": "Không tìm thấy môi trường ảo cục bộ nào để dọn dẹp.", "No log content.": "Không có nội dung nhật ký.", "Nuitka Version:": "Phiên bản Nuitka:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Biên dịch mã nguồn thành tệp nhị phân C/C++ gốc. Tạo ra kích thước gói nhỏ hơn, thực thi nhanh hơn và bảo vệ chống dịch ngược sâu (yêu cầu trình biên dịch C).", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — Biên dịch mã nguồn thành tệp nhị phân C/C++ gốc. Tạo kích thước gói nhỏ hơn, thực thi nhanh hơn và bảo vệ chống dịch ngược sâu (yêu cầu trình biên dịch C).", + "OK": "OK", "OS Support Matrix:": "Ma trận hỗ trợ hệ điều hành:", + "Obsolete Backport Exclusion Rules": "Quy tắc loại trừ backport lỗi thời", "One-Click Download & Install": "Tải xuống & cài đặt một cú nhấp chuột", "One-Click Install": "Cài đặt một cú nhấp chuột", "One-File Mode (--onefile)": "Chế độ một tệp (--onefile)", - "Only supported on Windows.": "Chỉ hỗ trợ trên Windows.", + "Only supported on Windows.": "Chỉ được hỗ trợ trên Windows.", "Open Directory": "Mở thư mục", "Open output directory or reset workspace.": "Mở thư mục đầu ra hoặc đặt lại không gian làm việc.", "Optimization & Security": "Tối ưu hóa & Bảo mật", @@ -147,57 +175,76 @@ "Output Location:": "Vị trí đầu ra:", "Output Name:": "Tên đầu ra:", "Package Map": "Bản đồ gói", + "Package Mapping & Remediation": "Ánh xạ gói & khắc phục", + "Package Mappings & Rules": "Ánh xạ gói & quy tắc", + "Package Name": "Tên gói", + "Package Name (e.g. pathlib):": "Tên gói (ví dụ: pathlib):", "Package Name Mappings": "Ánh xạ tên gói", - "Package mappings have been reset to defaults.": "Ánh xạ gói đã được đặt lại về mặc định.", + "Package mappings have been reset to defaults.": "Đã đặt lại ánh xạ gói về mặc định.", "Packaging Mode:": "Chế độ đóng gói:", "Parsing metadata...": "Đang phân tích siêu dữ liệu...", "Password cannot be empty!": "Mật khẩu không được để trống!", "Password:": "Mật khẩu:", "Passwords do not match!": "Mật khẩu không khớp!", + "Paste": "Dán", "Performance Optimization": "Tối ưu hiệu suất", "Platform Support Matrix:": "Ma trận hỗ trợ nền tảng:", + "Preferences": "Tùy chọn", "Preferences & System Behavior": "Tùy chọn & Hành vi hệ thống", - "Preparing engine...": "Đang chuẩn bị công cụ...", + "Preparing engine...": "Đang chuẩn bị engine...", "Primary PIP Index:": "Chỉ mục PIP chính:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Riêng cho dự án. Không lưu vào tùy chọn toàn cục. Dùng 'Xuất cấu hình' để lưu cấu hình.", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "Dành riêng cho dự án. Không lưu vào tùy chọn toàn cục. Dùng 'Xuất cấu hình' để lưu cấu hình.", "PyInstaller Version:": "Phiên bản PyInstaller:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Đóng gói trình thông dịch Python và mã byte. Tốc độ xây dựng nhanh, không cần cấu hình (không cần trình biên dịch C) và tương thích tuyệt vời.", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — Đóng gói trình thông dịch Python và mã bytecode. Tốc độ xây dựng nhanh, không cần cấu hình (không cần trình biên dịch C) và tương thích tuyệt vời.", "PyPI Home": "Trang chủ PyPI", "PyPI Official (Global Default)": "PyPI chính thức (Mặc định toàn cầu)", "PyPI Package Name": "Tên gói PyPI", "PyPI package name for [{imp_name}]:": "Tên gói PyPI cho [{imp_name}]:", + "Python 3.10.11": "Python 3.10.11", "Python 3.11.9 (Recommended)": "Python 3.11.9 (Khuyến nghị)", + "Python 3.12.4": "Python 3.12.4", + "Python 3.13.0": "Python 3.13.0", "Python 3.14.6 (Experimental)": "Python 3.14.6 (Thử nghiệm)", "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Hỗ trợ Win7)", + "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Quản lý môi trường Python", "Python Environment Required": "Yêu cầu môi trường Python", "Python Packaging, Reimagined.": "Đóng gói Python, tái định nghĩa.", - "Python TestPyPI": "TestPyPI Python", - "Python installed. Please restart QPyPack manually later.": "Python đã được cài đặt. Vui lòng khởi động lại QPyPack sau.", - "QPyPack Developer": "Nhà phát triển QPyPack", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack là công cụ mã nguồn mở miễn phí. Nếu nó đã cải thiện hiệu suất của bạn hoặc giải quyết vấn đề đóng gói, hãy cân nhắc mua cho tác giả một ly cà phê!", + "Python TestPyPI": "Python TestPyPI", + "Python installed. Please restart QPyPack manually later.": "Python đã được cài đặt. Vui lòng khởi động lại QPyPack theo cách thủ công sau.", + "QPyPack Developer": "QPyPack Developer", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack là công cụ mã nguồn mở miễn phí. Nếu nó đã cải thiện hiệu quả công việc hoặc giải quyết vấn đề đóng gói, hãy cân nhắc mua cho tác giả một ly cà phê!", "Ready, waiting for build.": "Sẵn sàng, chờ xây dựng.", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Khuyến nghị: 6+ ký tự, chỉ gồm chữ cái, số, '-' và '_'. Tránh khoảng trắng hoặc tiếng Trung để ngăn lỗi ký.", + "Rebuild": "Xây dựng lại", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "Khuyến nghị: 6+ ký tự, chỉ chữ số, '-' và '_'. Tránh khoảng trắng hoặc tiếng Trung để ngăn lỗi ký.", + "Remediate Detected Conflicts": "Khắc phục xung đột đã phát hiện", + "Remediation completed for packages: {pkgs}": "Đã hoàn tất khắc phục cho các gói: {pkgs}", "Remove Selected": "Xóa mục đã chọn", "Requirements File:": "Tệp yêu cầu:", + "Reset": "Đặt lại", "Reset to Default Config": "Đặt lại cấu hình mặc định", + "Resources": "Tài nguyên", "Restore Defaults": "Khôi phục mặc định", - "Save & Return": "Lưu và quay lại", + "Save & Return": "Lưu & Quay lại", "Save Certificate": "Lưu chứng chỉ", "Scan Entire Folder": "Quét toàn bộ thư mục", - "Script and settings retained. Ready to rebuild.": "Tập lệnh và cài đặt được giữ lại. Sẵn sàng để xây dựng lại.", + "Scanning...": "Đang quét...", + "Script and settings retained. Ready to rebuild.": "Tập lệnh và cài đặt đã được giữ lại. Sẵn sàng xây dựng lại.", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "Tập lệnh đã được tải. Bạn có thể kéo trực tiếp các thư mục tài sản hoặc tệp dữ liệu vào đây để đóng gói.", "Select .pfx / .p12 certificate file": "Chọn tệp chứng chỉ .pfx / .p12", "Select All": "Chọn tất cả", "Select Python Version to Download:": "Chọn phiên bản Python để tải xuống:", "Self-Signed Certificate (*.pfx)": "Chứng chỉ tự ký (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "Kích thước đầu ra nhỏ hơn. Được khuyến nghị cho 95% ứng dụng tiêu chuẩn.", + "Smaller output size. Recommended for 95% of standard apps.": "Kích thước đầu ra nhỏ hơn. Khuyến nghị cho 95% ứng dụng tiêu chuẩn.", "Sound Notification": "Thông báo âm thanh", "Source Directory (.qpypack_build)": "Thư mục nguồn (.qpypack_build)", "Source File Directory": "Thư mục tệp nguồn", + "Sponsor": "Nhà tài trợ", "Start Build": "Bắt đầu xây dựng", - "Status: Build Cancelled": "Trạng thái: Xây dựng đã hủy", + "Status: Build Cancelled": "Trạng thái: Đã hủy xây dựng", "Status: Build Completed": "Trạng thái: Xây dựng hoàn tất", "Status: Build Failed": "Trạng thái: Xây dựng thất bại", + "Status: Environment inspection ready.": "Trạng thái: Kiểm tra môi trường đã sẵn sàng.", "Status: Loaded {filename}{mode}": "Trạng thái: Đã tải {filename}{mode}", "Status: Packaging ({engine}) ...": "Trạng thái: Đang đóng gói ({engine}) ...", "Status: Parsing {filename}...": "Trạng thái: Đang phân tích {filename}...", @@ -214,105 +261,112 @@ "Temporary Directory:": "Thư mục tạm:", "Tencent Cloud (China)": "Tencent Cloud (Trung Quốc)", "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "Mẹo: Xây dựng thất bại trong Chế độ Lite. Bạn có thể thử chuyển sang [Chế độ tương thích] trong Cài đặt xây dựng và xây dựng lại.", - "Toggle Execution Log": "Bật/tắt nhật ký thực thi", + "Toggle Execution Log": "Chuyển đổi nhật ký thực thi", "Tsinghua University (China)": "Đại học Thanh Hoa (Trung Quốc)", "UI Language:": "Ngôn ngữ giao diện:", "UPX Path:": "Đường dẫn UPX:", "USTC (China)": "USTC (Trung Quốc)", + "Undo": "Hoàn tác", + "Unknown": "Không xác định", "Use Custom Commercial Cert (Optional) ▸": "Sử dụng chứng chỉ thương mại tùy chỉnh (Tùy chọn) ▸", - "Use Installed Version Directly": "Sử dụng phiên bản đã cài đặt trực tiếp", - "Use Selected Environment": "Sử dụng môi trường đã chọn", - "Use Virtual Environment": "Sử dụng môi trường ảo", + "Use Installed Version Directly": "Sử dụng trực tiếp phiên bản đã cài đặt", + "Use Selected Environment": "Sử dụng Môi trường Đã chọn", + "Use Virtual Environment": "Sử dụng Môi trường Ảo", "Version:": "Phiên bản:", "View Python": "Xem Python", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Mẹo Nuitka: Nếu được nhắc tải trình biên dịch GCC/MinGW trong lần biên dịch đầu tiên, vui lòng đảm bảo kết nối mạng ổn định.", - "[INFO] Performing pre-flight environment checks...": "[INFO] Đang thực hiện kiểm tra môi trường trước khi biên dịch...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Đã phát hiện Playwright. Đang cài đặt trình duyệt tích hợp (PLAYWRIGHT_BROWSERS_PATH=0)...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Đã phát hiện Python 3.13+: Sử dụng trình biên dịch Zig (--zig) làm backend C.", - "[INFO] Python interpreter path: {path}": "[INFO] Đường dẫn trình thông dịch Python: {path}", - "[INFO] Resolving project dependencies...": "[INFO] Đang phân giải các phụ thuộc của dự án...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Đang thử lại tải trình duyệt Playwright qua CDN chính thức...", - "[INFO] Reusing existing virtual environment...": "[INFO] Đang tái sử dụng môi trường ảo hiện có...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] Đang tái sử dụng môi trường ảo hiện có: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] Đang quét mã nguồn dự án bằng công cụ AST...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Đang khởi động công cụ {engine} để biên dịch các tệp nhị phân...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Đang loại bỏ tham số biểu tượng và tự động biên dịch lại...", - "[INFO] Successfully installed compatible versions.": "[INFO] Đã cài đặt thành công các phiên bản tương thích.", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Đang chuyển sang nguồn PyPI dự phòng để tải: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Đang đồng bộ và nâng cấp trình quản lý gói pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] Mẹo: Các tệp thực thi đóng gói có thể bị Windows Defender/Phần mềm diệt virus cảnh báo nhầm. Nên thêm ngoại lệ hoặc ký mã.", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Đang sử dụng trình biên dịch MinGW64 (--mingw64) cho backend C.", - "[INFO] Using MinGW64 compiler.": "[INFO] Đang sử dụng trình biên dịch MinGW64.", - "[INFO] Validating output files and generating final product...": "[INFO] Đang xác thực các tệp đầu ra và tạo sản phẩm cuối cùng...", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Lỗi Cú pháp] Mã nguồn chứa lỗi cú pháp, biên dịch bị hủy:\n - Tệp: {file}\n - Loại: {type}\n - Dòng: Dòng {line}\n - Chi tiết: {desc}\n\nMẹo: Vui lòng đảm bảo mã nguồn chạy được cục bộ trước khi đóng gói.", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Lỗi Cú pháp] Phân tích cú pháp mã nguồn thất bại, biên dịch bị hủy:\n - Tệp: {file}\n - Dòng: Dòng {line}\n - Chi tiết: {desc}\n\nMẹo: Đây thường KHÔNG phải lỗi của công cụ đóng gói.\nVui lòng đảm bảo [Phiên bản Python biên dịch] bạn chọn khớp với phiên bản bạn đã dùng để [Viết/Kiểm tra mã].\nSử dụng cú pháp mới hơn (ví dụ: toán tử hải mã :=, union kiểu |, match-case) trong môi trường Python cũ sẽ gây ra lỗi này.\nChúng tôi khuyên bạn nên đến [Cài đặt biên dịch] -> [Công cụ] để chuyển sang phiên bản Python chính xác.", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Phát hiện dung lượng đĩa thấp trên ổ đĩa đích xây dựng (Khả dụng: {free:.1f} GB, khuyến nghị >= 5.0 GB). Quá trình xây dựng có thể bị gián đoạn do đĩa đầy.", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Đã bắt được ngoại lệ cấp phát bộ nhớ (ZstdError / OOM). Kích hoạt phương án dự phòng bảo vệ bộ nhớ: Thử lại ở chế độ đơn luồng...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Gói '{pkg}' cài đặt thất bại, bỏ qua...", - "[WARN] Pause code injection exception: {error}": "[WARN] Ngoại lệ tiêm mã tạm dừng: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Cài đặt trình duyệt Playwright thất bại trên tất cả các nguồn, quá trình xây dựng sẽ tiếp tục với rủi ro...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Phát hiện thông tin môi trường Python dự phòng: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] Cảnh báo đọc requirements.txt: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] Ký thông minh thất bại, nhưng đầu ra xây dựng vẫn được giữ lại.", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Một số phụ thuộc cài đặt thất bại, quá trình xây dựng sẽ tiếp tục với rủi ro...", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Các phiên bản được chỉ định cài đặt thất bại. Đang loại bỏ ràng buộc phiên bản để tự động khớp tương thích...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Khuyến nghị mạnh mẽ kiểm tra [Môi trường ảo] để tối đa hóa hiệu quả chế độ lite.", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Phát hiện bộ nhớ hệ thống thấp (cấp phát bộ nhớ zstd thất bại). Tự động thử lại ở chế độ đơn luồng bộ nhớ thấp...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Dự án đích nằm trong thư mục đồng bộ đám mây (ví dụ: OneDrive/Dropbox). Đồng bộ đám mây có thể tạm thời khóa các tệp xây dựng.", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Kết nối máy chủ dấu thời gian hết thời gian, đang thực hiện ký nhanh cục bộ...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Phát hiện việc sử dụng '__file__'. Trong chế độ One-File của PyInstaller, hãy sử dụng 'sys._MEIPASS' để định vị đáng tin cậy các tệp tài nguyên được đóng gói!", - "\\nProgram execution completed, press Enter to exit...": "\\nChương trình thực thi hoàn tất, nhấn Enter để thoát...", - "[INFO] Compilation completed, archiving built files...": "[INFO] Biên dịch hoàn tất, đang lưu trữ các tệp đã xây dựng...", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] Không tìm thấy tệp/thư mục tài nguyên bổ sung: {path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] Xây dựng bị hủy: Không đủ dung lượng ổ đĩa (NoSpaceLeft / Errno 28). Vui lòng dọn dẹp dung lượng ổ đĩa (khuyến nghị ít nhất 5 GB trống) và thử lại.", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] Xây dựng hoàn tất, nhưng các phụ thuộc sau không cài đặt được:\n\n - {pkgs}\n\nLưu ý: Ứng dụng có thể báo lỗi ModuleNotFoundError khi chạy.", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] Không thể định vị tệp thực thi hợp lệ trong thư mục xây dựng tạm thời: {path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] Khắc phục môi trường thất bại: {error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] Đã xảy ra ngoại lệ trong quá trình phân tích cú pháp AST: {error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] Không thể tạo môi trường ảo. Môi trường Python hiện tại có thể thiếu các mô-đun cần thiết hoặc bị hạn chế quyền.", + "[ERROR] Failed to export log file: {error}": "[ERROR] Không thể xuất tệp nhật ký: {error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] Không thể xuất tệp cấu hình: {error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] Ngoại lệ I/O: {err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] Không đủ dung lượng ổ đĩa (Khả dụng: {free:.1f} GB). Cần ít nhất 0.5 GB để khởi tạo môi trường xây dựng một cách an toàn.", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] Thư mục đầu ra thiếu quyền ghi: {error}", + "[ERROR] Please load a valid Python source file first!": "[ERROR] Vui lòng tải tệp mã nguồn Python hợp lệ trước!", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] Lỗi định dạng tệp cấu hình hoặc tệp bị hỏng: {error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] Lỗi tiến trình: thiếu lệnh hoặc tệp nhị phân ({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] Chuyển sản phẩm thất bại, tệp có thể bị chiếm dụng bởi tiến trình hệ thống hoặc thiếu quyền: {error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Cài đặt Python thất bại hoặc đã bị hủy.", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Trình thông dịch Python không hợp lệ hoặc không tìm thấy: {path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] Không tìm thấy tệp yêu cầu: {path}", + "[ERROR] System execution exception: {error}": "[ERROR] Ngoại lệ thực thi hệ thống: {error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] Tệp đích bị khóa hoặc mã hóa bởi dịch vụ đám mây. Vui lòng giải mã và thử lại.", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] Tệp đích đang chạy hoặc bị chiếm dụng. Vui lòng đóng ứng dụng hiện tại và thử lại.", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] Tệp biểu tượng được chỉ định không tồn tại: {path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] Xây dựng bị gián đoạn bất thường!\n\nKhắc phục sự cố phổ biến:\n1. Không khớp môi trường (phổ biến nhất): Phiên bản Python được chọn không tương thích với mã nguồn của bạn. Vui lòng vào [Cài đặt xây dựng] để chuyển sang phiên bản Python bạn thường dùng cho mã này.\n2. Thiếu phụ thuộc: Nhấp vào 'Chế độ chi tiết' ở trên để kiểm tra ModuleNotFoundError.\n3. Chặn bởi phần mềm diệt virus: Đảm bảo phần mềm bảo mật của bạn không chặn quá trình xây dựng.\n\n(Lưu ý: Điều này thường do sự khác biệt giữa môi trường/mã nguồn chứ không phải do công cụ đóng gói. Vui lòng kiểm tra nhật ký chi tiết để biết lý do chính xác.)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] Biên dịch bị gián đoạn với ngoại lệ, vui lòng nhấp vào 'Chế độ chi tiết' phía trên cửa sổ nhật ký để khắc phục sự cố.", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] Đã thêm '{name}' vào Tài nguyên bổ sung.", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] Đã thêm {count} (các) mục tài nguyên vào Tài nguyên bổ sung.", + "[INFO] Analyzing source code and project dependencies...": "[INFO] Đang phân tích mã nguồn và các phụ thuộc dự án...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] Đã áp dụng chữ ký số với dấu thời gian ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] Đang áp dụng chữ ký số thông minh...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Đã tự động phát hiện môi trường ảo '{venv}' hiện có. 'Giữ Venv cục bộ' được chọn.", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] Đã tự động che chắn mô-đun backport lỗi thời: '{pkg}' (Được tích hợp trong Python {ver})", + "[INFO] Build Cancelled.": "[INFO] Đã hủy bản dựng.", + "[INFO] Build log exported to: {path}": "[INFO] Nhật ký bản dựng đã được xuất ra: {path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] Quá trình biên dịch hoàn tất, đang lưu trữ các tệp đã xây dựng...", "[INFO] Creating virtual environment ({name})...": "[INFO] Đang tạo môi trường ảo ({name})...", "[INFO] Creating virtual environment...": "[INFO] Đang tạo môi trường ảo...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Đang tải trình duyệt Playwright qua máy chủ nhân bản: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Đang đánh giá bộ nhớ vật lý hệ thống (Khả dụng: {ram:.1f} GB). Đã điều chỉnh độ đồng thời thích ứng: {cores} -> {safe_jobs} ...", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] Đang tải trình duyệt Playwright qua gương: {url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] Đang đánh giá bộ nhớ vật lý của hệ thống (Khả dụng: {ram:.1f} GB). Đã điều chỉnh độ đồng thời thích ứng: {cores} -> {safe_jobs} ...", "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] Đã tìm thấy môi trường Clang cục bộ, ưu tiên trình biên dịch LLVM Clang.", "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] Đã tìm thấy môi trường GCC/MinGW-w64 cục bộ, sử dụng trình biên dịch MinGW64.", "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] Đã tìm thấy môi trường MSVC cục bộ, ưu tiên trình biên dịch C++ gốc.", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Đã tìm thấy môi trường Zig cục bộ, để Nuitka quản lý biên dịch backend C.", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] Đã tìm thấy môi trường Zig cục bộ, để Nuitka quản lý quá trình biên dịch backend C.", "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] Đang giải phóng dung lượng, dọn dẹp môi trường xây dựng tạm thời...", "[INFO] Initializing isolated build environment...": "[INFO] Đang khởi tạo môi trường xây dựng cô lập...", "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] Đang cài đặt môi trường xây dựng và các phụ thuộc dự án ({count} gói): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Đã bật chế độ Lite, áp dụng tối ưu hóa bytecode (-OO) và loại bỏ các mô-đun phát triển...", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] Chế độ Lite được bật, áp dụng tối ưu hóa bytecode (-OO) và loại bỏ các mô-đun dev...", "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] Không phát hiện trình biên dịch C cục bộ. Nuitka sẽ tự động tải xuống và quản lý bộ công cụ MinGW-w64 tương thích.", - "[ERROR] Additional resource file/directory not found: {path}": "[LỖI] Không tìm thấy tệp/thư mục tài nguyên bổ sung: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[LỖI] Đã hủy xây dựng: Không đủ dung lượng đĩa (NoSpaceLeft / Errno 28). Vui lòng dọn dẹp dung lượng ổ đĩa (khuyến nghị ít nhất 5 GB trống) và thử lại.", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[LỖI] Quá trình xây dựng hoàn tất, nhưng các phụ thuộc sau không cài đặt được:\n\n - {pkgs}\n\nLưu ý: Ứng dụng có thể gây ra lỗi ModuleNotFoundError khi chạy.", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[LỖI] Không thể định vị sản phẩm thực thi hợp lệ trong thư mục xây dựng tạm thời: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[LỖI] Đã xảy ra ngoại lệ trong quá trình phân tích AST: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[LỖI] Không thể tạo môi trường ảo. Môi trường Python hiện tại có thể thiếu các mô-đun cần thiết hoặc bị hạn chế quyền.", - "[ERROR] Failed to export log file: {error}": "[LỖI] Không thể xuất tệp nhật ký: {error}", - "[ERROR] Failed to export preset file: {error}": "[LỖI] Không thể xuất tệp cấu hình: {error}", - "[ERROR] I/O Exception: {err_msg}": "[LỖI] Ngoại lệ I/O: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[LỖI] Không đủ dung lượng đĩa (Khả dụng: {free:.1f} GB). Cần ít nhất 0.5 GB để khởi tạo môi trường xây dựng một cách an toàn.", - "[ERROR] Output directory is missing write permissions: {error}": "[LỖI] Thư mục đầu ra thiếu quyền ghi: {error}", - "[ERROR] Please load a valid Python source file first!": "[LỖI] Vui lòng tải tệp mã nguồn Python hợp lệ trước!", - "[ERROR] Preset file format error or corrupted: {error}": "[LỖI] Tệp cấu hình sai định dạng hoặc bị hỏng: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[LỖI] Lỗi tiến trình: thiếu lệnh hoặc tệp nhị phân ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[LỖI] Chuyển sản phẩm thất bại, tệp có thể bị chiếm bởi tiến trình hệ thống hoặc thiếu quyền: {error}", - "[ERROR] Python installation failed or was cancelled.": "[LỖI] Cài đặt Python thất bại hoặc đã bị hủy.", - "[ERROR] Python interpreter is invalid or not found: {path}": "[LỖI] Trình thông dịch Python không hợp lệ hoặc không tìm thấy: {path}", - "[ERROR] Requirements file not found: {path}": "[LỖI] Không tìm thấy tệp yêu cầu: {path}", - "[ERROR] System execution exception: {error}": "[LỖI] Ngoại lệ thực thi hệ thống: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[LỖI] Tệp đích bị khóa hoặc mã hóa bởi ổ đĩa đám mây. Vui lòng giải mã và thử lại.", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[LỖI] Tệp đích đang chạy hoặc bị chiếm dụng. Vui lòng đóng ứng dụng hiện tại và thử lại.", - "[ERROR] The specified icon file does not exist: {path}": "[LỖI] Tệp biểu tượng được chỉ định không tồn tại: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[THẤT BẠI] Quá trình xây dựng bị gián đoạn bất thường!\n\nKhắc phục sự cố thông thường:\n1. Không khớp môi trường (phổ biến nhất): Phiên bản Python được chọn không tương thích với mã nguồn của bạn. Vui lòng vào [Cài đặt xây dựng] để chuyển sang phiên bản Python bạn thường dùng cho mã này.\n2. Thiếu phụ thuộc: Nhấp vào 'Chế độ chi tiết' ở trên để kiểm tra ModuleNotFoundError.\n3. Chặn bởi phần mềm diệt virus: Đảm bảo phần mềm bảo mật của bạn không chặn quá trình xây dựng.\n\n(Lưu ý: Điều này thường do sự khác biệt giữa môi trường/mã nguồn chứ không phải do công cụ đóng gói. Vui lòng kiểm tra nhật ký chi tiết để biết lý do chính xác.)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[THẤT BẠI] Quá trình biên dịch bị gián đoạn với ngoại lệ, vui lòng nhấp vào 'Chế độ chi tiết' phía trên cửa sổ nhật ký để khắc phục sự cố.", - "[INFO] Analyzing source code and project dependencies...": "[THÔNG TIN] Đang phân tích mã nguồn và các phụ thuộc dự án...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[THÔNG TIN] Đã áp dụng chữ ký số với dấu thời gian ({tsa})...", - "[INFO] Applying smart digital signature...": "[THÔNG TIN] Đang áp dụng chữ ký số thông minh...", - "[INFO] Build Cancelled.": "[THÔNG TIN] Đã hủy xây dựng.", - "[INFO] Build log exported to: {path}": "[THÔNG TIN] Nhật ký xây dựng đã xuất ra: {path}", - "[SUCCESS] Compilation completed, output path: {path}": "[THÀNH CÔNG] Biên dịch hoàn tất, đường dẫn đầu ra: {path}", - "[SUCCESS] Digital signature applied successfully!": "[THÀNH CÔNG] Đã áp dụng chữ ký số thành công!", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[CẢNH BÁO] Phát hiện mô-đun 'multiprocessing'. Hãy đảm bảo gọi 'multiprocessing.freeze_support()' trong 'if __name__ == \"__main__\":' để ngăn chặn vòng lặp tiến trình vô hạn (fork bombs).", - "[WARN] AST Analysis Exception: {error}": "[CẢNH BÁO] Ngoại lệ phân tích AST: {error}", - "[WARN] Command timeout (>{timeout}s)": "[CẢNH BÁO] Hết thời gian chờ lệnh (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[CẢNH BÁO] Phát hiện 'requests' hoặc 'httpx'. Tự động đóng gói chứng chỉ 'certifi' để ngăn lỗi SSL.", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[CẢNH BÁO] Không thể dọn dẹp môi trường không hợp lệ, chuyển sang sandbox tạm thời: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[CẢNH BÁO] Chuyển đổi biểu tượng sang .icns thất bại, xây dựng mà không có biểu tượng.", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[CẢNH BÁO] Ghi tài nguyên biểu tượng bị chặn (có thể bị khóa bởi hệ thống/phần mềm diệt virus), kích hoạt bảo vệ dự phòng...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[THÔNG TIN] Tự động phát hiện môi trường ảo hiện có '{venv}'. Tùy chọn 'Giữ Venv Cục Bộ' đã được chọn." + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Mẹo Nuitka: Nếu được nhắc tải xuống trình biên dịch GCC/MinGW trong lần xây dựng đầu tiên, vui lòng đảm bảo kết nối mạng ổn định.", + "[INFO] Performing pre-flight environment checks...": "[INFO] Đang thực hiện kiểm tra môi trường sơ bộ...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] Đã phát hiện Playwright. Đang cài đặt trình duyệt tích hợp (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Đã phát hiện Python 3.13+: Sử dụng trình biên dịch Zig (--zig) làm backend C.", + "[INFO] Python interpreter path: {path}": "[INFO] Đường dẫn trình thông dịch Python: {path}", + "[INFO] Resolving project dependencies...": "[INFO] Đang giải quyết các phụ thuộc dự án...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] Đang thử lại tải trình duyệt Playwright qua CDN chính thức...", + "[INFO] Reusing existing virtual environment...": "[INFO] Đang sử dụng lại môi trường ảo hiện có...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] Đang tái sử dụng môi trường ảo hiện có: {path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] Đang quét mã nguồn dự án bằng công cụ AST...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] Đang khởi động công cụ {engine} để biên dịch các tệp nhị phân...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] Đang xóa các tham số biểu tượng và tự động xây dựng lại...", + "[INFO] Successfully installed compatible versions.": "[INFO] Đã cài đặt thành công các phiên bản tương thích.", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] Đang chuyển sang nguồn PyPI dự phòng để truy xuất: {url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] Đang đồng bộ và nâng cấp trình quản lý gói pip...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] Mẹo: Các tệp thực thi không có chữ ký thương mại có thể bị Windows Defender/Phần mềm diệt virus đánh dấu sai.", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] Đang sử dụng trình biên dịch MinGW64 (--mingw64) cho phần phụ trợ C.", + "[INFO] Using MinGW64 compiler.": "[INFO] Đang sử dụng trình biên dịch MinGW64.", + "[INFO] Validating output files and generating final product...": "[INFO] Đang xác thực các tệp đầu ra và tạo sản phẩm cuối cùng...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] Biên dịch hoàn tất, đường dẫn đầu ra: {path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] Đã áp dụng chữ ký số thành công!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] Mã nguồn chứa lỗi cú pháp, biên dịch bị hủy:\n - Tệp: {file}\n - Loại: {type}\n - Dòng: Dòng {line}\n - Chi tiết: {desc}\n\nMẹo: Vui lòng đảm bảo mã nguồn chạy cục bộ trước khi đóng gói.", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] Phân tích cú pháp mã nguồn thất bại, xây dựng bị hủy:\n - Tệp: {file}\n - Dòng: Dòng {line}\n - Chi tiết: {desc}\n\nMẹo: Đây thường KHÔNG phải lỗi của công cụ đóng gói.\nVui lòng đảm bảo [Phiên bản Python xây dựng] bạn chọn khớp với phiên bản bạn đã dùng để [Viết/Kiểm tra mã].\nSử dụng cú pháp mới hơn (ví dụ: toán tử hải mã :=, union kiểu |, match-case) trong môi trường Python cũ hơn sẽ gây ra lỗi này.\nChúng tôi khuyên bạn nên đến [Cài đặt xây dựng] -> [Công cụ] để chuyển sang phiên bản Python chính xác.", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] Đã phát hiện mô-đun 'multiprocessing'. Đảm bảo gọi 'multiprocessing.freeze_support()' trong 'if __name__ == \"__main__\":' để tránh vòng lặp tiến trình vô hạn (fork bombs).", + "[WARN] AST Analysis Exception: {error}": "[WARN] Ngoại lệ phân tích AST: {error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] Hết thời gian chờ lệnh (>{timeout}s)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] Đã phát hiện 'requests' hoặc 'httpx'. Tự động đóng gói chứng chỉ 'certifi' để tránh lỗi SSL.", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] Không thể xóa môi trường không hợp lệ, chuyển sang hộp cát tạm thời: {error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] Chuyển đổi biểu tượng sang .icns thất bại, xây dựng mà không có biểu tượng.", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] Ghi tài nguyên biểu tượng bị chặn (có thể bị hệ thống/phần mềm diệt virus khóa), kích hoạt bảo vệ dự phòng...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] Phát hiện dung lượng đĩa thấp trên ổ đĩa đích xây dựng (Khả dụng: {free:.1f} GB, khuyến nghị >= 5.0 GB). Quá trình xây dựng có thể bị gián đoạn do đĩa đầy.", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] Đã bắt được ngoại lệ cấp phát bộ nhớ (ZstdError / OOM). Kích hoạt dự phòng bảo vệ bộ nhớ: Thử lại ở chế độ đơn luồng...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] Gói '{pkg}' cài đặt thất bại, bỏ qua...", + "[WARN] Pause code injection exception: {error}": "[WARN] Ngoại lệ chèn mã tạm dừng: {error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Cài đặt trình duyệt Playwright thất bại trên tất cả các nguồn, quá trình xây dựng sẽ tiếp tục với rủi ro...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Dự phòng phát hiện thông tin môi trường Python: {error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] Cảnh báo đọc requirements.txt: {error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] Ký thông minh thất bại, nhưng đầu ra xây dựng được giữ lại.", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] Một số phụ thuộc cài đặt thất bại, quá trình xây dựng sẽ tiếp tục với rủi ro...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] Các phiên bản đã chỉ định cài đặt thất bại. Đang loại bỏ ràng buộc phiên bản để tự động khớp tương thích...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] Khuyến nghị mạnh mẽ kiểm tra [Môi trường ảo] để tối đa hóa hiệu quả chế độ lite.", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] Quyền ghi Python hệ thống bị hạn chế. Đang thử lại với chế độ '--user'...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] Phát hiện bộ nhớ hệ thống thấp (phân bổ bộ nhớ zstd thất bại). Tự động thử lại ở chế độ bộ nhớ thấp đơn luồng...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] Dự án mục tiêu nằm trong thư mục Đồng bộ đám mây (ví dụ: OneDrive/Dropbox). Đồng bộ đám mây có thể tạm thời khóa các tệp xây dựng.", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] Kết nối máy chủ dấu thời gian hết thời gian chờ, thực hiện ký nhanh cục bộ...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] Phát hiện việc sử dụng '__file__'. Trong chế độ Một tệp PyInstaller, hãy sử dụng 'sys._MEIPASS' để định vị đáng tin cậy các tệp tài nguyên được đóng gói!", + "\\nProgram execution completed, press Enter to exit...": "\\nChương trình đã thực thi xong, nhấn Enter để thoát..." } diff --git a/qpypack/locales/zh_CN.json b/qpypack/locales/zh_CN.json deleted file mode 100644 index 5fcf0eb..0000000 --- a/qpypack/locales/zh_CN.json +++ /dev/null @@ -1,345 +0,0 @@ -{ - " [Console]": " [控制台]", - " [No Console]": " [无控制台]", - "* Nuitka Auto-manages C Compiler": "* Nuitka 自动接管 C 编译器", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* 赞助完全出于自愿,属于对开源社区的无偿鼓励,不涉及任何商业承诺。感谢您的支持!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ 本地已检测到此版本:
{path}
可直接切换使用,无需重复下载。", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "确定重置所有偏好设置?
所有设置将恢复为默认状态。", - "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "在当前项目下检测到 {count} 个隔离虚拟环境:
{paths}

确定要全部清理以释放磁盘空间吗?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python 环境安装成功!

建议退出软件后重新打开以生效环境变量。", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 环境管理
支持切换本地已检测到的 Python 环境或下载新版本。", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "需要 Python 编译环境
应用构建需要依赖 Python 解释器。
请选择版本以自动下载安装与配置环境变量。
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "未在系统中检测到有效的 Python 环境

QPyPack 需要依赖 Python 才能编译代码。
如果您尚未安装,请前往官网下载安装 (提示:安装界面底部请务必勾选 'Add Python.exe to PATH')。", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "建议: 推荐选择 Python 3.11.9,该版本具备最佳的编译兼容性与引擎支持。", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
解释器
正在自动检测系统环境与支持操作系统情况...", - "AST Scan": "AST 扫描", - "AST scan completed, found {count} dependencies.": "AST 扫描完成,发现 {count} 个隐式依赖。", - "AWS PyPI Mirror (US/EU)": "AWS PyPI 镜像 (美/欧)", - "About": "关于", - "Add Dir": "添加目录", - "Add File": "添加文件", - "Add Mapping": "添加映射", - "Additional Resources (Drag & Drop Supported)": "附加资源 (支持拖拽)", - "Aliyun Cloud (China)": "阿里云镜像", - "Analyze Dependencies (AST)": "分析依赖 (原生 AST)", - "App Icon:": "应用图标:", - "App Metadata & Presets": "元数据与预设", - "Apple Silicon (M-Series) & Intel": "支持 Apple Silicon (M系列) 与 Intel", - "Apple Silicon (M1/M2) & Intel": "支持 Apple Silicon (M1/M2) 与 Intel", - "Attention: Please check the log for details.": "提示: 请检查下方日志排查详细原因。", - "Author/Company:": "作者/公司:", - "Auto Extract Icon": "自动提取图标", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "自动为生成的应用程序添加数字签名,提升系统信任度", - "Auto-patched missing ({count}): {pkgs}": "自动补齐 ({count}): {pkgs}", - "Auto-save Build Log": "自动保存日志", - "Backup PIP Index:": "备用 PIP 源:", - "Browse": "浏览...", - "Build Cancelled": "构建已取消", - "Build Engine:": "构建引擎:", - "Build Failed": "构建失败", - "Build Settings": "构建设置", - "Build Successful": "构建成功", - "Build engine packages ({count}): {pkgs}": "引擎依赖 ({count}): {pkgs}", - "CPU Cores:": "CPU 核心数:", - "Cancel": "取消", - "Cancel & Return": "取消并返回", - "Cert Password:": "证书密钥密码:", - "Certificate Subject (e.g. My Company):": "证书颁发者 (如 My Company):", - "Certificate generated successfully!": "证书生成成功!", - "Certificate password": "证书密钥密码", - "Check log output below for troubleshooting.": "请查看下方日志排查问题", - "Clean Temporary Cache After Build": "构建后清理缓存", - "Clear All": "清空全部", - "Clear Local Venvs": "清理虚拟环境", - "Clear Log": "清空日志", - "Clear Virtual Environments": "清理项目虚拟环境", - "Click to automatically download, install Python, and configure system environment variables.": "点击后将自动下载安装 Python 并配置系统环境变量。", - "Code Signing": "代码签名", - "Comma separated (e.g. pandas, PyQt5)": "逗号分隔 (如 pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "逗号分隔 (如 tkinter, matplotlib)", - "Commercial PFX File:": "商业证书文件 (.pfx):", - "Compatibility Mode (Default)": "兼容模式 (默认)", - "Compatibility depends on build environment glibc version.": "兼容性取决于当前系统的 glibc 版本", - "Concise Log Output": "精简日志", - "Concise Mode": "精简日志", - "Config preset exported to: {path}": "配置预设已成功导出至: {path}", - "Config preset imported successfully.": "配置预设已成功导入。", - "Configure Build Settings": "构建设置", - "Configure Manually": "手动配置路径", - "Confirm Password:": "确认密码:", - "Contents Directory (--contents-directory):": "内部资源目录:", - "Copy": "复制", - "Create": "创建", - "Create Self-Signed Cert": "创建自签证书", - "Custom Directory": "自定义目录", - "Cut": "剪切", - "Declared in requirements.txt ({count}): {pkgs}": "依赖声明 ({count}): {pkgs}", - "Declared in requirements.txt: None": "依赖声明: 无", - "Delete All": "一键清空", - "Dependencies": "依赖管理", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "依赖缺失警告: {pkgs} 安装失败。详情请查看日志。", - "Description:": "描述:", - "Desktop Application": "桌面应用程序", - "Detailed Mode": "详细日志", - "Directory": "目录", - "Discovered via scanner ({count}): {pkgs}": "扫描发现 ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "双击编辑目标路径;支持拖拽", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "双击编辑目标路径;支持拖拽。建议使用「导出预设」进行保存。", - "Download New Version": "下载新版本", - "Download Python": "前往下载 Python", - "Download complete. Starting Python installation...": "下载完成,正在后台安装 Python...", - "Downloading Python {ver}... Please wait.": "正在下载 Python {ver},请稍候...", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "拖拽 Python 脚本 (.py/.pyw) 到此\n或点击浏览", - "Drop Python source code to start": "拖拽 Python 源码至此开始", - "Edit Path": "编辑路径", - "Enable Smart Code Signing": "开启数字签名", - "Enable UPX Compression": "启用 UPX 压缩", - "Engine": "构建引擎", - "Engine & Environment": "引擎与环境", - "Error": "错误", - "Exclude Modules:": "排除模块 (excludes):", - "Execution Log": "执行日志", - "Execution Mode": "执行模式", - "Exit Now": "退出软件", - "Export Log...": "导出日志...", - "Export Preset...": "导出预设...", - "Failed to generate certificate.": "生成证书失败。", - "File": "文件", - "Folder Mode (--onedir)": "文件夹模式 (--onedir)", - "Full backward compatibility": "兼容旧版操作系统", - "Generate": "生成", - "GitHub Repository": "GitHub 仓库", - "Global configuration has been reset.": "全局偏好配置已恢复默认。", - "Hidden Imports:": "隐式导入 (hidden-imports):", - "Hide Console (--noconsole)": "隐藏控制台 (--noconsole)", - "Hide Custom Cert Settings ▾": "折叠证书高级设置 ▾", - "Huawei Cloud (China)": "华为云镜像", - "Import Name": "导入名", - "Import Preset...": "导入预设...", - "Import name (e.g. cv2):": "导入名 (如 cv2):", - "Independent Developer": "独立开发者", - "Initializing build...": "初始化构建...", - "Install Complete": "安装完成", - "Install requirements.txt": "安装 requirements.txt", - "Internal directory name for dependencies (default: _internal)": "内部依赖与资源存放目录名 (默认: _internal)", - "Interpreter:": "解释器:", - "Invalid syntax": "无效语法", - "Issues & Feedback": "问题与反馈", - "Keep Local Venv": "保留当前脚本虚拟环境", - "Later": "稍后", - "Leave blank to auto-detect from environment variables": "留空则从环境变量自动检测", - "Leave blank to auto-detect system default Python": "留空则自动检测系统 Python", - "Leave blank to auto-match script name": "留空则自动匹配脚本名", - "Leave blank to auto-search requirements.txt in current directory": "留空则自动检索当前目录 requirements.txt", - "Legacy macOS Compatible": "兼容旧版 macOS", - "Lite Mode (Smaller size)": "精简模式 (体积小)", - "Loaded: {filename}": "已载入: {filename}", - "Locally Detected Pythons": "已检测环境", - "Lock Core Dependencies": "锁定核心依赖", - "Log saved to: {path}": "日志已保存: {path}", - "Manifest complete (No missing packages)": "清单完整 (无缺失包)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "最大兼容性。适合使用了复杂动态导入的项目。", - "Mirrors & Scanner": "镜像与扫描", - "Modern Cross-Platform Python Application Packager": "现代化的跨平台 Python 应用打包工具", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "基于 PyInstaller 与 Nuitka 的现代化跨平台 Python 打包工具", - "No Windows 7 Support": "不支持 Windows 7", - "No local Python environments detected.": "未检测到本地 Python 环境", - "No local virtual environments found to clean.": "当前项目目录下未发现可清理的虚拟环境。", - "No log content.": "无日志内容。", - "Nuitka Version:": "Nuitka 版本:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — 编译为原生 C/C++ 二进制。体积更小,执行更快,具备强抗反编译能力 (需 C 编译器)。", - "OK": "确定", - "OS Support Matrix:": "支持操作系统情况:", - "One-Click Download & Install": "下载并自动安装", - "One-Click Install": "一键安装 Python", - "One-File Mode (--onefile)": "单文件模式 (--onefile)", - "Only supported on Windows.": "仅支持在 Windows 系统下生成 .pfx 证书。", - "Open Directory": "打开目录", - "Open output directory or reset workspace.": "打开输出目录或重置工作区", - "Optimization & Security": "优化与安全", - "Output Location": "输出位置", - "Output Location:": "保存位置:", - "Output Name:": "输出名称:", - "Package Map": "包名映射", - "Package Name Mappings": "包名映射", - "Package mappings have been reset to defaults.": "包名映射已恢复为默认设置。", - "Packaging Mode:": "打包模式:", - "Parsing metadata...": "解析元数据...", - "Password cannot be empty!": "密码不能为空!", - "Password:": "Password:", - "Passwords do not match!": "两次输入的密码不一致!", - "Paste": "粘贴", - "Performance Optimization": "性能优化", - "Platform Support Matrix:": "平台支持:", - "Preferences": "偏好设置", - "Preferences & System Behavior": "偏好与行为", - "Preparing engine...": "准备引擎...", - "Primary PIP Index:": "主 PIP 源:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "提示:此处资源配置仅对当前项目生效。如需长期复用,请使用「导出预设」。", - "PyInstaller Version:": "PyInstaller 版本:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — 打包解释器与字节码。构建迅速,零配置 (无需 C 编译器),兼容性优异。", - "PyPI Home": "PyPI 主页", - "PyPI Official (Global Default)": "PyPI 官方源 (默认)", - "PyPI Package Name": "PyPI 包名", - "PyPI package name for [{imp_name}]:": "[{imp_name}] 对应 PyPI 包名:", - "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (推荐)", - "Python 3.12.4": "Python 3.12.4", - "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (实验性)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7 兼容)", - "Python 3.9.13": "Python 3.9.13", - "Python Environment Management": "Python 环境管理", - "Python Environment Required": "需要 Python 环境", - "Python Packaging, Reimagined.": "重新定义 Python 应用打包体验", - "Python TestPyPI": "TestPyPI 测试源", - "Python installed. Please restart QPyPack manually later.": "Python 安装完毕。请稍后手动重启 QPyPack 以生效环境变量。", - "QPyPack Developer": "QPyPack 开发者", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack 是一款免费开源工具。如果它提升了您的效率或解决了打包难题,欢迎赞助支持本开源项目。", - "Ready, waiting for build.": "就绪,等待构建", - "Rebuild": "重新构建", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "建议:6位以上,仅使用英文字母、数字、减号及下划线。避免使用中文或空格以防签名失败。", - "Remove Selected": "移除选中项", - "Requirements File:": "依赖清单 (requirements):", - "Reset": "重置", - "Reset to Default Config": "重置默认配置", - "Resources": "附加资源", - "Restore Defaults": "恢复默认", - "Save & Return": "保存并返回", - "Save Certificate": "保存证书", - "Scan Entire Folder": "扫描整个文件夹", - "Script and settings retained. Ready to rebuild.": "已保留当前配置,就绪等待重新构建。", - "Select .pfx / .p12 certificate file": "请选择 .pfx / .p12 格式证书", - "Select All": "全选", - "Select Python Version to Download:": "选择 Python 版本:", - "Self-Signed Certificate (*.pfx)": "自签名证书 (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "产物体积最小。推荐 95% 的常规应用使用。", - "Sound Notification": "完成提示音", - "Source Directory (.qpypack_build)": "源码同级目录 (.qpypack_build)", - "Source File Directory": "源码同级目录", - "Sponsor": "赞助支持", - "Start Build": "开始构建", - "Status: Build Cancelled": "状态: 构建已取消", - "Status: Build Completed": "状态: 构建完成", - "Status: Build Failed": "状态: 构建失败", - "Status: Loaded {filename}{mode}": "状态: 已载入 {filename}{mode}", - "Status: Packaging ({engine}) ...": "状态: 构建中 ({engine})...", - "Status: Parsing {filename}...": "状态: 解析 {filename}...", - "Status: Ready": "状态: 就绪", - "Status: Workspace Reset": "状态: 工作区已重置", - "Stop Build": "停止构建", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "已成功清理 {count} 个虚拟环境,共释放 {size:.1f} MB 磁盘空间。", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "已自动切换至【构建设置】->【构建引擎】,请手动指定 Python 解释器路径。", - "Switched to local Python environment: {path}": "已成功切换至本地 Python 环境: {path}", - "System Default ({sys_native})": "系统默认 ({sys_native})", - "System Temp Directory": "系统 Temp 目录", - "Target Directory:": "自定义路径:", - "Target relative path:": "目标相对路径:", - "Temporary Directory:": "临时目录:", - "Tencent Cloud (China)": "腾讯云镜像", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "提示: 精简模式构建失败。您可以尝试在【构建设置】中勾选 [兼容模式] 重新打包。", - "Toggle Execution Log": "切换日志", - "Tsinghua University (China)": "清华大学镜像", - "UI Language:": "界面语言:", - "UPX Path:": "UPX 路径:", - "USTC (China)": "中科大镜像", - "Undo": "撤销", - "Unknown": "未知", - "Use Custom Commercial Cert (Optional) ▸": "配置商业数字证书 (可选) ▸", - "Use Installed Version Directly": "✔ 本地已存在,直接切换", - "Use Selected Environment": "切换至选中环境", - "Use Virtual Environment": "使用虚拟环境", - "Version:": "版本:", - "View Python": "查看 Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 附加数据中的文件/目录不存在: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 构建中止: 磁盘空间不足 (NoSpaceLeft / Errno 28)。建议预留至少 5GB 可用空间。", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] 构建完成,但以下依赖安装失败:\n\n - {pkgs}\n\n注意: 运行时程序可能会抛出 ModuleNotFoundError。", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 临时构建目录未找到可执行产物: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 解析异常: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 虚拟环境创建失败。环境可能缺失模块或权限受限。", - "[ERROR] Failed to export log file: {error}": "[ERROR] 导出日志失败: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] 导出预设失败: {error}", - "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O 异常: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] 磁盘空间不足 (可用 {free:.1f} GB)。至少需 0.5 GB 才能安全初始化环境。", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 目标输出目录无写入权限: {error}", - "[ERROR] Please load a valid Python source file first!": "[ERROR] 请加载有效的 Python 源码!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] 预设文件格式错误或已损坏: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] 进程错误: 命令或二进制文件缺失 ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 构建产物转移失败,文件可能被占用或无写入权限: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python 安装失败或已被主动取消。", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python 解释器无效或未找到: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] 指定的依赖清单文件不存在: {path}", - "[ERROR] System execution exception: {error}": "[ERROR] 系统执行异常: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 目标文件被云盘锁定或加密,请解密后重试。", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] 目标程序正在运行或被占用。请先关闭程序后再重新构建。", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 指定的应用图标文件不存在: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] 构建异常中断!\n\n常见原因排查:\n1. 环境不匹配 (最常见):您选择的打包 Python 版本与您的源码不兼容。请前往【构建设置】切换为您平时开发运行该代码的 Python 版本。\n2. 依赖缺失:请点击上方切换至「详细日志」,查看是否有模块未找到 (ModuleNotFoundError)。\n3. 杀毒软件拦截:请检查是否有安全软件阻止了打包过程。\n\n(注意:这通常是环境配置与代码差异导致,并非打包引擎本身故障,请查阅详细日志获取确切原因。)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 构建异常中断,请切换至「详细日志」排查原因。", - "[INFO] Analyzing source code and project dependencies...": "[INFO] 分析源码与依赖...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] 已通过时间戳服务器 ({tsa}) 完成数字签名与盖章...", - "[INFO] Applying smart digital signature...": "[INFO] 正在为应用程序添加数字签名...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.", - "[INFO] Build Cancelled.": "[INFO] 构建已取消。", - "[INFO] Build log exported to: {path}": "[INFO] 日志已导出: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] 编译完成,归档构建产物...", - "[INFO] Creating virtual environment ({name})...": "[INFO] 创建隔离虚拟环境 ({name})...", - "[INFO] Creating virtual environment...": "[INFO] 创建虚拟环境...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] 通过镜像下载 Playwright 浏览器: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] 评估系统可用物理内存 ({ram:.1f} GB),动态调整并发数: {cores} -> {safe_jobs}", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] 检测到本地 Clang 环境,优先使用 LLVM Clang 编译器。", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] 检测到本地 GCC/MinGW-w64 环境,优先使用 MinGW64 编译器。", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] 检测到本地 MSVC 环境,优先使用原生 C++ 编译器。", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] 检测到本地 Zig 环境,由 Nuitka 接管 C 后端编译。", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 清理临时构建环境...", - "[INFO] Initializing isolated build environment...": "[INFO] 初始化构建环境...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 安装依赖 ({count}): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 启用精简模式,应用字节码优化 (-OO) 并剔除开发环境模块...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] 未检测到本地 C 编译器,Nuitka 将自动下载并管理兼容的 MinGW-w64 工具链。", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka 提示: 首次构建如需下载 GCC/MinGW,请确保网络畅通。", - "[INFO] Performing pre-flight environment checks...": "[INFO] 执行预构建环境检查...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] 检测到 Playwright。正在安装内置浏览器驱动...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+: 使用 Zig 编译器。", - "[INFO] Python interpreter path: {path}": "[INFO] Python 路径: {path}", - "[INFO] Resolving project dependencies...": "[INFO] 解析项目依赖...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 通过官方 CDN 重试下载 Playwright 浏览器...", - "[INFO] Reusing existing virtual environment...": "[INFO] 复用本地已存在的虚拟环境...", - "[INFO] Reusing existing virtual environment: {path}": "[INFO] 复用本地隔离虚拟环境: {path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] 使用原生 AST 引擎扫描依赖...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] 启动 {engine} 引擎编译...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] 移除图标参数并重新构建...", - "[INFO] Successfully installed compatible versions.": "[INFO] 已成功安装兼容版本。", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] 切换备用 PyPI 源: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] 更新 pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] 提示: 独立可执行程序可能被安全软件误报。建议加入白名单或添加代码签名。", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] 使用 MinGW64 编译器。", - "[INFO] Using MinGW64 compiler.": "[INFO] Using MinGW64 compiler.", - "[INFO] Validating output files and generating final product...": "[INFO] 校验并生成最终产物...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] 构建成功,输出路径: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] 数字签名添加成功!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[ERROR] 源码语法错误,构建中止:\n - 文件: {file}\n - 类型: {type}\n - 行号: {line}\n - 详情: {desc}\n\n提示: 请确保源码可在本地运行。", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] 源码语法解析失败,构建中止:\n - 文件: {file}\n - 行号: {line}\n - 详情: {desc}\n\n提示:这通常不是打包工具的故障。\n请确认您当前选择的【打包 Python 版本】与您【编写代码时的版本】是否一致。\n高版本语法(如海象运算符 :=、类型联合 |、match-case 等)在低版本 Python 中会导致此错误。\n建议前往【构建设置】->【构建引擎】切换至对应版本的 Python。", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 检测到 multiprocessing 模块。请确保在 'if __name__ == \"__main__\":' 块内调用 'multiprocessing.freeze_support()',以防引发无限进程死机。", - "[WARN] AST Analysis Exception: {error}": "[WARN] AST 分析异常: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] 命令超时 (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 检测到网络请求库,自动捆绑 'certifi' 根证书以防止 SSL 异常。", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] 清理失效环境失败,降级为临时沙箱: {error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] 图标转换为 .icns 失败,将不使用图标构建。", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] 图标资源写入被拦截 (可能受安全软件限制),触发降级机制...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] 目标磁盘空间不足 (可用: {free:.1f} GB,推荐 >= 5.0 GB)。", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] 捕获内存分配异常 (ZstdError/OOM),降级为单线程模式重试...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 包 '{pkg}' 安装失败,已跳过...", - "[WARN] Pause code injection exception: {error}": "[WARN] 注入暂停代码异常: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] 所有 Playwright 浏览器下载源均失败,继续构建 (有风险)...", - "[WARN] Python environment info detection fallback: {error}": "[WARN] Python 环境信息检测降级: {error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] 读取 requirements.txt 警告: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] 数字签名未成功,但应用产物已正常保留。", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 部分依赖安装失败,继续构建 (有风险)。", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 指定版本安装失败,尝试自动匹配兼容版本...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 强烈建议启用「虚拟环境」以最大化精简效果。", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] 内存不足 (zstd 分配失败),降级为单线程模式重试...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] 项目位于云同步目录,可能锁定构建文件。", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] 时间戳服务器连通超时,进行本地快速签名...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] 侦测到 '__file__' 的使用。在 PyInstaller 单文件模式下,请使用 'sys._MEIPASS' 定位资源释放路径,以免引发文件丢失错误。", - "\\nProgram execution completed, press Enter to exit...": "\\n程序执行完成,按回车键退出..." -} diff --git a/qpypack/locales/zh_TW.json b/qpypack/locales/zh_TW.json index 8db46cd..cde1550 100644 --- a/qpypack/locales/zh_TW.json +++ b/qpypack/locales/zh_TW.json @@ -1,345 +1,370 @@ { - " [Console]": " [主控台]", - " [No Console]": " [無主控台]", - "* Nuitka Auto-manages C Compiler": "* Nuitka 自動接管 C 編譯器", - "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* 贊助完全出於自願,屬於對開源社群的無償鼓勵,不涉及任何商業承諾。感謝您的支持!", - "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ 本地已偵測到此版本:
{path}
可直接切換使用,無需重複下載。", - "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "確定重置所有偏好設定?
所有設定將恢復為預設狀態。", + " [Console]": "[主控台]", + " [No Console]": "[無主控台]", + "* Nuitka Auto-manages C Compiler": "* Nuitka 自動管理 C 編譯器", + "* Sponsorship is completely voluntary, serves as an unconditional encouragement to the open-source community, and involves no commercial commitments. Thank you for your support!": "* 贊助完全自願,是對開源社群的無條件鼓勵,不涉及任何商業承諾。感謝您的支持!", + "✔ Detected locally:
{path}
Ready to switch directly without re-downloading.": "✔ 本機偵測到:
{path}
可直接切換,無需重新下載。", + "Are you sure you want to reset all preferences?
All settings will be restored to default state.": "您確定要重設所有偏好設定嗎?
所有設定將恢復為預設狀態。", "Found {count} virtual environment(s) for the current project:
{paths}

Are you sure you want to delete them to free up disk space?": "找到目前專案的 {count} 個虛擬環境:
{paths}

您確定要刪除它們以釋放磁碟空間嗎?", - "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python 環境安裝成功!

建議退出軟體後重新打開以生效環境變數。", - "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 環境管理
支援切換本地已偵測到的 Python 環境或下載新版本。", - "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "需要 Python 建置環境
應用程式建置需要依賴 Python 解譯器。
請選擇版本以自動下載安裝與設定環境變數。
", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "未在系統中偵測到有效的 Python 環境!

QPyPack 需要 Python 才能編譯代碼。
如果您尚未安裝,請前往下載安裝 (提示:安裝時請務必勾選 'Add Python.exe to PATH')。", - "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "系統未偵測到 Python!

QPyPack 需要 Python 環境來編譯您的程式碼。
如果您尚未安裝 Python,請下載並安裝。", - "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "建議: 推薦選擇 Python 3.11.9,該版本具備最佳的編譯相容性與引擎支援。", - "
Interpreter
Auto-detecting system environment and OS support matrix...": "
解譯器
正在自動偵測系統環境與支援作業系統情況...", + "Python Environment Installed Successfully!

System environment variables updated. Recommended to exit and restart the software to apply changes.": "Python 環境安裝成功!

系統環境變數已更新。建議退出並重新啟動軟體以套用變更。", + "Python Environment Management
Supports switching locally detected Python environments or downloading new versions.": "Python 環境管理
支援切換本機偵測到的 Python 環境或下載新版本。", + "Python Environment Required
Application build depends on a Python interpreter.
Please select a version to automatically download, install, and configure environment variables.
": "需要 Python 環境
應用程式建置依賴 Python 直譯器。
請選擇版本以自動下載、安裝並設定環境變數。
", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it (remember to check 'Add Python.exe to PATH' during installation).": "系統中未偵測到 Python!

QPyPack 需要 Python 環境來編譯您的程式碼。
如果您尚未安裝 Python,請下載並安裝(安裝時請記得勾選'Add Python.exe to PATH')。", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "系統中未偵測到 Python!

QPyPack 需要 Python 環境來編譯您的程式碼。
如果您尚未安裝 Python,請下載並安裝。", + "Recommendation: Python 3.11.9 is recommended for optimal build compatibility and engine support.": "建議:建議使用 Python 3.11.9 以獲得最佳的建置相容性和引擎支援。", + "
Interpreter
Auto-detecting system environment and OS support matrix...": "
直譯器
正在自動偵測系統環境和作業系統支援矩陣...", "AST Scan": "AST 掃描", - "AST scan completed, found {count} dependencies.": "AST 掃描完成,發現 {count} 個隱式依賴。", - "AWS PyPI Mirror (US/EU)": "AWS PyPI 鏡像 (美/歐)", + "AST scan completed, found {count} dependencies.": "AST 掃描完成,找到 {count} 個依賴項。", + "AWS PyPI Mirror (US/EU)": "AWS PyPI 鏡像(美國/歐盟)", "About": "關於", + "Active backport conflicts detected ({count}): {pkgs}": "偵測到作用中的反向移植衝突({count}):{pkgs}", + "Add Backport Rule": "新增反向移植規則", "Add Dir": "新增目錄", "Add File": "新增檔案", - "Add Mapping": "新增對映", - "Additional Resources (Drag & Drop Supported)": "附加資源 (支援拖放)", - "Aliyun Cloud (China)": "阿里雲鏡像", - "Analyze Dependencies (AST)": "分析依賴 (原生 AST)", - "App Icon:": "應用程式圖示:", - "App Metadata & Presets": "元資料與預設", - "Apple Silicon (M-Series) & Intel": "支援 Apple Silicon (M系列) 與 Intel", - "Apple Silicon (M1/M2) & Intel": "支援 Apple Silicon (M1/M2) 與 Intel", - "Attention: Please check the log for details.": "提示: 請檢查下方日誌排查詳細原因。", - "Author/Company:": "開發者/公司:", - "Auto Extract Icon": "自動擷取圖示", - "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "自動為產生的應用程式新增數位簽章,提升系統信任度", - "Auto-patched missing ({count}): {pkgs}": "自動補齊 ({count}): {pkgs}", - "Auto-save Build Log": "自動儲存日誌", - "Backup PIP Index:": "備用 PIP 源:", - "Browse": "瀏覽...", + "Add Mapping": "新增對應", + "Additional Resources (Drag & Drop Supported)": "其他資源(支援拖放)", + "Aliyun Cloud (China)": "阿里雲(中國)", + "Analyze Dependencies (AST)": "分析依賴項(AST)", + "App Icon:": "應用程式圖示::", + "App Metadata & Presets": "應用程式中繼資料與預設", + "Apple Silicon (M-Series) & Intel": "Apple Silicon(M 系列)與 Intel", + "Apple Silicon (M1/M2) & Intel": "Apple Silicon(M1/M2)與 Intel", + "Attention: Please check the log for details.": "注意:請查看日誌以了解詳情。", + "Author/Company:": "作者/公司::", + "Auto Extract Icon": "自動提取圖示", + "Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning": "自動對建置的應用程式套用數位簽章,消除「未知發行者」警告", + "Auto-patched missing ({count}): {pkgs}": "自動修補缺失({count}):{pkgs}", + "Auto-save Build Log": "自動儲存建置日誌", + "Backport exclusion rules have been reset to defaults.": "回溯排除規則已重設為預設值。", + "Backup PIP Index:": "備份 PIP 索引::", + "Browse": "瀏覽", "Build Cancelled": "建置已取消", - "Build Engine:": "建置引擎:", + "Build Engine:": "建置引擎::", "Build Failed": "建置失敗", "Build Settings": "建置設定", "Build Successful": "建置成功", - "Build engine packages ({count}): {pkgs}": "引擎依賴 ({count}): {pkgs}", - "CPU Cores:": "CPU 核心數:", - "Cancel": "取消", + "Build engine packages ({count}): {pkgs}": "建置引擎套件({count}):{pkgs}", + "CPU Cores:": "CPU 核心數::", "Cancel & Return": "取消並返回", - "Cert Password:": "憑證金鑰密碼:", - "Certificate Subject (e.g. My Company):": "憑證頒發者 (如 My Company):", - "Certificate generated successfully!": "憑證產生成功!", - "Certificate password": "憑證金鑰密碼", - "Check log output below for troubleshooting.": "檢查日誌排查錯誤", - "Clean Temporary Cache After Build": "建置後清除快取", - "Clear All": "清除全部", + "Cert Password:": "憑證密碼::", + "Certificate Subject (e.g. My Company):": "憑證主體(例如:我的公司)::", + "Certificate generated successfully!": "憑證已成功產生!", + "Certificate password": "憑證密碼", + "Check log output below for troubleshooting.": "請查看下方日誌輸出以進行疑難排解。", + "Clean Temporary Cache After Build": "建置後清理暫存快取", + "Clear All": "全部清除", "Clear Local Venvs": "清除本機虛擬環境", "Clear Log": "清除日誌", "Clear Virtual Environments": "清除虛擬環境", - "Click to automatically download, install Python, and configure system environment variables.": "點擊後將自動下載安裝 Python 並設定系統環境變數。", + "Click to automatically download, install Python, and configure system environment variables.": "點擊以自動下載、安裝 Python 並設定系統環境變數。", "Code Signing": "程式碼簽章", - "Comma separated (e.g. pandas, PyQt5)": "逗號分隔 (如: pandas, PyQt5)", - "Comma separated (e.g. tkinter, matplotlib)": "逗號分隔 (如: tkinter, matplotlib)", - "Commercial PFX File:": "商業憑證檔案 (.pfx):", - "Compatibility Mode (Default)": "相容模式 (預設)", - "Compatibility depends on build environment glibc version.": "相容性取決於當前系統的 glibc 版本", - "Concise Log Output": "精簡日誌輸出", + "Comma separated (e.g. pandas, PyQt5)": "逗號分隔(例如 pandas, PyQt5)", + "Comma separated (e.g. tkinter, matplotlib)": "逗號分隔(例如 tkinter, matplotlib)", + "Commercial PFX File:": "商業 PFX 檔案::", + "Compatibility Mode (Default)": "相容性模式(預設)", + "Compatibility depends on build environment glibc version.": "相容性取決於建置環境的 glibc 版本。", + "Concise Log Output": "簡潔日誌輸出", "Concise Mode": "簡潔模式", - "Config preset exported to: {path}": "設定預設檔已成功匯出至: {path}", - "Config preset imported successfully.": "設定預設檔已成功匯入。", - "Configure Build Settings": "設定建置參數", - "Configure Manually": "手動設定路徑", - "Confirm Password:": "確認密碼:", - "Contents Directory (--contents-directory):": "內部資源目錄:", + "Config preset exported to: {path}": "設定預設已匯出至:{path}", + "Config preset imported successfully.": "設定預設已成功匯入。", + "Configure Build Settings": "設定建置選項", + "Configure Manually": "手動設定", + "Confirm Password:": "確認密碼::", + "Contents Directory (--contents-directory):": "內容目錄(--contents-directory)::", "Copy": "複製", "Create": "建立", "Create Self-Signed Cert": "建立自簽憑證", "Custom Directory": "自訂目錄", - "Cut": "剪切", - "Declared in requirements.txt ({count}): {pkgs}": "requirements.txt 聲明 ({count}): {pkgs}", - "Declared in requirements.txt: None": "requirements.txt 聲明: 無", + "Cut": "剪下", + "Declared in requirements.txt ({count}): {pkgs}": "在 requirements.txt 中宣告({count}):{pkgs}", + "Declared in requirements.txt: None": "在 requirements.txt 中宣告:無", "Delete All": "全部刪除", - "Dependencies": "依賴管理", - "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "依賴缺失警告: {pkgs} 安裝失敗。詳情請查看日誌。", - "Description:": "描述:", + "Deleting...": "刪除中...", + "Dependencies": "相依套件", + "Dependency Missing Warning: {pkgs} failed to install. Check log for details.": "缺少相依套件警告:{pkgs} 安裝失敗。請查看日誌以了解詳細資訊。", + "Description:": "描述::", "Desktop Application": "桌面應用程式", "Detailed Mode": "詳細模式", "Directory": "目錄", - "Discovered via scanner ({count}): {pkgs}": "掃描發現 ({count}): {pkgs}", - "Double-click to edit target path; Drag & drop supported": "雙擊編輯目標路徑;支援拖放", - "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "雙擊編輯目標路徑;支援拖放。建議使用「匯出預設」進行儲存。", + "Discovered via scanner ({count}): {pkgs}": "透過掃描器發現({count}):{pkgs}", + "Double-click to edit target path; Drag & drop supported": "雙擊以編輯目標路徑;支援拖放", + "Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.": "雙擊以編輯目標路徑;支援拖放。使用「匯出預設」以儲存供重複使用。", "Download New Version": "下載新版本", - "Download Python": "前往下載 Python", - "Download complete. Starting Python installation...": "下載完成,正在安裝 Python,請稍候...", - "Downloading Python {ver}... Please wait.": "正在下載 Python {ver},請稍候...", - "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "將 Python 腳本 (.py/.pyw) 拖放至此\n或點擊瀏覽...", - "Drop Python source code to start": "拖入 Python 原始碼,即刻啟程", + "Download Python": "下載 Python", + "Download complete. Starting Python installation...": "下載完成。正在開始安裝 Python...", + "Downloading Python {ver}... Please wait.": "正在下載 Python {ver}... 請稍候。", + "Drag & Drop Python script (.py/.pyw) here\nor Click to Browse": "將 Python 腳本(.py/.pyw)拖放到此處\n或點擊瀏覽", + "Drop Python source code to start": "拖放 Python 原始碼以開始", "Edit Path": "編輯路徑", - "Enable Smart Code Signing": "開啟數位簽章", + "Enable Automatic Backport Isolation": "啟用自動回溯隔離", + "Enable Smart Code Signing": "啟用智慧程式碼簽署", "Enable UPX Compression": "啟用 UPX 壓縮", - "Engine": "建置引擎", - "Engine & Environment": "建置引擎與環境", + "Engine": "引擎", + "Engine & Environment": "引擎與環境", + "Environment Analysis": "環境分析", + "Environment Analysis & Remediation": "環境分析與修復", "Error": "錯誤", - "Exclude Modules:": "排除模組 (excludes):", + "Exclude Modules:": "排除模組::", "Execution Log": "執行日誌", "Execution Mode": "執行模式", - "Exit Now": "退出軟體", + "Exit Now": "立即退出", "Export Log...": "匯出日誌...", "Export Preset...": "匯出預設...", "Failed to generate certificate.": "產生憑證失敗。", "File": "檔案", "Folder Mode (--onedir)": "資料夾模式 (--onedir)", - "Full backward compatibility": "相容舊版作業系統", + "Full backward compatibility": "完整向後相容", "Generate": "產生", - "GitHub Repository": "GitHub 倉庫", - "Global configuration has been reset.": "全域設定已恢復預設。", - "Hidden Imports:": "隱式匯入 (hidden-imports):", - "Hide Console (--noconsole)": "隱藏主控台 (--noconsole)", - "Hide Custom Cert Settings ▾": "折疊憑證進階設定 ▾", - "Huawei Cloud (China)": "華為雲鏡像", - "Import Name": "匯入名", + "GitHub Repository": "GitHub 儲存庫", + "Global configuration has been reset.": "全域設定已重設。", + "Hidden Imports:": "隱藏匯入::", + "Hide Console (--noconsole)": "隱藏控制台 (--noconsole)", + "Hide Custom Cert Settings ▾": "隱藏自訂憑證設定 ▾", + "Huawei Cloud (China)": "華為雲(中國)", + "Import Name": "匯入名稱", "Import Preset...": "匯入預設...", - "Import name (e.g. cv2):": "匯入名 (如 cv2):", + "Import name (e.g. cv2):": "匯入名稱(例如 cv2)::", "Independent Developer": "獨立開發者", - "Initializing build...": "初始化建置...", + "Initializing build...": "正在初始化建置...", + "Inspect Interpreter Environment": "檢查直譯器環境", "Install Complete": "安裝完成", "Install requirements.txt": "安裝 requirements.txt", - "Internal directory name for dependencies (default: _internal)": "內部依賴與資源存放目錄名 (預設: _internal)", - "Interpreter:": "解譯器:", + "Internal directory name for dependencies (default: _internal)": "依賴項的內部目錄名稱(預設:_internal)", + "Interpreter inspection passed: No active backport conflicts detected.": "直譯器檢查通過:未偵測到活動的向後相容衝突。", + "Interpreter:": "直譯器::", "Invalid syntax": "無效語法", "Issues & Feedback": "問題與回饋", "Keep Local Venv": "保留本機虛擬環境", "Later": "稍後", - "Leave blank to auto-detect from environment variables": "留空則從環境變數自動偵測", - "Leave blank to auto-detect system default Python": "留空則自動偵測系統預設 Python", - "Leave blank to auto-match script name": "留空則自動比對腳本名稱", - "Leave blank to auto-search requirements.txt in current directory": "留空則自動搜尋 requirements.txt", - "Legacy macOS Compatible": "相容舊版 macOS", - "Lite Mode (Smaller size)": "精簡模式 (體積小)", - "Loaded: {filename}": "已載入: {filename}", - "Locally Detected Pythons": "已偵測環境", - "Lock Core Dependencies": "鎖定核心依賴", - "Log saved to: {path}": "日誌已儲存: {path}", - "Manifest complete (No missing packages)": "清單完整 (無缺失包)", - "Maximum compatibility. Recommended for apps with complex dynamic imports.": "最大相容性。適合使用了複雜動態導入的專案。", - "Mirrors & Scanner": "鏡像源與掃描設定", - "Modern Cross-Platform Python Application Packager": "現代化的跨平台 Python 應用程式打包工具", - "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "基於 PyInstaller 與 Nuitka 的現代化跨平台 Python 打包工具", + "Leave blank to auto-detect from environment variables": "留空以從環境變數自動偵測", + "Leave blank to auto-detect system default Python": "留空以自動偵測系統預設 Python", + "Leave blank to auto-match script name": "留空以自動比對腳本名稱", + "Leave blank to auto-search requirements.txt in current directory": "留空以在目前目錄自動搜尋 requirements.txt", + "Legacy macOS Compatible": "舊版 macOS 相容", + "Lite Mode (Smaller size)": "精簡模式(較小體積)", + "Loaded: {filename}": "已載入:{filename}", + "Locally Detected Pythons": "本機偵測到的 Python", + "Lock Core Dependencies": "鎖定核心依賴項", + "Log saved to: {path}": "日誌已儲存至:{path}", + "Manifest complete (No missing packages)": "清單完成(無缺少套件)", + "Maximum compatibility. Recommended for apps with complex dynamic imports.": "最大相容性。建議用於具有複雜動態匯入的應用程式。", + "Min Python Ver": "最低 Python 版本", + "Minimum Built-in Python Version (e.g. 3.4):": "最低內建 Python 版本(例如:3.4)::", + "Mirrors & Scanner": "鏡像與掃描器", + "Modern Cross-Platform Python Application Packager": "現代跨平台 Python 應用程式打包器", + "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka": "由 PyInstaller 與 Nuitka 驅動的現代跨平台 Python 打包 GUI", "No Windows 7 Support": "不支援 Windows 7", - "No local Python environments detected.": "未偵測到本地 Python 環境", - "No local virtual environments found to clean.": "找不到可清除的本機虛擬環境。", + "No environment conflicts detected.": "未偵測到環境衝突。", + "No local Python environments detected.": "未偵測到本機 Python 環境。", + "No local virtual environments found to clean.": "找不到可清理的本機虛擬環境。", "No log content.": "無日誌內容。", - "Nuitka Version:": "Nuitka 版本:", - "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — 編譯原始碼為原生 C/C++ 二進位檔。體積更小,執行更快,抗反編譯(需 C 編譯器)。", - "OK": "確定", - "OS Support Matrix:": "支援作業系統情況:", - "One-Click Download & Install": "下載並自動安裝", + "Nuitka Version:": "Nuitka 版本::", + "Nuitka — Compiles source code into native C/C++ binary. Produces smaller package size, faster execution, and deep anti-decompilation protection (requires C compiler).": "Nuitka — 將原始碼編譯為原生 C/C++ 二進位檔。產生較小的套件大小、更快的執行速度,以及深層的反反編譯保護(需要 C 編譯器)。", + "OK": "OK", + "OS Support Matrix:": "作業系統支援矩陣::", + "Obsolete Backport Exclusion Rules": "過時回溯排除規則", + "One-Click Download & Install": "一鍵下載與安裝", "One-Click Install": "一鍵安裝", - "One-File Mode (--onefile)": "單一檔案 (--onefile)", - "Only supported on Windows.": "僅支援在 Windows 系統下產生 .pfx 憑證。", - "Open Directory": "打開目錄", - "Open output directory or reset workspace.": "打開輸出目錄或重置工作區", - "Optimization & Security": "效能優化與安全", + "One-File Mode (--onefile)": "單一檔案模式(--onefile)", + "Only supported on Windows.": "僅支援 Windows。", + "Open Directory": "開啟目錄", + "Open output directory or reset workspace.": "開啟輸出目錄或重設工作區。", + "Optimization & Security": "最佳化與安全性", "Output Location": "輸出位置", - "Output Location:": "儲存位置:", - "Output Name:": "輸出名稱:", - "Package Map": "套件名稱對映", - "Package Name Mappings": "套件名稱對映", - "Package mappings have been reset to defaults.": "套件名稱對映已恢復為預設值。", - "Packaging Mode:": "打包模式:", - "Parsing metadata...": "解析元資料...", - "Password cannot be empty!": "密碼不能為空!", - "Password:": "密碼:", - "Passwords do not match!": "兩次輸入的密碼不一致!", + "Output Location:": "輸出位置::", + "Output Name:": "輸出名稱::", + "Package Map": "套件對應", + "Package Mapping & Remediation": "套件對應與修復", + "Package Mappings & Rules": "套件對應與規則", + "Package Name": "套件名稱", + "Package Name (e.g. pathlib):": "套件名稱(例如:pathlib)::", + "Package Name Mappings": "套件名稱對應", + "Package mappings have been reset to defaults.": "套件對應已重設為預設值。", + "Packaging Mode:": "打包模式::", + "Parsing metadata...": "正在解析中繼資料...", + "Password cannot be empty!": "密碼不可為空!", + "Password:": "密碼::", + "Passwords do not match!": "密碼不相符!", "Paste": "貼上", - "Performance Optimization": "效能優化", - "Platform Support Matrix:": "平台支援:", + "Performance Optimization": "效能最佳化", + "Platform Support Matrix:": "平台支援矩陣::", "Preferences": "偏好設定", - "Preferences & System Behavior": "偏好與系統行為", - "Preparing engine...": "準備引擎...", - "Primary PIP Index:": "主 PIP 源:", - "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "提示:此處設定僅對當前專案生效。若需長期複用請使用「匯出預設」。", - "PyInstaller Version:": "PyInstaller 版本:", - "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — 打包 Python 解譯器與位元組碼。建置快,零配置(無需 C 編譯器),相容性佳。", - "PyPI Home": "PyPI 主頁", - "PyPI Official (Global Default)": "PyPI 官方源 (預設)", - "PyPI Package Name": "PyPI 套件名", - "PyPI package name for [{imp_name}]:": "[{imp_name}] 對應 PyPI 套件名:", + "Preferences & System Behavior": "偏好設定與系統行為", + "Preparing engine...": "正在準備引擎...", + "Primary PIP Index:": "主要 PIP 索引::", + "Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.": "專案專屬。不會儲存至全域偏好設定。請使用「匯出預設」來儲存設定。", + "PyInstaller Version:": "PyInstaller 版本::", + "PyInstaller — Bundles Python interpreter and bytecode. Fast build speed, zero configuration (no C compiler needed), and excellent compatibility.": "PyInstaller — 捆綁 Python 直譯器與位元組碼。建置速度快、零設定(無需 C 編譯器),且相容性極佳。", + "PyPI Home": "PyPI 首頁", + "PyPI Official (Global Default)": "PyPI 官方(全域預設)", + "PyPI Package Name": "PyPI 套件名稱", + "PyPI package name for [{imp_name}]:": "[{imp_name}] 的 PyPI 套件名稱::", "Python 3.10.11": "Python 3.10.11", - "Python 3.11.9 (Recommended)": "Python 3.11.9 (推薦)", + "Python 3.11.9 (Recommended)": "Python 3.11.9(建議)", "Python 3.12.4": "Python 3.12.4", "Python 3.13.0": "Python 3.13.0", - "Python 3.14.6 (Experimental)": "Python 3.14.6 (實驗性)", - "Python 3.8.10 (Win7 Support)": "Python 3.8.10 (Win7 相容)", + "Python 3.14.6 (Experimental)": "Python 3.14.6(實驗性)", + "Python 3.8.10 (Win7 Support)": "Python 3.8.10(支援 Win7)", "Python 3.9.13": "Python 3.9.13", "Python Environment Management": "Python 環境管理", "Python Environment Required": "需要 Python 環境", - "Python Packaging, Reimagined.": "重新定義 Python 應用程式打包體驗", - "Python TestPyPI": "TestPyPI 測試源", - "Python installed. Please restart QPyPack manually later.": "Python 已安裝,請稍後手動重啟軟體。", + "Python Packaging, Reimagined.": "Python 打包,重新定義。", + "Python TestPyPI": "Python TestPyPI", + "Python installed. Please restart QPyPack manually later.": "Python 已安裝。請稍後手動重新啟動 QPyPack。", "QPyPack Developer": "QPyPack 開發者", - "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack 是一款免費開源工具。如果它為您提升了效率或解決了打包難題,歡迎贊助支持!", - "Ready, waiting for build.": "就緒,等待建置", + "QPyPack is a free and open-source tool. If it has improved your efficiency or solved packaging problems, consider buying the author a coffee!": "QPyPack 是免費且開源的工具。如果它提升了您的效率或解決了打包問題,請考慮請作者喝杯咖啡!", + "Ready, waiting for build.": "就緒,等待建置。", "Rebuild": "重新建置", - "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "建議:6位以上,僅使用英文字母、數字、減號及底線。避免使用中文或空格以防簽章失敗。", - "Remove Selected": "移除選取", - "Requirements File:": "依賴清單 (requirements):", + "Recommendation: 6+ chars, alphanumeric, '-' and '_' only. Avoid spaces or Chinese to prevent signing errors.": "建議:6 個字元以上,僅限英數字、'-' 和 '_'。避免空格或中文,以防止簽署錯誤。", + "Remediate Detected Conflicts": "修復偵測到的衝突", + "Remediation completed for packages: {pkgs}": "已完成套件修復:{pkgs}", + "Remove Selected": "移除選取項目", + "Requirements File:": "需求檔案::", "Reset": "重設", "Reset to Default Config": "重設為預設設定", - "Resources": "附加資源", + "Resources": "資源", "Restore Defaults": "還原預設值", "Save & Return": "儲存並返回", "Save Certificate": "儲存憑證", "Scan Entire Folder": "掃描整個資料夾", - "Script and settings retained. Ready to rebuild.": "已保留當前設定,就緒等待重新建置。", - "Select .pfx / .p12 certificate file": "請選擇 .pfx / .p12 格式憑證", + "Scanning...": "掃描中...", + "Script and settings retained. Ready to rebuild.": "腳本和設定已保留。準備重新建置。", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "腳本已載入。您可以將資產資料夾或資料檔案直接拖曳到這裡以進行捆綁。", + "Select .pfx / .p12 certificate file": "選擇 .pfx / .p12 憑證檔案", "Select All": "全選", - "Select Python Version to Download:": "選擇 Python 版本:", - "Self-Signed Certificate (*.pfx)": "自簽名憑證 (*.pfx)", - "Smaller output size. Recommended for 95% of standard apps.": "產物體積最小。推薦 95% 的常規應用程式使用。", - "Sound Notification": "完成提示音", - "Source Directory (.qpypack_build)": "原始碼同級目錄 (.qpypack_build)", - "Source File Directory": "原始碼同級目錄", - "Sponsor": "贊助支持", + "Select Python Version to Download:": "選擇要下載的 Python 版本::", + "Self-Signed Certificate (*.pfx)": "自簽憑證 (*.pfx)", + "Smaller output size. Recommended for 95% of standard apps.": "較小的輸出大小。建議用於 95% 的標準應用程式。", + "Sound Notification": "聲音通知", + "Source Directory (.qpypack_build)": "來源目錄 (.qpypack_build)", + "Source File Directory": "來源檔案目錄", + "Sponsor": "贊助", "Start Build": "開始建置", - "Status: Build Cancelled": "狀態: 建置已取消", - "Status: Build Completed": "狀態: 建置完成", - "Status: Build Failed": "狀態: 建置失敗", - "Status: Loaded {filename}{mode}": "狀態: 已載入 {filename}{mode}", - "Status: Packaging ({engine}) ...": "狀態: 建置中 ({engine})...", - "Status: Parsing {filename}...": "狀態: 解析 {filename}...", - "Status: Ready": "狀態: 就緒", - "Status: Workspace Reset": "狀態: 工作區已重置", + "Status: Build Cancelled": "狀態:建置已取消", + "Status: Build Completed": "狀態:建置已完成", + "Status: Build Failed": "狀態:建置失敗", + "Status: Environment inspection ready.": "狀態:環境檢查就緒。", + "Status: Loaded {filename}{mode}": "狀態:已載入 {filename}{mode}", + "Status: Packaging ({engine}) ...": "狀態:正在打包 ({engine}) ...", + "Status: Parsing {filename}...": "狀態:正在解析 {filename}...", + "Status: Ready": "狀態:就緒", + "Status: Workspace Reset": "狀態:工作區已重設", "Stop Build": "停止建置", - "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "已成功清除 {count} 個虛擬環境,釋放 {size:.1f} MB 磁碟空間。", - "Switched to [Build Settings] -> [Engine], please set the Python path.": "已自動切換至 [建置設定] -> [建置引擎],請手動指定 Python 路徑。", - "Switched to local Python environment: {path}": "已切換 Python 環境: {path}", + "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "已成功清理 {count} 個虛擬環境,釋放 {size:.1f} MB 磁碟空間。", + "Switched to [Build Settings] -> [Engine], please set the Python path.": "已切換至 [建置設定] -> [引擎],請設定 Python 路徑。", + "Switched to local Python environment: {path}": "已切換至本機 Python 環境:{path}", "System Default ({sys_native})": "系統預設 ({sys_native})", - "System Temp Directory": "系統 Temp 目錄", - "Target Directory:": "自訂路徑:", - "Target relative path:": "目標相對路徑:", - "Temporary Directory:": "暫存目錄:", - "Tencent Cloud (China)": "騰訊雲鏡像", - "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "提示: 精簡模式建置失敗。您可以嘗試在【建置設定】中勾選 [相容模式] 重新打包。", - "Toggle Execution Log": "顯示/隱藏日誌", - "Tsinghua University (China)": "清華大學鏡像", - "UI Language:": "介面語言:", - "UPX Path:": "UPX 路徑:", - "USTC (China)": "中科大鏡像", + "System Temp Directory": "系統暫存目錄", + "Target Directory:": "目標目錄::", + "Target relative path:": "目標相對路徑::", + "Temporary Directory:": "暫存目錄::", + "Tencent Cloud (China)": "騰訊雲(中國)", + "Tip: Build failed in Lite Mode. You can try switching to [Compatibility Mode] in Build Settings and rebuild.": "提示:精簡模式建置失敗。您可以嘗試在 [建置設定] 中切換至 [相容模式] 並重新建置。", + "Toggle Execution Log": "切換執行日誌", + "Tsinghua University (China)": "清華大學(中國)", + "UI Language:": "介面語言::", + "UPX Path:": "UPX 路徑::", + "USTC (China)": "中國科學技術大學(中國)", "Undo": "復原", - "Unknown": "未知", - "Use Custom Commercial Cert (Optional) ▸": "設定商業數位憑證 (選填) ▸", - "Use Installed Version Directly": "✔ 本地已存在,直接切換", - "Use Selected Environment": "切換至選中環境", + "Use Custom Commercial Cert (Optional) ▸": "使用自訂商業憑證(選用)▸", + "Use Installed Version Directly": "直接使用已安裝版本", + "Use Selected Environment": "使用選取的環境", "Use Virtual Environment": "使用虛擬環境", - "Version:": "版本:", + "Version:": "版本::", "View Python": "檢視 Python", - "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 附加資源檔案/目錄不存在: {path}", - "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 建置中止: 磁碟空間不足。建議保留至少 5GB 可用空間。", - "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] 建置完成,但以下依賴安裝失敗:\n\n - {pkgs}\n\n注意: 執行時可能會拋出 ModuleNotFoundError。", - "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 暫存建置目錄未找到可執行產物: {path}", - "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 解析異常: {error}", - "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 虛擬環境建立失敗。環境可能缺失模組或權限受限。", - "[ERROR] Failed to export log file: {error}": "[ERROR] 匯出日誌失敗: {error}", - "[ERROR] Failed to export preset file: {error}": "[ERROR] 匯出預設檔失敗: {error}", - "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O 異常: {err_msg}", - "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] 磁碟空間不足 (可用 {free:.1f} GB)。至少需 0.5 GB 才能安全初始化環境。", - "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 目標輸出目錄無寫入權限: {error}", + "[ERROR] Additional resource file/directory not found: {path}": "[ERROR] 找不到額外的資源檔案/目錄:{path}", + "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 建置中止:磁碟空間不足(NoSpaceLeft / Errno 28)。請清理磁碟空間(建議至少保留 5 GB 可用空間)後重試。", + "[ERROR] Build completed, but the following dependencies failed to install:\n\n - {pkgs}\n\nNote: The application might raise ModuleNotFoundError at runtime.": "[ERROR] 建置完成,但以下相依套件安裝失敗:\n\n - {pkgs}\n\n注意:應用程式在執行時可能引發 ModuleNotFoundError。", + "[ERROR] Could not locate valid executable product in temporary build directory: {path}": "[ERROR] 在暫存建置目錄中找不到有效的可執行檔產品:{path}", + "[ERROR] Environment remediation failed: {error}": "[ERROR] 環境修復失敗:{error}", + "[ERROR] Exception occurred during AST parsing: {error}": "[ERROR] AST 解析期間發生例外狀況:{error}", + "[ERROR] Failed to create virtual environment. Current Python environment might be missing necessary modules or have restricted permissions.": "[ERROR] 建立虛擬環境失敗。目前的 Python 環境可能缺少必要的模組或權限受限。", + "[ERROR] Failed to export log file: {error}": "[ERROR] 匯出記錄檔失敗:{error}", + "[ERROR] Failed to export preset file: {error}": "[ERROR] 匯出預設檔失敗:{error}", + "[ERROR] I/O Exception: {err_msg}": "[ERROR] I/O 例外狀況:{err_msg}", + "[ERROR] Insufficient disk space (Available: {free:.1f} GB). At least 0.5 GB is required to safely initialize the build environment.": "[ERROR] 磁碟空間不足(可用空間:{free:.1f} GB)。安全初始化建置環境至少需要 0.5 GB。", + "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 輸出目錄缺少寫入權限:{error}", "[ERROR] Please load a valid Python source file first!": "[ERROR] 請先載入有效的 Python 原始碼檔案!", - "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] 預設檔格式錯誤或已損壞: {error}", - "[ERROR] Process error: command or binary missing ({error})": "[ERROR] 程序錯誤: 命令或二進位檔案缺失 ({error})", - "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 產物轉移失敗,檔案可能被佔用或無寫入權限: {error}", - "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python 安裝失敗或已被主動取消。", - "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python 解譯器無效或未找到: {path}", - "[ERROR] Requirements file not found: {path}": "[ERROR] 指定的依賴清單檔案不存在: {path}", - "[ERROR] System execution exception: {error}": "[ERROR] 系統執行異常: {error}", - "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 目標檔案被雲端硬碟鎖定或加密,請解密後重試。", - "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] 目標檔案正在執行或被佔用。請先關閉該應用程式後再重新建置。", - "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 指定的應用程式圖示檔案不存在: {path}", - "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] 建置異常中斷!\n\n常見原因排查:\n1. 環境不匹配 (最常見):您選擇的打包 Python 版本與您的原始碼不相容。請前往 [建置設定] 切換為您平時開發該程式碼的 Python 版本。\n2. 依賴缺失:請點擊上方切換至「詳細模式」,查看是否有 ModuleNotFoundError。\n3. 防毒軟體攔截:請檢查是否有安全軟體阻止了打包過程。\n\n(注意:這通常是環境配置與程式碼差異導致,並非打包引擎本身故障,請查閱詳細日誌獲取確切原因。)", - "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 建置異常中斷,請點擊「詳細模式」排查原因。", - "[INFO] Analyzing source code and project dependencies...": "[INFO] 分析原始碼與依賴...", - "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] 已透過時間戳記伺服器 ({tsa}) 完成數位簽章與蓋章...", - "[INFO] Applying smart digital signature...": "[INFO] 正在為應用程式新增數位簽章...", + "[ERROR] Preset file format error or corrupted: {error}": "[ERROR] 預設檔格式錯誤或已損毀:{error}", + "[ERROR] Process error: command or binary missing ({error})": "[ERROR] 處理程序錯誤:命令或二進位檔遺失({error})", + "[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}": "[ERROR] 產品傳輸失敗,檔案可能被系統程序占用或缺少權限:{error}", + "[ERROR] Python installation failed or was cancelled.": "[ERROR] Python 安裝失敗或已取消。", + "[ERROR] Python interpreter is invalid or not found: {path}": "[ERROR] Python 解譯器無效或找不到:{path}", + "[ERROR] Requirements file not found: {path}": "[ERROR] 找不到需求檔案:{path}", + "[ERROR] System execution exception: {error}": "[ERROR] 系統執行例外狀況:{error}", + "[ERROR] Target file is locked or encrypted by cloud drive. Please decrypt and try again.": "[ERROR] 目標檔案被雲端硬碟鎖定或加密。請解密後重試。", + "[ERROR] Target file is running or occupied. Please close the existing application and try again.": "[ERROR] 目標檔案正在執行或占用中。請關閉現有的應用程式後重試。", + "[ERROR] The specified icon file does not exist: {path}": "[ERROR] 指定的圖示檔案不存在:{path}", + "[FAILED] Build interrupted exceptionally!\n\nCommon Troubleshooting:\n1. Environment Mismatch (Most Common): The selected Python version is incompatible with your source code. Please go to [Build Settings] to switch to the Python version you normally use for this code.\n2. Missing Dependencies: Click 'Detailed Mode' above to check for ModuleNotFoundError.\n3. Antivirus Block: Ensure your security software is not blocking the build process.\n\n(Note: This is usually caused by environment/code discrepancies rather than the packaging engine itself. Please check the detailed log for exact reasons.)": "[FAILED] 建置被異常中斷!\n\n常見疑難排解:\n1. 環境不符(最常見):選取的 Python 版本與您的原始碼不相容。請前往 [建置設定] 切換至您平常用於此程式碼的 Python 版本。\n2. 缺少相依套件:按一下上方的「詳細模式」檢查是否有 ModuleNotFoundError。\n3. 防毒軟體封鎖:請確認您的安全軟體未封鎖建置程序。\n\n(注意:這通常是由環境/程式碼差異所導致,而非打包引擎本身的問題。請檢查詳細記錄以了解確切原因。)", + "[FAILED] Compilation interrupted with exceptions, please click 'Detailed Mode' above the log window for troubleshooting.": "[FAILED] 編譯因例外狀況中斷,請按一下記錄視窗上方的「詳細模式」進行疑難排解。", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] 已將「{name}」新增至其他資源。", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] 已將 {count} 個資源項目新增至「其他資源」。", + "[INFO] Analyzing source code and project dependencies...": "[INFO] 正在分析原始碼與專案相依性...", + "[INFO] Applied digital signature with timestamp ({tsa})...": "[INFO] 已套用含時間戳記的數位簽章 ({tsa})...", + "[INFO] Applying smart digital signature...": "[INFO] 正在套用智慧型數位簽章...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] 自動偵測到現有虛擬環境「{venv}」。已勾選「保留本機虛擬環境」。", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] 已自動遮蔽過時的回溯移植模組:「{pkg}」(Python {ver} 內建)", "[INFO] Build Cancelled.": "[INFO] 建置已取消。", - "[INFO] Build log exported to: {path}": "[INFO] 日誌已匯出: {path}", - "[INFO] Compilation completed, archiving built files...": "[INFO] 編譯完成,歸檔建置產物...", - "[INFO] Creating virtual environment ({name})...": "[資訊] 正在建立虛擬環境({name})...", - "[INFO] Creating virtual environment...": "[INFO] 建立虛擬環境...", - "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] 透過鏡像下載 Playwright 瀏覽器: {url}", - "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] 評估系統可用實體記憶體 ({ram:.1f} GB),動態調整併發數: {cores} -> {safe_jobs}", - "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] 偵測到本地 Clang 環境,優先使用 LLVM Clang 編譯器。", - "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] 偵測到本地 GCC/MinGW-w64 環境,優先使用 MinGW64 編譯器。", - "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] 偵測到本地 MSVC 環境,優先使用原生 C++ 編譯器。", - "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] 偵測到本地 Zig 環境,由 Nuitka 接管 C 後端編譯。", - "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 清理暫存建置環境...", - "[INFO] Initializing isolated build environment...": "[INFO] 初始化隔離建置環境...", - "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 安裝依賴 ({count}): {pkgs}", - "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 啟用精簡模式,應用位元組碼優化 (-OO) 並剔除開發環境模組...", - "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] 未偵測到本地 C 編譯器,Nuitka 將自動下載並管理相容的 MinGW-w64 工具鏈。", - "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka 提示: 若首次建置需下載 GCC/MinGW,請確保網路暢通。", - "[INFO] Performing pre-flight environment checks...": "[INFO] 執行環境安全檢查...", - "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] 偵測到 Playwright。正在安裝內建瀏覽器驅動...", - "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] Python 3.13+: 使用 Zig 編譯器。", - "[INFO] Python interpreter path: {path}": "[INFO] Python 路徑: {path}", - "[INFO] Resolving project dependencies...": "[INFO] 解析專案依賴...", - "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 透過官方 CDN 重試下載 Playwright 瀏覽器...", - "[INFO] Reusing existing virtual environment...": "[INFO] 複用本地已存在的虛擬環境...", - "[INFO] Reusing existing virtual environment: {path}": "[資訊] 重複使用現有的虛擬環境:{path}", - "[INFO] Scanning project source code via AST engine...": "[INFO] 使用原生 AST 引擎掃描依賴...", - "[INFO] Starting {engine} engine to compile binary files...": "[INFO] 啟動 {engine} 引擎編譯...", - "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] 移除圖示參數並重新建置...", - "[INFO] Successfully installed compatible versions.": "[INFO] 自動匹配相容版本安裝成功。", - "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] 切換至備用 PyPI 源: {url}", - "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] 更新 pip...", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] 提示: 獨立執行檔可能被防毒軟體誤判。建議將其加入白名單或加上程式碼簽章。", - "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] 使用 MinGW64 編譯器。", - "[INFO] Using MinGW64 compiler.": "[資訊] 使用 MinGW64 編譯器。", - "[INFO] Validating output files and generating final product...": "[INFO] 校驗並產生最終產物...", - "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] 建置成功,輸出路徑: {path}", - "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] 數位簽章新增成功!", - "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[語法錯誤] 原始碼包含語法錯誤,建置中止:\n - 檔案: {file}\n - 類型: {type}\n - 行號: {line}\n - 細節: {desc}\n\n提示: 請確保原始碼可在本地正常執行。", - "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[語法錯誤] 原始碼語法解析失敗,建置中止:\n - 檔案: {file}\n - 行號: {line}\n - 細節: {desc}\n\n提示:這通常不是打包工具的故障。\n請確認您當前選擇的 [打包 Python 版本] 與您 [編寫程式碼時的版本] 是否一致。\n高版本語法在低版本 Python 中會導致此錯誤。\n建議前往 [建置設定] -> [建置引擎] 切換至對應版本的 Python。", - "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 偵測到 multiprocessing 模組。請確保在 'if __name__ == \"__main__\":' 內呼叫 'multiprocessing.freeze_support()',以防引發無限程序 (Fork Bomb)。", - "[WARN] AST Analysis Exception: {error}": "[WARN] AST 解析異常: {error}", - "[WARN] Command timeout (>{timeout}s)": "[WARN] 命令超時 (>{timeout}s)", - "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 偵測到網路請求套件,自動捆綁 'certifi' 根憑證以防止 SSL 異常。", - "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[警告] 清除無效環境失敗,改為使用暫存沙箱:{error}", - "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] 圖示轉換為 .icns 失敗,將不使用圖示建置。", - "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] 圖示資源寫入被攔截 (可能受安全軟體限制),觸發降級機制...", - "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] 目標磁碟空間不足 (可用: {free:.1f} GB,建議 >= 5.0 GB)。", - "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] 捕獲記憶體配置異常 (ZstdError/OOM),降級為單執行緒模式重試...", - "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 套件 '{pkg}' 安裝失敗,已跳過...", - "[WARN] Pause code injection exception: {error}": "[WARN] 注入暫停程式碼異常: {error}", - "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] 所有 Playwright 瀏覽器下載源均失敗,繼續建置 (有風險)...", - "[WARN] Python environment info detection fallback: {error}": "[警告] Python 環境資訊偵測失敗,使用備用方案:{error}", - "[WARN] Read requirements.txt warning: {error}": "[WARN] 讀取 requirements.txt 警告: {error}", - "[WARN] Smart signing failed, but build output is retained.": "[WARN] 數位簽章未成功,但應用產物已正常保留。", - "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 部分依賴安裝失敗,繼續建置 (有風險)。", - "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 指定版本安裝失敗,嘗試自動匹配相容版本...", - "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 強烈建議啟用「虛擬環境」以最大化精簡效果。", - "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] 記憶體不足 (zstd 分配失敗),降級為單執行緒模式重試...", - "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] 專案位於雲端同步目錄,可能鎖定建置檔案。", - "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] 時間戳記伺服器連線逾時,進行本地快速簽章...", - "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] 偵測到 '__file__' 的使用。在單一檔案模式下,請使用 'sys._MEIPASS' 定位資源路徑!", - "\\nProgram execution completed, press Enter to exit...": "\\n程式執行完畢,按下 Enter 鍵退出...", - "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[資訊] 自動偵測到現有的虛擬環境 '{venv}'。已勾選「保留本機虛擬環境」。" + "[INFO] Build log exported to: {path}": "[INFO] 建置記錄已匯出至:{path}", + "[INFO] Compilation completed, archiving built files...": "[INFO] 編譯完成,正在封存建置檔案...", + "[INFO] Creating virtual environment ({name})...": "[INFO] 正在建立虛擬環境 ({name})...", + "[INFO] Creating virtual environment...": "[INFO] 正在建立虛擬環境...", + "[INFO] Downloading Playwright browsers via mirror: {url}": "[INFO] 正在透過鏡像下載 Playwright 瀏覽器:{url}", + "[INFO] Evaluating system physical memory (Available: {ram:.1f} GB). Adaptive concurrency adjusted: {cores} -> {safe_jobs} ...": "[INFO] 正在評估系統實體記憶體 (可用:{ram:.1f} GB)。已調整自適應並行數:{cores} -> {safe_jobs} ...", + "[INFO] Found local Clang environment, prioritizing LLVM Clang compiler.": "[INFO] 偵測到本機 Clang 環境,優先使用 LLVM Clang 編譯器。", + "[INFO] Found local GCC/MinGW-w64 environment, using MinGW64 compiler.": "[INFO] 偵測到本機 GCC/MinGW-w64 環境,使用 MinGW64 編譯器。", + "[INFO] Found local MSVC environment, prioritizing native C++ compiler.": "[INFO] 偵測到本機 MSVC 環境,優先使用原生 C++ 編譯器。", + "[INFO] Found local Zig environment, letting Nuitka manage C backend compilation.": "[INFO] 偵測到本機 Zig 環境,交由 Nuitka 管理 C 後端編譯。", + "[INFO] Freeing up space, cleaning temporary build environment...": "[INFO] 正在釋放空間,清理暫存建置環境...", + "[INFO] Initializing isolated build environment...": "[INFO] 正在初始化隔離建置環境...", + "[INFO] Installing build environment and project dependencies ({count} packages): {pkgs}": "[INFO] 正在安裝建置環境與專案相依性 ({count} 個套件):{pkgs}", + "[INFO] Lite mode enabled, applying bytecode optimization (-OO) and stripping dev modules...": "[INFO] 已啟用精簡模式,套用位元組碼最佳化 (-OO) 並移除開發模組...", + "[INFO] No local C compiler detected. Nuitka will automatically download and manage a compatible MinGW-w64 toolchain.": "[INFO] 未偵測到本機 C 編譯器。Nuitka 將自動下載並管理相容的 MinGW-w64 工具鏈。", + "[INFO] Nuitka Tip: If prompted to download GCC/MinGW compiler on first build, please ensure stable network connection.": "[INFO] Nuitka 提示:若首次建置時提示下載 GCC/MinGW 編譯器,請確保網路連線穩定。", + "[INFO] Performing pre-flight environment checks...": "[INFO] 正在執行前置環境檢查...", + "[INFO] Playwright detected. Installing built-in browsers (PLAYWRIGHT_BROWSERS_PATH=0)...": "[INFO] 偵測到 Playwright。正在安裝內建瀏覽器 (PLAYWRIGHT_BROWSERS_PATH=0)...", + "[INFO] Python 3.13+ detected: Using Zig compiler (--zig) as C backend.": "[INFO] 偵測到 Python 3.13+:使用 Zig 編譯器 (--zig) 作為 C 後端。", + "[INFO] Python interpreter path: {path}": "[INFO] Python 解譯器路徑:{path}", + "[INFO] Resolving project dependencies...": "[INFO] 正在解析專案相依性...", + "[INFO] Retrying Playwright browser download via official CDN...": "[INFO] 正在透過官方 CDN 重試下載 Playwright 瀏覽器...", + "[INFO] Reusing existing virtual environment...": "[INFO] 正在重複使用現有虛擬環境...", + "[INFO] Reusing existing virtual environment: {path}": "[INFO] 正在重用現有虛擬環境:{path}", + "[INFO] Scanning project source code via AST engine...": "[INFO] 正在透過 AST 引擎掃描專案原始碼...", + "[INFO] Starting {engine} engine to compile binary files...": "[INFO] 正在啟動 {engine} 引擎以編譯二進位檔案...", + "[INFO] Stripping icon parameters and automatically rebuilding...": "[INFO] 正在移除圖示參數並自動重新建置...", + "[INFO] Successfully installed compatible versions.": "[INFO] 已成功安裝相容版本。", + "[INFO] Switching to backup PyPI source for retrieval: {url}": "[INFO] 正在切換至備用 PyPI 來源以進行擷取:{url}", + "[INFO] Synchronizing and upgrading pip package manager...": "[INFO] 正在同步並升級 pip 套件管理員...", + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] 提示:未經商業簽章的可執行檔可能會被 Windows Defender/防毒軟體誤判。", + "[INFO] Using MinGW64 compiler (--mingw64) for C backend.": "[INFO] 正在使用 MinGW64 編譯器 (--mingw64) 進行 C 後端。", + "[INFO] Using MinGW64 compiler.": "[INFO] 正在使用 MinGW64 編譯器。", + "[INFO] Validating output files and generating final product...": "[INFO] 正在驗證輸出檔案並產生最終產品...", + "[SUCCESS] Compilation completed, output path: {path}": "[SUCCESS] 編譯完成,輸出路徑:{path}", + "[SUCCESS] Digital signature applied successfully!": "[SUCCESS] 數位簽章已成功套用!", + "[Syntax Error] Source code contains syntax errors, compilation aborted:\n - File: {file}\n - Type: {type}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: Please ensure the source code runs locally before packaging.": "[Syntax Error] 原始碼包含語法錯誤,編譯已中止:\n - 檔案:{file}\n - 類型:{type}\n - 行號:第 {line} 行\n - 詳細資訊:{desc}\n\n提示:請確保原始碼在打包前可於本機正常執行。", + "[Syntax Error] Source code syntax parsing failed, build aborted:\n - File: {file}\n - Line: Line {line}\n - Detail: {desc}\n\nTip: This is usually NOT a fault of the packaging tool.\nPlease ensure the [Build Python Version] you selected matches the version you used to [Write/Test the Code].\nUsing newer syntax (e.g., walrus operator :=, type unions |, match-case) in an older Python environment will trigger this error.\nWe recommend going to [Build Settings] -> [Engine] to switch to the correct Python version.": "[Syntax Error] 原始碼語法剖析失敗,建置已中止:\n - 檔案:{file}\n - 行號:第 {line} 行\n - 詳細資訊:{desc}\n\n提示:這通常不是打包工具的錯誤。\n請確保您選擇的 [建置 Python 版本] 與您 [撰寫/測試程式碼] 時使用的版本相符。\n在較舊的 Python 環境中使用較新的語法(例如海象運算子 :=、型別聯集 |、match-case)會觸發此錯誤。\n我們建議前往 [建置設定] -> [引擎] 切換至正確的 Python 版本。", + "[WARN] 'multiprocessing' module detected. Ensure 'multiprocessing.freeze_support()' is called under 'if __name__ == \"__main__\":' to prevent infinite process loops (fork bombs).": "[WARN] 偵測到 'multiprocessing' 模組。請確保在 'if __name__ == \"__main__\":' 下呼叫 'multiprocessing.freeze_support()',以防止無限程序迴圈(fork 炸彈)。", + "[WARN] AST Analysis Exception: {error}": "[WARN] AST 分析例外狀況:{error}", + "[WARN] Command timeout (>{timeout}s)": "[WARN] 命令逾時(>{timeout} 秒)", + "[WARN] Detected 'requests' or 'httpx'. Auto-bundling 'certifi' certificates to prevent SSL errors.": "[WARN] 偵測到 'requests' 或 'httpx'。自動捆綁 'certifi' 憑證以防止 SSL 錯誤。", + "[WARN] Failed to purge invalid environment, falling back to temp sandbox: {error}": "[WARN] 清除無效環境失敗,正在改用暫存沙箱:{error}", + "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] 圖示轉換為 .icns 失敗,將在沒有圖示的情況下建置。", + "[WARN] Icon resource writing blocked (possibly locked by system/antivirus), triggering fallback protection...": "[WARN] 圖示資源寫入被封鎖(可能被系統/防毒軟體鎖定),正在觸發後備保護...", + "[WARN] Low disk space detected on build target drive (Available: {free:.1f} GB, >= 5.0 GB recommended). Build process may interrupt due to disk exhaustion.": "[WARN] 建置目標磁碟機可用空間不足(可用:{free:.1f} GB,建議 >= 5.0 GB)。建置程序可能因磁碟空間耗盡而中斷。", + "[WARN] Memory allocation exception caught (ZstdError / OOM). Triggering memory protection fallback: Retrying in single-thread mode...": "[WARN] 已捕捉記憶體配置例外狀況(ZstdError / OOM)。正在觸發記憶體保護後備:以單執行緒模式重試...", + "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 套件 '{pkg}' 安裝失敗,正在跳過...", + "[WARN] Pause code injection exception: {error}": "[WARN] 暫停程式碼注入例外狀況:{error}", + "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] Playwright 瀏覽器在所有來源安裝失敗,建置將在風險下繼續...", + "[WARN] Python environment info detection fallback: {error}": "[WARN] Python 環境資訊偵測後備:{error}", + "[WARN] Read requirements.txt warning: {error}": "[WARN] 讀取 requirements.txt 警告:{error}", + "[WARN] Smart signing failed, but build output is retained.": "[WARN] 智慧簽章失敗,但已保留建置輸出。", + "[WARN] Some dependencies failed to install, build will proceed with risk...": "[WARN] 部分依賴安裝失敗,建置將在風險下繼續...", + "[WARN] Specified versions failed to install. Stripping version constraints for automatic compatibility match...": "[WARN] 指定的版本安裝失敗。移除版本限制以自動相容匹配...", + "[WARN] Strongly recommend checking [Virtual Environment] to maximize lite mode effect.": "[WARN] 強烈建議檢查 [虛擬環境] 以最大化精簡模式效果。", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] 系統 Python 寫入權限受限。以 '--user' 模式重試...", + "[WARN] System low memory detected (zstd memory allocation failed). Automatically retrying in single-thread low-memory mode...": "[WARN] 偵測到系統記憶體不足(zstd 記憶體配置失敗)。自動以單執行緒低記憶體模式重試...", + "[WARN] Target project is in a Cloud Sync directory (e.g. OneDrive/Dropbox). Cloud sync may temporarily lock build files.": "[WARN] 目標專案位於雲端同步目錄(例如 OneDrive/Dropbox)。雲端同步可能暫時鎖定建置檔案。", + "[WARN] Timestamp server connection timed out, performing local fast signing...": "[WARN] 時間戳伺服器連線逾時,執行本機快速簽章...", + "[WARN] Usage of '__file__' detected. In PyInstaller One-File mode, use 'sys._MEIPASS' to reliably locate bundled resource files!": "[WARN] 偵測到 '__file__' 的使用。在 PyInstaller 單一檔案模式中,請使用 'sys._MEIPASS' 以可靠地定位捆綁的資源檔案!", + "\\nProgram execution completed, press Enter to exit...": "\\n程式執行完成,按 Enter 鍵退出..." } diff --git a/qpypack/main.py b/qpypack/main.py index 6fc2608..fc64e61 100644 --- a/qpypack/main.py +++ b/qpypack/main.py @@ -10,6 +10,7 @@ import json import math import wave import struct +import traceback import threading import configparser import locale @@ -60,7 +61,7 @@ except ImportError: HAS_QT_AUDIO = False __app_name__ = "QPyPack" -__version__ = "2.7.7" +__version__ = "2.7.8" __author__ = "QwejayHuang" __company__ = "QwejayHuang" __description__ = "Modern Cross-Platform Python Packaging GUI Powered by PyInstaller & Nuitka" @@ -92,7 +93,7 @@ ZH_CN_DICT = { "Dependencies": "依赖管理", "Resources": "附加资源", "Optimization & Security": "优化与安全", - "Package Map": "包名映射", + "Package Map": "包名与依赖治理", "Execution Log": "执行日志", "Loaded: {filename}": "已载入: {filename}", @@ -320,8 +321,7 @@ ZH_CN_DICT = { "[WARN] Package '{pkg}' failed to install, skipping...": "[WARN] 包 '{pkg}' 安装失败,已跳过...", "[WARN] Playwright browser installation failed across all sources, build will proceed with risk...": "[WARN] 所有 Playwright 浏览器下载源均失败,继续构建 (有风险)...", "[WARN] Icon conversion to .icns failed, building without icon.": "[WARN] 图标转换为 .icns 失败,将不使用图标构建。", - "[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.": "[INFO] 提示: 独立可执行程序可能被安全软件误报。建议加入白名单或添加代码签名。", - + "[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.": "[INFO] 提示: 未进行商业签名的可执行程序可能被安全软件误报。", "[ERROR] Build aborted: Insufficient disk space (NoSpaceLeft / Errno 28). Please clean up drive space (at least 5 GB free space recommended) and try again.": "[ERROR] 构建中止: 磁盘空间不足 (NoSpaceLeft / Errno 28)。建议预留至少 5GB 可用空间。", "[ERROR] Output directory is missing write permissions: {error}": "[ERROR] 目标输出目录无写入权限: {error}", "[ERROR] Requirements file not found: {path}": "[ERROR] 指定的依赖清单文件不存在: {path}", @@ -442,6 +442,42 @@ ZH_CN_DICT = { "在当前项目下检测到 {count} 个隔离虚拟环境:
{paths}

确定要全部清理以释放磁盘空间吗?", "Delete All": "一键清空", "Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.": "已成功清理 {count} 个虚拟环境,共释放 {size:.1f} MB 磁盘空间。", + "[WARN] System Python write permission restricted. Retrying with '--user' mode...": "[WARN] 系统 Python 缺少写入权限,正在重试以 '--user' 用户模式安装...", + "Python is not detected on your system!

QPyPack requires a Python environment to compile your code.
If you haven't installed Python, please download and install it.": "您的系统未检测到Python!

QPyPack需要Python环境来编译您的代码。
如果您尚未安装Python,请下载并安装。", + "Deleting...": "正在删除...", + "Password:": "密码:", + "Scanning...": "正在扫描...", + "[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.": "[INFO] 自动检测到现有虚拟环境'{venv}'。已勾选'保留本地虚拟环境'。", + "[INFO] Using MinGW64 compiler.": "[INFO] 使用MinGW64编译器。", + "Package Map": "包名与依赖治理", + "Package Mapping & Remediation": "包名与依赖治理", + "Obsolete Backport Exclusion Rules": "废弃兼容包拦截规则", + "Min Python Ver": "最低内置版本", + "Add Backport Rule": "添加拦截规则", + "Package Map": "包名映射与规则", + "Package Mappings & Rules": "包名映射与规则", + "Obsolete Backport Exclusion Rules": "废弃兼容包拦截规则", + "Min Python Ver": "最低内置版本", + "Add Backport Rule": "添加拦截规则", + "Environment Analysis": "运行环境分析", + "Environment Analysis & Remediation": "运行环境分析", + "Enable Automatic Backport Isolation": "开启废弃兼容包动态隔离", + "Inspect Interpreter Environment": "校验解释器环境", + "Remediate Detected Conflicts": "治理环境冲突模块", + "Package Name (e.g. pathlib):": "包名 (如 pathlib):", + "Minimum Built-in Python Version (e.g. 3.4):": "最低内置 Python 版本 (如 3.4):", + "Status: Environment inspection ready.": "状态: 等待环境校验。", + "Interpreter inspection passed: No active backport conflicts detected.": "[OK] 解释器环境校验通过: 未检测到冲突模块。", + "Active backport conflicts detected ({count}): {pkgs}": "[WARN] 检测到与当前解释器冲突的模块 ({count}): {pkgs}", + "Remediation completed for packages: {pkgs}": "[OK] 已成功清理以下冲突模块: {pkgs}", + "No environment conflicts detected.": "未检测到环境冲突模块。", + "Backport exclusion rules have been reset to defaults.": "废弃兼容包拦截规则已恢复默认设置。", + "[INFO] Added '{name}' to Additional Resources.": "[INFO] 已将资源 '{name}' 自动添加至附加资源列表", + "[INFO] Added {count} resource item(s) to Additional Resources.": "[INFO] 已将 {count} 项附加资源自动导入", + "Script loaded. You can drag asset folders or data files directly here to bundle them.": "脚本已载入。您可将资源文件夹或文件直接拖入主区域进行捆绑打包。", + "Package Name": "包名称", + "[ERROR] Environment remediation failed: {error}": "[ERROR] 环境修复失败:{error}", + "[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})": "[INFO] 已自动屏蔽过时的反向移植模块:'{pkg}'(Python {ver} 内置)", "Unknown": "未知" } @@ -641,6 +677,21 @@ DEFAULT_MAPPINGS = { 'attr': 'attrs', 'psycopg2': 'psycopg2-binary' } +DEFAULT_BACKPORT_RULES = { + "pathlib": "3.4", + "pathlib2": "3.4", + "enum34": "3.4", + "typing": "3.5", + "ipaddress": "3.3", + "asyncio": "3.4", + "argparse": "3.2", + "dataclasses": "3.7", + "importlib-metadata": "3.8", + "importlib-resources": "3.9", + "zoneinfo": "3.9", + "tomllib": "3.11" +} + MATERIAL_ICONS = { 'settings': 'M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.06-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.73,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.06,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.43-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.49-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z', 'refresh': 'M17.65,6.35C16.2,4.9,14.21,4,12,4c-4.42,0-7.99,3.58-7.99,8s3.57,8,7.99,8c3.73,0,6.84-2.55,7.73-6h-2.08 c-0.82,2.33-3.04,4-5.65,4c-3.31,0-6-2.69-6-6s2.69-6,6-6c1.66,0,3.14,0.69,4.22,1.78L13,11h7V4L17.65,6.35z', @@ -685,6 +736,7 @@ def load_config(retry=True): 'sound_notify': 'True', 'auto_save_log': 'False', 'use_reqs_file': '', 'add_data_list': '', 'custom_python_path': '', 'pyi_version': '6.21.0', 'nuitka_version': '4.1.3', + 'enable_backport_shield': 'True', 'lite_mode': 'False' } try: @@ -703,7 +755,9 @@ def load_config(retry=True): pass return load_config(retry=False) else: - pass + if 'Mappings' not in config: config['Mappings'] = DEFAULT_MAPPINGS + if 'Settings' not in config: config['Settings'] = {} + if 'BackportRules' not in config: config['BackportRules'] = DEFAULT_BACKPORT_RULES if 'Mappings' not in config: config['Mappings'] = DEFAULT_MAPPINGS @@ -753,21 +807,41 @@ def load_config(retry=True): try: save_config(config) except: pass + if 'BackportRules' not in config: + config['BackportRules'] = DEFAULT_BACKPORT_RULES + else: + updated_rules = False + for k, v in DEFAULT_BACKPORT_RULES.items(): + if k not in config['BackportRules']: + config['BackportRules'][k] = v + updated_rules = True + if updated_rules: + try: save_config(config) + except Exception: pass lang_pref = config['Settings'].get('language', 'auto') I18N.set_language(lang_pref) return config def save_config(config): + import time + temp_file = CONFIG_FILE + ".tmp" try: - temp_file = CONFIG_FILE + ".tmp" with open(temp_file, 'w', encoding='utf-8') as f: config.write(f) - if os.path.exists(CONFIG_FILE): - os.replace(temp_file, CONFIG_FILE) - else: - os.rename(temp_file, CONFIG_FILE) except Exception: - pass + return + + for _ in range(5): + try: + if os.path.exists(CONFIG_FILE): + os.replace(temp_file, CONFIG_FILE) + else: + os.rename(temp_file, CONFIG_FILE) + break + except PermissionError: + time.sleep(0.2) + except Exception: + break def create_pleasant_audio_files(): success_wav = _CONFIG_DIR / "sound_success.wav" @@ -1645,6 +1719,20 @@ class TargetIconWidget(QWidget): center_x = center.x() + int(self.shake_offset) icon_center_y = center.y() draw_size = self.current_size + + pop_scale = 1.0 + if hasattr(self, 'pop_value') and self.pop_value > 0.0 and self.pop_value < 1.0: + pop_scale = 1.0 + math.sin(self.pop_value * math.pi) * 0.22 + + ripple_radius = (self.current_size / 2.0) + self.pop_value * 35.0 + alpha = int(180 * (1.0 - self.pop_value)) + pen = QPen(QColor(26, 115, 232, alpha)) + pen.setWidth(2) + painter.setPen(pen) + painter.setBrush(Qt.BrushStyle.NoBrush) + painter.drawEllipse(QPointF(center_x, icon_center_y), ripple_radius, ripple_radius) + + draw_size = int(self.current_size * pop_scale) if self.is_building: radius = (self.current_size / 2) + 12 @@ -1658,30 +1746,6 @@ class TargetIconWidget(QWidget): start_angle = int(-self.spin_angle * 16) painter.drawArc(rect, start_angle, span_angle) - elif self.burst_value > 0.0: - pop_scale = 1.0 + math.sin(self.burst_value * math.pi) * 0.15 - draw_size = int(self.current_size * pop_scale) - if self.burst_value < 1.0: - alpha = int(255 * (1.0 - self.burst_value)) - painter.setPen(Qt.PenStyle.NoPen) - painter.setBrush(QColor(26, 115, 232, alpha)) - burst_radius_1 = (self.current_size / 2) + 5 + self.burst_value * 25 - dot_size_1 = 8 * (1.0 - self.burst_value) - for i in range(8): - angle = math.radians(i * 45) - dx = center_x + math.cos(angle) * burst_radius_1 - dy = center.y() + math.sin(angle) * burst_radius_1 - painter.drawEllipse(QPointF(dx, dy), dot_size_1, dot_size_1) - - painter.setBrush(QColor(255, 193, 7, alpha)) - burst_radius_2 = (self.current_size / 2) + self.burst_value * 35 - dot_size_2 = 6 * (1.0 - self.burst_value) - for i in range(8): - angle = math.radians(i * 45 + 22.5) - dx = center_x + math.cos(angle) * burst_radius_2 - dy = center.y() + math.sin(angle) * burst_radius_2 - painter.drawEllipse(QPointF(dx, dy), dot_size_2, dot_size_2) - pix_rect = QRectF(center_x - draw_size / 2.0, icon_center_y - draw_size / 2.0, float(draw_size), float(draw_size)) scaled_pix = self.pixmap.scaled( int(draw_size * self.devicePixelRatioF()), @@ -1694,6 +1758,20 @@ class TargetIconWidget(QWidget): finally: painter.end() + def trigger_drop_pop(self): + self.pop_value = 0.0 + self.pop_anim = QVariantAnimation(self) + self.pop_anim.setDuration(450) + self.pop_anim.setStartValue(0.0) + self.pop_anim.setEndValue(1.0) + self.pop_anim.setEasingCurve(QEasingCurve.Type.OutBack) + self.pop_anim.valueChanged.connect(self._animate_pop) + self.pop_anim.start() + + def _animate_pop(self, val): + self.pop_value = val + self.update() + class DropArea(QFrame): fileDropped = Signal(str) @@ -1747,6 +1825,12 @@ class DropArea(QFrame): self.sub_label.setWordWrap(True) self.sub_label.setStyleSheet("QLabel { background: transparent; color: #9AA0A6; font-size: 13px; border: none; }") layout.addWidget(self.sub_label) + self.chips_container = QWidget() + self.chips_layout = QHBoxLayout(self.chips_container) + self.chips_layout.setContentsMargins(0, 8, 0, 0) + self.chips_layout.setSpacing(8) + self.chips_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(self.chips_container) layout.addStretch(1) self.retranslate_ui() @@ -1756,10 +1840,8 @@ class DropArea(QFrame): def dragEnterEvent(self, event: QDragEnterEvent): if event.mimeData().hasUrls(): - file_path = event.mimeData().urls()[0].toLocalFile().lower() - if file_path.endswith('.py') or file_path.endswith('.pyw'): - event.acceptProposedAction() - self.setStyleSheet("#DropArea { background-color: #E8F0FE; border: 2px dashed #1A73E8; border-radius: 12px; }") + event.acceptProposedAction() + self.setStyleSheet("#DropArea { background-color: #E8F0FE; border: 2px dashed #1A73E8; border-radius: 12px; }") def dragLeaveEvent(self, event): self.setStyleSheet("#DropArea { background-color: #f8f9fa; border: 2px dashed #dadce0; border-radius: 12px; } #DropArea:hover { background-color: #f1f3f4; border: 2px dashed #bdc1c6; }") @@ -1767,10 +1849,19 @@ class DropArea(QFrame): def dropEvent(self, event: QDropEvent): self.dragLeaveEvent(event) urls = event.mimeData().urls() - if urls: - file_path = urls[0].toLocalFile() - if file_path.lower().endswith(('.py', '.pyw')): - self.fileDropped.emit(file_path) + if not urls: return + + paths = [u.toLocalFile() for u in urls if u.toLocalFile()] + if not paths: return + + py_files = [p for p in paths if p.lower().endswith(('.py', '.pyw'))] + + if py_files: + self.fileDropped.emit(py_files[0]) + else: + parent_win = self.window() + if hasattr(parent_win, 'on_main_resources_dropped'): + parent_win.on_main_resources_dropped(paths) def mousePressEvent(self, event): if event.button() == Qt.MouseButton.LeftButton: @@ -1850,6 +1941,49 @@ class DropArea(QFrame): self.retranslate_ui() self.label.setStyleSheet("QLabel { background: transparent; color: #5F6368; font-size: 16px; font-weight: bold; border: none; }") + def render_asset_chips(self, script_path=None, add_data_list=None): + while self.chips_layout.count(): + item = self.chips_layout.takeAt(0) + if item.widget(): + item.widget().deleteLater() + + if not script_path and not add_data_list: + return + + chips = [] + if script_path: + chips.append(("🐍 " + Path(script_path).name, "#eff6ff", "#1d4ed8", "#bfdbfe")) + + if add_data_list: + for item in add_data_list[:3]: + r_type, src, dst = item + p = Path(src) + if r_type == 'dir': + chips.append(("📁 " + p.name, "#f0fdf4", "#15803d", "#bbf7d0")) + elif p.suffix.lower() in ('.ico', '.png', '.jpg', '.jpeg', '.svg'): + chips.append(("🖼️ " + p.name, "#fef3c7", "#b45309", "#fde68a")) + else: + chips.append(("📄 " + p.name, "#f3f4f6", "#374151", "#e5e7eb")) + + if len(add_data_list) > 3: + chips.append((f"+{len(add_data_list) - 3} ...", "#f1f5f9", "#475569", "#cbd5e1")) + + for text, bg, color, border in chips: + chip = QLabel(text) + chip.setStyleSheet(f""" + QLabel {{ + background-color: {bg}; + color: {color}; + border: 1px solid {border}; + border-radius: 12px; + padding: 3px 10px; + font-size: 11px; + font-weight: bold; + font-family: Consolas, "Segoe UI", sans-serif; + }} + """) + self.chips_layout.addWidget(chip) + class PythonScannerThread(QThread): scan_done = Signal(dict) @@ -1983,6 +2117,52 @@ class PythonScannerThread(QThread): self.scan_done.emit(valid_pythons) +class VenvCleanerTaskThread(QThread): + scan_done = Signal(list, int) + delete_done = Signal(int, float) + + def __init__(self, mode, target_dir=None, venvs_to_delete=None): + super().__init__() + self.mode = mode + self.target_dir = Path(target_dir) if target_dir else None + self.venvs_to_delete = venvs_to_delete or [] + + def run(self): + if self.mode == "scan": + venvs = [] + freed_bytes = 0 + if self.target_dir and self.target_dir.exists(): + try: + for p in self.target_dir.iterdir(): + if p.is_dir() and p.name.startswith(".qpypack_venv"): + venvs.append(p) + except Exception: pass + + for venv in venvs: + try: + for f in venv.rglob('*'): + if f.is_file(): + freed_bytes += f.stat().st_size + except Exception: pass + + self.scan_done.emit(venvs, freed_bytes) + + elif self.mode == "delete": + success_count = 0 + total_bytes = 0 + for venv in self.venvs_to_delete: + v_bytes = 0 + try: + for f in venv.rglob('*'): + if f.is_file(): v_bytes += f.stat().st_size + except Exception: pass + + if robust_rmtree(venv): + success_count += 1 + total_bytes += v_bytes + + self.delete_done.emit(success_count, total_bytes / (1024 * 1024)) + class SettingsPanel(QWidget): def __init__(self, parent=None): super().__init__(parent) @@ -2417,7 +2597,29 @@ class SettingsPanel(QWidget): g_dep.addWidget(self.pipreqs_dir_check, 2, 0) c_lay_deps.addLayout(g_dep) + self.card_env, c_lay_env = self._create_card(_("Environment Analysis")) + + btn_env_lay = QHBoxLayout() + self.btn_inspect_env = QPushButton(_("Inspect Interpreter Environment")) + self.btn_inspect_env.setProperty("class", "ToolBtn") + self.btn_inspect_env.clicked.connect(self.inspect_current_python_env) + + self.btn_remediate_env = QPushButton(_("Remediate Detected Conflicts")) + self.btn_remediate_env.setProperty("class", "ToolBtn") + self.btn_remediate_env.setStyleSheet("QPushButton { color: #d93025; font-weight: bold; }") + self.btn_remediate_env.clicked.connect(self.remediate_environment_conflicts) + + btn_env_lay.addWidget(self.btn_inspect_env) + btn_env_lay.addWidget(self.btn_remediate_env) + btn_env_lay.addStretch() + c_lay_env.addLayout(btn_env_lay) + + self.lbl_env_status = QLabel(_("Status: Environment inspection ready.")) + self.lbl_env_status.setStyleSheet("color: #64748b; font-size: 11px; margin-top: 4px;") + c_lay_env.addWidget(self.lbl_env_status) + lay_sub2.addWidget(self.card_deps) + lay_sub2.addWidget(self.card_env) lay_sub2.addStretch() self.card_res, c_lay_res = self._create_card(_("Additional Resources (Drag & Drop Supported)")) @@ -2534,8 +2736,10 @@ class SettingsPanel(QWidget): self.cert_pass_edit.setEchoMode(QLineEdit.EchoMode.Password) self.cert_pass_edit.setPlaceholderText(_("Certificate password")) - form_adv_sign.addRow(QLabel(_("Commercial PFX File:")), cert_cont) - form_adv_sign.addRow(QLabel(_("Cert Password:")), self.cert_pass_edit) + self.lbl_cert_path = QLabel(_("Commercial PFX File:")) + self.lbl_cert_pass = QLabel(_("Cert Password:")) + form_adv_sign.addRow(self.lbl_cert_path, cert_cont) + form_adv_sign.addRow(self.lbl_cert_pass, self.cert_pass_edit) self.adv_sign_container.setVisible(False) self.btn_toggle_adv_sign = QPushButton(_("Use Custom Commercial Cert (Optional) ▸")) @@ -2574,7 +2778,7 @@ class SettingsPanel(QWidget): self.mapping_table.verticalHeader().setVisible(False) self.mapping_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) self.mapping_table.setSelectionBehavior(QTableWidget.SelectionBehavior.SelectRows) - self.mapping_table.setMinimumHeight(150) + self.mapping_table.setMinimumHeight(120) c_lay_map.addWidget(self.mapping_table) btn_map_lay = QHBoxLayout() @@ -2596,7 +2800,44 @@ class SettingsPanel(QWidget): btn_map_lay.addStretch() c_lay_map.addLayout(btn_map_lay) + # --- 新增卡片:废弃兼容包拦截规则 --- + self.card_rules, c_lay_rules = self._create_card(_("Obsolete Backport Exclusion Rules")) + + self.enable_shield_check = QCheckBox(_("Enable Automatic Backport Isolation")) + self.enable_shield_check.setChecked(True) + c_lay_rules.addWidget(self.enable_shield_check) + + self.backport_table = QTableWidget() + self.backport_table.setItemDelegate(TableItemDelegate(self.backport_table)) + self.backport_table.setColumnCount(2) + self.backport_table.setHorizontalHeaderLabels([_("Package Name"), _("Min Python Ver")]) + self.backport_table.verticalHeader().setVisible(False) + self.backport_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) + self.backport_table.setSelectionBehavior(QTableWidget.SelectionBehavior.SelectRows) + self.backport_table.setMinimumHeight(120) + c_lay_rules.addWidget(self.backport_table) + + btn_rules_lay = QHBoxLayout() + self.btn_add_rule = QPushButton(_("Add Backport Rule")) + self.btn_add_rule.setProperty("class", "ToolBtn") + self.btn_add_rule.clicked.connect(self.add_backport_rule_item) + + self.btn_del_rule = QPushButton(_("Remove Selected")) + self.btn_del_rule.setProperty("class", "ToolBtn") + self.btn_del_rule.clicked.connect(self.delete_backport_rule_item) + + self.btn_reset_rules = QPushButton(_("Restore Defaults")) + self.btn_reset_rules.setProperty("class", "ToolBtn") + self.btn_reset_rules.clicked.connect(self.reset_backport_rules_default) + + btn_rules_lay.addWidget(self.btn_add_rule) + btn_rules_lay.addWidget(self.btn_del_rule) + btn_rules_lay.addWidget(self.btn_reset_rules) + btn_rules_lay.addStretch() + c_lay_rules.addLayout(btn_rules_lay) + lay_sub5.addWidget(self.card_map) + lay_sub5.addWidget(self.card_rules) lay_sub5.addStretch() main_lay.addWidget(self.sub_tabs) @@ -2834,7 +3075,7 @@ class SettingsPanel(QWidget): self.sub_tabs.setTabText(1, _("Dependencies")) self.sub_tabs.setTabText(2, _("Resources")) self.sub_tabs.setTabText(3, _("Optimization & Security")) - self.sub_tabs.setTabText(4, _("Package Map")) + self.sub_tabs.setTabText(4, _("Package Mappings & Rules")) self.card_engine.findChild(QLabel, "CardTitle").setText(_("Engine & Environment")) self.card_mode.findChild(QLabel, "CardTitle").setText(_("Execution Mode")) @@ -2843,6 +3084,26 @@ class SettingsPanel(QWidget): self.card_opt.findChild(QLabel, "CardTitle").setText(_("Performance Optimization")) self.card_ver.findChild(QLabel, "CardTitle").setText(_("Lock Core Dependencies")) self.card_map.findChild(QLabel, "CardTitle").setText(_("Package Name Mappings")) + + if hasattr(self, 'card_rules'): + self.card_rules.findChild(QLabel, "CardTitle").setText(_("Obsolete Backport Exclusion Rules")) + if hasattr(self, 'card_env'): + self.card_env.findChild(QLabel, "CardTitle").setText(_("Environment Analysis")) + if hasattr(self, 'enable_shield_check'): + self.enable_shield_check.setText(_("Enable Automatic Backport Isolation")) + if hasattr(self, 'btn_inspect_env'): + self.btn_inspect_env.setText(_("Inspect Interpreter Environment")) + if hasattr(self, 'btn_remediate_env'): + self.btn_remediate_env.setText(_("Remediate Detected Conflicts")) + if hasattr(self, 'backport_table'): + self.backport_table.setHorizontalHeaderLabels([_("Package Name"), _("Min Python Ver")]) + if hasattr(self, 'btn_add_rule'): + self.btn_add_rule.setText(_("Add Backport Rule")) + if hasattr(self, 'btn_del_rule'): + self.btn_del_rule.setText(_("Remove Selected")) + if hasattr(self, 'btn_reset_rules'): + self.btn_reset_rules.setText(_("Restore Defaults")) + self.card_lang.findChild(QLabel, "CardTitle").setText(_("UI Language:")) self.card_meta.findChild(QLabel, "CardTitle").setText(_("App Metadata & Presets")) self.card1.findChild(QLabel, "CardTitle").setText(_("Output Location")) @@ -2966,7 +3227,37 @@ class SettingsPanel(QWidget): if hasattr(self, 'lbl_res_hint'): self.lbl_res_hint.setText(_("Project-specific. Not saved to global preferences. Use 'Export Preset' to save config.")) self.add_data_list.setToolTip(_("Double-click to edit target path; Drag & drop supported. Use 'Export Preset' to save for reuse.")) - + + # --- 补充遗漏的语言刷新控件 --- + self.btn_clean_venvs.setText(_("Clear Local Venvs")) + self.enable_sign_check.setText(_("Enable Smart Code Signing")) + self.enable_sign_check.setToolTip(_("Auto-applies digital signature to built app, eliminating 'Unknown Publisher' warning")) + + if hasattr(self, 'lbl_cert_path'): + self.lbl_cert_path.setText(_("Commercial PFX File:")) + if hasattr(self, 'lbl_cert_pass'): + self.lbl_cert_pass.setText(_("Cert Password:")) + + if self.adv_sign_container.isVisible(): + self.btn_toggle_adv_sign.setText(_("Hide Custom Cert Settings ▾")) + else: + self.btn_toggle_adv_sign.setText(_("Use Custom Commercial Cert (Optional) ▸")) + + if hasattr(self, 'lang_combo'): + current_lang = self.lang_combo.currentData() + self.lang_combo.blockSignals(True) + self.lang_combo.clear() + for code, name in I18N.get_available_languages().items(): + self.lang_combo.addItem(name, code) + idx = self.lang_combo.findData(current_lang) + if idx >= 0: + self.lang_combo.setCurrentIndex(idx) + self.lang_combo.blockSignals(False) + + if hasattr(self, 'lbl_env_status'): + if "ready." in self.lbl_env_status.text() or "等待环境校验" in self.lbl_env_status.text(): + self.lbl_env_status.setText(_("Status: Environment inspection ready.")) + self.on_engine_changed() self.on_python_path_changed() @@ -3037,6 +3328,124 @@ class SettingsPanel(QWidget): if hasattr(self.parent_win, "show_notification"): self.parent_win.show_notification(_("Package mappings have been reset to defaults.")) + def populate_backport_table(self, rules_dict): + self.backport_table.setRowCount(0) + for pkg_name, ver_str in rules_dict.items(): + row = self.backport_table.rowCount() + self.backport_table.insertRow(row) + self.backport_table.setItem(row, 0, QTableWidgetItem(pkg_name)) + self.backport_table.setItem(row, 1, QTableWidgetItem(str(ver_str))) + + def add_backport_rule_item(self): + dlg1 = CustomInputDialog(self, _("Add Backport Rule"), _("Package Name (e.g. pathlib):")) + if dlg1.exec() != QDialog.DialogCode.Accepted: return + pkg_name = dlg1.get_text().strip().lower() + if not pkg_name: return + + dlg2 = CustomInputDialog(self, _("Add Backport Rule"), _("Minimum Built-in Python Version (e.g. 3.4):"), "3.4") + if dlg2.exec() != QDialog.DialogCode.Accepted: return + ver_str = dlg2.get_text().strip() + if not ver_str: ver_str = "3.4" + + row = self.backport_table.rowCount() + self.backport_table.insertRow(row) + self.backport_table.setItem(row, 0, QTableWidgetItem(pkg_name)) + self.backport_table.setItem(row, 1, QTableWidgetItem(ver_str)) + + def delete_backport_rule_item(self): + rows = set(item.row() for item in self.backport_table.selectedItems()) + for r in sorted(rows, reverse=True): self.backport_table.removeRow(r) + + def reset_backport_rules_default(self): + self.populate_backport_table(DEFAULT_BACKPORT_RULES) + if hasattr(self.parent_win, "show_notification"): + self.parent_win.show_notification(_("Backport exclusion rules have been reset to defaults.")) + + def get_selected_python_ver_tuple(self): + raw_py = self.python_path_combo.currentText().strip() + if " (Python " in raw_py: raw_py = raw_py.split(" (Python ")[0].strip() + if not raw_py: raw_py = get_python_executable() + + try: + clean_env = os.environ.copy() + clean_env.pop("PYTHONHOME", None) + clean_env.pop("PYTHONPATH", None) + kw = {"capture_output": True, "text": True, "timeout": 3, "errors": "ignore"} + if os.name == 'nt': kw["creationflags"] = subprocess.CREATE_NO_WINDOW + res = subprocess.run([raw_py, "-c", "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"], **kw) + if res.returncode == 0 and res.stdout.strip(): + parts = res.stdout.strip().split('.') + return raw_py, (int(parts[0]), int(parts[1])) + except Exception: pass + return raw_py, (3, 8) + + def get_current_active_backport_rules(self): + rules = {} + for r in range(self.backport_table.rowCount()): + item_k = self.backport_table.item(r, 0) + item_v = self.backport_table.item(r, 1) + pkg = item_k.text().strip().lower() if item_k else "" + ver_str = item_v.text().strip() if item_v else "3.4" + if pkg: + try: + parts = [int(x) for x in ver_str.split('.')] + major = parts[0] if len(parts) > 0 else 3 + minor = parts[1] if len(parts) > 1 else 0 + rules[pkg] = (major, minor) + except Exception: + rules[pkg] = (3, 4) + return rules + + def inspect_current_python_env(self): + py_exe, ver_tuple = self.get_selected_python_ver_tuple() + if not py_exe or not os.path.exists(py_exe): + self.lbl_env_status.setText(_("[ERROR] Python interpreter is invalid or not found: {path}", path=py_exe or "None")) + return + + installed = query_target_env_packages(py_exe) + current_rules = self.get_current_active_backport_rules() + conflicts_found = [] + + for pkg_name in installed.keys(): + clean_pkg = pkg_name.lower().strip() + if clean_pkg in current_rules: + req_ver_tuple = current_rules[clean_pkg] + if ver_tuple >= req_ver_tuple: + conflicts_found.append(pkg_name) + + if conflicts_found: + msg = _("Active backport conflicts detected ({count}): {pkgs}", count=len(conflicts_found), pkgs=", ".join(conflicts_found)) + self.lbl_env_status.setText(f"[WARN] {msg}") + else: + self.lbl_env_status.setText(_("Interpreter inspection passed: No active backport conflicts detected.")) + + def remediate_environment_conflicts(self): + py_exe, ver_tuple = self.get_selected_python_ver_tuple() + installed = query_target_env_packages(py_exe) + current_rules = self.get_current_active_backport_rules() + + conflicts_to_remove = [] + for pkg_name in installed.keys(): + clean_pkg = pkg_name.lower().strip() + if clean_pkg in current_rules and ver_tuple >= current_rules[clean_pkg]: + conflicts_to_remove.append(pkg_name) + + if not conflicts_to_remove: + if hasattr(self.parent_win, "show_notification"): + self.parent_win.show_notification(_("No environment conflicts detected.")) + return + + uninst_cmd = [py_exe, "-m", "pip", "uninstall", "-y"] + conflicts_to_remove + try: + kw = {"capture_output": True, "text": True, "timeout": 20, "errors": "ignore"} + if os.name == 'nt': kw["creationflags"] = subprocess.CREATE_NO_WINDOW + subprocess.run(uninst_cmd, **kw) + self.inspect_current_python_env() + if hasattr(self.parent_win, "show_notification"): + self.parent_win.show_notification(_("Remediation completed for packages: {pkgs}", pkgs=", ".join(conflicts_to_remove))) + except Exception as e: + self.lbl_env_status.setText(_("[ERROR] Environment remediation failed: {error}", error=str(e))) + def toggle_adv_sign_ui(self): is_visible = not self.adv_sign_container.isVisible() self.adv_sign_container.setVisible(is_visible) @@ -3204,8 +3613,10 @@ class SettingsPanel(QWidget): self._set_combo_value(self.pip_backup_combo, pip_backup) self.venv_check.setChecked(s.getboolean('use_venv', True)) - self.keep_venv_check.setChecked(s.getboolean('keep_venv', False)) + + self.keep_venv_check.setChecked(False) self.keep_venv_check.setEnabled(self.venv_check.isChecked()) + self.reqs_check.setChecked(s.getboolean('use_reqs', True)) self.pipreqs_check.setChecked(s.getboolean('use_pipreqs', True)) self.pipreqs_dir_check.setChecked(s.getboolean('use_pipreqs_dir', False)) @@ -3244,6 +3655,10 @@ class SettingsPanel(QWidget): if 'Mappings' in config: self.populate_mapping_table(dict(config['Mappings'])) + if 'BackportRules' in config: + self.populate_backport_table(dict(config['BackportRules'])) + self.enable_shield_check.setChecked(s.getboolean('enable_backport_shield', True)) + def save_to_config(self): config = load_config() if 'Settings' not in config: config['Settings'] = {} @@ -3303,7 +3718,16 @@ class SettingsPanel(QWidget): k = item_k.text().strip() if item_k else "" v = item_v.text().strip() if item_v else "" if k and v: config['Mappings'][k] = v - + + s['enable_backport_shield'] = str(self.enable_shield_check.isChecked()) + config['BackportRules'] = {} + for r in range(self.backport_table.rowCount()): + item_k = self.backport_table.item(r, 0) + item_v = self.backport_table.item(r, 1) + k = item_k.text().strip().lower() if item_k else "" + v = item_v.text().strip() if item_v else "3.4" + if k: config['BackportRules'][k] = v + save_config(config) I18N.set_language(new_lang) @@ -3413,37 +3837,27 @@ class SettingsPanel(QWidget): def clean_local_venvs(self): script_path = getattr(self.parent_win, 'script_path', '') - if script_path and Path(script_path).exists(): - target_dir = Path(script_path).parent - else: - target_dir = Path.cwd() + target_dir = Path(script_path).parent if (script_path and Path(script_path).exists()) else Path.cwd() - venvs_to_remove = [] - if target_dir.exists(): - try: - for p in target_dir.iterdir(): - if p.is_dir() and p.name.startswith(".qpypack_venv"): - venvs_to_remove.append(p) - except Exception: pass + self.btn_clean_venvs.setEnabled(False) + self.btn_clean_venvs.setText(_("Scanning...")) + + self.venv_worker = VenvCleanerTaskThread("scan", target_dir=target_dir) + self.venv_worker.scan_done.connect(self._on_venv_scan_done) + self.venv_worker.start() + + def _on_venv_scan_done(self, venvs_to_remove, freed_bytes): + self.btn_clean_venvs.setEnabled(True) + self.btn_clean_venvs.setText(_("Clear Local Venvs")) if not venvs_to_remove: if hasattr(self.parent_win, 'show_notification'): self.parent_win.show_notification(_("No local virtual environments found to clean.")) return - freed_bytes = 0 - paths_str_list = [] - for venv in venvs_to_remove: - paths_str_list.append(f"• {venv.name}") - try: - for f in venv.rglob('*'): - if f.is_file(): - freed_bytes += f.stat().st_size - except Exception: pass - count = len(venvs_to_remove) freed_mb = freed_bytes / (1024 * 1024) - paths_html = "
".join(paths_str_list) + paths_html = "
".join([f"• {v.name}" for v in venvs_to_remove]) msg_box = QMessageBox(self) msg_box.setWindowTitle(_("Clear Virtual Environments")) @@ -3480,15 +3894,21 @@ class SettingsPanel(QWidget): msg_box.exec() if msg_box.clickedButton() == btn_confirm: - success_count = 0 - for venv in venvs_to_remove: - if robust_rmtree(venv): - success_count += 1 + self.btn_clean_venvs.setEnabled(False) + self.btn_clean_venvs.setText(_("Deleting...")) - msg = _("Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.", - count=success_count, size=freed_mb) - if hasattr(self.parent_win, 'show_notification'): - self.parent_win.show_notification(msg, 6000) + self.venv_worker = VenvCleanerTaskThread("delete", venvs_to_delete=venvs_to_remove) + self.venv_worker.delete_done.connect(self._on_venv_delete_done) + self.venv_worker.start() + + def _on_venv_delete_done(self, success_count, freed_mb): + self.btn_clean_venvs.setEnabled(True) + self.btn_clean_venvs.setText(_("Clear Local Venvs")) + + msg = _("Successfully cleaned {count} virtual environment(s), freed {size:.1f} MB disk space.", + count=success_count, size=freed_mb) + if hasattr(self.parent_win, 'show_notification'): + self.parent_win.show_notification(msg, 6000) def select_python_path(self): exe_filter = "Executable (*.exe);;All Files (*)" if os.name == 'nt' else "All Files (*)" @@ -3725,6 +4145,11 @@ class PackingThread(QThread): import signal os.killpg(os.getpgid(self.process.pid), signal.SIGKILL) except: pass + + try: + self.process.terminate() + self.process.kill() + except Exception: pass def run_cmd(self, cmd, cwd=None, timeout=None, silent_error=False, extra_env=None): if self._is_cancelled: return False @@ -3844,9 +4269,16 @@ class PackingThread(QThread): cmd = [python_exe, "-m", "pip", "install"] + pkgs_or_args + pip_args success = self.run_cmd(cmd) + if not success and not self.params.get('use_venv') and not self._is_cancelled: + self.progress.emit(_("[WARN] System Python write permission restricted. Retrying with '--user' mode...")) + user_cmd = [python_exe, "-m", "pip", "install", "--user"] + pkgs_or_args + pip_args + success = self.run_cmd(user_cmd) + if not success and backup_idx and backup_idx != primary_idx: self.progress.emit(_("[INFO] Switching to backup PyPI source for retrieval: {url}", url=backup_idx)) fallback_cmd = [python_exe, "-m", "pip", "install"] + pkgs_or_args + ["-i", backup_idx, "--disable-pip-version-check", "--prefer-binary"] + if not self.params.get('use_venv'): + fallback_cmd.insert(4, "--user") success = self.run_cmd(fallback_cmd) return success @@ -4435,6 +4867,36 @@ class PackingThread(QThread): dedup_install_list = [pkg for pkg in list(final_install_dict.values()) if re.split(r'[=>= min_ver_tuple: + active_exclusions.add(pkg_name.lower()) + + sanitized_dependencies = {} + for canon_name, full_spec in final_dependencies.items(): + clean_k = canon_name.lower().strip() + if clean_k in active_exclusions: + self.progress.emit(_("[INFO] Auto-shielded obsolete backport module: '{pkg}' (Built-in in Python {ver})", + pkg=canon_name, ver=f"{target_py_ver[0]}.{target_py_ver[1]}")) + continue + sanitized_dependencies[canon_name] = full_spec + + final_dependencies = sanitized_dependencies + temp_unified_reqs = custom_temp_base / f"qpypack_atomic_reqs_{int(time.time())}.txt" temp_unified_reqs.write_text('\n'.join(dedup_install_list), encoding='utf-8') @@ -4808,7 +5270,15 @@ class PackingThread(QThread): cmd.append(f"--nofollow-import-to={ex}") cmd.append(script_posix) - + + if enable_shield and active_exclusions: + if engine == "PyInstaller": + for bad_pkg in active_exclusions: + cmd.extend(["--exclude-module", bad_pkg]) + elif engine == "Nuitka": + for bad_pkg in active_exclusions: + cmd.append(f"--nofollow-import-to={bad_pkg}") + if self._is_cancelled: return self.build_finished.emit(False, _("[INFO] Build Cancelled."), []) @@ -4920,6 +5390,8 @@ class PackingThread(QThread): except Exception as e: success = False self.progress.emit(_("[ERROR] Product transfer failed, file might be occupied by system process or lack permission: {error}", error=str(e))) + if src_out and src_out.exists(): + self.progress.emit(f"[INFO] You can manually copy the compiled product from temporary folder:\n -> {src_out.as_posix()}") else: if not success and not self._is_cancelled: self.progress.emit(_("[ERROR] Could not locate valid executable product in temporary build directory: {path}", path=str(src_out))) @@ -4937,7 +5409,7 @@ class PackingThread(QThread): except: pass if self.params['onefile'] and os.name == 'nt': - self.progress.emit(_("[INFO] Tip: Packaged executables might be falsely flagged by Windows Defender/Antivirus. Adding exclusions or code-signing is recommended.")) + self.progress.emit(_("[INFO] Tip: Executables without commercial signatures might be falsely flagged by Windows Defender/Antivirus.")) self.build_finished.emit(True, _("[SUCCESS] Compilation completed, output path: {path}", path=final_out.resolve().as_posix()), failed_packages) else: if self._is_cancelled: @@ -5007,11 +5479,7 @@ class PackingThread(QThread): except: pass if sandbox_mode == 0 and custom_temp_base and custom_temp_base.exists(): - try: - if not any(custom_temp_base.iterdir()): - custom_temp_base.rmdir() - except Exception: pass - + robust_rmtree(custom_temp_base) class PythonInstallMonitorThread(QThread): finished_signal = Signal(bool) @@ -5756,6 +6224,26 @@ class MainWindow(QMainWindow): if str(e) != "Cancelled": self.show_error_log(f"[ERROR] Python download failed: {e}") + def on_main_resources_dropped(self, paths): + if not self.script_path or not Path(self.script_path).exists(): + self.show_error_log(_("[ERROR] Please load a valid Python source file first!")) + return + + self.settings_panel.on_resources_dropped(paths) + + self.drop_area.icon_widget.trigger_drop_pop() + + add_data_items = [self.settings_panel.add_data_list.item(i).data(Qt.ItemDataRole.UserRole) + for i in range(self.settings_panel.add_data_list.count())] + self.drop_area.render_asset_chips(self.script_path, add_data_items) + + count = len(paths) + if count == 1: + name = Path(paths[0]).name + self.show_notification(_("[INFO] Added '{name}' to Additional Resources.", name=name)) + else: + self.show_notification(_("[INFO] Added {count} resource item(s) to Additional Resources.", count=count)) + def on_script_selected(self, path): path = Path(path).resolve().as_posix() if is_cloud_locked(path): @@ -5770,8 +6258,11 @@ class MainWindow(QMainWindow): self.settings_panel.reqs_file_edit.clear() self.settings_panel.name_edit.clear() + self.settings_panel.keep_venv_check.setChecked(False) + self.script_path = path self.drop_area.set_loading(Path(path).name) + self.drop_area.icon_widget.trigger_drop_pop() self.set_status(_("Status: Parsing {filename}...", filename=Path(path).name)) if self.analysis_thread and self.analysis_thread.isRunning(): @@ -5800,7 +6291,10 @@ class MainWindow(QMainWindow): has_gui = any(lib in {m.lower() for m in script_imports} for lib in gui_libs) self.settings_panel.noconsole_check.setChecked(has_gui) - has_venv = False + + script_dir = Path(path).parent + + found_venv_name = None try: import hashlib import re @@ -5813,30 +6307,31 @@ class MainWindow(QMainWindow): target_prefix = f".qpypack_venv_{short_stem}_{path_hash}" - for p in script_dir.iterdir(): - if p.is_dir() and p.name.startswith(target_prefix): - has_venv = True - break + if script_dir.exists(): + for p in script_dir.iterdir(): + if p.is_dir() and p.name.startswith(target_prefix): + found_venv_name = p.name + break except Exception: pass - - if has_venv: + + if found_venv_name: self.settings_panel.venv_check.setChecked(True) - self.settings_panel.keep_venv_check.setChecked(has_venv) + self.settings_panel.keep_venv_check.setChecked(True) + self.append_log(_("[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.", venv=found_venv_name)) + else: + self.settings_panel.keep_venv_check.setChecked(False) default_output_name = f"{app_name}_{version}" if version else app_name self.settings_panel.name_edit.setText(default_output_name) - script_dir = Path(path).parent auto_icon = None - if self.settings_panel.auto_icon_check.isChecked(): ext_priority = [".ico", ".png", ".jpg", ".jpeg", ".svg"] if sys.platform == "darwin": ext_priority = [".icns", ".png", ".svg", ".ico"] name_priority = ["logo", "icon", "app", "favicon", Path(path).stem] - auto_icon = None found = False for ext in ext_priority: for name in name_priority: @@ -5853,40 +6348,15 @@ class MainWindow(QMainWindow): self.settings_panel.icon_edit.setText(auto_icon.resolve().as_posix()) self.drop_area.set_success(Path(path).name, custom_icon_path=auto_icon) + add_data_items = [self.settings_panel.add_data_list.item(i).data(Qt.ItemDataRole.UserRole) for i in range(self.settings_panel.add_data_list.count())] + self.drop_area.render_asset_chips(self.script_path, add_data_items) mode_suffix = _(" [Console]") if not has_gui else _(" [No Console]") self.set_status(_("Status: Loaded {filename}{mode}", filename=Path(path).name, mode=mode_suffix)) self.log_concise.clear() self.log_detailed.clear() self.append_log(_("Loaded: {filename}", filename=path)) - - found_venv_name = None - try: - import hashlib - import re - - script_path_obj = Path(path).resolve() - raw_stem = script_path_obj.stem - clean_stem = re.sub(r'[^a-zA-Z0-9]', '', raw_stem) or "script" - short_stem = clean_stem[:12] - path_hash = hashlib.md5(script_path_obj.as_posix().encode('utf-8')).hexdigest()[:6] - - target_prefix = f".qpypack_venv_{short_stem}_{path_hash}" - - for p in script_dir.iterdir(): - if p.is_dir() and p.name.startswith(target_prefix): - found_venv_name = p.name - break - except Exception: - pass - - if found_venv_name: - self.settings_panel.venv_check.setChecked(True) - self.settings_panel.keep_venv_check.setChecked(True) - self.append_log(_("[INFO] Auto-detected existing virtual environment '{venv}'. 'Keep Local Venv' is checked.", venv=found_venv_name)) - else: - self.settings_panel.keep_venv_check.setChecked(False) - + self.show_notification(_("Script loaded. You can drag asset folders or data files directly here to bundle them."), 6000) self.btn_main.setEnabled(True) self.update_ui_state("ready") @@ -5971,7 +6441,14 @@ class MainWindow(QMainWindow): desc_escaped = sp.ver_desc.text().replace("\\", "\\\\").replace("'", "\\'") v_str_escaped = v_str.replace("\\", "\\\\").replace("'", "\\'") - content = f'''VSVersionInfo(ffi=FixedFileInfo(filevers=({v_tuple}),prodvers=({v_tuple}),mask=0x3f,flags=0x0,OS=0x40004,fileType=0x1,subtype=0x0,date=(0,0)),kids=[StringFileInfo([StringTable('040904B0',[StringStruct('CompanyName','{comp_escaped}'),StringStruct('FileDescription','{desc_escaped}'),StringStruct('FileVersion','{v_str_escaped}'),StringStruct('ProductVersion','{v_str_escaped}'),StringStruct('OriginalFilename','{app_name}.exe')])]),VarFileInfo([VarStruct('Translation',[1033,1200])])])''' + clean_product_name = app_name + if v_str and clean_product_name.endswith(f"_{v_str}"): + clean_product_name = clean_product_name[:-len(f"_{v_str}")] + + app_name_escaped = clean_product_name.replace("\\", "\\\\").replace("'", "\\'") + orig_filename_escaped = app_name.replace("\\", "\\\\").replace("'", "\\'") + + content = f'''VSVersionInfo(ffi=FixedFileInfo(filevers=({v_tuple}),prodvers=({v_tuple}),mask=0x3f,flags=0x0,OS=0x40004,fileType=0x1,subtype=0x0,date=(0,0)),kids=[StringFileInfo([StringTable('040904B0',[StringStruct('CompanyName','{comp_escaped}'),StringStruct('FileDescription','{desc_escaped}'),StringStruct('FileVersion','{v_str_escaped}'),StringStruct('ProductVersion','{v_str_escaped}'),StringStruct('ProductName','{app_name_escaped}'),StringStruct('InternalName','{app_name_escaped}'),StringStruct('OriginalFilename','{orig_filename_escaped}.exe')])]),VarFileInfo([VarStruct('Translation',[1033,1200])])])''' version_file = Path(tempfile.gettempdir()) / f"qpypack_{app_name}_version.txt" version_file.write_text(content, encoding='utf-8') except: pass @@ -6067,6 +6544,8 @@ class MainWindow(QMainWindow): 'pyi_version': sp.pyi_ver_edit.text().strip(), 'nuitka_version': sp.nuitka_ver_edit.text().strip(), 'mappings': mappings, + 'enable_backport_shield': sp.enable_shield_check.isChecked(), + 'backport_rules': sp.get_current_active_backport_rules(), } self.log_concise.clear() @@ -6148,11 +6627,15 @@ class MainWindow(QMainWindow): self.settings_panel.ver_ver.setText("1.0.0") self.settings_panel.ver_comp.setText(_("Independent Developer")) self.settings_panel.ver_desc.setText(_("Desktop Application")) + + self.settings_panel.keep_venv_check.setChecked(False) + self.log_concise.clear() self.log_detailed.clear() if self.log_container.isVisible(): self.toggle_log() self.drop_area.reset() + self.drop_area.render_asset_chips(None, None) self.set_status(_("Status: Workspace Reset")) self.update_ui_state("idle") @@ -6301,10 +6784,23 @@ class MainWindow(QMainWindow): self.show_error_log(_("[ERROR] Failed to export log file: {error}", error=str(e))) def global_excepthook(exctype, value, tb): - import traceback err_text = "".join(traceback.format_exception(exctype, value, tb)) logger.critical(f"Unhandled exception: {err_text}") print(err_text, file=sys.stderr) + try: + log_file = os.path.join(tempfile.gettempdir(), "qpypack_crash.log") + with open(log_file, "a", encoding="utf-8") as f: + f.write(err_text + "\n") + + from PySide6.QtWidgets import QApplication, QMessageBox + if QApplication.instance(): + QMessageBox.critical( + None, + "Fatal Error / 严重错误", + f"App crashed! Unhandled exception occurred.\nLog saved to: {log_file}\n\n{err_text[:500]}..." + ) + except Exception: + pass def main(): sys.excepthook = global_excepthook @@ -6376,4 +6872,4 @@ def main(): sys.exit(app.exec()) if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/qpypack/update_locales_ai.py b/qpypack/update_locales_ai.py index 0faca69..4948222 100644 --- a/qpypack/update_locales_ai.py +++ b/qpypack/update_locales_ai.py @@ -1,13 +1,14 @@ import sys import json -import ast import re +import time from pathlib import Path +import ast try: import keyring except ImportError: - print("[ERROR] 请先安装 keyring 库以启用密钥安全存储: pip install keyring") + print("[ERROR] 请先安装 keyring 库: pip install keyring") sys.exit(1) try: @@ -19,13 +20,12 @@ except ImportError: from PySide6.QtWidgets import ( QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QTableWidget, QTableWidgetItem, QHeaderView, QPushButton, QLabel, - QComboBox, QLineEdit, QProgressBar, QStatusBar, QToolBar, QDialog, - QFormLayout, QMessageBox, QMenu, QAbstractItemView, QSpinBox + QComboBox, QLineEdit, QProgressBar, QStatusBar, QDialog, QFrame, + QFormLayout, QMessageBox, QMenu, QSpinBox ) from PySide6.QtCore import Qt, QThread, Signal, QSettings -from PySide6.QtGui import QFont, QColor, QPalette, QKeySequence, QShortcut +from PySide6.QtGui import QColor, QKeySequence, QShortcut, QCloseEvent, QFont -# ==================== Constants ==================== BASE_DIR = Path(__file__).parent.resolve() MAIN_PY = BASE_DIR / "main.py" LOCALES_DIR = BASE_DIR / "locales" @@ -34,481 +34,808 @@ ALL_LANGS = { "zh_CN": "简体中文", "zh_TW": "繁體中文", "ja_JP": "日本語", "ko_KR": "한국어", "de_DE": "Deutsch", "fr_FR": "Français", "es_ES": "Español", "ru_RU": "Русский", "pt_BR": "Português (Brasil)", "it_IT": "Italiano", "nl_NL": "Nederlands", - "pl_PL": "Polski", "tr_TR": "Türkçe", "vi_VN": "Tiếng Việt", "th_TH": "ไทย", "ar_SA": "العربية" + "pl_PL": "Polski", "tr_TR": "Türkçe", "vi_VN": "Tiếng Việt", "th_TH": "ไทย", "ar_SA": "阿拉伯语" } -# ==================== Core Helpers ==================== -def safe_write_json(file_path: Path, data: dict): - LOCALES_DIR.mkdir(parents=True, exist_ok=True) - temp_path = file_path.with_suffix('.tmp') - try: - temp_path.write_text(json.dumps(data, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") - temp_path.replace(file_path) - except Exception as e: - if temp_path.exists(): temp_path.unlink() - raise e +LANG_TARGET_NAMES = { + "zh_CN": "Simplified Chinese", "zh_TW": "Traditional Chinese", "ja_JP": "Japanese", + "ko_KR": "Korean", "de_DE": "German", "fr_FR": "French", "es_ES": "Spanish", + "ru_RU": "Russian", "pt_BR": "Portuguese (Brazil)", "it_IT": "Italian", + "nl_NL": "Dutch", "pl_PL": "Polish", "tr_TR": "Turkish", "vi_VN": "Vietnamese", + "th_TH": "Thai", "ar_SA": "Arabic" +} + +HANZI_LANGS = ("ja_JP", "zh_TW") + +SIMPLIFIED_ONLY = set( + "设门见东长时电话语说读书图网页击关闭应变换转载输编辑码软复选择确认继续结构" + "权环约风险级类项组键库释译验证签线缓进赖败强议拟统检测单显优层该络驱动盘备" + "贴终圆锁连执务请带过还这为们么样对题问试华钱银铁简觉卖买贝员观计让记论访详" + "间闻济脑际专业临节钟钥纸录归荐灵鲜齐团�区医压厂历县双发变叠" +) + +def _has_han(text: str) -> bool: + return bool(re.search(r'[\u4e00-\u9fff]', text)) + +def _has_kana(text: str) -> bool: + return bool(re.search(r'[\u3040-\u30ff]', text)) + +def is_wrong_language(key: str, val: str, lang_code: str, zh_cn_dict: dict) -> bool: + """ + 判断一条译文是否是错误语言(混入了中文)。 + - 非中日繁语言(阿拉伯/法/西/俄/韩...): 出现任何汉字即判错。 + - 日文/繁体: 仅当命中简体专属字符, 或与简体原文完全相同时判错。 + 合法的日文汉字词(出力先/保存/環境変数等)永不误杀。 + """ + if not val or lang_code == "zh_CN": + return False + + if lang_code not in HANZI_LANGS: + return _has_han(val) + + if not _has_han(val): + return False + + if any(ch in SIMPLIFIED_ONLY for ch in val): + return True + + zh_ref = zh_cn_dict.get(key, "").strip() + if zh_ref and val.strip() == zh_ref: + return True + + if lang_code == "ja_JP" and "," in val and not _has_kana(val): + return True + + return False def is_technical(text: str) -> bool: - val = text.strip() - if not val: return False - patterns = [ - r'^Python(\s+[\d.]+)?$', r'^v?[\d.]+(-\w+)?$', r'^\w+\.\w+$', - r'^(PyPI|pip|PyInstaller|Nuitka|venv|conda|wheel|QPyPack|GUI|UI|URL|API|ID|OK|Cancel)$', - r'^[A-Z0-9_]+$', r'^\[[A-Z0-9_-]+\]$', r'^https?://\S+$', r'^\{[a-zA-Z0-9_]+\}$' - ] - return any(re.match(p, val, re.I) for p in patterns) + if not text: return False + exact = {'pypi', 'pip', 'pyinstaller', 'nuitka', 'venv', 'conda', 'wheel', + 'qpypack', 'github', 'ui', 'gui', 'api', 'url', 'ast', 'ok'} + val = text.strip().lower() + if val in exact: return True + if re.match(r'^v?[\d]+\.[\d.]+(-\w+)?$', val): return True + if re.match(r'^https?://\S+$', val): return True + if re.match(r'^\{[a-zA-Z0-9_]+\}$', val): return True + return False -def validate_placeholders(original: str, translated: str) -> str: - orig_vars = set(re.findall(r'\{([a-zA-Z0-9_]+)\}', original)) - trans_vars = set(re.findall(r'\{([a-zA-Z0-9_]+)\}', translated)) - missing, extra = orig_vars - trans_vars, trans_vars - orig_vars - errs = [] - if missing: errs.append(f"缺 {{{','.join(missing)}}}") - if extra: errs.append(f"多 {{{','.join(extra)}}}") - return " | ".join(errs) +def enforce_format(original: str, translated: str) -> str: + if not translated: return "" + s = str(translated).strip() + tag = re.match(r'^(\[[A-Za-z\s]+\])', original) + if tag: + s = re.sub(r'^\[.*?\]\s*', '', s).strip() + s = f"{tag.group(1)} {s}" + if original.endswith("...") and not s.endswith("..."): + s += "..." + elif original.endswith(":") and not s.endswith(":"): + s += ":" + return s -def extract_keys_and_zh_cn(py_path: Path) -> tuple[list, dict]: +def clean_llm_json(raw: str) -> dict: + s = re.sub(r'^```json\s*|^```\s*|```$', '', raw.strip(), flags=re.I | re.M).strip() + try: + return json.loads(s) + except Exception: + a, b = s.find('{'), s.rfind('}') + if a != -1 and b != -1: + try: return json.loads(s[a:b + 1]) + except Exception: pass + return {} + +def extract_value(v) -> str: + if isinstance(v, str): return v.strip() + if isinstance(v, dict): + for k in ("translation", "translated", "target", "text"): + if k in v and isinstance(v[k], str): return v[k].strip() + for x in v.values(): + if isinstance(x, str): return x.strip() + if v: return str(list(v.values())[0]).strip() + return str(v).strip() + +def write_json(path: Path, data: dict): + LOCALES_DIR.mkdir(parents=True, exist_ok=True) + tmp = path.with_suffix('.tmp') + try: + tmp.write_text(json.dumps(data, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + tmp.replace(path) + except Exception as e: + if tmp.exists(): tmp.unlink() + raise e + +def load_lang(code: str) -> dict: + p = LOCALES_DIR / f"{code}.json" + if not p.exists(): return {} + try: + raw = json.loads(p.read_text("utf-8")) + return {k: str(v).strip() for k, v in raw.items() if str(v).strip()} + except Exception: + return {} + +def extract_keys(py_path: Path) -> tuple[list, dict]: if not py_path.exists(): return [], {} tree = ast.parse(py_path.read_text(encoding="utf-8")) - keys_set, zh_cn_dict = set(), {} - + keys, zh = set(), {} for node in ast.walk(tree): if isinstance(node, ast.Assign): for t in node.targets: if isinstance(t, ast.Name) and t.id == "ZH_CN_DICT" and isinstance(node.value, ast.Dict): for k, v in zip(node.value.keys, node.value.values): if isinstance(getattr(k, 'value', None), str): - keys_set.add(k.value) - if isinstance(getattr(v, 'value', None), str): zh_cn_dict[k.value] = v.value + keys.add(k.value) + if isinstance(getattr(v, 'value', None), str): + zh[k.value] = v.value if isinstance(node, ast.Call): - func = node.func - if (isinstance(func, ast.Name) and func.id in ("_", "t")) or \ - (isinstance(func, ast.Attribute) and func.attr in ("t", "_")): + f = node.func + if (isinstance(f, ast.Name) and f.id in ("_", "t")) or \ + (isinstance(f, ast.Attribute) and f.attr in ("t", "_")): if node.args and isinstance(getattr(node.args[0], 'value', None), str): - keys_set.add(node.args[0].value) - return sorted(keys_set), zh_cn_dict + keys.add(node.args[0].value) + return sorted(keys), zh -def clean_llm_json(raw_str: str) -> dict: - clean_str = re.sub(r'^```json\s*|^```\s*|```$', '', raw_str.strip(), flags=re.I | re.M).strip() +def patch_zh_dict(py_path: Path, pairs: dict) -> bool: + if not py_path.exists() or not pairs: return False + lines = py_path.read_text(encoding="utf-8").splitlines() + idx = next((i for i, ln in enumerate(lines) + if re.search(r'["\']Unknown["\']\s*:\s*["\']未知["\']', ln)), -1) + if idx == -1: return False + if idx > 0 and lines[idx - 1].strip() and not lines[idx - 1].rstrip().endswith((',', '{')): + lines[idx - 1] = lines[idx - 1].rstrip() + ',' + new = [f" {json.dumps(k, ensure_ascii=False)}: {json.dumps(v, ensure_ascii=False)}," + for k, v in pairs.items()] + lines[idx:idx] = new + tmp = py_path.with_suffix('.py.tmp') try: - return json.loads(clean_str) - except: - return {} + tmp.write_text("\n".join(lines) + "\n", encoding="utf-8") + tmp.replace(py_path) + return True + except Exception as e: + if tmp.exists(): tmp.unlink() + raise e - -class TranslationWorker(QThread): - progress = Signal(int, int) - batch_done = Signal(dict) - finished_all = Signal() - - def __init__(self, cfg, lang_name, keys: list): - super().__init__() - self.cfg, self.lang_name, self.keys = cfg, lang_name, keys - self.cancel_flag = False - - def run(self): - client = openai.OpenAI(api_key=self.cfg["api_key"], base_url=self.cfg.get("base_url")) - batch_size = self.cfg["batch_size"] - - for i in range(0, len(self.keys), batch_size): - if self.cancel_flag: break - batch_keys = self.keys[i:i+batch_size] - - id_map = {str(idx): k for idx, k in enumerate(batch_keys)} - sys_prompt = f"Translate the following UI strings to {self.lang_name}. Output ONLY a valid JSON object keeping the exact same numeric keys." - - try: - resp = client.chat.completions.create( - model=self.cfg["model"], - messages=[ - {"role": "system", "content": sys_prompt}, - {"role": "user", "content": json.dumps(id_map, ensure_ascii=False)} - ], - temperature=0.1, response_format={"type": "json_object"} - ) - raw_json = clean_llm_json(resp.choices[0].message.content) - result = {id_map[k]: str(v) for k, v in raw_json.items() if k in id_map and str(v).strip()} - self.batch_done.emit(result) - except Exception: - pass - - self.progress.emit(min(i + batch_size, len(self.keys)), len(self.keys)) - self.finished_all.emit() - - -class MultiLangWorker(QThread): - progress = Signal(int, int, str) - finished_all = Signal() - - def __init__(self, cfg, all_keys: list): +class BaseWorker(QThread): + def __init__(self, cfg): super().__init__() self.cfg = cfg - self.all_keys = all_keys - self.cancel_flag = False + self.cancel = False + self.client = openai.OpenAI(api_key=cfg["api_key"], base_url=cfg.get("base_url") or None) + + def _call(self, sys_prompt: str, payload: dict) -> dict: + for i in range(3): + if self.cancel: return {} + try: + r = self.client.chat.completions.create( + model=self.cfg["model"], + messages=[{"role": "system", "content": sys_prompt}, + {"role": "user", "content": json.dumps(payload, ensure_ascii=False)}], + temperature=0.1, response_format={"type": "json_object"}, timeout=60) + if self.cancel: return {} + p = clean_llm_json(r.choices[0].message.content) + if len(p) == 1 and isinstance(list(p.values())[0], dict): + p = list(p.values())[0] + return p + except Exception: + if self.cancel: return {} + time.sleep(2 ** i) + return {} + + @staticmethod + def _prompt(code: str) -> str: + target = LANG_TARGET_NAMES.get(code, "English") + lines = [ + "You are a professional software localization expert.", + f"Translate the given English UI strings into {target}.", + "Output ONLY a flat JSON object mapping the exact input IDs to translated strings.", + "Keep placeholders like {count}, {pkgs}, {path} EXACTLY unchanged.", + ] + if code == "zh_TW": + lines.append("Output Traditional Chinese (繁體中文) ONLY. NEVER output Simplified Chinese characters.") + elif code == "ja_JP": + lines.append("Output natural Japanese ONLY. NEVER output Simplified Chinese characters.") + elif code == "ko_KR": + lines.append("Output Korean (한글) ONLY. Do NOT use any Chinese characters.") + elif code != "zh_CN": + lines.append(f"Output {target} ONLY. Do NOT output any Chinese characters.") + return "\n".join(lines) + + def translate_batch(self, keys: list, code: str, zh: dict) -> dict: + """请求 -> 质检 -> 重试 -> 丢弃 的闭环。只有通过质检的译文才返回。""" + pending = list(keys) + out = {} + target = LANG_TARGET_NAMES.get(code, code) + base = self._prompt(code) + + for attempt in range(3): + if not pending or self.cancel: break + prompt = base + if attempt > 0: + prompt += (f"\n\nCRITICAL: Your last output contained WRONG language " + f"(Chinese characters). Translate STRICTLY into {target}. " + f"Absolutely NO Simplified Chinese characters allowed.") + payload = {str(i): k for i, k in enumerate(pending)} + idmap = {str(i): k for i, k in enumerate(pending)} + raw = self._call(prompt, payload) + if self.cancel: break + + rest = [] + for sid, key in idmap.items(): + v = raw.get(sid) + if v is None: + rest.append(key); continue + val = enforce_format(key, extract_value(v)) + if val and not is_wrong_language(key, val, code, zh): + out[key] = val + else: + rest.append(key) + pending = rest + + if pending: + print(f"[{code}] {len(pending)} 条译文质检失败, 已丢弃保持空缺(绝不写入错误内容)。") + return out + + +class SingleWorker(BaseWorker): + progress = Signal(int, int) + batch_done = Signal(dict) + done = Signal() + + def __init__(self, cfg, code, keys, zh): + super().__init__(cfg) + self.code, self.keys, self.zh = code, keys, zh def run(self): - client = openai.OpenAI(api_key=self.cfg["api_key"], base_url=self.cfg.get("base_url")) - batch_size = self.cfg["batch_size"] + bs = self.cfg["batch_size"] + for i in range(0, len(self.keys), bs): + if self.cancel: break + res = self.translate_batch(self.keys[i:i + bs], self.code, self.zh) + if self.cancel: break + self.batch_done.emit(res) + self.progress.emit(min(i + bs, len(self.keys)), len(self.keys)) + self.done.emit() + + +class AllWorker(BaseWorker): + progress = Signal(int, int, str) + done = Signal() + + def __init__(self, cfg, all_keys, zh): + super().__init__(cfg) + self.all_keys, self.zh = all_keys, zh + + def run(self): + bs = self.cfg["batch_size"] targets = [c for c in ALL_LANGS if c != "zh_CN"] - - for lang_idx, code in enumerate(targets): - if self.cancel_flag: break - lang_name = ALL_LANGS[code] - self.progress.emit(lang_idx, len(targets), f"正在处理: {lang_name} ({code})") - - file_path = LOCALES_DIR / f"{code}.json" - data = json.loads(file_path.read_text("utf-8")) if file_path.exists() else {} - - missing = [k for k in self.all_keys if not data.get(k) and not is_technical(k)] - if not missing: - continue - - for i in range(0, len(missing), batch_size): - if self.cancel_flag: break - batch_keys = missing[i:i+batch_size] - id_map = {str(idx): k for idx, k in enumerate(batch_keys)} - sys_prompt = f"Translate the following UI strings to {lang_name}. Output ONLY a valid JSON object keeping the exact same numeric keys." - - try: - resp = client.chat.completions.create( - model=self.cfg["model"], - messages=[ - {"role": "system", "content": sys_prompt}, - {"role": "user", "content": json.dumps(id_map, ensure_ascii=False)} - ], - temperature=0.1, response_format={"type": "json_object"} - ) - raw_json = clean_llm_json(resp.choices[0].message.content) - for k, v in raw_json.items(): - if k in id_map and str(v).strip(): - data[id_map[k]] = str(v) - except Exception: - pass - - if not self.cancel_flag: - safe_write_json(file_path, data) - + for idx, code in enumerate(targets): + if self.cancel: break + self.progress.emit(idx, len(targets), f"处理: {ALL_LANGS[code]} ({code})") + data = load_lang(code) + missing = [k for k in self.all_keys if not is_technical(k) and not data.get(k)] + for i in range(0, len(missing), bs): + if self.cancel: break + data.update(self.translate_batch(missing[i:i + bs], code, self.zh)) + if not self.cancel: + for k in self.all_keys: + if is_technical(k): data[k] = k + write_json(LOCALES_DIR / f"{code}.json", + {k: data[k] for k in self.all_keys if k in data}) self.progress.emit(len(targets), len(targets), "全库补全完成!") - self.finished_all.emit() + self.done.emit() + + +class ZhWorker(BaseWorker): + finished_sig = Signal(bool, int, str) + + def __init__(self, cfg, keys): + super().__init__(cfg) + self.keys = keys + + def run(self): + bs = self.cfg["batch_size"] + pairs = {} + prompt = ("Translate the English UI strings to Simplified Chinese (简体中文). " + "Keep placeholders like {count} unchanged. Output ONLY a flat JSON object.") + for i in range(0, len(self.keys), bs): + if self.cancel: break + batch = self.keys[i:i + bs] + raw = self._call(prompt, {str(j): k for j, k in enumerate(batch)}) + idmap = {str(j): k for j, k in enumerate(batch)} + for sid, key in idmap.items(): + if sid in raw: + val = enforce_format(key, extract_value(raw[sid])) + if val: pairs[key] = val + if self.cancel: return + if pairs: + try: + ok = patch_zh_dict(MAIN_PY, pairs) + self.finished_sig.emit(ok, len(pairs), + "" if ok else "未能在 main.py 找到锚点 'Unknown':'未知'") + except Exception as e: + self.finished_sig.emit(False, 0, str(e)) + else: + self.finished_sig.emit(False, 0, "AI 未返回有效数据") + +ACCENT, ACCENT_D = "#6366f1", "#4f46e5" +DANGER, DANGER_D = "#ef4444", "#dc2626" +SUCCESS = "#10b981" + +QSS = f""" +QMainWindow, QWidget#Root {{ background:#f1f5f9; }} +QFrame#Header {{ background:#fff; border-bottom:1px solid #e2e8f0; }} +QLabel#Title {{ font-size:18px; font-weight:800; color:#0f172a; }} +QLabel#Sub {{ font-size:11px; color:#94a3b8; }} +QFrame#Card {{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; }} +QComboBox {{ background:#fff; color:#0f172a; border:1px solid #cbd5e1; border-radius:8px; + padding:7px 12px; font-size:13px; min-height:20px; }} +QComboBox:hover {{ border-color:{ACCENT}; }} +QComboBox::drop-down {{ border:none; width:24px; }} +QComboBox QAbstractItemView {{ background:#fff; border:1px solid #e2e8f0; border-radius:8px; + selection-background-color:#eef2ff; selection-color:{ACCENT_D}; padding:4px; outline:none; }} +QComboBox#Lang {{ font-size:14px; font-weight:700; min-width:220px; }} +QLineEdit {{ background:#fff; color:#0f172a; border:1px solid #cbd5e1; border-radius:8px; + padding:7px 12px; font-size:13px; selection-background-color:{ACCENT}; selection-color:#fff; }} +QLineEdit:focus {{ border:1px solid {ACCENT}; }} +QPushButton {{ background:#fff; color:#334155; border:1px solid #cbd5e1; border-radius:8px; + padding:8px 14px; font-size:13px; font-weight:600; }} +QPushButton:hover {{ background:#f8fafc; border-color:#94a3b8; }} +QPushButton:disabled {{ color:#cbd5e1; background:#f8fafc; border-color:#e2e8f0; }} +QPushButton#Primary {{ background:{ACCENT}; color:#fff; border:none; }} +QPushButton#Primary:hover {{ background:{ACCENT_D}; }} +QPushButton#Primary:disabled {{ background:#c7d2fe; }} +QPushButton#Danger {{ background:#fff; color:{DANGER_D}; border:1px solid #fecaca; }} +QPushButton#Danger:hover {{ background:#fef2f2; border-color:{DANGER}; }} +QPushButton#Stop {{ background:{DANGER}; color:#fff; border:none; }} +QPushButton#Stop:hover {{ background:{DANGER_D}; }} +QPushButton#Stop:disabled {{ background:#fca5a5; }} +QPushButton#Success {{ background:#fff; color:#047857; border:1px solid #a7f3d0; }} +QPushButton#Success:hover {{ background:#ecfdf5; border-color:{SUCCESS}; }} +QTableWidget {{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; + gridline-color:#f1f5f9; outline:none; }} +QTableWidget::item {{ padding:6px 10px; border-bottom:1px solid #f1f5f9; }} +QTableWidget::item:selected {{ background:#eef2ff; color:#0f172a; }} +QHeaderView::section {{ background:#f8fafc; color:#475569; font-size:12px; font-weight:700; + padding:10px; border:none; border-bottom:2px solid #e2e8f0; }} +QTableWidget QLineEdit {{ border:2px solid {ACCENT}; border-radius:4px; padding:2px 6px; }} +QProgressBar {{ background:#e2e8f0; border:none; border-radius:6px; height:8px; font-size:0px; }} +QProgressBar::chunk {{ background:{ACCENT}; border-radius:6px; }} +QStatusBar {{ background:#fff; color:#64748b; border-top:1px solid #e2e8f0; font-size:12px; }} +QStatusBar::item {{ border:none; }} +QScrollBar:vertical {{ background:transparent; width:10px; margin:2px; }} +QScrollBar::handle:vertical {{ background:#cbd5e1; border-radius:5px; min-height:30px; }} +QScrollBar::handle:vertical:hover {{ background:#94a3b8; }} +QScrollBar::add-line, QScrollBar::sub-line {{ height:0; }} +QMenu {{ background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:5px; }} +QMenu::item {{ padding:7px 18px; border-radius:6px; font-size:13px; color:#334155; }} +QMenu::item:selected {{ background:#eef2ff; color:{ACCENT_D}; }} +""" class SettingsDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) - self.setWindowTitle("⚙️ API 设置") - self.setMinimumWidth(400) - self.settings = QSettings("QPyPack", "i18nFast") - - layout = QFormLayout(self) - - saved_key = keyring.get_password("QPyPack_i18n", "api_key") or "" - - self.key_ed = QLineEdit(saved_key) - self.key_ed.setEchoMode(QLineEdit.EchoMode.Password) - self.url_ed = QLineEdit(self.settings.value("base_url", "https://api.deepseek.com")) - self.mod_ed = QLineEdit(self.settings.value("model", "deepseek-chat")) - self.batch_sp = QSpinBox(); self.batch_sp.setRange(5, 100); self.batch_sp.setValue(int(self.settings.value("batch_size", 30))) - - layout.addRow("API Key:", self.key_ed) - layout.addRow("Base URL:", self.url_ed) - layout.addRow("Model:", self.mod_ed) - layout.addRow("批次大小:", self.batch_sp) - - btn = QPushButton("保存") - btn.clicked.connect(self.save) - layout.addRow("", btn) + self.setWindowTitle("API 设置") + self.setMinimumWidth(460) + self.setStyleSheet(QSS + "QDialog{background:#fff;} QLabel{font-size:13px;color:#334155;font-weight:600;}") + self.s = QSettings("QPyPack", "i18nFast") + root = QVBoxLayout(self) + root.setContentsMargins(24, 24, 24, 24); root.setSpacing(16) + t = QLabel("⚙ 翻译服务配置") + t.setStyleSheet("font-size:16px;font-weight:800;color:#0f172a;") + root.addWidget(t) + form = QFormLayout(); form.setSpacing(12) + self.key = QLineEdit(keyring.get_password("QPyPack_i18n", "api_key") or "") + self.key.setEchoMode(QLineEdit.EchoMode.Password); self.key.setPlaceholderText("sk-...") + self.url = QLineEdit(self.s.value("base_url", "https://api.deepseek.com")) + self.mod = QLineEdit(self.s.value("model", "deepseek-chat")) + self.bs = QSpinBox(); self.bs.setRange(5, 100) + self.bs.setValue(int(self.s.value("batch_size", 20))) + self.bs.setStyleSheet("QSpinBox{border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:13px;}") + form.addRow("API Key", self.key); form.addRow("Base URL", self.url) + form.addRow("Model", self.mod); form.addRow("批次大小", self.bs) + root.addLayout(form) + row = QHBoxLayout(); row.addStretch() + c = QPushButton("取消"); c.clicked.connect(self.reject) + sv = QPushButton("保存"); sv.setObjectName("Primary"); sv.clicked.connect(self.save) + row.addWidget(c); row.addWidget(sv) + root.addLayout(row) def save(self): - api_key = self.key_ed.text().strip() - - if api_key: - keyring.set_password("QPyPack_i18n", "api_key", api_key) + k = self.key.text().strip() + if k: keyring.set_password("QPyPack_i18n", "api_key", k) else: try: keyring.delete_password("QPyPack_i18n", "api_key") except: pass - - self.settings.setValue("base_url", self.url_ed.text().strip()) - self.settings.setValue("model", self.mod_ed.text().strip()) - self.settings.setValue("batch_size", self.batch_sp.value()) - - if self.settings.contains("api_key"): - self.settings.remove("api_key") - + self.s.setValue("base_url", self.url.text().strip()) + self.s.setValue("model", self.mod.text().strip()) + self.s.setValue("batch_size", self.bs.value()) self.accept() @staticmethod - def get_cfg(): + def cfg(): s = QSettings("QPyPack", "i18nFast") - api_key = keyring.get_password("QPyPack_i18n", "api_key") or "" - return {"api_key": api_key, "base_url": s.value("base_url", ""), - "model": s.value("model", "deepseek-chat"), "batch_size": int(s.value("batch_size", 30))} - + return {"api_key": keyring.get_password("QPyPack_i18n", "api_key") or "", + "base_url": s.value("base_url", ""), + "model": s.value("model", "deepseek-chat"), + "batch_size": int(s.value("batch_size", 20))} class MainWindow(QMainWindow): def __init__(self): super().__init__() - self.setWindowTitle("QPyPack i18n Translation Studio - 1.0.1") - self.resize(1200, 800) - self.all_keys, self.zh_cn_dict, self.current_data = [], {}, {} + self.setWindowTitle("QPyPack i18n Studio") + self.resize(1480, 860) + self.setStyleSheet(QSS) + self.all_keys, self.zh_dict, self.data, self.unmapped = [], {}, {}, [] self.worker = None + self.zh_worker = None + self._ui() + QShortcut(QKeySequence("Ctrl+S"), self).activated.connect(self._save) + self._load() - self._setup_ui() - QShortcut(QKeySequence("Ctrl+S"), self).activated.connect(self._save_file) - self._load_source() + def _btn(self, text, slot, obj="", tip=""): + b = QPushButton(text) + if obj: b.setObjectName(obj) + if tip: b.setToolTip(tip) + b.setCursor(Qt.CursorShape.PointingHandCursor) + b.clicked.connect(slot) + return b - def _setup_ui(self): - toolbar = QToolBar("ToolBar") - self.addToolBar(toolbar) - - self.btn_scan = QPushButton("🔄 刷新源码") - self.btn_scan.clicked.connect(self._load_source) - toolbar.addWidget(self.btn_scan) - toolbar.addSeparator() + def _badge(self, text, color, bg): + l = QLabel(text) + l.setStyleSheet(f"QLabel{{background:{bg};color:{color};font-size:12px;font-weight:700;padding:4px 12px;border-radius:12px;}}") + return l - self.lang_combo = QComboBox() - for k, v in ALL_LANGS.items(): self.lang_combo.addItem(f"{v} ({k})", k) - self.lang_combo.currentIndexChanged.connect(self._switch_lang) - toolbar.addWidget(self.lang_combo) + def _ui(self): + root = QWidget(); root.setObjectName("Root") + self.setCentralWidget(root) + outer = QVBoxLayout(root); outer.setContentsMargins(0, 0, 0, 0); outer.setSpacing(0) - self.btn_trans = QPushButton("🤖 翻译当前缺失") - self.btn_trans.clicked.connect(self._translate_missing) - toolbar.addWidget(self.btn_trans) + header = QFrame(); header.setObjectName("Header"); header.setFixedHeight(64) + h = QHBoxLayout(header); h.setContentsMargins(24, 0, 24, 0); h.setSpacing(14) + logo = QLabel("🌐"); logo.setStyleSheet("font-size:26px;") + tb = QVBoxLayout(); tb.setSpacing(0) + t1 = QLabel("i18n Translation Studio"); t1.setObjectName("Title") + t2 = QLabel("QPyPack 多语言智能翻译工作台"); t2.setObjectName("Sub") + tb.addWidget(t1); tb.addWidget(t2) + h.addWidget(logo); h.addLayout(tb); h.addSpacing(20) + h.addWidget(self._label("当前语言")) + self.lang = QComboBox(); self.lang.setObjectName("Lang") + for k, v in ALL_LANGS.items(): self.lang.addItem(f"{v} · {k}", k) + self.lang.currentIndexChanged.connect(self._switch) + h.addWidget(self.lang); h.addStretch() + self.bg_total = self._badge("总计 0", "#475569", "#f1f5f9") + self.bg_miss = self._badge("缺失 0", "#b45309", "#fef3c7") + self.bg_leak = self._badge("残留 0", DANGER_D, "#fee2e2") + h.addWidget(self.bg_total); h.addWidget(self.bg_miss); h.addWidget(self.bg_leak) + h.addSpacing(6) + self.b_cfg = self._btn("⚙ 设置", lambda: SettingsDialog(self).exec()) + h.addWidget(self.b_cfg) + outer.addWidget(header) - self.btn_save = QPushButton("💾 保存当前") - self.btn_save.clicked.connect(self._save_file) - toolbar.addWidget(self.btn_save) - toolbar.addSeparator() + bar = QFrame(); bar.setStyleSheet("QFrame{background:#fff;border-bottom:1px solid #e2e8f0;}") + b = QHBoxLayout(bar); b.setContentsMargins(24, 12, 24, 12); b.setSpacing(10) + self.b_trans = self._btn("🤖 翻译当前缺失", self._trans_missing, "Primary") + self.b_all = self._btn("🌐 全库补全并保存", self._trans_all, "Primary") + self.b_re = self._btn("🔥 重译当前语言", self._retrans, "Danger") + self.b_stop = self._btn("🛑 停止", self._cancel, "Stop"); self.b_stop.setEnabled(False) + b.addWidget(self.b_trans); b.addWidget(self.b_all); b.addWidget(self.b_re); b.addWidget(self.b_stop) + sep = QFrame(); sep.setFixedWidth(1); sep.setStyleSheet("background:#e2e8f0;") + b.addWidget(sep) + self.b_clean = self._btn("🧽 清理错误残留", self._clean, "Danger", + "字符级精准清除混入的简体中文,绝不误杀日文汉字") + self.b_patch = self._btn("✨ 补全主程序中文", self._patch, "Success") + b.addWidget(self.b_clean); b.addWidget(self.b_patch); b.addStretch() + self.b_scan = self._btn("🔄 刷新源码", self._load) + self.b_save = self._btn("💾 保存当前", self._save) + self.b_saveall = self._btn("📦 批量清理保存", self._save_all) + self.b_fix = self._btn("🧹 规范化标签", self._fix_tags) + for x in (self.b_scan, self.b_save, self.b_saveall, self.b_fix): b.addWidget(x) + outer.addWidget(bar) - self.btn_trans_all = QPushButton("🌐 一键全库补全并保存") - self.btn_trans_all.setStyleSheet("color: #ffffff; font-weight: bold; background: #2563eb;") - self.btn_trans_all.clicked.connect(self._translate_all) - toolbar.addWidget(self.btn_trans_all) - - self.btn_save_all = QPushButton("📦 批量清理废弃词条") - self.btn_save_all.clicked.connect(self._save_all_files) - toolbar.addWidget(self.btn_save_all) - toolbar.addSeparator() - - self.btn_cfg = QPushButton("⚙ 设置") - self.btn_cfg.clicked.connect(lambda: SettingsDialog(self).exec()) - toolbar.addWidget(self.btn_cfg) - - central = QWidget() - self.setCentralWidget(central) - lay = QVBoxLayout(central) - - f_lay = QHBoxLayout() - self.search_box = QLineEdit(); self.search_box.setPlaceholderText("🔍 搜索...") - self.search_box.textChanged.connect(self._filter_table) - self.filter_combo = QComboBox() - self.filter_combo.addItems(["全部", "仅缺失", "仅异常"]) - self.filter_combo.currentIndexChanged.connect(self._filter_table) - self.lbl_stats = QLabel("就绪") - f_lay.addWidget(self.search_box, 1) - f_lay.addWidget(self.filter_combo) - f_lay.addWidget(self.lbl_stats) - lay.addLayout(f_lay) + body = QWidget(); bl = QVBoxLayout(body) + bl.setContentsMargins(24, 18, 24, 12); bl.setSpacing(14) + filt = QFrame(); filt.setObjectName("Card") + fl = QHBoxLayout(filt); fl.setContentsMargins(14, 10, 14, 10); fl.setSpacing(10) + self.search = QLineEdit(); self.search.setPlaceholderText("🔍 搜索英文 Key / 中文参考 / 译文…") + self.search.textChanged.connect(self._filter) + self.fmode = QComboBox(); self.fmode.addItems(["全部条目", "仅缺失", "仅未映射中文", "⚠️ 仅错误语言残留"]) + self.fmode.setFixedWidth(180); self.fmode.currentIndexChanged.connect(self._filter) + fl.addWidget(self.search, 1); fl.addWidget(self.fmode) + bl.addWidget(filt) self.table = QTableWidget(0, 3) - self.table.setHorizontalHeaderLabels(["Key (源码 / 英文)", "参考 (简体中文)", "译文 (双击编辑)"]) + self.table.setHorizontalHeaderLabels(["Key(英文原文)", "参考(简体中文)", "译文(双击编辑)"]) self.table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Interactive) self.table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Interactive) self.table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) - self.table.setColumnWidth(0, 350); self.table.setColumnWidth(1, 300) - self.table.setStyleSheet("QTableWidget::item { padding: 4px; font-size: 13px; }") - self.table.itemChanged.connect(self._on_item_changed) + self.table.setColumnWidth(0, 380); self.table.setColumnWidth(1, 300) + self.table.verticalHeader().setVisible(False) + self.table.verticalHeader().setDefaultSectionSize(38) + self.table.setShowGrid(False) + self.table.itemChanged.connect(self._edited) self.table.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) - self.table.customContextMenuRequested.connect(self._ctx_menu) - lay.addWidget(self.table) - + self.table.customContextMenuRequested.connect(self._menu) + bl.addWidget(self.table, 1) self.progress = QProgressBar(); self.progress.hide() - lay.addWidget(self.progress) - self.statusBar = QStatusBar(); self.setStatusBar(self.statusBar) + bl.addWidget(self.progress) + outer.addWidget(body, 1) - def _load_source(self): - self.all_keys, self.zh_cn_dict = extract_keys_and_zh_cn(MAIN_PY) - if self.lang_combo.count() > 0: self._switch_lang() + self.status = QStatusBar(); self.setStatusBar(self.status) + self.status.showMessage("就绪") - def _switch_lang(self): - if self.worker and self.worker.isRunning(): self.worker.cancel_flag = True - - code = self.lang_combo.currentData() - file_path = LOCALES_DIR / f"{code}.json" - self.current_data = json.loads(file_path.read_text("utf-8")) if file_path.exists() else {} - + def _label(self, txt): + l = QLabel(txt); l.setStyleSheet("color:#64748b;font-size:12px;font-weight:600;") + return l + + def _stop(self): + for a in ('worker', 'zh_worker'): + w = getattr(self, a, None) + if w and w.isRunning(): + w.cancel = True; w.quit(); w.wait(2000) + + def _cancel(self): + self._stop(); self.progress.hide(); self._lock(False) + self.status.showMessage("🛑 已取消任务", 5000) + + def closeEvent(self, e: QCloseEvent): + self._stop(); super().closeEvent(e) + + def _lock(self, locked): + for x in (self.b_trans, self.b_re, self.b_all, self.b_patch, self.b_save, + self.b_saveall, self.b_scan, self.b_fix, self.b_clean, self.b_cfg, self.lang): + x.setEnabled(not locked) + self.b_stop.setEnabled(locked) + + def _load(self): + self._stop() + self.all_keys, self.zh_dict = extract_keys(MAIN_PY) + self.unmapped = [k for k in self.all_keys if k not in self.zh_dict and not is_technical(k)] + if self.lang.count() > 0: self._switch() + + def _switch(self): + self._stop() + code = self.lang.currentData() + self.data = load_lang(code) + if code == "zh_CN": + for k in self.all_keys: + if not self.data.get(k) and k in self.zh_dict: + self.data[k] = self.zh_dict[k] for k in self.all_keys: - if k not in self.current_data and is_technical(k): - self.current_data[k] = k + if k not in self.data and is_technical(k): + self.data[k] = k + self._render() - self._render_table() - - def _render_table(self): + def _render(self): self.table.blockSignals(True) self.table.setRowCount(len(self.all_keys)) - for row, k in enumerate(self.all_keys): - it_k = QTableWidgetItem(k); it_k.setFlags(it_k.flags() & ~Qt.ItemFlag.ItemIsEditable) - it_zh = QTableWidgetItem(self.zh_cn_dict.get(k, "")); it_zh.setFlags(it_zh.flags() & ~Qt.ItemFlag.ItemIsEditable); it_zh.setForeground(QColor("#6b7280")) - it_tr = QTableWidgetItem(self.current_data.get(k, "")) - - self.table.setItem(row, 0, it_k) - self.table.setItem(row, 1, it_zh) - self.table.setItem(row, 2, it_tr) - self._validate_row(row, k, it_tr.text()) - + for r, k in enumerate(self.all_keys): + ik = QTableWidgetItem(k) + ik.setFlags(ik.flags() & ~Qt.ItemFlag.ItemIsEditable) + ik.setForeground(QColor("#475569")) + zh = self.zh_dict.get(k, "") + iz = QTableWidgetItem(zh) + iz.setFlags(iz.flags() & ~Qt.ItemFlag.ItemIsEditable) + iz.setForeground(QColor("#dc2626") if not zh else QColor("#64748b")) + raw = self.data.get(k, "") + val = enforce_format(k, raw) if raw else "" + it = QTableWidgetItem(val) + self.table.setItem(r, 0, ik); self.table.setItem(r, 1, iz); self.table.setItem(r, 2, it) + self._mark(r, k, val) self.table.blockSignals(False) - self._filter_table() + self._filter() - def _on_item_changed(self, item): + def _edited(self, item): if item.column() != 2: return - row = item.row() - key = self.table.item(row, 0).text() - val = item.text().strip() - self.current_data[key] = val - self._validate_row(row, key, val) - self._update_stats() + r = item.row() + key = self.table.item(r, 0).text() + val = enforce_format(key, item.text().strip()) + if val: self.data[key] = val + else: self.data.pop(key, None) + self.table.blockSignals(True); item.setText(val); self.table.blockSignals(False) + self._mark(r, key, val); self._stats() - def _validate_row(self, row, key, val): - item = self.table.item(row, 2) + def _mark(self, r, key, val): + it = self.table.item(r, 2) + code = self.lang.currentData() if not val: - item.setBackground(QColor("#fee2e2")) # Missing: Red - item.setToolTip("缺失") + it.setBackground(QColor("#fef2f2")); it.setForeground(QColor("#94a3b8")); it.setToolTip("缺失") + elif is_wrong_language(key, val, code, self.zh_dict): + it.setBackground(QColor("#fef9c3")); it.setForeground(QColor("#0f172a")) + it.setToolTip("警告: 检测到简体中文泄漏!") else: - err = validate_placeholders(key, val) - if err: - item.setBackground(QColor("#fef08a")) # Error: Orange - item.setToolTip(err) - else: - item.setBackground(QColor("#dcfce3")) # OK: Green - item.setToolTip("✓") + it.setBackground(QColor("#ffffff")); it.setForeground(QColor("#0f172a")); it.setToolTip("✓ 已翻译") - def _filter_table(self): - query = self.search_box.text().lower() - mode = self.filter_combo.currentIndex() - + def _filter(self): + q = self.search.text().lower() + mode = self.fmode.currentIndex() + code = self.lang.currentData() for r in range(self.table.rowCount()): - k = self.table.item(r, 0).text().lower() + k = self.table.item(r, 0).text() zh = self.table.item(r, 1).text().lower() - tr = self.table.item(r, 2).text().lower() - - is_match = (query in k or query in zh or query in tr) - - if mode == 1: # Missing - is_match = is_match and not tr - elif mode == 2: # Error - is_match = is_match and bool(tr) and validate_placeholders(self.table.item(r,0).text(), self.table.item(r,2).text()) - - self.table.setRowHidden(r, not is_match) - self._update_stats() + tr = self.table.item(r, 2).text() + m = (q in k.lower() or q in zh or q in tr.lower()) + if mode == 1: m = m and not tr + elif mode == 2: m = m and not zh + elif mode == 3: m = m and is_wrong_language(k, tr, code, self.zh_dict) + self.table.setRowHidden(r, not m) + self._stats() - def _update_stats(self): - missing = sum(1 for k in self.all_keys if not self.current_data.get(k)) - self.lbl_stats.setText(f"总计: {len(self.all_keys)} | 缺失: {missing}") + def _stats(self): + code = self.lang.currentData() + d = load_lang(code) + if code == "zh_CN": + for k in self.all_keys: + if not d.get(k) and k in self.zh_dict: + d[k] = self.zh_dict[k] + miss = sum(1 for k in self.all_keys if not is_technical(k) and not d.get(k)) + leak = sum(1 for k, v in d.items() if is_wrong_language(k, v, code, self.zh_dict)) + self.bg_total.setText(f"总计 {len(self.all_keys)}") + self.bg_miss.setText(f"缺失 {miss}") + self.bg_leak.setText(f"残留 {leak}") - def _ctx_menu(self, pos): + def _menu(self, pos): if not self.table.itemAt(pos): return - row = self.table.itemAt(pos).row() - key = self.table.item(row, 0).text() - menu = QMenu() - menu.addAction("🤖 AI 翻译此词条").triggered.connect(lambda: self._start_trans([key])) - menu.addAction("🗑️ 清空此词条").triggered.connect(lambda: self.table.item(row, 2).setText("")) - menu.exec(self.table.viewport().mapToGlobal(pos)) + r = self.table.itemAt(pos).row() + key = self.table.item(r, 0).text() + m = QMenu() + m.addAction("🤖 AI 翻译此词条").triggered.connect(lambda: self._start([key])) + m.addAction("🗑️ 清空此词条").triggered.connect(lambda: self.table.item(r, 2).setText("")) + m.exec(self.table.viewport().mapToGlobal(pos)) - def _translate_missing(self): - keys = [k for k in self.all_keys if not self.current_data.get(k)] - if not keys: return QMessageBox.information(self, "完成", "无需补充翻译!") - self._start_trans(keys) - - def _start_trans(self, keys: list): - cfg = SettingsDialog.get_cfg() - if not cfg["api_key"]: return SettingsDialog(self).exec() - - self.progress.show(); self.progress.setMaximum(len(keys)); self.progress.setValue(0) - self._set_ui_locked(True) - - lang_name = ALL_LANGS.get(self.lang_combo.currentData(), "") - self.worker = TranslationWorker(cfg, lang_name, keys) - self.worker.progress.connect(lambda c, t: self.progress.setValue(c)) - self.worker.batch_done.connect(self._on_batch_done) - self.worker.finished_all.connect(self._on_trans_finish) - self.worker.start() - - def _on_batch_done(self, result_dict: dict): - self.table.blockSignals(True) - for k, v in result_dict.items(): - self.current_data[k] = v - for r in range(self.table.rowCount()): - if self.table.item(r, 0).text() == k: - self.table.item(r, 2).setText(v) - self._validate_row(r, k, v) - break - self.table.blockSignals(False) - self._update_stats() - - def _on_trans_finish(self): - self.progress.hide() - self._set_ui_locked(False) - self.statusBar.showMessage("✅ 当前语言翻译任务完成!", 5000) - - def _translate_all(self): - cfg = SettingsDialog.get_cfg() - if not cfg["api_key"]: return SettingsDialog(self).exec() - - ret = QMessageBox.question(self, "确认", "是否立即遍历补全剩余 15 种语言的缺失词条?(完成后自动保存)") - if ret != QMessageBox.StandardButton.Yes: return - - self._save_file() - safe_write_json(LOCALES_DIR / "zh_CN.json", {k: self.zh_cn_dict.get(k, k) for k in self.all_keys}) - - self.progress.show(); self.progress.setValue(0) - self._set_ui_locked(True) - - self.worker = MultiLangWorker(cfg, self.all_keys) - self.worker.progress.connect(self._on_multi_progress) - self.worker.finished_all.connect(self._on_multi_finish) - self.worker.start() - - def _on_multi_progress(self, current, total, text): - self.progress.setMaximum(total) - self.progress.setValue(current) - self.statusBar.showMessage(f"⏳ {text} ({current}/{total})") - - def _on_multi_finish(self): - self.progress.hide() - self._set_ui_locked(False) - self.statusBar.showMessage("🌐 全库补全及保存已全部完成!", 8000) - self._switch_lang() - - def _save_file(self): - code = self.lang_combo.currentData() - safe_write_json(LOCALES_DIR / f"{code}.json", {k: self.current_data[k] for k in self.all_keys if self.current_data.get(k)}) - self.statusBar.showMessage(f"✅ {code}.json 保存成功", 3000) - - def _save_all_files(self): - self._save_file() - safe_write_json(LOCALES_DIR / "zh_CN.json", {k: self.zh_cn_dict.get(k, k) for k in self.all_keys}) - - count = 0 + def _clean(self): + msg = ("确定扫描并清除所有语言里的【简体中文泄漏】吗?\n" + "清除后变为空白,可点击【全库补全并保存】重译。\n\n" + "判断为字符级物理识别:非中日繁语言含汉字即清除;日文/繁体仅当命中简体专属字符才清除,绝不误杀合法汉字。") + if QMessageBox.question(self, "确认清理", msg) != QMessageBox.StandardButton.Yes: + return + cnt = files = 0 for code in ALL_LANGS: if code == "zh_CN": continue p = LOCALES_DIR / f"{code}.json" - if p.exists(): - data = json.loads(p.read_text("utf-8")) - clean = {k: v for k, v in data.items() if k in self.all_keys} - if len(clean) != len(data): - safe_write_json(p, clean) - count += 1 - self.statusBar.showMessage(f"📦 已清理并更新了 {count} 个语言文件的废弃词条!", 5000) + if not p.exists(): continue + d = load_lang(code) + clean = {}; dirty = False + for k, v in d.items(): + if is_wrong_language(k, v, code, self.zh_dict): + dirty = True; cnt += 1 + else: + clean[k] = v + if dirty: + write_json(p, clean); files += 1 + if cnt: + QMessageBox.information(self, "清理完成", + f"清理了 {files} 个文件中的 {cnt} 处简体泄漏!\n\n请点击【🌐 全库补全并保存】重译。") + self._switch() + else: + QMessageBox.information(self, "检查完毕", "未发现任何简体中文泄漏!") - def _set_ui_locked(self, locked: bool): - self.btn_trans.setEnabled(not locked) - self.btn_trans_all.setEnabled(not locked) - self.btn_save.setEnabled(not locked) - self.btn_save_all.setEnabled(not locked) - self.lang_combo.setEnabled(not locked) + def _missing_keys(self): + code = self.lang.currentData() + d = load_lang(code) + if code == "zh_CN": + for k in self.all_keys: + if not d.get(k) and k in self.zh_dict: + d[k] = self.zh_dict[k] + return [k for k in self.all_keys if not is_technical(k) and not d.get(k)] + + def _trans_missing(self): + keys = self._missing_keys() + if not keys: return QMessageBox.information(self, "完成", "当前语言无缺失翻译!") + self._start(keys) + + def _retrans(self): + if QMessageBox.question(self, "确认", "强制重译当前语言全部词条?") == QMessageBox.StandardButton.Yes: + self._start([k for k in self.all_keys if not is_technical(k)]) + + def _start(self, keys): + cfg = SettingsDialog.cfg() + if not cfg["api_key"]: return SettingsDialog(self).exec() + self._stop(); self.progress.show() + self.progress.setMaximum(len(keys)); self.progress.setValue(0) + self._lock(True); self.status.showMessage("🤖 正在翻译…") + self.worker = SingleWorker(cfg, self.lang.currentData(), keys, self.zh_dict) + self.worker.progress.connect(lambda c, t: self.progress.setValue(c)) + self.worker.batch_done.connect(self._batch) + self.worker.done.connect(self._trans_fin) + self.worker.start() + + def _batch(self, res): + self.table.blockSignals(True) + for k, v in res.items(): + fv = enforce_format(k, v) + if not fv: continue + self.data[k] = fv + for r in range(self.table.rowCount()): + if self.table.item(r, 0).text() == k: + self.table.item(r, 2).setText(fv); self._mark(r, k, fv); break + self.table.blockSignals(False) + self._stats() + + def _trans_fin(self): + self._save(); self.progress.hide(); self._lock(False) + self.status.showMessage("✅ 翻译完成并已保存!", 5000) + + def _trans_all(self): + cfg = SettingsDialog.cfg() + if not cfg["api_key"]: return SettingsDialog(self).exec() + if QMessageBox.question(self, "确认", "并发补全全部 15 种语言的缺失词条?\n\n写入前逐条语言质检,任何简体中文都会被拒绝并保持空缺。") != QMessageBox.StandardButton.Yes: + return + self._stop(); self.progress.show(); self.progress.setValue(0); self._lock(True) + self.worker = AllWorker(cfg, self.all_keys, self.zh_dict) + self.worker.progress.connect(lambda c, t, txt: (self.progress.setMaximum(t), self.progress.setValue(c), self.status.showMessage(txt))) + self.worker.done.connect(self._all_fin) + self.worker.start() + + def _all_fin(self): + self.progress.hide(); self._lock(False) + self.status.showMessage("🌐 全库补全完成!", 8000) + self._switch() + + def _patch(self): + if not self.unmapped: return QMessageBox.information(self, "完美", "所有词条均已有中文映射!") + cfg = SettingsDialog.cfg() + if not cfg["api_key"]: return SettingsDialog(self).exec() + if QMessageBox.question(self, "确认", f"将 {len(self.unmapped)} 条缺失英文翻译为中文并写入 main.py?") != QMessageBox.StandardButton.Yes: + return + self._stop(); self.progress.show(); self.progress.setRange(0, 0); self._lock(True) + self.status.showMessage("✨ 正在补全主程序中文字典…") + self.zh_worker = ZhWorker(cfg, self.unmapped) + self.zh_worker.finished_sig.connect(self._patch_fin) + self.zh_worker.start() + + def _patch_fin(self, ok, cnt, err): + self.progress.setRange(0, 100); self.progress.hide(); self._lock(False) + if ok: QMessageBox.information(self, "成功", f"已将 {cnt} 条中文写入 main.py!\n源码已刷新。") + else: QMessageBox.critical(self, "失败", err) + self._load() + + def _save(self): + code = self.lang.currentData() + out = {} + for k in self.all_keys: + if is_technical(k): out[k] = k; continue + v = self.data.get(k) + if v: out[k] = enforce_format(k, v) + write_json(LOCALES_DIR / f"{code}.json", out) + self.status.showMessage(f"✅ {code}.json 已保存", 3000) + + def _save_all(self): + self._save() + zh = load_lang("zh_CN") + for k in self.all_keys: + if k in self.zh_dict: zh[k] = enforce_format(k, self.zh_dict[k]) + elif is_technical(k): zh[k] = k + write_json(LOCALES_DIR / "zh_CN.json", {k: zh[k] for k in self.all_keys if k in zh}) + cnt = 0 + for code in ALL_LANGS: + if code == "zh_CN": continue + p = LOCALES_DIR / f"{code}.json" + if not p.exists(): continue + d = load_lang(code) + clean = {} + for k in self.all_keys: + if is_technical(k): clean[k] = k + elif k in d: clean[k] = enforce_format(k, d[k]) + write_json(p, clean); cnt += 1 + self.status.showMessage(f"📦 批量清理并保存了 {cnt} 个语言文件", 5000) + + def _fix_tags(self): + for code in ALL_LANGS: + p = LOCALES_DIR / f"{code}.json" + if not p.exists(): continue + d = load_lang(code) + clean = {} + for k in self.all_keys: + if code == "zh_CN" and k in self.zh_dict: clean[k] = enforce_format(k, self.zh_dict[k]) + elif is_technical(k): clean[k] = k + elif k in d: clean[k] = enforce_format(k, d[k]) + write_json(p, clean) + self.status.showMessage("🧹 规范化了所有文件的日志标签和标点", 5000) + self._switch() if __name__ == "__main__": app = QApplication(sys.argv) app.setStyle("Fusion") + f = QFont(); f.setFamilies(["Segoe UI", "Microsoft YaHei", "PingFang SC", "sans-serif"]); f.setPointSize(9) + app.setFont(f) w = MainWindow() w.show() sys.exit(app.exec())