Polyglot
رشتههای اپلیکیشن و سایت شما در 43 زبان، ترجمهشده با مدل اختصاصی شما و بررسیشده رشته به رشته.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

کارکرد
پالیگلوت رشتههای انگلیسی موجود در اپلیکیشن و سایت شما را میگیرد و آنها را به حداکثر 42 زبان دیگر، در فایلها و پوشههایی که هر پلتفرم انتظار دارد، با استفاده از مدلی که خودتان اجرا میکنید، مینویسد. هر رشته پس از بررسی بازگردانده میشود: اگر یک placeholder، یک تگ یا یک نامِ حفظشده گم شود، یا پاسخ در خطِ زبان مورد نظر نباشد، رشته دوباره درخواست میشود، و رشتهای که همچنان ناموفق باشد، بهجای ارسالِ خراب، کنار گذاشته و گزارش میشود.
- فرمتهایی که استفاده میکنید. فایلهای پیام JSON (i18next، vue-i18n، next-intl، react-intl)، ARB فلاتر، strings.xml اندروید، .strings اپل، gettext .po و اسناد Markdown، که در values-de، de.lproj، app_de.arb یا locale/de نوشته میشوند.
- بررسی رشته به رشته. %1$s، {name}، {{count}}، تگهای HTML، شکستهای خط، URLها و نامهای حفظشده شما باید دقیقاً بازگردند؛ خطِ درست، بدون پاسخهای خالی یا سرگردان، و هیچ چیزی به انگلیسی باقی نماند.
- صیغههای جمع واقعی. روسی چهار صیغه one، few، many و other دارد، عربی شش صیغه، و ژاپنی یک صیغه واحد: جمعهای اندروید و پیامهای ICU از قواعد خودِ هر زبان پیروی میکنند.
- فقط آنچه تغییر کرده است. هر ترجمه درست به خاطر سپرده میشود، بنابراین ویرایش یک رشته انگلیسی، یک رشته را ارسال میکند، نه کل فایل را.
- لحن و اصطلاحات شما. یک توضیح محصول، یک لحن، نامهایی که هرگز ترجمه نمیشوند و یک واژهنامه در هر درخواست وارد میشوند، و کامنتهای شما نیز بهعنوان یادداشت همراه میروند.
- مدل شما، ماشین شما. هر سرور OpenAI-compatible: vLLM، llama.cpp، Ollama یا LM Studio، یا یک API میزبان اگر انتخاب کنید. بدون هزینه به ازای هر کلمه.
تستشده روی یک مدل واقعی
- یک مدل واقعی، شش فرمت، پنج خط: یک اپلیکیشن نمونه 70 رشتهای در JSON، ARB فلاتر، اندروید، .strings اپل، gettext و Markdown، به زبانهای آلمانی، روسی، ژاپنی، عربی و اسپانیایی، با یک مدل باز 27 میلیارد پارامتری روی ماشین خودمان: 346 از 350 رشته در ورودی از بررسیها گذشتند، در 7.5 دقیقه روی یک سرور مشترکِ شلوغ.
- چهار رشتهای که نگذشتند اشتباه در بررسیهای ما بودند، نه مدل: یک واژه وامگرفته آلمانی، یک آدرس ایمیل و یک پیام جمع ژاپنی. ما بررسیها را اصلاح کردیم؛ اجرای بعدی فقط همان چهار رشته را ارسال کرد و همه 350 رشته را در 45 ثانیه نوشت.
- صیغههای جمع درست از بار اول: one، few، many و other برای روسی، شش صیغه برای عربی، و یک صیغه واحد برای ژاپنی.
- هر 42 زبان: 22 رشته وب نمونه به هر زبانی که Polyglot میشناسد، از امهری تا چینی سنتی: 924 از 924 رشته نوشته شد، در 15 دقیقه.
- و آنچه بررسیها نمیبینند: در زبان خمری، «شما آفلاین هستید» به «شما آنلاین هستید» برگردانده شد. ترجمه از نظر گرامری بینقص بود، پس قبول شد. به همین دلیل، مستندات برای رشتههای حیاتی، حضور یک گویشور بومی را توصیه میکند.
محتویات
مترجم
بستهها به مدل شما، بررسیها، تلاش مجدد با ذکر مشکل، حافظه ترجمه، و پردازش موازی زبانها.
شش فرمت
خوانندهها و نویسندههایی که کاراکترهای فرار، پوشهها و قواعد جمعبندی هر پلتفرم را حفظ میکنند.
بررسیها
قابل استفاده بهصورت مستقل: یک ترجمه موجود را با متن انگلیسی مبدأ آن مقایسه کنید.
یک اپلیکیشن نمونه
یک اپلیکیشن کوچک در هر شش فرمت همراه با پیکربندی آن، برای آزمایش پیش از استفاده روی پروژه خودتان.
پیشنیازها
- Linux یا macOS با Python 3.9 یا جدیدتر؛ بدون نیاز به نصب چیزی از pip.
- یک سرور مدل سازگار با OpenAI با یک مدل دستورالعمل چندزبانه؛ مدل ما یک مدل باز با 27 میلیارد پارامتر است.
خوب است بدانید
- بررسیها مواردی را که اپلیکیشن را میشکنند شناسایی میکنند، نه معنای نادرست را: از یک گویشور بومی بخواهید صفحه محصول، صفحه پرداخت و متنهای حقوقی شما را بخواند.
- در این نسخه، ورودیهای جمعبندی gettext به انگلیسی باقی میمانند.
- سرعت به مدل شما بستگی دارد.
- بررسیها رایگان و متنباز هستند: translation-checks در GitHub. کیت، مترجم، شش فرمت، اشکال جمعبندی، حافظه و یک سال بهروزرسانی را اضافه میکند.
From our field notes
پرسشها
کدام زبانها؟
عربی، امهری، بلغاری، چکی، آلمانی، یونانی، اسپانیایی، فارسی، فنلاندی، فیلیپینی، فرانسوی، گیلیک اسکاتلندی، عبری، کریول هائیتی، مجاری، ارمنی، اندونزیایی، ایتالیایی، ژاپنی، خمری، کانارا، کرهای، مقدونی، مالایی، هلندی، نروژی، اورو مو، پنجابی، لهستانی، پرتغالی (برزیل)، رومانیایی، روسی، اسلواکی، اسلوونیایی، صربی، سوئدی، تایلندی، ترکی، اوکراینی، ویتنامی و چینی (سادهشده و سنتی)، از انگلیسی.
آیا به GPU نیاز دارد؟
خود Polyglot نیاز ندارد؛ سرور مدل شما تصمیم میگیرد. یک مدل کوچک روی CPU اجرا میشود، اما کند است؛ یک GPU تبدیل یک فایل بزرگ به چندین زبان را به چند دقیقه کاهش میدهد.
اگر مدل یک رشته را اشتباه ترجمه کند چه میشود؟
دوباره بهصورت جداگانه از آن خواسته میشود و مشکل مشخص میگردد. اگر همچنان خطا داشت، از فایل حذف میشود؛ بنابراین اپ شما برای آن رشته خاص، متن انگلیسی را نشان میدهد و در گزارش اجرا، آن مورد بههمراه دلیل ذکر میشود. هیچ چیز خرابی نوشته نمیشود.
میتوانم بهجای آن از یک API میزبانیشده استفاده کنم؟
بله: هر سرویسی که نقطه پایانی چت OpenAI-compatible داشته باشد. آدرس پایه (Base URL) و نام مدل را در polyglot.json و کلید آن را در یک فایل قرار دهید.
بهروزرسانی شد: