הגדרת לוקליזציה של Contentful: בינלאומיות, מנגנון גיבוי, Next.js

אתר רב-לשוני נשבר היכן שתרגומים סוטים מההיגיון של הגשת השפה. אנו מגדירים לוקליזציה של Contentful כפתרון כולל: מודלים, כללי הצבה ונהלים לעורכים. התוכן עולה בכל השפות בו-זמנית, והעריכות מפסיקות לדרוש מפתח.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הגדרת לוקליזציה של Contentful: בינלאומיות, מנגנון גיבוי, Next.js
פשוט
מ- 1 יום עד 3 ימים
שאלות נפוצות

לוקליזציה של Contentful: היכן נשבר תוכן רב-לשוני

ב-Contentful רב-לשוניות היא תכונה של המודל, ולא מודול נפרד: כל שדה של רשומה או שהוא ניתן ללוקליזציה, או שהוא משותף לכל הלוקלים. התקלה הראשונה צומחת בדיוק מכאן — הכותרת והטקסט מסומנים כניתנים ללוקליזציה, אבל חלק מהכתובת, תמונת השער והשדות המטא נשארו משותפים. הגרסה האנגלית נפתחת, אבל הכתובת והתצוגה המקדימה בה רוסיות: זה כבר לא תרגום, אלא תערובת של שפות.

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

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

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

מה נותנת רב-לשוניות מנוהלת של האתר

גרסת שפה אינה העתק של דף, אלא רשומה נפרדת עם לוקל וכלל החלפה. כאשר סכמת הגרסאות מתוארת במודל התוכן, ולא בתבניות, העורך ממלא את הדף בשפה החדשה באותם שדות כמו בשפה הראשית, והמפתח לא מעביר סימון ידנית. ב-Contentful לוקלים, קשרים בין גרסאות והיסטוריית שינויים חיים במאגר אחד — ומכאן גם הניהוליות.

ארבעה אפקטים שנראים במטריקות.

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

סכמת הגרסאות קובעת גם את סדר העבודה: לוקל חדש מופעל בהגדרה, ולא בפרויקט נפרד.

מודלים של לוקליזציה ב-Contentful: השוואת אפשרויות

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

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

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

שלבי הטמעת קו מתאר רב-לשוני

קו מתאר רב-לשוני נשבר לא בתרגומים, אלא במודל הנתונים: כל עוד הלוקל לא מוגדר במבנה, כל שפה חדשה הופכת לשכפול ידני של רשומות ולפער בין גרסאות. להלן שישה שלבים, שכל אחד נשען על הקודם, ולכן עיבודים מחדש לא צפים באמצע.

  1. ביקורת מודל התוכן. מפרקים את סוגי הרשומות ב-Contentful ואת השדות: היכן טקסט, היכן קישורים לרשומות אחרות, היכן ערכים תפורים בתבנית. מסמנים שדות שחובה לתרגם ושדות משותפים לכל השפות — תמונות, מפתחות אינטגרציות, ערכי עזר.
  2. תכנון סכמת השפות. קובעים רשימת לוקלים, לוקל ראשי ווריאציות אזוריות עם קודים אחידים. בנפרד מחליטים אם יש צורך בווריאציות כתיבה מימין לשמאל וכיצד זה משפיע על הסימון — מכך תלויים הפריסות ואורך השורות.
  3. כללי החלפת גיבוי. מגדירים שרשרת: אין תרגום — לוקחים ערך של הווריאציה האזורית, ואחר כך של הלוקל הראשי. מגדירים שדות שבהם ההחלפה מותרת, ואלה שדורשים תרגום מלא, אחרת טקסט זר יצוף בחלון הראווה.
  4. הגדרה וחיבור לרינדור. לוקלים מקשרים לכתובות, מוסיפים חלופות שפה למנועי חיפוש, מחליף ומטא-נתונים. אלמנטים משותפים — תפריט, כותרת תחתונה, תבניות תאריך ומספר — מתרגמים במילונים, ולא בכפילויות של רשומות.
  5. בדיקת החלפה. מריצים את כל המסלולים בכל לוקל: שדות ריקים, קישורים שבורים, כפתורים חתוכים, התנהגות מטמון ואינדוקס. בודקים לא רק את הראשי, אלא גם כרטיסים, טפסים ודפי שגיאה.
  6. קבלה ומסירה. מוסרים רשימת בדיקה להוספת לוקל, תקנון לעורכים ורשימת שדות שחובה למלא. בהמשך שפה חדשה מוגדרת לפי ההוראות, בלי שינויים בקוד.

