پرش به محتوا

تحلیل‌های اختیاری، ضبط نشست و تبلیغات تا زمانی که نپذیرید غیرفعال می‌مانند. می‌توانید آن‌ها را رد کنید و از Transglot استفاده نمایید. هر زمان خواستید انتخاب خود را در ترجیحات کوکی تغییر دهید. سیاست کوکی‌ها

برای تیم‌هایی که هر روز ادغام می‌کنند

بومی‌سازی پیوسته: هر زبان، در هر ادغام.

بومی‌سازی پیوسته رشته‌های جدید و تغییر یافته را همزمان با تغییر کد ترجمه می‌کند، نه در مرحله‌ای جداگانه قبل از هر انتشار. هر زبان برای انتشار همراه با کدی که به آن نیاز دارد، آماده می‌ماند.

شبیه‌سازی دو روش کار، نه یک اندازه‌گیری واقعی. دکمه «ادغام تغییر» را فشار دهید و ستون سمت راست را بخوانید: این چیزی است که کاربران آن زبان می‌بینند.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeauترجمه‌شده
deGeschenkkarte hinzufügenترجمه‌شده
jaギフトカードを追加ترجمه‌شده
arأضف بطاقة هديةترجمه‌شده
pt-BRAdicionar vale-presenteترجمه‌شده
زبان‌هایی که اکنون می‌توانید منتشر کنید5 از 5
رشته‌های عقب‌تر از شاخه اصلیهیچ‌کدام
پاسخ کوتاه

بومی‌سازی پیوسته چیست؟

بومی‌سازی پیوسته روشی از کار است که در آن رشته‌های جدید و تغییر یافته به محض تغییر، به طور خودکار برای ترجمه ارسال می‌شوند و متن ترجمه شده بدون نیاز به برنامه‌ریزی دستی، به محصول باز می‌گردد.

مرحله ترجمه وجود ندارد، زیرا ترجمه هرگز متوقف نمی‌شود. توسعه‌دهنده رشته‌ای را ادغام می‌کند، ترجمه‌ها در همان جریان کد دنبال می‌شوند و انتشار منتظر فایل کسی نیست.

این نیمه بومی‌سازی تحویل پیوسته است. تیمی که هر روز ادغام می‌کند اما هر چند هفته یکبار ترجمه را تحویل می‌دهد، بیشتر ماه را با زبان‌هایی عقب‌تر از کد خود سپری می‌کند. بومی‌سازی پیوسته این شکاف را به اندازه یک اجرا کاهش می‌دهد.

این بدان معنا نیست که خروجی ماشین بدون خواندن منتشر شود. شما تصمیم می‌گیرید کدام رشته‌ها نیاز به بررسی انسان دارند و یک انتشار می‌تواند فقط شامل مواردی باشد که بررسی شده‌اند.

محلی‌سازی پیوسته در مقابل سنتی

تفاوت در زمان انجام ترجمه است، نه در شخص انجام‌دهنده.

مترجمان، بازبینان و واژه‌نامه‌ها در هر دو ستون وجود دارند. آنچه تغییر می‌کند، لحظه شروع کار و حجم هر بخش است.
کنار هم
زمان انجام ترجمه
در مرحله‌ای قبل از هر انتشار
عامل آغازگر
خروجی گرفتن یک فایل توسط شخصی
حجم هر بخش
هفته‌ها رشته متنی به صورت یکجا
انتظار برای چه چیزی جهت انتشار
بازگشت فایل
تغییر دیرهنگام در متن
یک دور رفت و برگشت دیگر
منبع کاری مترجم
یک صفحه گسترده از رشته‌های متنی
زبان‌ها در زمان راه‌اندازی
پله‌پله، یک موج پس از دیگری
یک رشته متنی، از ابتدا تا انتها

نحوه عملکرد محلی‌سازی پیوسته

یک رشته متنی جدید را در چرخه دنبال کنید. هر مرحله نشان می‌دهد که واقعاً چه چیزی را مشاهده خواهید کرد.

