כיצד לייבא תרגומי ערכות עיצוב ותוספים אל WordPress.org
שני נתיבים מציגים קובצי .po ו־.mo מתורגמים בפני משתמשי WordPress.org. בקשו גישת CLPTE (4-6 ימים) או שלבו קובצי .mo בתוך השחרור שלכם (ביום למחרת). שניהם עובדים. הפשרה היא הפצה קנונית לעומת מהירות. מדריך זה סוקר מתי להשתמש בכל נתיב וכולל שלבים מפורטים עבור שניהם.
תרגמתם את התוסף או ערכת העיצוב שלכם באמצעות PTC (Private Translation Cloud) ויש לכם את קובצי ה־.po וה־.mo. משתמשים שמתקינים את התוסף שלכם מ־WordPress.org אינם רואים את התרגומים האלה כברירת מחדל. חבילות שפה (Language Packs) של WordPress.org והקבצים המשולבים שלכם הם שני ערוצי הפצה נפרדים. בחרו אחד מהם על בסיס תדירות שחרור הגרסאות וקהל היעד שלכם.
נתיב 1: פרסום תרגומים דרך חבילות שפה של WordPress.org (CLPTE)
זמן כולל: 4-6 ימים.
שלב 1: יצירת חשבון CLPTE
תפקיד CLPTE (Cross-Locale Project Translation Editor) מאפשר לכם להגיש תרגומים בשם ערכת העיצוב או התוסף שלכם בכל שפת יעד מתוך חשבון אחד. חשבון Translation Editor רגיל הוא לכל שפה בנפרד; CLPTE אינו כזה.
אם כבר יש לכם חשבון ב־WordPress.org, ייתכן שתיתקלו בבעיה שבה חשבון ה־CLPTE החדש שלכם מושבת. WordPress אינה מאפשרת ריבוי חשבונות. כדי לפתור זאת, שלחו דוא"ל אל forum-password-resets@wordpress.org והסבירו שאתם מנסים ליצור חשבון CLPTE. גם שיתוף התיעוד הרלוונטי של Polyglots עם המנהל וגם תיוג צוות Polyglots ב־Slack יסייעו לפתרון.
זמן משוער: כ־3-5 ימים (כולל זמן המתנה אם החשבון החדש שלכם מושבת).
שלב 2: בקשת גישת CLPTE בבלוג של Polyglots
לאחר שהחשבון שלכם הופעל, פרסמו בקשה בבלוג של WordPress.org Polyglots. עקבו אחר התבנית שלהם:
PTE/CLPTE Request
Plugin URL: https://wordpress.org/plugins/my-plugin/
Authors / Editors: @your-wp-username
Type of request: CLPTE
תקבלו התראה כאשר בקשתכם תאושר.
זמן משוער: כ-יום אחד (הצוות העולמי של Polyglots סוקר בקשות באצוות).
שלב 3: ייבוא קובצי ה־.po המתורגמים
- התחברו אל
https://translate.wordpress.org/באמצעות חשבון ה־CLPTE שלכם. - עברו אל עמוד פרויקט התרגום של התוסף או ערכת העיצוב שלכם (לדוגמה,
translate.wordpress.org/projects/wp-plugins/{your-plugin-slug}/). - פתחו את הפרויקט המקומי עבור כל שפה שתרגמתם.
- גללו למטה ולחצו על ייבוא תרגומים.
- העלו את קובץ ה־
.po(או ה־.mo) שלכם. - סמנו את המחרוזות המיובאות כ־”current“ בעורך התרגום. מחרוזות מאושרות מצטרפות ליצירת חבילת השפה הבאה (בדרך כלל מדי יום).
- חזרו על הפעולה עבור כל שפת יעד. לכל locale יש עמוד תרגום משלו.
זמן משוער: כ־10-30 דקות לכל שפה.
לאחר חלון זמן של 24-48 שעות עבור חבילת השפה, אתרים המריצים את התוסף שלכם מתחילים לקבל את התרגומים החדשים דרך העדכונים האוטומטיים של חבילות השפה של WordPress. המשתמשים אינם רואים בקשת שדרוג. התרגומים פשוט מופיעים.
מה CLPTE יעשה ולא יעשה עבורכם
- אינכם יכולים להחליף תרגומי קהילה קיימים. רק מחרוזות לא מתורגמות מיובאות. עדכון תרגום קהילה קיים דורש את התהליך הרגיל והמתנה לסקירה של צוות ה־locale.
- עדכונים דורשים העלאות ידניות עבור כל שחרור גרסה. כל שחרור גרסה חדש פירושו סבב חדש של העלאות.
- יצירת חשבון ואישורו אורכים בדרך כלל 4-6 ימים בסך הכול.
נתיב 2: שילוב קובצי ה־.mo בתוך התוסף או ערכת העיצוב שלכם
אם אתם צריכים שהתרגומים יעלו לאוויר מהר יותר ממה ש־CLPTE מאפשר, או אם אתם מעדיפים שלא להסתמך על צינור ההפצה של WordPress.org, שלבו את קובצי ה־.mo ישירות בשחרור התוסף או ערכת העיצוב שלכם. זמן כולל: 15-30 דקות.
שלב 1: הוספת קובצי ה־.mo אל תיקיית ה־/languages/
מקמו את קובצי ה־.mo המקומפלים שלכם בתוך תיקיית ה־/languages/ של התוסף או ערכת העיצוב שלכם כדי ש־WordPress תמצא אותם בעת טעינת ה־text domain שלכם:
my-plugin/
├─ my-plugin.php
├─ readme.txt
├─ languages/
│ ├─ my-plugin-es_ES.mo
│ ├─ my-plugin-es_ES.po
│ ├─ my-plugin-fr_FR.mo
│ ├─ my-plugin-fr_FR.po
│ ├─ my-plugin-de_DE.mo
│ └─ my-plugin-de_DE.po
השתמשו באותו text domain בשמות קובצי התרגום שלכם ובקריאות ה־load_plugin_textdomain() או ה־load_theme_textdomain() שלכם.
שלב 2: העדפת הקבצים המשולבים שלכם על פני תרגומי קהילה
כברירת מחדל, WordPress נותנת עדיפות לתרגומי קהילה מ־WordPress.org על פני קבצים משולבים. כדי לוודא שהתוסף או ערכת העיצוב שלכם משתמשים בקובצי ה־.mo המשולבים במקום זאת, הוסיפו את ה־filter load_textdomain_mofile.
עבור תוספים, הוסיפו לקובץ הראשי של התוסף שלכם (לדוגמה, my-plugin.php):
function my_plugin_load_embedded_translation_file( $mofile, $domain ) {
if ( 'my-domain' === $domain && false !== strpos( $mofile, WP_LANG_DIR . '/plugins/' ) ) {
$locale = apply_filters( 'plugin_locale', determine_locale(), $domain );
$local_mofile = WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) .
'/languages/' . $domain . '-' . $locale . '.mo';
if ( file_exists( $local_mofile ) ) {
return $local_mofile;
}
}
return $mofile;
}
add_filter( 'load_textdomain_mofile', 'my_plugin_load_embedded_translation_file', 10, 2 );
עבור ערכות עיצוב, הוסיפו ל־functions.php של ערכת העיצוב שלכם:
function my_theme_load_embedded_translation_file( $mofile, $domain ) {
if ( 'my-domain' === $domain && false !== strpos( $mofile, WP_LANG_DIR . '/themes/' ) ) {
$locale = apply_filters( 'theme_locale', determine_locale(), $domain );
$local_mofile = get_template_directory() . '/languages/' . $locale . '.mo';
if ( file_exists( $local_mofile ) ) {
return $local_mofile;
}
}
return $mofile;
}
add_filter( 'load_textdomain_mofile', 'my_theme_load_embedded_translation_file', 10, 2 );
ודאו גם שהתוסף או ערכת העיצוב שלכם טוענים את ה־text domain ב־hook הנכון:
add_action( 'init', function() {
load_plugin_textdomain(
'my-plugin',
false,
dirname( plugin_basename( __FILE__ ) ) . '/languages'
);
} );
שלב 3: וידוא שהתרגומים המשולבים נטענים באתר בדיקה
התקינו את התוסף או ערכת העיצוב שלכם באתר בדיקה והעבירו את WordPress לאחת השפות שסיפקתם:
- עברו אל Settings > General > Site Language ובחרו שפה שקובץ ה־
.moשלה נמצא בתיקיית ה־/languages/שלכם. - טענו עמוד או מסך שמכיל מחרוזות שאתם יודעים שהן מתורגמות.
- ודאו שהמחרוזות מופיעות בשפה הנכונה ותואמות לתרגומים שהוספתם.
אם אתם עדיין רואים תרגומי קהילה ישנים, בדקו שוב את קטע הקוד משלב 2. עליו להפנות את WordPress נכונה אל קובצי ה־.mo המשולבים שלכם.
בצעו commit לקובצי ה־.mo, תייגו release, ובצעו push אל wordpress.org דרך SVN כפי שאתם עושים בדרך כלל.
הפשרה בין מהירות להפצה קנונית
- יתרון: מיידיות. תרגומים חדשים עולים לאוויר ברגע שמשתמשים מעדכנים את התוסף שלכם (או מתקינים אותו בפעם הראשונה). אין המתנה של מספר ימים ל־CLPTE. אין סבב אישורים של צוות Polyglots.
- יתרון: אתם שולטים בתהליך העבודה. קצב התרגום תואם בדיוק לתדירות שחרור הגרסאות שלכם.
- יתרון: אין תלות בתג התוסף. התרגומים עובדים בין אם לתוסף שלכם יש הרשאות CLPTE ובין אם לא.
- חיסרון: גודל קובץ התוסף גדל. כל
.moהוא קטן (בדרך כלל 5-50KB), אך 20 שפות מוסיפות כ־500KB להורדה. - חיסרון: אין עדכון אוטומטי של תרגומים בין שחרורי תוסף. עם CLPTE, תרגומים המעודכנים ב־wordpress.org מופצים למשתמשים תוך 48 שעות, גם אם אינכם משחררים גרסה חדשה. עם שילוב קבצים, התרגומים מתעדכנים רק כאשר אתם משחררים גרסה חדשה.
- חיסרון: אין תג ”מתורגם“. WordPress.org מציגה תג השלמת תרגום בעמודי התוספים בהתבסס על כיסוי חבילות השפה, ולא על קובצי
.moמשולבים. שילוב קבצים בלבד אינו מזכה בתג.
איזה נתיב מתאים לתדירות שחרור הגרסאות שלכם?
| מצב | המלצה |
|---|---|
| הפצה קנונית לטווח ארוך; אתם רוצים את תג התרגום | CLPTE - עברו דרך תהליך הבקשה של Polyglots |
| אתם משחררים עדכוני תוסף מדי חודש או לעיתים קרובות יותר, וקצב התרגום יכול להיות תואם | שלבו קובצי MO |
| אתם צריכים שהתרגומים יעלו לאוויר השבוע ואינכם יכולים לחכות ל־CLPTE | שלבו קובצי MO עכשיו, הגישו בקשה ל־CLPTE במקביל |
| אתם רוצים את שניהם | השתמשו בשניהם - הם אינם מוציאים זה את זה |
הגישה המשולבת נפוצה: שלבו קובצי MO לזמינות מיידית, והגישו ל־CLPTE להפצה קנונית. המשתמשים מקבלים את התרגומים המשולבים בעת העדכון; שכבת חבילת השפה מרעננת אותם בין השחרורים.
תרגמו את שחרור התוסף הבא שלכם עם PTC
התחילו תקופת ניסיון של 30 יום - 20,000 מילים על חשבוננו, ללא כרטיס אשראי. צרו את קובץ ה־.pot שלכם, העלו אותו ל־PTC, וקבלו קובצי .po ו־.mo מתורגמים בתוך דקות, מוכנים עבור CLPTE או שילוב.
קשורים:
- בינאום ב־WordPress: כיצד לתרגם ערכות עיצוב ותוספים - המדריך הראשי המכסה יצירת POT, text domains, וטעינת תרגומים.
- תרגומי תוסף WordPress אינם מוצגים? תקנו תרגומים חסרים - מדריך פתרון תקלות לבעיות הטעינה הנפוצות ביותר.
- GlotPress לעומת PTC עבור תרגום תוספים/ערכות עיצוב ב־WordPress - מתי לבחור בתרגום קהילה לעומת PTC.
- מדריך הבקשות ל־PTE/CLPTE של WordPress.org Polyglots - התהליך הקנוני להגשת בקשת CLPTE.