מה מוסרים לאחר ההטמעה: תצורות ותקנונים

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

  • תצורת שפות. רשימת לוקלים, שפת ברירת מחדל ושרשרת החלפה «שפה-אזור → שפה → ראשית»: שדה לא מלא מציג טקסט הגיוני, ולא בלוק ריק בסימון.
  • סכמות קשרים של רשומות. מפת סוגי תוכן וקישורים ביניהם: מה מתורגם ברשומה נפרדת, ומה נשאר משותף (תמונות, מדריכים, מאפיינים). בנפרד — כיצד הקשרים לא מתפרקים בעת הוספת שפה חדשה.
  • מדיניות גישה לטיוטות. תפקידי מתרגם, עורך ומפתח, הרשאות לתצוגה מקדימה של תוכן לא מפורסם ואיסור פרסום בערוץ הראשי לכותבים חיצוניים.
  • תקנון פרסום תרגומים. סדר «טיוטה → הגהה → פרסום», אחראי לאישור וכלל לחומרים שתורגמו חלקית.
  • כללי ניתוב. יצירת כתובות לפי שפות, הפניות מכתובות ישנות, זיהוי שפת המבקר — ברמת מנתב האפליקציה.
  • בדיקות אוטומטיות של שלמות. משימה בשלב הבנייה מדווחת על לוקל עם שדות חובה לא מלאים: תרגום שהוחמץ לא מגיע למשתמש.
  • תיעוד. מפת מודלי תוכן, הוראות לעורכים, סכמת תפקידים וטוקנים לגישה.
  • מסירה ותמיכה. תיעוד דיון בנקודות מחלוקת, יומן פרסומים וערוץ לשאלות לאחר ההפעלה.

תארו את המשימה — נחזור עם הערכה ותוכנית, כולל רשימת פריטים לקו המתאר שלכם.

מקרה בוחן: 12 שפות וגידול בחלק מהתנועה מחו"ל

מה היה לפני

תוכן לכל שפה שכב בטבלה נפרדת, ושורות הממשק — ממש ברכיבים. לוקל חדש означал תיקונים בארבעים קבצים, ואף אחד לא היה קשור לאחרים: התרגום הגיע אחרי הסימון, ואנחנו השווינו ידנית שלא נותרו בלוקים ריקים. מפתח חסר הוחזר כמחרוזת ריקה — המשתמש ראה חור בסימון במקום טקסט באנגלית.

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

מה שינו

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

מה קרה בסופו של דבר

זמן יציאת לוקל חדש — יומיים: המתרגם עובד בממשק העורך, המפתח מחבר מסלול והחלפה. היקף התיקונים הידניים בעת הוצאת שפה ירד בערך פי שמונה — השוואת המפתחות יצאה מהתהליך. סוג השגיאה «בלוק ריק במקום תרגום» נסגר באופן מבני. חלק המבקרים מחו"ל עלה מ-4% ל-19% אחרי שש השפות הראשונות ועד 27% לשתים עשרה.

מה לעשות אם התוכן כבר מתורגם וסכמת השפות משתנה

רב-לשוניות מוגדרת חלקית ב-Contentful היא המקרה הנפוץ ביותר: שניים-שלושה לוקלים מוגדרים, חלק מהשדות מלוקלים, חלק נמשכים מהבסיסי דרך החלפה, וקוד השפה תפור במסלול. החלפת סכמת השפות כאן אינה "החלפת הגדרה", אלא הגירת נתונים: לכל רשומה משתנה מערך השדות והקשרים המלוקלים.

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

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

כתובות נשמרות באמצעות טבלת התאמה של לוקלים למסלולים, ולא באמצעות קוד שפה בנתיב. נתיבים ישנים ממשיכים להשיב בהפניה קבועה, חדשים נוספים לצדם — קישורים חיצוניים ותוצאות חיפוש לא הולכים לאיבוד.

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

ספקות טכניים לגבי סכמה רב-לשונית

בדיון על היקף העבודה בלוקליזציה של Contentful חוזרים אותן חמש נקודות פיצול. אנו עונים עליהן לפני ההתחלה — כדי שנקודות מחלוקת לא יצופו באמצע ההטמעה, כשכבר מאוחר לשנות החלטה.

מה להציג בשפה שאין בה עדיין תרגום?

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

מה עם כתובות דפים בכל שפה?

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

האם חובה לתרגם את כל השדות מיד?

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

האם רב-לשוניות תאט את הבנייה?

הבנייה מתבצעת רק לפי השפות והשדות שהשתנו, והשאר נלקח מהמטמון. הוספת שפה מוסיפה שניות, לא דקות — אם סכמת התוכן הונחה מראש, ולא הודבקה מעל דפים מוכנים.

מי אחראי לאיכות התרגומים?

אנחנו אחראים לסכמה, להחלפה, לכתובות ולבנייה. הטקסטים — בצד הלקוח או המתרגם שלו; מצדנו אנו נותנים מילון מונחים, רשימת שדות חובה ודוח על פערים, כדי שהחמצות יהיו גלויות לפני הפרסום.

נדון במשימה: סכמת שפות, לוחות זמנים וסדר עבודה

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

סדר העבודה נבנה כך שכל שלב נשען על הקודם המאומת:

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

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

הכישורים שלנו:

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1393
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1368
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1139
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1152
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1231
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    641