ترمینال شما، یا گزارش CI شما
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
مبدأAdd a {brand} gift card
frAjouter une carte cadeau {brand}پیش‌نویس Glossa
de{brand}-Geschenkkarte hinzufügenاز حافظه، ۰ کلمه
ja{brand} ギフトカードを追加پیش‌نویس Glossa
arأضف بطاقة هدية {brand}پیش‌نویس Glossa
چهار دروازه، یک اجرا
جانشین‌ها۱ مورد تعمیر شد
اشکال جمعقبول
اصطلاحات واژه‌نامهقبول
مدت زمانقبول
ja · جای‌گذار از دست رفته، یک‌بار تعمیر شد، دوباره بررسی شدギフトカードを追加{brand} ギフトカードを追加
cart.save
منبع تغییر کردSave Save draft
frEnregistrerتوسط شخص بازبینی شد: حفظ شد، به شما گزارش شدپیشنهادی: Enregistrer le brouillon
deEntwurf speichernردیف ماشینی: دوباره ترجمه شد
درخواست ادغامدر محل به‌روز شد
به‌روزرسانی ترجمه‌هاtransglot/sync → mainباز، یکی به ازای هر مخزن
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
یا، در یک درخواست ادغام در گیت‌هاب، کامنت بگذارید/translate

تغییرات از طریق CLI، اکشن گیت‌هاب یا اپلیکیشن روی میزبان گیت شما به Transglot می‌رسند. فایل‌های منبع در یکی از ۲۰ فرمت بومی پردازش می‌شوند و هر رشته با آنچه پروژه از قبل دارد مقایسه می‌شود. تنها رشته‌های جدید و تغییر‌یافته ادامه می‌یابند.

یک تطابق دقیق از حافظه ترجمه، ردیف را پر می‌کند و هزینه‌ای ندارد. هر چه باقی بماند به همراه واژه‌نامه، راهنمای سبک و زمینه آن کلید به Glossa ارسال می‌شود.

جای‌گذارها، شکل‌های جمع، اصطلاحات واژه‌نامه و طول در هر ردیف از هر اجرا بررسی می‌شوند. جای‌گذار خراب، شکل جمع ناقص یا اصطلاح ممنوعه واژه‌نامه یک‌بار تعمیر و دوباره بررسی می‌شود؛ اگر بار دوم شکست بخورد، رد می‌شود و ارسال نمی‌گردد. ردیفی که فقط از نظر طول بیش‌ازحد باشد نوشته می‌شود و از پلن Team به‌طور خودکار تأیید شده یا توسط اجرای QA برای بازبینی علامت‌گذاری می‌شود.

یک اجرا هرگز روی ردیفی که شخص ویرایش یا بازبینی کرده بازنویسی نمی‌کند. اگر منبع آن بعداً تغییر کند، متن باقی می‌ماند، اجرا آن ردیف را شمارش کرده و به شما اطلاع می‌دهد و از پلن Team یک پیشنهاد به‌روزرسانی در کنار آن قرار می‌گیرد تا کسی آن را بپذیرد.

اپ‌های گیت فایل‌های محلی را در یک شاخه همگام‌سازی ثبت می‌کنند و یک درخواست ادغام را به‌روز نگه می‌دارند. در گیت‌هاب، با کامنت کردن /translate روی یک درخواست ادغام، فایل‌ها در شاخه همان درخواست ادغام قرار می‌گیرند. یا انتشار در CDN انجام شود و محصول در حال اجرا تغییرات را بدون نیاز به انتشار جدید دریافت کند.

جایی که تیم‌ها آسیب می‌بینند

شش روشی که بومی‌سازی پیوسته اشتباه پیش می‌رود و آنچه هر کدام را متوقف می‌کند

یک اجرا کار شخص را بازنویسی می‌کند

هر نویسنده ابتدا وضعیت سطر را بررسی می‌کند: اجرا، تطابق حافظه و ارسال. سطری که توسط فرد ویرایش یا بازبینی شده باشد، حفظ می‌شود و گزارش اجرا آن را ثبت می‌کند.

فرانسوی، بازبینی‌شده، منبع به‌تازگی تغییر کرده است

