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

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

کمک به محلی سازی موجود

شما می‌توانید به افزودن یا بهبود محتوای یک محلی‌سازی موجود کمک کنید. در کانال Kubernetes در Slack، می‌توانید برای هر محلی‌سازی یک کانال پیدا کنید. همچنین یک کانال عمومی در Slack تحت عنوان SIG Docs Localizations وجود دارد که می‌توانید در آن سلام کنید.

توجه:

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

کد دو حرفی زبان خود را پیدا کنید

ابتدا، برای یافتن کد دو حرفی زبان محلی‌سازی خود، به استاندارد ISO 639-1 مراجعه کنید. برای مثال، کد دو حرفی زبان کره‌ای «ko» است.

برخی از زبان‌ها از نسخه کوچک کد کشور که توسط ISO-3166 تعریف شده است، همراه با کدهای زبان خود استفاده می‌کنند. برای مثال، کد زبان پرتغالی برزیلی «pt-br» است.

مخزن را Fork و Clone کنید

ابتدا، شاخه‌ی خودتان را ایجاد کنید از مخزن kubernetes/website.

سپس، fork خود را clone کنید و تغییر پوشه دهید:

git clone https://github.com/<username>/website
cd website

پوشه محتوای تارنما شامل زیرپوشه هایی برای هر زبان است. محلی‌سازی که می‌خواهید به آن کمک کنید، درون content/<two-letter-code> قرار دارد.

پیشنهاد تغییرات

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

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

تغییرات در یک pull request را به یک محلی‌سازی واحد محدود کنید. بررسی درخواست‌های ادغام که محتوا را در چندین محلی‌سازی تغییر می‌دهند، مشکل‌ساز است.

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

شروع یک محلی‌سازی جدید

اگر می‌خواهید مستندات کوبرنتیز به یک زبان جدید بومی‌سازی شود، مراحل زیر را باید انجام دهید.

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

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

شما باید کد دو حرفی زبان خود را بدانید. برای یافتن کد دو حرفی زبان محلی خود، به استاندارد ISO 639-1 مراجعه کنید. برای مثال، کد دو حرفی زبان کره‌ای «ko» است.

اگر زبانی که می‌خواهید بومی‌سازی آن را شروع کنید، در مکان‌های مختلفی صحبت می‌شود و تفاوت‌های قابل توجهی بین گونه‌های مختلف آن وجود دارد، ممکن است منطقی باشد که کد کشور ISO-3166 با حروف کوچک را با کد دو حرفی آن زبان ترکیب کنید. به عنوان مثال، پرتغالی برزیلی به صورت «pt-br» بومی‌سازی شده است.

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

اسناد SIG می‌توانند به شما کمک کنند تا روی یک شاخه جداگانه کار کنید تا بتوانید به تدریج به سمت آن هدف حرکت کنید.

پیدا کردن جامعه

به کوبرنتیز SIG اسناد اطلاع دهید که به ایجاد محلی‌سازی علاقه‌مند هستید! به کانال SIG Docs در Slack و کانال SIG Docs Localizations در Slack بپیوندید. سایر تیم‌های محلی‌سازی خوشحال می‌شوند که در شروع کار به شما کمک کنند و به سوالات شما پاسخ دهند.

لطفاً شرکت در جلسه زیرگروه محلی‌سازی اسناد SIG را نیز در نظر بگیرید. ماموریت زیرگروه محلی‌سازی اسناد SIG، همکاری در تیم‌های محلی‌سازی اسناد SIG برای همکاری در تعریف و مستندسازی فرآیندهای ایجاد راهنماهای مشارکتی محلی‌سازی شده است. علاوه بر این، زیرگروه محلی‌سازی اسناد SIG به دنبال فرصت‌هایی برای ایجاد و اشتراک‌گذاری ابزارهای مشترک در بین تیم‌های محلی‌سازی و شناسایی الزامات جدید برای تیم رهبری اسناد SIG است. اگر در مورد این جلسه سؤالی دارید، لطفاً در کانال محلی‌سازی اسناد SIG سوال کنید.

همچنین می‌توانید یک کانال Slack برای محلی‌سازی خود در مخزن kubernetes/community ایجاد کنید. برای مثالی از اضافه کردن یک کانال Slack،به pull request مربوط به اضافه کردن یک کانال برای زبان فارسی مراجعه کنید.

به سازمان گیت هاب کوبرنتیز بپیوندید

وقتی یک pull request محلی‌سازی باز کردید، می‌توانید عضو سازمان گیت هاب کوبرنتیز شوید. هر فرد در تیم باید درخواست عضویت سازمان خود را (https://github.com/kubernetes/org/issues/new/choose) در مخزن kubernetes/org ایجاد کند.

تیم محلی‌سازی خود را در گیت‌هاب اضافه کنید

در مرحله بعد، تیم محلی‌سازی کوبرنتیز خود را به sig-docs/teams.yaml اضافه کنید. برای مثالی از اضافه کردن یک تیم محلی‌سازی، به pull request برای اضافه کردن تیم محلی‌سازی اسپانیایی مراجعه کنید.

اعضای «@kubernetes/sig-docs--owners» می‌توانند pull request هایی را تأیید کنند که محتوا را در پوشه محلی‌سازی شما (و فقط در داخل) تغییر می‌دهد: «/content//». برای هر محلی‌سازی، تیم @Kubernetes/sig-docs-**-reviews تکالیف بررسی درخواست های ادغام جدید را خودکار می‌کند. اعضای @kubernetes/website-maintainers می‌توانند شاخه‌های محلی‌سازی جدیدی برای هماهنگی تلاش‌های ترجمه ایجاد کنند. اعضای @kubernetes/website-milestone-maintainers می‌توانند از /milestone دستور Prow برای اختصاص یک نقطه عطف به مسائل یا درخواست های ادغام استفاده کنند.

پیکربندی گردش کار

در مرحله بعد، یک برچسب GitHub برای محلی‌سازی خود در مخزن kubernetes/test-infra اضافه کنید. یک برچسب به شما امکان می‌دهد مشکلات را فیلتر کرده و درخواست‌ها را برای زبان خاص خود دریافت کنید.

برای مثالی از افزودن برچسب، به pull request مربوط به افزودن برچسب زبان ایتالیایی مراجعه کنید (https://github.com/kubernetes/test-infra/pull/11316).

تغییر پیکربندی تارنما

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

یک بلوک پیکربندی برای زبان جدید به hugo.toml زیر بلوک [languages] موجود اضافه کنید. برای مثال، بلوک زبان آلمانی به شکل زیر خواهد بود:

[languages.de]
title = "Kubernetes"
languageName = "Deutsch (German)"
weight = 5
contentDir = "content/de"
languagedirection = "ltr"

[languages.de.params]
time_format_blog = "02.01.2006"
language_alternatives = ["en"]
description = "Produktionsreife Container-Orchestrierung"
languageNameLatinScript = "Deutsch"

نوار انتخاب زبان، مقدار مربوط به languageName را فهرست می‌کند. "نام زبان به خط بومی و زبان (نام زبان انگلیسی به خط لاتین)" را به languageName اختصاص دهید. برای مثال، languageName = "한국어 (کره‌ای)" یا languageName = "Deutsch (آلمانی)".

می‌توان از languageNameLatinScript برای دسترسی به نام زبان به خط لاتین و استفاده از آن در قالب استفاده کرد. "نام زبان به خط لاتین" را به languageNameLatinScript اختصاص دهید. برای مثال، languageNameLatinScript ="Korean" یا languageNameLatinScript ="Deutsch".

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

برای اطلاعات بیشتر در مورد پشتیبانی چند زبانه Hugo، به "حالت چند زبانه" مراجعه کنید.

یک پوشه محلی‌سازی جدید اضافه کنید

یک زیرشاخه مختص به زبان مورد نظر را به پوشه content در مخزن اضافه کنید. برای مثال، کد دو حرفی برای زبان آلمانی de است:

mkdir content/de

همچنین باید یک پوشه درون i18n برای [ رشته های محلی شده](# رشته‌های-سایت-در-i18n) ایجاد کنید؛ برای مثال به محلی سازی های های موجود نگاه کنید.

برای مثال، برای زبان آلمانی، رشته‌ها در i18n/de/de.toml قرار دارند.

بومی‌سازی ضوابط رفتاری جامعه

برای اضافه کردن اصول اخلاقی به زبان خودتان، یک pull request در مخزن cncf/foundation باز کنید.

فایل های مالکان را تنظیم کنید

برای تنظیم نقش‌های هر کاربر که در بومی‌سازی مشارکت دارند، یک فایل OWNERS در زیرشاخه‌ی زبان مربوطه با کد زیر ایجاد کنید:

  • بازبین‌ها: فهرستی از تیم‌های کوبرنتیز با نقش‌های بازبین، در این مورد،
  • تیم sig-docs-**-reviews که در افزودن تیم محلی‌سازی خود در گیت‌هاب ایجاد شده است.
  • تأییدکنندگان: فهرستی از تیم‌های کوبرنتیز با نقش‌های تأییدکننده، در این مورد،
  • تیم sig-docs-**-owners که در افزودن تیم محلی‌سازی خود در گیت‌هاب ایجاد شده است.
  • برچسب‌ها: فهرستی از برچسب‌های گیت‌هاب که به‌طور خودکار به یک pull request اعمال می‌شوند، در این مورد، برچسب زبانی که در Configure the workflow ایجاد شده است.

اطلاعات بیشتر در مورد فایل OWNERS را می‌توانید در go.k8s.io/owners بیابید.

فایل OWNERS اسپانیایی با کد زبان es، به این شکل است:

# برای مشاهده اسناد مربوط به مالکین به نشانی https://go.k8s.io/owners مراجعه کنید.

# این پروژه محلی‌سازی زبان اسپانیایی است.
# تیم‌ها و اعضا در نشانی https://github.com/orgs/kubernetes/teams قابل مشاهده هستند.

reviewers:
- sig-docs-es-reviews

approvers:
- sig-docs-es-owners

labels:
- area/localization
- language/es

پس از افزودن فایل OWNERS مختص زبان، فایل rootOWNERS_ALIASES را با تیم‌های جدید کوبرنتیز برای محلی‌سازی، sig-docs-**-owners و sig-docs-**-reviews به‌روزرسانی کنید.

برای هر تیم، لیست کاربران گیت‌هاب درخواستی را به ترتیب حروف الفبا در اضافه کردن تیم محلی‌سازی خود در گیت‌هاب اضافه کنید.

--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -48,6 +48,14 @@ aliases:
     - stewart-yu
     - xiangpengzhao
     - zhangxiaoyu-zidif
+  sig-docs-es-owners: # Admins for Spanish content
+    - alexbrand
+    - raelga
+  sig-docs-es-reviews: # PR reviews for Spanish content
+    - alexbrand
+    - electrocucaracha
+    - glo-pena
+    - raelga
   sig-docs-fr-owners: # Admins for French content
     - perriea
     - remyleone

pull request را باز کنید

در مرحله بعد، یک pull request را باز کنید (pull request) برای افزودن محلی سازی به مخزن «kubernetes/website». pull request قبل از تأیید باید شامل همه حداقل محتوای مورد نیاز باشد.

برای مثالی از افزودن یک محلی‌سازی جدید، به pull request برای فعال‌سازی مستندات به زبان فرانسوی مراجعه کنید.

یک فایل README محلی اضافه کنید

برای راهنمایی سایر مشارکت‌کنندگان محلی‌سازی، یک فایل جدید README-**.md به بالاترین سطح kubernetes/website اضافه کنید، که در آن ** کد دو حرفی زبان است. برای مثال، یک فایل README آلمانی به صورت README-de.md خواهد بود.

مشارکت کنندگان بومی سازی را در فایل «README-**.md» بومی سازی شده راهنمایی کنید. همان اطلاعات موجود در «README.md» و همچنین شامل موارد زیر باشد:

  • نقطه تماس برای پروژه بومی‌سازی
  • هرگونه اطلاعات خاص مربوط به محلی‌سازی

پس از ایجاد فایل README محلی، پیوندی از فایل اصلی انگلیسی README.md به فایل اضافه کنید و اطلاعات تماس را به زبان انگلیسی در آن قرار دهید. می‌توانید شناسه گیت‌هاب، نشانی رایانامه، کانال Slack یا روش دیگری برای تماس ارائه دهید. همچنین باید پیوندی به آیین‌نامه رفتار انجمن محلی خود ارائه دهید.

محلی‌سازی جدید خود را راه‌اندازی کنید

وقتی محلی‌سازی الزامات گردش کار و حداقل خروجی را برآورده می‌کند، SIG اسناد موارد زیر را انجام می‌دهد:

بومی‌سازی محتوا

بومی‌سازی تمام مستندات کوبرنتیز کار بسیار بزرگی است. اشکالی ندارد که از مقیاس کوچک شروع کنید و به مرور زمان آن را گسترش دهید.

حداقل محتوای مورد نیاز

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

توضیحاتنشانی‌های اینترنتی
خانههمه نشانی‌های اینترنتی (URL) عنوان و زیرعنوان
نصبهمه نشانی‌های اینترنتی (URL) عنوان و زیرعنوان
آموزش‌هامبانی کوبرنتیز, سلام Minikube
رشته‌های سایتتمام رشته‌های تارنما در یک فایل TOML جدید و بومی‌سازی‌شده
انتشاراتهمه نشانی‌های اینترنتی (URL) عنوان و زیرعنوان

اسناد ترجمه شده باید در زیرشاخه content/**/ خود قرار گیرند، اما در غیر این صورت، همان مسیر URL منبع انگلیسی را دنبال کنند. به عنوان مثال، برای تهیه آموزش Kubernetes Basics برای ترجمه به آلمانی، یک زیرشاخه در زیر شاخه content/de/ ایجاد کنید و منبع یا پوشه انگلیسی را رونوشت کنید:

mkdir -p content/de/docs/tutorials
cp -ra content/en/docs/tutorials/kubernetes-basics/ content/de/docs/tutorials/

ابزارهای ترجمه می‌توانند فرآیند ترجمه را سرعت بخشند. برای مثال، برخی از ویراستاران افزونه‌هایی را برای ترجمه سریع متن ارائه می‌دهند.

احتیاط:

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

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

بومی سازی تصاویر SVG

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

هنگام ترجمه متن درون تصاویر SVG (گرافیک برداری مقیاس‌پذیر)، پیروی از دستورالعمل‌های خاص برای اطمینان از دقت و حفظ سازگاری در نسخه‌های مختلف زبان ضروری است. تصاویر SVG معمولاً در مستندات کوبرنتیز برای نشان دادن مفاهیم، ​​گردش‌های کاری و نمودارها استفاده می‌شوند.

  1. شناسایی متن قابل ترجمه: با شناسایی عناصر متنی درون تصویر SVG که نیاز به ترجمه دارند، شروع کنید. این عناصر معمولاً شامل برچسب‌ها، زیرنویس‌ها، حاشیه‌نویسی‌ها یا هر متنی هستند که اطلاعات را منتقل می‌کند.

  2. ویرایش فایل‌های SVG: فایل های SVG مبتنی بر XML هستند، به این معنی که می‌توان آن‌ها را با استفاده از یک ویرایشگر متن ویرایش کرد. با این حال، توجه به این نکته مهم است که اکثر تصاویر مستندات در کوبرنتیز از قبل متن را به منحنی تبدیل می‌کنند تا از مشکلات سازگاری فونت جلوگیری شود. در چنین مواردی، توصیه می‌شود از نرم‌افزارهای تخصصی ویرایش SVG مانند Inkscape برای ویرایش استفاده کنید، فایل SVG را باز کنید و عناصر متنی را که نیاز به ترجمه دارند، پیدا کنید.

  3. ترجمه متن: متن اصلی را با نسخه ترجمه شده به زبان مورد نظر جایگزین کنید. مطمئن شوید که متن ترجمه شده به طور دقیق معنای مورد نظر را منتقل می‌کند و در فضای موجود در تصویر جای می‌گیرد. هنگام کار با زبان‌هایی که از الفبای لاتین استفاده می‌کنند، باید از خانواده فونت Open Sans استفاده شود. می‌توانید فونت Open Sans را از اینجا دریافت کنید: فونت Open Sans.

  4. تبدیل متن به منحنی: همانطور که قبلاً ذکر شد، برای رفع مشکلات سازگاری فونت، توصیه می‌شود متن ترجمه شده را به منحنی یا مسیر تبدیل کنید. تبدیل متن به منحنی تضمین می‌کند که تصویر نهایی متن ترجمه شده را به درستی نمایش می‌دهد، حتی اگر سیستم کاربر فونت دقیق استفاده شده در SVG اصلی را نداشته باشد.

  5. بررسی و آزمایش: پس از انجام ترجمه‌های لازم و تبدیل متن به منحنی، تصویر SVG به‌روزرسانی‌شده را ذخیره و بررسی کنید تا از نمایش و ترازبندی صحیح متن اطمینان حاصل شود. پیش‌نمایش تغییرات محلی را بررسی کنید.

فایل های منبع

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

برای یافتن فایل های منبع برای نسخه هدف خود:

  1. به مخزن تارنمای کوبرنتیز در نشانی https://github.com/kubernetes/website بروید.

  2. یک شاخه برای نسخه هدف خود از جدول زیر انتخاب کنید:

نسخه هدفشاخه
آخرین نسخهmain
نسخه قبلیrelease-1.35
نسخه بعدیdev-1.37

شاخه‌ی «اصلی» محتوای نسخه فعلی v1.36 را در خود جای داده است. تیم انتشار، قبل از انتشار نسخه بعدی، یک شاخه release-1.36 ایجاد می‌کند: v1.37.

رشته‌های سایت در i18n

محلی‌سازی‌ها باید شامل محتویات ‎i18n/en/en.toml‎ در یک فایل جدید مختص زبان باشند. به عنوان مثال، از زبان آلمانی استفاده می‌کنیم: i18n/de/de.toml.

یک پوشه و فایل محلی‌سازی جدید به i18n/ اضافه کنید. برای مثال، با زبان آلمانی (de):

mkdir -p i18n/de
cp i18n/en/en.toml i18n/de/de.toml

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

[ui_search]
other = "Suchen"

بومی‌سازی رشته‌های سایت به شما امکان می‌دهد متن و ویژگی‌های کل سایت را سفارشی کنید: برای مثال، متن حق نشر قانونی در پاورقی هر صفحه.

راهنمای محلی‌سازی مختص زبان

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

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

  • آهنگ سرعت و انتشار
  • راهبرد شاخه
  • گردش کار pull request
  • راهنمای شیوه
  • واژه‌نامه اصطلاحات بومی‌سازی‌شده و غیربومی‌سازی‌شده
  • قراردادهای نشانه‌گذاری
  • اصطلاحات شیء کوبرنتیز API

جلسات زوم مخصوص زبان‌های مختلف

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

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

راهبرد شاخه

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

برای همکاری در یک شاخه محلی‌سازی:

  1. یکی از اعضای تیم @kubernetes/website-maintainers یک شاخه محلی‌سازی از شاخه منبع در https://github.com/kubernetes/website باز می‌کند.

    تأییدکنندگان تیم شما زمانی به تیم @kubernetes/website-maintainers پیوستند که شما تیم محلی‌سازی خود را به مخزن kubernetes/org اضافه کردید.

    ما طرح نامگذاری شاخه زیر را توصیه می‌کنیم:

    dev-<source version>-<language code>.<team milestone>

    برای مثال، یک تأییدکننده در یک تیم محلی‌سازی آلمانی، شاخه محلی‌سازی dev-1.12-de.1 را مستقیماً در مخزن kubernetes/website، بر اساس شاخه منبع برای کوبرنتیز نسخه ۱.۱۲، باز می‌کند.

  2. مشارکت‌کنندگان انفرادی، شاخه‌های ویژگی را بر اساس شاخه محلی‌سازی باز می‌کنند.

    برای مثال، یک مشارکت‌کننده آلمانی یک pull request با تغییرات در kubernetes:dev-1.12-de.1 از username:local-branch-name باز می‌کند.

  3. تأییدکنندگان، شاخه‌های ویژگی را بررسی و در شاخه محلی‌سازی ادغام می‌کنند.

  4. به صورت دوره‌ای، یک تأییدکننده با باز کردن و تأیید یک pull request جدید، شاخه محلی‌سازی را با شاخه منبع خود ادغام می‌کند. قبل از تأیید pull request، حتماً commitها را squash کنید. مراحل ۱ تا ۴ را در صورت نیاز تا زمان تکمیل بومی‌سازی تکرار کنید. برای مثال، شاخه‌های بومی‌سازی بعدی آلمانی عبارتند از: dev-1.12-de.2، dev-1.12-de.3 و غیره.

تیم‌ها باید محتوای بومی‌سازی‌شده را در همان شاخه‌ای که محتوا از آن تهیه شده است، ادغام کنند. برای مثال:

  • یک شاخه محلی‌سازی که از شاخه اصلی منبع‌گیری شده است، باید در شاخه اصلی ادغام شود.
  • یک شاخه محلی‌سازی که از release-1.35 منبع‌گیری شده است، باید در release-1.35 ادغام شود.

توجه:

اگر شاخه محلی‌سازی شما از شاخه اصلی ایجاد شده باشد، اما قبل از ایجاد شاخه انتشار جدید release-1.36 با اصلی ادغام نشده باشد، آن را هم در اصلی و هم در شاخه انتشار جدید release-1.36 ادغام کنید. برای ادغام شاخه محلی‌سازی خود در شاخه انتشار جدید release-1.36، باید شاخه بالادستی شاخه محلی‌سازی خود را به release-1.36 تغییر دهید.

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

  • upstream_changes.py برای بررسی تغییرات اعمال شده در یک فایل خاص مفید است. و
  • diff_l10n_branches.py برای ایجاد لیستی از فایل ‌های منسوخ شده برای یک شاخه محلی‌سازی خاص مفید است.

در حالی که فقط تأییدکنندگان می‌توانند یک شاخه محلی‌سازی جدید باز کنند و درخواست‌های ادغام را ادغام کنند، هر کسی می‌تواند یک pull request برای یک شاخه محلی‌سازی جدید باز کند. هیچ مجوز خاصی لازم نیست.

برای اطلاعات بیشتر در مورد کار از طریق Fork‌ها یا مستقیماً از مخزن، به "مخزن را fork و clone کنید" مراجعه کنید.

مشارکت‌های بالادستی

SIG اسناد از مشارکت‌ها و اصلاحات بالادستی در منبع انگلیسی استقبال می‌کند.


آخرین تغییرات May 01, 2026 at 11:19 AM PST: Update-Content-Before-Publish (dca3f44400)