מסייע גלובליזציה הופך פרויקט לרב-לשוני. הוא קורא את מאגר הקוד שלכם, מתחיל כל שלב מהנתונים שמצא, ומסיים במשימה אחת שפותחת pull request. אינכם צריכים להקליד קוד שפה או לערוך את JSON; שנו רק את מה שתרצו, ודבר לא ישתנה במאגר הקוד עד שתבצעו מיזוג.
בעלי הזכויות והמנהלים מפעילים את המסייע. התחילו אותו מ- גלובליזציה → גלובליזציה: בחרו לגלובליזציה של פרויקט, או הפעילו את המסייע בשורת הפרויקט. עבור פרויקט שכבר רב-לשוני, הגדרות → שינוי שפות בממשק העבודה שלו פותח את אותו מסייע כדי להציע שינויים.
השלבים
1. סריקה
Coroid קורא את הענף הראשי מבלי להריץ את הקוד שלו. הוא מחפש קטלוגים והשפות שלהם, המסגרות בהן נעשה שימוש, וטקסט שעדיין כתוב ישירות בקוד, בספירה לפי קובץ.
- נמצאו קטלוגים. המסייע שומר עליהם: Coroid מוסיף את הבדיקות שלו ומתרגם את מה שחסר. לכך קוראים אימוץ.
- אין קטלוגים עדיין. Coroid מעביר את הטקסט בקוד שלכם לתוך קטלוגים ומחליף אותו בפקודות חיפוש. לכך קוראים הכנסה.
- כבר הוגדר. לפרויקט כבר יש תצורת Coroid, והמסייע מציע שינויים בה.
2. שפת מקור
השפה שבה נכתב המוצר; כל שפה אחרת מתורגמת ממנה. המסייע מזהה אותה מהקטלוגים שלכם, או משער אותה מהטקסט בקוד. כל שפה יכולה להיות שפת מקור: מוצר בשוודית שמתורגם לאנגלית ולגרמנית פועל באותו אופן.
3. שפות
בחרו שפות אחת אחת, או הוסיפו שוק שלם בבת אחת: הנפוצות ביותר, אירופה, הנורדיות, מזרח אסיה, האמריקאיות או מימין לשמאל. כל שפה מציגה את שמה, האם היא נכתבת מימין לשמאל, וכמה צורות רבים נדרשות לה.
ניתן להסיק גרסאות אזוריות במקום לתרגם. אנגלית בריטית נגזרת מאנגלית אמריקאית עם איות בריטי, וגרמנית שוויצרית נגזרת מגרמנית עם איות שוויצרי, כך שהן אינן עולות כסף ונשארות תואמות למקור.
כל שלב מתחיל ממה שהמאגר כבר מכיל. שנה רק את מה שאתה רוצה; שום דבר לא משתנה עד ש־pull request ימוזג.
- סריקה
- שפת מקור
- שפות
- מחרוזות
- סגנון ומונחים
- תרבות
- איכות ואוטומציה
- סקירה
בחרו שפות אחת-אחת או הוסיפו שוק שלם. ניתן לגזור וריאנטים אזוריים כגון אנגלית בריטית באמצעות כללים במקום תרגום ידני.
- Deutschגרמנית · de · 2 צורות רבים
- Françaisצרפתית · fr · 3 צורות רבים
- 日本語יפנית · ja · 1 צורת רבים
- العربيةערבית · ar · מימין לשמאל · 6 צורות רבים
- British Englishאנגלית (בריטניה) · en-GB · 2 צורות רביםנגזר עם איות בריטי
מדריך ה-Internationalization בשלב השפות שלו: כל שפה עם כיוון הכתיבה והצורות הרבות שלה, אנגלית בריטית שנגזרה מכללים, ושווקים להוספה בבת אחת. נתונים אילוסטרטיביים.
4. מחרוזות
בעת אימוץ, בחרו את הקטלוגים שCoroid שומר מתורגמים; המפתחות והמבנה שלהם נשארים כפי שהם. בעת הכנסה, בחרו את הקבצים שטקסט שלהם Coroid מעביר לקטלוגים; הקבצים שתשאירו בחוץ נשארים כפי שהם.
5. סגנון ומונחים
כולם אופציונליים, ונאכפים בכל שפה:
- רשמי או לא רשמי. עבור שפות שמתייחסות לקורא בצורה רשמית או לא רשמית, כמו גרמנית Sie ו- du. כברירת מחדל, כל אחד עוקב אחר הטון של הטקסט המקורי.
- מונחים נשארים כפי שנכתבו. שמות מוצר, מותג ותכונה שנשארים זהים בכל שפה.
- אודות המוצר. מספר משפטים על המוצר וקהל היעד שלו, שעוזרים לכל תרגום לבחור את המילים הנכונות.
6. תרבות
כל שוק כותב תאריכים, מספרים ומחירים בדרך משלו. בחרו כיצד הקוד מעצב את הנתונים עבור הקורא: המסייע מציע את מנגנון העיצוב של המסגרת שמצא, כמו של next-intl או react-intl, או תארו את שלכם. לאחר מכן בחרו את המטבע שבו כל שוק משלם; כל אחד מתחיל עם המטבע של האזור שלו. כל שוק מציג דוגמת תאריך ומספר, היום שבו השבוע מתחיל וגודל הנייר שלו. הסוכנים של Coroid פועלים לפי שני הבחירות הללו; ראו תרבות.
7. איכות ואוטומציה
פועלים כברירת מחדל, וכל אחד יכול להשתנות מאוחר יותר:
- בדוקו תרגומים בכל שינוי. ה- בדיקת גלובליזציה שולח שינוי בחזרה כאשר חסרות מחרוזות או הן שבורות, או כאשר טקסט נוסף לקוד במקום לקטלוג.
- תרגמו מחרוזות שמוזגו מחוץ ל-Coroid. כאשר מישהו מבצע מיזוג של טקסט חדש ללא Coroid, משימה מתרגמת אותו.
- יישמו תיקונים מדי לילה. הצעות מאושרות ממתרגמים מגיעות כ-pull request אחד בכל לילה.
- אפשרו לאנשים שהוזמנו להציע ניסוחים. קוראים ילידיים שתזמינו יכולים לתקן תרגומים באתר שלכם. ראו תחזוקת תרגומים עם הצעות.
קובץ התצורה נושא את ההגדרה האחרונה. Coroid מפעיל את האחרות בפעם הבאה שבעל זכויות או מנהל פותח את גלובליזציה לאחר מיזוג ה-pull request, ורק פעם אחת: אם תכבו אחת מאוחר יותר, היא תישאר כבויה.
8. סקירה
תקציר הפרויקט כולל את מטרת המשימה, שפת המקור, השפות וזיהוי השפות הנגזרות, נפח התרגום, המונחים שנשמרים כפי שהם, פורמטר והמטבעות, וכן מה קורה לאחר המיזוג. התרגום נגבה כשימוש במודל, בדומה לעבודת סוכנים אחרת, עם הגבלה לפי משימה.
בחרו לבצע בינלאומיות. Coroid יוצר משימה אחת עם מפרט וקריטריוני קבלה ומתחיל אותה מיד.
מהות המשימה
- אימוץ כותב את קובץ ההגדרות בדיוק כפי שהמאסטר מתכנן אותו, ואז מתרגם כל מחרוזת חסרה.
- הכרזה מחבר את המסגרת שלכם, מעביר את הטקסט של הקבצים הנבחרים לקטלוגים, מוסיף ניתוב שפות, מנגנוני גיבוי ותמיכה בשפה מימין לשמאל, ואז מתרגם.
- שינוי כותב את ההגדרה החדשה ומתקן את התרגומים שנפגעו מהשינוי.
המשימה מסתיימת ב־pull request אחד. לאחר מיזוגו לענף ברירת המחדל, כל השפות יופיעו בלוקליזציה, ו-World readiness יקרא את הקוד כדי לזהות מקומות שעדיין מניחים שפה אחת.
פורמטים
Coroid קורא קטלוגים בפורמטים הבאים:
| פורמט | לשימוש ב: |
|---|---|
| ICU JSON | קבצי הודעות עם צורות רבות ובחירות של ICU |
| i18next JSON | קטלוגי i18next ו-react-i18next, כולל סיומות צורות רבות |
| Vue i18n JSON | הודעות vue-i18n, כולל הודעות מקושרות וצורות רבות מסוג pipe |
| Rails YAML | config/locales/*.yml, יחד עם %{name} החלפת פרמטרים ומפתחות צורות רבות |
| gettext PO | .po קבצים ו- .pot תבנית, יחד עם Plural-Forms לכל שפה |
| Markdown ו-MDX | דפי תיעוד בתוך תיקיית שפה (docs/en/…): טקסט, תיאורי תמונות ושדות Frontmatter נבחרים; הקוד והתגיות נשארים כפי שהם. |
| מותאם אישית | כל פורמט אחר, באמצעות פקודת מתאם קטנה במאגר הקוד שלכם. |
קובץ ההגדרות
המאסטר כותב .coroid/i18n.json. הוא מתאר את מאגר הקוד שלכם, לכן הוא נמצא בתוך המאגר ומשתנה דרך בקשות משיכה:
{
"version": 1,
"cli": { "version": "1.16.0", "sha256": "…" },
"sourceLocale": "en",
"targetLocales": ["de", "fr", "ja", "ar"],
"derivedLocales": [
{ "locale": "en-GB", "from": "en", "rules": "en-gb-spelling" }
],
"catalogs": [
{
"id": "ui",
"format": "i18next-json",
"source": "messages/{locale}.json"
}
],
"protectedTerms": ["Storefront"],
"localeInstructions": {
"de": "Address the reader informally (du)."
},
"world": {
"formatter": "useFormatter from next-intl",
"currencies": { "de": "EUR", "fr": "EUR", "ja": "JPY", "ar": "SAR" }
}
}cliקובע את גרסת המנוע המדויקת ואת סיכום הבדיקה שלה. Coroid מפיק ומאמת את הגרסה הזו לפני כל ריצה, כך שעדכון לא ישנה את התוצאה באופן בלתי צפוי.derivedLocalesמציג את הגרסאות האזוריות שנוצרו על פי הכללים.protectedTermsו-localeInstructionsשומרים את הבחירות שלכם תחת סגנון ומונחים, ו-worldמה שבחרתם תחת תרבות. ה- בדיקת גלובליזציה מציג את שארworld.
הקובץ יכול גם להכיל מילון מונחים, הקשר מוצר, נתיבי תרגום לפי שפה וקישור הצעות עבור תורמים.
הגדרות → קובץ תצורה בתחנת העבודה מציג את הקובץ המדויק שבענף ברירת המחדל. כדי לשנות אותו שם, ערכו את ההצעה ובחרו הצעת שינוי: Coroid פותח משימה שמיישמת בדיוק את הקובץ הזה ומתקן את כל התרגומים שנפגעו מהשינוי. עבור שפות וסגנון, המאסטר הוא הדרך הקלה יותר.