حفظ‌شده، شمارش‌شده، گزارش‌شده

یک رشتهٔ خراب به محیط تولید می‌رسد

هر نشانه‌ای که وارد شده باید خارج شود. در یک پروژه ICU، پیامی که هنگام رندر خطا ایجاد کند از پول‌ریکوئست، کانکتور و بسته CDN حذف می‌ماند و اجرا آن را نام‌گذاری می‌کند.

{count, plural, one {# article}

خارج از فایل باقی مانده، در اجرا نام‌گذاری شده است

مخزن پر از پول‌ریکوئست‌های ربات می‌شود

یک شاخه همگام‌سازی و یک پول‌ریکوئست برای هر مخزن. دو پوش سریع روی آن همگرا می‌شوند به جای اینکه دومی را باز کنند.

#812 #815 #819 #823 به‌روزرسانی l10n

#812 transglot/sync، در محل به‌روز شد

ویرایش منبع ترجمه‌های قدیمی را پشت سر می‌گذارد

هر سطر مقصد منبعی را که بر اساس آن نوشته شده ثبت می‌کند، بنابراین رشته‌ای که تغییر کرده در همه زبان‌ها به‌عنوان منقضی‌شده شناخته می‌شود و فقط همان کلید دوباره اجرا می‌شود.

«ذخیره» به «ذخیره پیش‌نویس» تبدیل شد. فرانسوی، آلمانی، ژاپنی هنوز «ذخیره» می‌گویند

فرانسوی، آلمانی، ژاپنی دوباره روی همان یک کلید اجرا می‌شوند

هر اجرا مجدداً کل پروژه را صورتحساب می‌کند

اندازه اجرا بر اساس تغییرات تعیین می‌شود. رشته بدون تغییر ارسال نمی‌شود، تطابق دقیق حافظه هزینه‌ای ندارد و سطری که متعلق به شخص است قبل از هر هزینه‌ای رد می‌شود.

فایل شامل ۴۸,۰۰۰ کلمه است

این اجرا: ۶۰ کلمه

یک پول‌ریکوئست نیمه‌تمام فایل محلی را پاک می‌کند

اگر سرور هیچ ورودی‌ای برای یک محلی گزارش نکند، پول‌ریکوئست از نوشتن روی فایلی که محتوا دارد خودداری می‌کند و با کد خروج ۱ متوقف می‌شود تا پایپ‌لاین همان‌جا بایستد.

پول‌ریکوئست: ۰ ورودی برای ژاپنی، فایل شامل ۱,۲۰۴ مورد است

خودداری از بازنویسی locales/ja.json با بسته خالی

  • run 4182 فرانسوی: نشانه‌گذار در پیش‌نویس وجود نداشت، در تلاش مجدد اصلاح شد
  • run 4182 آلمانی: ۳ سطر حفظ شد، متعلق به شخص هستند
  • run 4182 ژاپنی: ۴۱ سطر از حافظه، ۰ کلمه
  • run 4183 عربی: شکل جمع پس از تلاش مجدد موجود نبود، سطر رد شد
  • pull فایل locales/pt-BR.json نوشته شد
  • sync transglot/sync به‌روز شد، پول‌ریکوئست شماره ۸۱۲
سنجیده در برابر دو موردی که مقایسه می‌کنید

هر سه به مخزن شما متصل می‌شوند. تفاوت در آن چیزی است که هنگام ادغام رخ می‌دهد.

بر اساس اطلاعات صفحات رسمی هر شرکت در تاریخ ۵ نوامبر ۲۰۲۶. ردیف قیمت از صفحات مقایسه ما که در زیر پیوند داده شده‌اند، استخراج شده است و پلن و محاسبات را نشان می‌دهد. قیمت‌ها و پلن‌ها تغییر می‌کنند، بنابراین قبل از تصمیم‌گیری آن‌ها را بررسی کنید.

Transglot
یک رشته جدید ادغام می‌شود
به‌طور پیش‌فرض ترجمه می‌شود
پوش (Push) فرآیند را آغاز می‌کند. یک تنظیمات پروژه می‌تواند آن را غیرفعال کند.
یک ترجمه از بررسی ناموفق عبور می‌کند
یک بار تعمیر می‌شود، سپس رد می‌شود
برای یک جایگاه نگهدارنده شکسته، شکل جمع یا اصطلاح ممنوعه، در هر ردیف از هر اجرا. تجاوز از طول مجاز ثبت می‌شود. در یک پروژه ICU، یک ردیف خراب از پول (Pull)، کانکتورها و CDN خارج می‌ماند.
یک نفر قبلاً ردیف را ویرایش کرده است
اجرا از نوشتن آن خودداری می‌کند
همچنین تطابق حافظه و پوش (Push). اگر منبع بعداً تغییر کند، اجرا ردیف را گزارش می‌دهد.
درخواست‌های پول (Pull) در یک مخزن شلوغ
یک شاخه، یک درخواست پول
در هر پوش (Push) در محل به‌روزرسانی می‌شود.
معیار سنجش پلن
کلمات ترجمه‌شده، یک‌بار برای هر زبان
تطابق‌های دقیق حافظه رایگان هستند. ذخیره‌سازی رشته هزینه‌ای ندارد.
هزینه هوش مصنوعی
سهمیه کلمات پلن
جداگانه صورتحساب نمی‌شود.
همان کار: 5,000 رشته در 10 زبان
$39 در ماه
Team، شامل ترجمه
GitHub، GitLab، Bitbucket، Azure Repos، رابط خط فرمان و سرور MCP
همه موارد
برنامه‌های Git از پلن Team شروع شده و نسخه‌های ابری را پوشش می‌دهند.
از همان ابزارهایی که اکنون استفاده می‌کنید بهره ببرید

فرآیند را از هر جایی که رشته‌های متنی شما قرار دارند، آغاز کنید. همه مسیرها به یک خط لوله واحد ختم می‌شوند.

حافظه ترجمه، واژه‌نامه، دروازه‌های کیفیت و فرآیند بازبینی یکسان است، بدون توجه به اینکه رشته متنی از کدام مسیر وارد شده باشد.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
اولین اقدام

نحوه راه‌اندازی بومی‌سازی پیوسته

  1. استخراج رشته‌ها از کد

    هر رشته‌ای که کاربر می‌بیند باید یک کلید پایدار در فایل محلی داشته باشد. Transglot از ۲۰ فرمت پشتیبانی می‌کند، بنابراین از همان فرمت فعلی خود استفاده کنید.

  2. اتصال مخزن

    دستور init فایل‌های محلی شما را پیدا می‌کند، از طریق مرورگر شما را وارد سیستم می‌کند، آنچه را که از قبل دارید آپلود کرده و اولین ترجمه را اجرا می‌کند.

  3. اجرا در هر ادغام (Merge)

    GitHub Action را اضافه کنید، CLI را از هر CI دیگری فراخوانی کنید یا اپلیکیشن را برای GitHub، GitLab، Bitbucket یا Azure Repos نصب نمایید.

  4. تعیین مواردی که نیاز به بررسی انسانی دارند

    مقدار min_state را در یک قانون pull روی reviewed تنظیم کنید تا آن فایل فقط شامل رشته‌هایی باشد که توسط انسان بازبینی شده‌اند. اگر این کار را نکنید، پیش‌نویس‌ها منتشر می‌شوند.

محاسبه هزینه بر اساس اعداد خودتان

هزینه اجرای آن در هر ادغام: کلماتی که تغییر کرده‌اند.

«کلمه» به معنای یک کلمه مبدأ است که برای هر زبان مقصد یک‌بار شمرده می‌شود. حجم هر اجرا بر اساس تغییرات تعیین می‌شود؛ بنابراین ادغامی که دوازده کلمه را در پنج زبان تغییر دهد، شصت کلمه محسوب می‌شود، صرف‌نظر از بزرگی پروژه.

25
40
6
20,000
کلمات در ماه26,000بر اساس این اعداد · 25 ادغام در هفته، هر کدام 40 کلمه، 6 زبان

منطبق با طرح Starter: $19/mo، 300,000 کلمه در ماه.

این مقدار حدود 9% از سقف مجاز است.

اجرای اولیه، یک‌بار120,000رشته‌های موجود شما در همه زبان‌ها. ترجمه‌هایی که ایمپورت می‌کنید، مجدداً ترجمه نمی‌شوند.

این مورد فقط ترجمه را محاسبه می‌کند. بررسی‌های کیفیت، پیش‌نویس‌های لحن برند و اصلاحات نیز به عنوان کلمه شمارش می‌شوند و تطابق‌های دقیق از حافظه هزینه‌ای ندارند. رابط خط فرمان (CLI) و اکشن گیت‌هاب از پلن Starter شروع می‌شوند و برنامه‌های گیت‌هاب، گیت‌لب، بیت‌باکت و Azure Repos از پلن Team آغاز می‌شوند.

کارهایی که برای شما انجام نمی‌دهد

سه مسئله‌ای که بومی‌سازی پیوسته حل نمی‌کند

رشته‌هایی که همچنان در کد گیر کرده‌اند

یک پایپ‌لاین فقط می‌تواند چیزی را ترجمه کند که بتواند بخواند. رشته‌های سخت‌کد شده و جملاتی که از قطعات مختلف به هم چسبانده شده‌اند باید ابتدا اصلاح شوند و معمولاً دلیل اصلی توقف راه‌اندازی هستند.

عدم مالکیت کسی بر واژگان

اتوماسیون رشته‌ها را جابه‌جا می‌کند. اما تصمیم نمی‌گیرد محصول شما چه نام‌هایی را برای چیزها انتخاب کند. کسی باید مسئولیت واژه‌نامه را بر عهده بگیرد، در غیر این صورت زبانی که کسی آن را نمی‌خواند بدون توجه هیچ‌کس دچار انحراف می‌شود.

متنی که نیاز به قضاوت دارد

متون حقوقی، قیمت‌گذاری و شعارهای برند شایسته بررسی توسط یک شخص هستند. آن‌ها را برای بازبینی ارسال کنید و تا زمانی که کسی تأیید نهایی نکرده است، آن‌ها را از فایل‌های نهایی خارج نگه دارید.

سوالات متداول درباره بومی‌سازی پیوسته

سوالاتی که تیم‌ها قبل از فعال‌سازی آن می‌پرسند.

بومی‌سازی پیوسته چیست؟
روشی کاری که در آن رشته‌های جدید و تغییر یافته به طور خودکار همزمان با تغییرات به ترجمه ارسال می‌شوند و متن ترجمه شده بدون نیاز به تحویل برنامه‌ریزی شده به محصول باز می‌گردد. این روش فاز ترجمه قبل از انتشار را با یک اجرای کوچک پس از هر تغییر جایگزین می‌کند.
بومی‌سازی سنتی رشته‌ها را در یک فایل دسته‌بندی کرده، نزدیک به زمان انتشار ارسال می‌کند و منتظر می‌ماند. بومی‌سازی پیوسته هر تغییر را به محض وقوع جابه‌جا می‌کند، بنابراین قطعات کوچک هستند، زبان‌ها همزمان راه‌اندازی می‌شوند و یک تغییر دیرهنگام در متن، هزینه‌ای معادل اجرای مجدد یک کلید دارد نه یک دور رفت و برگشت دیگر.
خیر. CI/CD کد را ساخت، آزمایش و منتشر می‌کند. بومی‌سازی پیوسته ترجمه‌ها را همگام با آن حفظ می‌کند. آن‌ها در پایپ‌لاین به هم می‌رسند: پوشی که آزمایش‌های شما را اجرا می‌کند می‌تواند رشته‌ها را برای ترجمه ارسال کرده و فایل‌ها را بازگرداند.
خیر. برنامه‌های گیت‌هاب، گیت‌لب، بیت‌باکت و Azure Repos بدون نیاز به افزودن چیزی به پایپ‌لاین شما به پوش واکنش نشان می‌دهند و اتصال‌دهنده‌های محتوا به تغییرات در CMS یا فروشگاه واکنش نشان می‌دهند. رابط خط فرمان (CLI) و اکشن گیت‌هاب برای زمانی وجود دارند که بخواهید آن را در جریان کاری خودتان داشته باشید.
خیر. پیش‌نویس‌ها می‌توانند منتشر شوند، یا یک قانون pull می‌تواند فقط مواردی را حمل کند که توسط یک شخص بازبینی شده‌اند، فایل به فایل. بازبینان در ویرایشگر با واژگان واژه‌نامه، تطابق‌های حافظه و تصاویر صفحه در کنار هر ردیف کار می‌کنند.
خیر. یک اجرا، تطابق حافظه و push ابتدا ردیف را بررسی می‌کنند و ردیفی که توسط یک شخص ویرایش یا بازبینی شده است باقی می‌ماند. اگر منبع آن بعداً تغییر کند، متن باقی می‌ماند، اجرا ردیف را شمارش و گزارش می‌کند و از پلن Team به بعد، یک پیشنهاد به‌روزرسانی ضمیمه می‌شود تا شخصی آن را بپذیرد.
این موضوع معمولاً در تیم‌های کوچک اهمیت بیشتری دارد، زیرا هیچ‌کس مسئولیت انجام تحویل‌ها را بر عهده ندارد. اگر شما فقط به یک زبان منتشر می‌کنید و برنامه‌ای برای زبان دوم ندارید، می‌تواند صبر کند.
اندازه یک اجرا قبل از شروع تعیین می‌شود. پلن رایگان سقف سخت دارد. یک پلن پولی تا حد مجاز خود متوقف می‌شود، مگر اینکه اضافه‌برداری اندازه‌گیری شده را فعال کنید که در سقف هزینه‌ای که تنظیم کرده‌اید متوقف می‌شود. در CI، رابط خط فرمان (CLI) هنگامی که یک اجرا از حد مجاز عبور کند با کد 3 خارج می‌شود، بنابراین پایپ‌لاین می‌تواند اقدام مناسب را انجام دهد.
بله، در GitLab.com، Bitbucket Cloud و Azure DevOps Services. برنامه‌ها GitLab خودمدیریتی یا Bitbucket Data Center را پوشش نمی‌دهند، اما رابط خط فرمان (CLI) در هر CI که Node 22 داشته باشد و بتواند به API دسترسی پیدا کند اجرا می‌شود.
بله. اتصال‌دهنده‌های محتوا از یک CMS، فروشگاه یا مرکز راهنما می‌خوانند و انواع دوطرفه، زبان بازبینی‌شده را بازنویسی می‌کنند. برخی فقط برای وارد کردن هستند و صفحه هر اتصال‌دهنده مشخص می‌کند که کدام است.
بله. یک منطقه زبانی را در CDN منتشر کنید تا محصول شما آن را در زمان اجرا از طریق SDKهای زمان اجرا بخواند. آخرین آدرس URL به مدت شصت ثانیه در حافظه پنهان ذخیره می‌شود، هر نسخه منتشرشده آدرس URL اختصاصی خود را دارد و بیست نسخه آخر نگهداری می‌شوند.
ابزار واردکننده، پروژه‌ها، کلیدها و ترجمه‌های موجود را از Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor منتقل می‌کند. ترجمه‌های واردشده به عنوان کار انسانی محسوب می‌شوند، بنابراین هیچ اجرای خودکار آن‌ها را بازنویسی نمی‌کند. این قابلیت در همه طرح‌ها رایگان است و یک بار اجرا می‌شود.
با ابزارهایی که هم‌اکنون استفاده می‌کنید سازگار است

41 اتصال‌دهنده، از پیش ساخته‌شده.

بدون نیاز به برنامه‌ریزی فاز ترجمه

یک مخزن متصل کنید. ادغام بعدی بقیه کار را انجام می‌دهد.

یک دستور فایل‌های منطقه زبانی شما را پیدا می‌کند، از طریق مرورگر شما را وارد سیستم می‌کند و اولین ترجمه را اجرا می‌نماید.

npx transglot@latest init