إضافة Project Translator لـ VSCode لتحقيق الترجمة متعددة اللغات على مستوى المشروع
Categories:
تقدم إضافة Project Translator لـ VSCode للمطورين حلاً فعالاً للترجمة متعددة اللغات على مستوى المشروع. تستخدم هذه الإضافة تقنية الذكاء الاصطناعي لتحقيق الترجمة التلقائية من ملف واحد إلى مجلد المشروع بأكمله، مع الحفاظ على سلامة هيكل الكود والتنسيق، مما يقلل بشكل كبير من عبء توطين الوثائق. بالنسبة للمشاريع مفتوحة المصدر أو البرامج التجارية التي تحتاج إلى استهداف مستخدمين عالميين، يمكن لـ Project Translator تعزيز كفاءة الترجمة واتساقها بشكل ملحوظ. مقارنة بطريقة الترجمة اليدوية التقليدية، يمكن لهذه الأدوات الآلية معالجة كميات كبيرة من محتوى الوثائق، وهي مناسبة بشكل خاص للوثائق التي يتم تحديثها باستمرار. عند استخدام أدوات تطوير VSCode لتطوير المشروع، يمكن دمج إضافة Project Translator بسلاسة في سير العمل الحالي، مما يوفر للمطورين دعمًا متعدد اللغات سهل الاستخدام.
الميزات الوظيفية الأساسية
تتميز إضافة Project Translator بمجموعة من الميزات القوية التي تشكل معًا حلاً متكاملاً للترجمة متعددة اللغات على مستوى المشروع. تدعم الإضافة نمطين للترجمة: على مستوى المجلد وعلى مستوى الملف، ويمكن اختيار النمط المناسب حسب احتياجات المشروع. في وضع ترجمة المجلد، يمكن للإضافة معالجة المجلدات الفرعية بشكل متكرر، والكشف تلقائيًا عن المحتوى القابل للترجمة، والحفاظ على هيكل المجلدات والعلاقات الهرمية الأصلية. تجعل آلية المعالجة المجمعة هذه ترجمة المشاريع الكبيرة ممكنة وفعالة. يمكن الحصول على الإضافة وتثبيتها مجانًا من VS Code Extensions Marketplace و Open VSX Registry.
mindmap
root((Project Translator))
أنماط الترجمة
مستوى المجلد
مستوى الملف
المعالجة المتكررة
الترجمة الذكية
حماية هيكل الكود
ترجمة التعليقات
ترجمة الوثائق
الحفاظ على التنسيق
التكوين المرن
مجلدات مصادر متعددة
لغات هدف متعددة
تصفية الملفات
اختيار نموذج الذكاء الاصطناعي
تجربة المستخدم
التقدم في الوقت الحقيقي
التحكم في المهام
الترجمة التزايدية
الترجمة التفاضلية
إن المرونة في التكوين هي إحدى الميزات البارزة الأخرى لـ Project Translator. يمكن للمستخدمين تكوين مجلد المصدر ومجلدات الهدف المتعددة، ودعم فترات ترجمة الملفات المخصصة، وتحديد أنواع الملفات المحددة التي يجب تجاهلها، واختيار خيارات نماذج الذكاء الاصطناعي المتعددة. هذه المرونة تمكن الإضافة من التكيف مع هياكل المشاريع المختلفة واحتياجات الترجمة. تدعم الإضافة العديد من نماذج الذكاء الاصطناعي السائدة، بما في ذلك OpenAI و DeepSeek و Grok، يمكن للمستخدمين اختيار النموذج المناسب بناءً على ميزانيتهم ومتطلبات جودة الترجمة. بالنسبة للمشاريع التي تستخدم Hugo أو مولدات المواقع الثابتة الأخرى، فإن طريقة التكوين القائمة على المجلدات تكون ودية بشكل خاص.
يركز تصميم واجهة المستخدم للإضافة على تجربة التشغيل. أثناء عملية الترجمة، يتم عرض التقدم في الوقت الحقيقي، ويمكن للمستخدمين إيقاف أو استئناف أو إيقاف مهمة الترجمة في أي وقت. تحافظ الإضافة تلقائيًا على هيكل مجلد الهدف، وتدعم الترجمة التزايدية لتجنب العمل المتكرر. عندما تستغرق مهمة الترجمة وقتًا طويلاً، تكون هذه القابلية للتحكم مهمة بشكل خاص. علاوة على ذلك، تقدم الإضافة ميزة ترجمة تفاضلية تجريبية، يمكنها ترجمة المحتوى المتغير فقط، مما يقلل من استخدام API ويحافظ بشكل أفضل على تاريخ الإصدارات. بالنسبة للمطورين الذين يستخدمون OpenAI API أو خدمات الذكاء الاصطناعي الأخرى، تدعم الإضافة إدارة مفاتيح API بأمان من خلال متغيرات البيئة.
سير عمل الترجمة
تم تصميم سير عمل الترجمة في Project Translator بعناية لضمان أن تكون العملية بأكملها فعالة وموثوقة. بعد أن يشغل المستخدم مهمة الترجمة من خلال لوحة الأوامر، تتبع الإضافة التدفق المحدد مسبقًا لمعالجة المحتوى المصدر تدريجيًا وإنشاء إصدارات اللغة الهدف.
flowchart TD
A[المستخدم يشغل أمر الترجمة] e1@--> B{فحص التكوين}
B e2@-->|غير مكون| C[عرض حوار اختيار المجلد]
C e3@--> D[حفظ مسارات المصدر والهدف المحددة من قبل المستخدم]
D e4@--> E[مسح الملفات والمجلدات المصدر]
B e5@-->|مكون| E
E e6@--> F[تحديد الملفات التي تحتاج إلى ترجمة]
F e7@--> G[ترتيب مهام الترجمة حسب الأولوية]
G e8@--> H{اختيار المستخدم لنمط الترجمة}
H e9@-->|الترجمة القياسية| I[قراءة محتوى الملف المصدر]
H e10@-->|الترجمة التفاضلية| J[قراءة محتوى الملف المصدر والهدف]
I e11@--> K[استدعاء نموذج الذكاء الاصطناعي للترجمة]
J e12@--> K
K e13@--> L[إنشاء نتائج الترجمة]
L e14@--> M{التحقق من جودة الترجمة}
M e15@-->|التحقق ناجح| N[كتابة الملف الهدف]
M e16@-->|التحقق فاشل| O[التراجع أو إعادة المحاولة]
N e17@--> P[تحديث تقدم الترجمة]
P e18@--> Q{هل هناك ملفات أخرى تنتظر الترجمة؟}
Q e19@-->|نعم| I
Q e20@-->|لا| R[إكمال مهمة الترجمة]
R e21@--> S[عرض ملخص الترجمة]
classDef start fill:#E3F2FD,stroke:#1565C0,stroke-width:1px,color:#0D47A1;
classDef work fill:#E8F5E9,stroke:#2E7D32,stroke-width:1px,color:#1B5E20;
classDef check fill:#FFF8E1,stroke:#EF6C00,stroke-width:1px,color:#E65100;
classDef done fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px,color:#4A148C;
classDef animate stroke:#EF6C00,stroke-width:2px,stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
class A start;
class e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21 animate;
class B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S work;
class B,H,M,Q check;
class S done;
يبدأ سير العمل عندما يختار المستخدم أمر الترجمة من خلال لوحة الأوامر. تتحقق الإضافة أولاً مما إذا كانت قد تم تكوين مسارات المصدر والهدف بالفعل. إذا لم يتم التكوين بعد، تعرض حوار اختيار المجلد للمستخدم لتحديد المسارات. بعد اكتمال التكوين، تبدأ الإضافة في مسح جميع الملفات والمجلدات الفرعية في مجلد المصدر، وتحديد أنواع الملفات التي تحتاج إلى ترجمة. ستصفية الإضافة الملفات غير الضرورية بناءً على قواعد امتدادات الملفات والمسارات المكونة. بعد التحديد، تقوم الإضافة بترتيب مهام الترجمة حسب أولوية معينة لضمان ترجمة الملفات المهمة أولاً. يمكن للمستخدم اختيار نمط الترجمة القياسي أو نمط الترجمة التفاضلي. يترجم نمط الترجمة القياسي محتوى الملف بالكامل، بينما يترجم نمط الترجمة التفاضلي فقط الأجزاء المتغيرة، وهو أكثر ملاءمة لسيناريوهات تحديث المحتوى المترجم بالفعل. بعد قراءة محتوى الملف المصدر، تستدعي الإضافة نموذج الذكاء الاصطناعي المكون للترجمة. بعد أن يُرجع نموذج الذكاء الاصطناعي نتائج الترجمة، تقوم الإضافة بالتحقق من جودة الترجمة. تشمل عملية التحقق فحص سلامة التنسيق، واتساق المصطلحات، وما إذا تم الحفاظ على هيكل الكود الضروري. إذا نجح التحقق، تُكتب نتائج الترجمة إلى الملف الهدف مع الحفاظ على نفس هيكل الدليل مثل الملف المصدر. إذا فشل التحقق، تحاول الإضافة إجراء تراجع أو إعادة الترجمة. بعد ترجمة كل ملف، تقوم الإضافة بتحديث تقدم الترجمة حتى يتم معالجة جميع الملفات المترجمة. أخيرًا، تعرض الإضافة ملخصًا لمهمة الترجمة، بما في ذلك عدد الملفات المترجمة بنجاح، وقائمة الملفات الفاشلة، والوقت المستغرق في الترجمة وغيرها من الإحصائيات.
شرح طرق التكوين
تم تصميم نظام تكوين إضافة Project Translator ليكون مرنًا وبديهيًا. يمكن للمستخدمين تخصيص سلوك الإضافة من خلال واجهة إعدادات VSCode أو عن طريق تحرير ملف التكوين مباشرة. تتضمن العناصر الأساسية للتكوين مسارات المصدر والهدف للترجمة، ومعلمات نماذج الذكاء الاصطناعي، وقواعد التصفية، وغيرها.
mindmap
root((نظام التكوين))
تكوين المسارات
مجلد المصدر
مجلد الهدف
دعم متعدد اللغات
نماذج الذكاء الاصطناعي
اختيار المزود
تكوين API
معلمات النموذج
قواعد التصفية
تجاهل المسارات
تجاهل الامتدادات
ملفات النسخ فقط
خيارات متقدمة
الموجهات النظامية
وضع التصحيح
تكوين السجلات
الترجمة التفاضلية
موجهات مخصصة
أسلوب الترجمة
مواصفات المصطلحات
متطلبات التنسيق
تنقسم عناصر التكوين بشكل أساسي إلى عدة فئات. يحدد تكوين المجلدات والملفات مسارات الإدخال والإخراج للترجمة، حيث يمكن للمستخدمين تحديد مجلدات مصادر متعددة ومجلدات الهدف المقابلة لها. يجب تحديد رمز اللغة لكل مجلد مصدر ومجلد هدف، وتدعم الإضافة 28 لغة، بما في ذلك اللغات الرئيسية مثل الصينية المبسطة، والصينية التقليدية، واليابانية، والكورية، والإنجليزية، والفرنسية، والألمانية، والإسبانية، والبرتغالية، والروسية. يسمح تكوين الهدف متعدد اللغات هذا بإنشاء إصدارات متعددة اللغات في مهمة ترجمة واحدة، مما يحسن كفاءة الترجمة بشكل كبير.
يتيح تكوين نماذج الذكاء الاصطناعي للمستخدمين اختيار مزودي خدمات ونماذج ترجمة مختلفين. تستخدم الإضافة بشكل افتراضي نموذج DeepSeek، كما تدعم خدمات أخرى مثل OpenAI و Grok. يمكن للمستخدمين تكوين نقطة نهاية API، ومفتاح API، واسم النموذج، وعدد الطلبات في الدقيقة، والحد الأقصى لعدد الرموز لكل مقطع، ووقت المهلة، ومعلمات درجة الحرارة، وغيرها. لتعزيز الأمان، تدعم الإضافة إدارة مفاتيح API من خلال متغيرات البيئة، لتجنب كتابة المعلومات الحساسة مباشرة في ملف التكوين.
يمنح تكوين قواعد التصفية والتخطي المستخدمين القدرة على التحكم بدقة في الملفات التي تحتاج إلى ترجمة وتلك التي يجب تجاهلها. يسمح عنصر التكوين ignore للمستخدمين بتحديد المسارات وامتدادات الملفات التي يجب تجاهلها تمامًا، وبشكل افتراضي يتم تجاهل دليل node_modules وملفات .log. يُستخدم عنصر التكوين copyOnly لتحديد أنواع الملفات التي يجب نسخها دون ترجمتها. بينما يسمح عنصر التكوين skipFrontMatterMarkers للمستخدمين بتخطي الترجمة بناءً على بيانات التعريف front matter لملفات Markdown، على سبيل المثال تخطي المستندات التي تم وضع علامة عليها كمشروع.
تشمل التكوينات المتقدمة لغة الموجهات النظامية، وضع التصحيح، تكوين ملف السجلات، ووضع الترجمة التفاضلية، وغيرها. تتحكم لغة الموجهات النظامية في لغة الموجهات المستخدمة داخل الإضافة، وهي الإنجليزية افتراضيًا. عند تشغيل وضع التصحيح، يتم تسجيل جميع طلبات واستجابات API، مما يسهل استكشاف الأخطاء وإصلاحها. يسمح تكوين ملف السجلات للمستخدمين بكتابة سجلات التصحيح إلى ملف، مع دعم مسارات مخصصة، وحدود لحجم الملف، وحدود لعدد الملفات. وضع الترجمة التفاضلية هو ميزة تجريبية، وعند تفعيله، يترجم فقط المحتوى المتغير، مما يقلل من استدعاءات API غير الضرورية.
تكوين الموجهات المخصصة هو ميزة مميزة للإضافة. يمكن للمستخدمين تخصيص سلسلة من الموجهات، والتي يتم إرسالها إلى نموذج الذكاء الاصطناعي بعد الموجهات النظامية. من خلال هذه الطريقة، يمكن للمستخدمين توجيه نموذج الترجمة لاتباع أسلوب ترجمة محدد، أو مواصفات مصطلحات، أو متطلبات تنسيق. على سبيل المثال، يمكن للمستخدمين تحديد أنه عندما تكون قيمة حقل draft في front matter لملف Markdown هي true، فلا داعي للترجمة، أو طلب استبدال ./readmes/ في المسار بـ ./.
{
"projectTranslator.specifiedFolders": [
{
"sourceFolder": {
"path": "${workspaceFolder}/content/en",
"lang": "en-us"
},
"targetFolders": [
{
"path": "${workspaceFolder}/content/zh-cn",
"lang": "zh-cn"
},
{
"path": "${workspaceFolder}/content/ja-jp",
"lang": "ja-jp"
}
]
}
],
"projectTranslator.currentVendor": "deepseek",
"projectTranslator.vendors": [
{
"name": "deepseek",
"apiEndpoint": "https://api.deepseek.com/v1",
"apiKeyEnvVarName": "DEEPSEEK_API_KEY",
"model": "deepseek-chat",
"rpm": 20,
"maxTokensPerSegment": 3000,
"timeout": 300,
"temperature": 0.1
}
],
"projectTranslator.ignore": {
"paths": ["**/node_modules/**", "**/.git/**"],
"extensions": [".log", ".min.js"]
},
"projectTranslator.userPrompts": [
"1. Should return no need translate if the markdown file has 'draft' set to 'true' in the front matter.",
"2. Maintain technical terminology consistency across all translated files."
]
}
حالات استخدام واقعية
تم التحقق من إضافة Project Translator وتطبيقها في العديد من المشاريع الواقعية. تحتفظ منظمة Project Translation بعدة عينات من مشاريع الترجمة، تغطي هذه المشاريع مجالات مختلفة مثل تصور الخوارزميات، ووثائق لغات البرمجة، وأدلة أدوات التطوير. من خلال هذه الحالات الواقعية، يمكن فهم سيناريوهات وتأثير الإضافة بشكل أكثر وضوحًا.
مشروع algorithm-visualizer هو منصة تفاعلية لتصور الخوارزميات، كان للمشروع الأصلي أكثر من 47000 نجمة على GitHub. بعد استخدام إضافة Project Translator، تمت ترجمة وثائق المشروع إلى عدة لغات، مما ساعد المطورين العالميين على فهم مبادئ الخوارزميات وتأثيرات التصور بشكل أفضل. مشروع gobyexample هو مجموعة من دروس أمثلة لغة Go، ولديه أكثر من 7500 نجمة، وبعد ترجمته باستخدام الإضافة، يمكن للطلاب قراءة أمثلة كود وشرح لغة Go بلغتهم الأم.
Google Style Guide هو دليل نمط مشروع مفتوح المصدر من أصل Google، ولديه أكثر من 38000 نجمة، ويغطي معايير الترميز للعديد من لغات البرمجة. من خلال إضافة Project Translator، تمت ترجمة هذه الأدلة النمطية إلى عدة لغات، مما يتيح للمطورين العالميين تعلم أفضل الممارسات الترميزية بلغة مألوفة. مشروع reference-en-us هو مجموعة من أوراق الغش للرجوع السريع للمطورين، ولديه أكثر من 7800 نجمة، ويوفر معلومات مرجع سريع لأدوات ولغات متعددة مثل awk و bash و CSS و Golang و Python و Vim.
تظهر حالات الاستخدام الواقعية هذه ملاءمة إضافة Project Translator لأنواع مختلفة من المشاريع. سواء كانت وثائق تقنية، أو دروس، أو كتيبات مرجعية، يمكن للإضافة توفير نتائج ترجمة عالية الجودة. لا تستطيع الإضافة معالجة المحتوى النصي النقي فحسب، بل يمكنها أيضًا التعامل بشكل صحيح مع ملفات Markdown التي تحتوي على كتل كود، وجداول، وروابط، وتنسيقات معقدة أخرى. بالنسبة للمشاريع التي تحتوي على عدد كبير من المصطلحات التقنية، يمكن لقدرة الترجمة الذكية للإضافة الحفاظ على اتساق ودقة المصطلحات. يتوافق فلسفة تصميم الإضافة بشكل كبير مع مبادئ الانفتاح في بيئة VS Code، وتوفر دعمًا مخصصًا للمطورين من خلال آلية التوسعة. عند دمجها مع أدوات التطوير الأخرى مثل نظام تحكم الإصدارات Git، يمكن للإضافة أن تندمج بشكل أفضل في سير عمل التطوير الحديث.
ملخص
تقدم إضافة Project Translator لـ VSCode حلاً فعالاً وموثوقًا للترجمة متعددة اللغات على مستوى المشروع. تجمع هذه الإضافة بين تقنيات الذكاء الاصطناعي المتقدمة والتصميم الهندسي العملي، لتحقيق سير عمل ترجمة آلي مع الحفاظ على سلامة هيكل الكود. تدعم الإضافة الترجمة على مستوى المجلدات والملفات، وتوفر خيارات تكوين مرنة، وتمتلك واجهة مستخدم ودية، مما يجعلها الأداة المثالية للمشاريع الموجهة للمستخدمين العالميين.
تكمن الميزة الأساسية لإضافة Project Translator في قدرتها على الترجمة الذكية، حيث يمكنها تحديد محتوى الكود والوثائق بدقة، وترجمة الأجزاء التي تحتاج إلى ترجمة فقط، وتجنب تعطيل قابلية الكود للتنفيذ. يؤدي إدخال ميزة الترجمة التفاضلية إلى تحسين كفاءة الترجمة بشكل أكبر، وهي ذات قيمة خاصة للتحديثات المستمرة للمشاريع الكبيرة. تم تصميم نظام تكوين الإضافة بشكل جيد، حيث يوفر خيارات تخصيص غنية مع الحفاظ على بساطة التكوين، مما يمكن المستخدمين بمستويات تقنية مختلفة من البدء بسرعة. كإضافة ترجمة VSCode مفتوحة المصدر، فإنها توفر حلًا عمليًا لتوطين المشاريع.
تم التحقق من إضافة Project Translator في العديد من المشاريع مفتوحة المصدر المعروفة، بما في ذلك algorithm-visualizer و gobyexample و Google Style Guide. تثبت هذه النجاحات القيمة العملية والموثوقية للإضافة. بالنسبة للمشاريع التي تحتاج إلى دعم متعدد اللغات، وخاصة المشاريع مفتوحة المصدر الغنية بالوثائق، يمكن لإضافة Project Translator تقليل عبء توطين بشكل كبير، وتحسين جودة واتساق الترجمة.
يمنح الطبيعة المفتوحة المصدر للإضافة إمكانية جيدة للتوسع وإمكانات دعم المجتمع. يمكن للمستخدمين تخصيص وتوسيع الإضافة وفقًا لاحتياجاتهم، ويمكن للمساهمين في المجتمع المشاركة في تحسين وإكمال الإضافة. مع التقدم المستمر لتقنيات الذكاء الاصطناعي والنمو المستمر للطلب متعدد اللغات، من المتوقع أن تلعب إضافة Project Translator دورًا أكبر في مجال توطين المشاريع.