ב-blockly יש תמיכה בהגדרות בלוק שניתן להתאים לשוק המקומי לשפת המשתמש. באמצעות שימוש בטבלאות מחרוזות, מחרוזות הודעה בהגדרת בלוק JSON יכול להתאים את הקלט, השדות והתוויות כך שישקפו את אוצר המילים בשפה סדר המילים והכיוון.
בכל המקרים האלה יש את אותה הגדרת בלוק JSON:
// Block for creating a list with one element repeated.
{
"type": "lists_repeat",
"message0": "%{BKY_LISTS_REPEAT_TITLE}",
"args0": [
{
"type": "input_value",
"name": "ITEM"
},
{
"type": "input_value",
"name": "NUM",
"check": "Number"
}
],
"output": "Array",
"colour": "%{BKY_LISTS_HUE}",
"tooltip": "%{BKY_LISTS_REPEAT_TOOLTIP}",
"helpUrl": "%{BKY_LISTS_REPEAT_HELPURL}"
}
שולחן מחרוזות
הדוגמה lists_repeat
כוללת כמה מחרוזות "%{BKY_...}"
. כל אחד מ-
זו הפניה למחרוזת בטבלת המחרוזת Blockly.Msg
. כאשר
הוא יוצר מופע של בלוק, ומנסה להחליף את המחרוזת בערך ב-Blockly.
לדוגמה, %{BKY_LISTS_REPEAT_TITLE}
מוחלף בערך של
Blockly.Msg['LISTS_REPEAT_TITLE']
, אם קיים. אם הערך לא קיים,
הסימון %{BKY_...}
נשאר במקומו, ו-Blockly משמיע אזהרה
תרגום החסר.
כפי שמוצג בדוגמה, הסימון פועל במספר מיקומים. ההודעות
והסברים קצרים מאפשרים להחליף מחרוזות גלויות למשתמש. באופן דומה, תפריט נפתח
יכולים להשתמש גם בסימון של טקסט הפריט. ניתן להתאים את כתובת ה-URL לעזרה
להבטיח שהמשתמש יופנה לדף שמותאם לשוק המקומי. ולבסוף,
הערך של colour
יכול להשתמש בסימון כדי לרכז את לוח הבלוקים.
אם אתם משתמשים בהטמעה של JavaScript אינכם מצפים לשנות את
בשפת המשתמש שבסביבת זמן הריצה, יכול להיות שיהיה לכם קל יותר להשתמש בהפניה ישירה. עבור
לדוגמה, Blockly.Msg['LISTS_REPEAT_TITLE']
או
Blockly.Msg.LISTS_REPEAT_TITLE'
.
טבלאות המחרוזות נטענות באמצעות כל אחד מקובצי .js
הספציפיים לשפה
msg/js
. טען את
לדף האינטרנט שלך כדי לטעון את התרגום הנכון של הבלוק.
אינטרפולציה של הודעות JSON
המאפיין message0
(וגם message1
, message2
וכו') קובעים את מקורות הקלט.
ואת הטקסט של התווית שמוקפת. עבור LISTS_REPEAT_TITLE
ב
בלוק lists_repeat
, הערך באנגלית הוא:
Blockly.Msg.LISTS_REPEAT_TITLE = 'create list with item %1 repeated %2 times';
שני סמני אינטרפולציה, %1
ו-%2
, מסמנים את המיקומים של שני מקורות הקלט.
פרטים נוספים מופיעים במערך args0
. args1
מתאים לערך
המחרוזת message1
. לצפייה
יצירת אבני בניין בהתאמה אישית
לקבלת פרטים נוספים על ציון שדות וקלט של בלוקים.
הטקסט שבין סמני האינטרפולציה מומר לטקסט ללא שם label fields. הפעולה הזו יוצרת את המילה של הבלוק ואיך הוא נקרא:
// In Spanish
Blockly.Msg.LISTS_REPEAT_TITLE = "crear lista con el elemento %1 repetido %2 veces";
// In Korean
Blockly.Msg.LISTS_REPEAT_TITLE = "%1을 %2번 넣어, 리스트 생성";
כשמתרגמים לשפות הנכתבות מימין לשמאל, מחרוזת ההודעה נכתבת ב את הסדר החזותי, ולא יכולה לכלול פקודות כיוון ב-Unicode:
// In Arabic. Note how %2 is left of %1, since it read right to left.
Blockly.Msg.LISTS_REPEAT_TITLE = "إنشئ قائمة مع العنصر %1 %2 مرات";
בנייה מחדש של טבלאות מחרוזות
בניית טבלת המחרוזת .js
היא חלק מהסקריפט build:langfiles
.
הסקריפט לוקח את מפתחות המזהים ותרגומים לאנגלית
msg/messages.js
כדי ליצור en.json
חדש.
לאחר מכן, בשילוב עם כל תרגומים שנמצאו
קובצי ה-JSON האחרים,
הוא ייצור מחדש את הגרסה המעודכנת
טבלאות JavaScript ב-JavaScript
בכל השפות, כולל
en.js
.
קובצי ה-JSON שאינם באנגלית מגיעים משותפים ב- TranslateWiki. לצפייה הערות מופעלות תרגום לפרטים על האופן שבו תוכלו לעזור.