PTC

כיצד לייבא תרגומי תבניות ותוספים אל WordPress.org

קיימים שני מסלולים להצגת קובצי .po ו־.mo מתורגמים למשתמשי WordPress.org. הגשת בקשה לגישת CLPTE (לוקחת שבוע עד שבועיים) או צירוף קובצי .mo (bundling) לגרסה שלכם (זמין למחרת). שתי הדרכים עובדות. הפשרה היא בין הפצה קנונית לבין מהירות. מדריך זה מסביר מתי להשתמש בכל מסלול ומפרט את השלבים לביצוע עבור שניהם.

תרגמתם את התוסף או התבנית שלכם באמצעות 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 הרלוונטי עם המנהל (moderator) ותיוג צוות ה־Polyglots ב־Slack יכולים לעזור.

זמן משוער: כ־3–5 ימים (כולל זמן המתנה אם החשבון החדש שלכם הושבת).

שלב 2: בקשת גישת CLPTE בבלוג של Polyglots

לאחר שהחשבון שלכם הופעל, פרסמו בקשה ב־בלוג ה־Polyglots של WordPress.org. השתמשו בתבנית שלהם:

PTE/CLPTE Request

Plugin URL: https://wordpress.org/plugins/my-plugin/
Authors / Editors: @your-wp-username
Type of request: CLPTE

תקבלו הודעה כאשר בקשתכם תאושר.

זמן משוער: כיום אחד (הצוות הגלובלי של Polyglots בוחן בקשות בקבוצות).

שלב 3: ייבוא קובצי ה־.po המתורגמים

  1. התחברו אל https://translate.wordpress.org/ באמצעות חשבון ה־CLPTE שלכם.
  2. עברו לדף פרויקט התרגום של התוסף או התבנית שלכם (לדוגמה, translate.wordpress.org/projects/wp-plugins/{your-plugin-slug}/).
  3. פתחו את הפרויקט המקומי עבור כל שפה שתרגמתם.
  4. גללו למטה ולחצו על Import Translations.
  5. העלו את קובץ ה־.po (או ה־.mo) שלכם.
  6. סמנו את המחרוזות המיובאות כ־"current" בעורך התרגום. מחרוזות מאושרות יצורפו ליצירת חבילת השפה הבאה (בדרך כלל מדי יום).
  7. חזרו על הפעולה עבור כל שפת יעד. לכל מיקום (locale) יש דף תרגום משלו.

זמן משוער: 10–30 דקות לכל שפה.

לאחר חלון זמן של 24–48 שעות ליצירת חבילת השפה, אתרים המריצים את התוסף שלכם יתחילו לקבל את התרגומים החדשים דרך עדכוני חבילות השפה האוטומטיים של WordPress. המשתמשים לא יראו הודעת שדרוג; התרגומים פשוט יופיעו.

מה CLPTE יעשה ולא יעשה עבורכם

  • לא ניתן להחליף תרגומי קהילה קיימים. רק מחרוזות לא מתורגמות מיובאות. עדכון תרגום קהילה קיים דורש את התהליך הסטנדרטי והמתנה לסקירה של צוות השפה המקומי.
  • עדכונים דורשים העלאה ידנית בכל גרסה. כל גרסה חדשה פירושה סבב חדש של העלאות.
  • יצירת חשבון ואישורו יכולים לקחת עד שבוע.

מסלול 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 המצורפים במקום זאת, הוסיפו את הפילטר 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 לאחת השפות שסיפקתם:

  1. עברו אל Settings > General > Site Language (הגדרות > כללי > שפת האתר) ובחרו שפה שקובץ ה־.mo שלה נמצא בתיקיית /languages/ שלכם.
  2. טענו דף או מסך המכילים מחרוזות שאתם יודעים שמתורגמות.
  3. ודאו שהמחרוזות מופיעות בשפה הנכונה ותואמות לתרגומים שהוספתם.

אם אתם עדיין רואים תרגומי קהילה ישנים, בדקו שוב את קטע הקוד בשלב 2. עליו להפנות את WordPress בצורה נכונה לקובצי ה־.mo המצורפים שלכם.

בצעו commit לקובצי ה־.mo, צרו תג (tag) לגרסה, ודחפו ל־wordpress.org באמצעות SVN כפי שאתם עושים בדרך כלל.

הפשרה בין מהירות להפצה קנונית

  • יתרון: מיידי. תרגומים חדשים זמינים ברגע שמשתמשים מעדכנים את התוסף שלכם (או מתקינים אותו לראשונה). אין המתנה של שבוע–שבועיים ל־CLPTE. אין סבב אישורים של צוות ה־Polyglots.
  • יתרון: אתם שולטים בתהליך העבודה. קצב התרגום תואם בדיוק לקצב שחרור הגרסאות שלכם.
  • יתרון: אין תלות בסימון התוסף (badge). התרגומים עובדים בין אם לתוסף שלכם יש הרשאות CLPTE ובין אם לא.
  • חיסרון: גודל קובץ התוסף גדל. כל קובץ .mo הוא קטן (בדרך כלל 5–50KB), אך 20 שפות מוסיפות כ־500KB להורדה.
  • חיסרון: אין עדכון אוטומטי של תרגומים בין גרסאות תוסף. עם CLPTE, תרגומים שמתעדכנים ב־wordpress.org מופצים למשתמשים תוך 48 שעות, גם אם לא שחררתם גרסה חדשה. בשיטת הצירוף (bundling), התרגומים מתעדכנים רק כשאתם משחררים גרסה חדשה.
  • חיסרון: אין סימון "מתורגם". WordPress.org מציג סימון של השלמת תרגום ברשימות התוספים על סמך הכיסוי של חבילות השפה, ולא על סמך קובצי .mo מצורפים. צירוף קבצים לבדו אינו מזכה בסימון זה.

איזה מסלול מתאים לקצב שחרור הגרסאות שלכם

מצב המלצה
הפצה קנונית לטווח ארוך; אתם רוצים את סימון התרגום CLPTE – הגישו בקשה דרך Polyglots
אתם משחררים עדכוני תוסף מדי חודש או בתדירות גבוהה יותר, וקצב התרגום יכול להתאים לכך צירוף קובצי MO
אתם זקוקים לתרגומים זמינים כבר השבוע ולא יכולים לחכות ל־CLPTE צרפו קובצי MO כעת, והגישו בקשה ל־CLPTE במקביל
אתם רוצים את שניהם השתמשו בשניהם – הם אינם סותרים זה את זה

הגישה הכפולה נפוצה מאוד: צירוף קובצי MO לזמינות מיידית, והגשה ל־CLPTE עבור הפצה קנונית. המשתמשים מקבלים את התרגומים המצורפים בעת העדכון; שכבת חבילת השפה מרעננת אותם בין הגרסאות.

תרגמו את גרסת התוסף הבאה שלכם עם PTC

התחילו את תקופת הניסיון של 30 יום בחינם – 20,000 מילים עלינו, ללא כרטיס אשראי. צרו את קובץ ה־.pot שלכם, העלו אותו ל־PTC, וקבלו קובצי .po ו־.mo מתורגמים תוך דקות, מוכנים ל־CLPTE או לצירוף בגרסה.

נושאים קשורים: