כיצד להכין קובץ CSV לתרגום
קובץ CSV שמתורגם בצורה נקייה כולל מפתחות יציבים, עמודות טקסט מקור ברורות וקידוד UTF-8 תקין. מדריך זה מכסה כל שלב בהכנה. ברגע שקובץ ה־CSV שלכם מוכן, תוכלו לתרגם אותו ב־3 שלבים ב־PTC (Private Translation Cloud). לסקירה כללית של שירות ה־CSV העצמאי, ראו תרגום קובצי CSV אונליין באמצעות בינה מלאכותית.
פורמט CSV הוא המכנה המשותף הנמוך ביותר בעולם התרגום. כל כלי לניהול גיליונות אלקטרוניים, כל פלטפורמת מסחר אלקטרוני וכל ייצוא של כלי אנליטיקה תומכים ב־CSV. הגמישות הזו היא חרב פיפיות. קובץ CSV ש”נראה בסדר“ ב־Excel עלול להיות בלתי אפשרי לתרגום נקי בגלל עמימות בעמודות, מפתחות חסרים או בעיות קידוד. מדריך זה מפרט מה הופך קובץ CSV למוכן לתרגום.
איך נראה קובץ CSV מוכן לתרגום
קובץ CSV מוכן לתרגום הוא קובץ שבו:
- לכל מחרוזת הניתנת לתרגום יש מפתח (key) ייחודי ויציב.
- עמודת שפת המקור מזוהה בבירור.
- עמודות שפת היעד כבר קיימות (עמודה אחת לכל שפה) או שמופק קובץ CSV אחד לכל שפת יעד.
- עמודות מזהים (SKU, ID, URL של תמונה, מחיר) הן בבירור כאלו שאינן מיועדות לתרגום.
- הקובץ הוא בפורמט UTF-8 תקני ללא עמימות בקידוד.
שני מבנים נפוצים:
פורמט רחב (עמודה אחת לכל שפה):
key,en,es,fr,de
welcome,Welcome,,,
cart.empty,Your cart is empty,,,
cart.items_one,"You have %{count} item",,,
פורמט ארוך (שורה אחת לכל מחרוזת, קובץ אחד לכל שפה):
key,source
welcome,Welcome
cart.empty,Your cart is empty
cart.items_one,"You have %{count} item"
שניהם עובדים. PTC קורא את שניהם. בחרו את המבנה שמתאים לצינור העבודה הקיים שלכם.
בחרו עמודות שמתרגמים ו־PTC יכולים לקרוא
הגדירו את השורה הראשונה ככותרת. השתמשו בשמות עמודות פשוטים ותיאוריים כמו key, source_text, ו־context. כך כלי התרגום שלכם וכל סוקר אנושי ידעו בדיוק מה מכילה כל עמודה.
עמודות חובה. כל קובץ CSV מוכן לתרגום זקוק לפחות לעמודת key ולעמודת טקסט מקור.
- עמודת ה־
keyמכילה מזהה ייחודי לכל מחרוזת. האפליקציה שלכם משתמשת בו כדי להתאים את התרגום הנכון בזמן ריצה. השתמשו במוסכמת מתן שמות עקבית – אותיות קטנות (באנגלית), קווים תחתונים ונקודות בלבד. פורמטים נפוצים:button.submit, error.invalid_login, onboarding.welcome_message. לעולם אל תשנו מפתח לאחר שהתרגום החל. שינוי מפתח יוצר מחרוזת חדשה ומנתק את התרגום הקיים. - עמודת טקסט המקור מכילה את הטקסט המקורי בשפת הבסיס שלכם.
אופציונלי אך שימושי: עמודת context (הקשר). מחרוזות קצרות כמו ”Save“ או ”Back“ יכולות להיות בעלות משמעויות שונות בהתאם למקום שבו הן מופיעות בממשק. הערה קצרה מסבירה למתרגם (או לבינה המלאכותית) למה מיועדת המחרוזת:
key,source_text,context
button.save,Save,Document editor toolbar
checkout.button.save,Save,Checkout address form
עבור קבצים גדולים, עמודת namespace או group תעזור לכם לארגן מחרוזות לפי פיצ'ר או אזור באתר.
עמודות שפה. אם תהליך העבודה שלכם שומר את המקור והיעד באותו קובץ, הוסיפו עמודה לכל שפת יעד תוך שימוש בקודי locale ככותרת. השתמשו ב־es_ES עבור ספרדית (ספרד), fr_FR עבור צרפתית (צרפת), pt_BR עבור פורטוגזית (ברזיל).
השתמשו במפתחות עם נקודות להיררכיה. cart.items.one ו־cart.items.other מתקבצים באופן טבעי. הימנעו מרווחים במפתחות.
שמרו על עמודות מזהים נפרדות. אם קובץ ה־CSV שלכם הוא קטלוג מוצרים, העמודות sku, handle, price, ו־image_url צריכות להיות מזוהות בבירור ככאלו שאינן לתרגום לפי שמן בלבד. אל תטמינו אותן בתוך עמודת metadata כללית.
קובץ CSV אחד לכל היקף לוגי. אל תערבבו מחרוזות של ממשק ניהול (admin-UI) עם טקסט שיווקי באותו קובץ. להיקפים שונים יש טונים שונים. טון המותג של PTC עובד טוב יותר כשכל פרויקט מכסה קבוצה עקבית של מחרוזות.
סמנו מצייני מיקום כדי ש־PTC ישמור עליהם בין השפות
מצייני מיקום הם טוקנים בתוך מחרוזת שמוחלפים בזמן ריצה. %s, %d, {name}, {{count}}, %{currency}. PTC שומר על מצייני המיקום כפי שהם ולעולם אינו מתרגם את הטוקן עצמו.
key,source_text
greeting,"Hello, %{name}!"
cart.total,"Total: %{currency}%{amount}"
notification,"You have %{count} new messages"
מוסכמות ש־PTC מזהה מהרגע הראשון:
%s, %d, %f, %1$s, %2$d– סגנון printf (gettext, Rails, Java).{name}, {count}, {0}– Pythonstr.format, .NET, תחביר אינדקס של ICU.{{name}}, {{count}}– i18next, Mustache, Handlebars.%{name}, %{count}– Rails I18n, Ruby.
אם טקסט המקור שלכם כולל תגיות HTML (<strong>, <br>, <a href="">), התייחסו אליהן באותו אופן כמו למצייני מיקום. PTC מזהה ושומר עליהן בכל הפורמטים, במיקום הנכון בכל שפת יעד. לעולם אל תתרגמו את התגית עצמה.
אם אתם משתמשים במוסכמה מותאמת אישית (למשל, [[token]]), הצהירו עליה במילון המונחים של הפרויקט ב־PTC, ו־PTC יכבד אותה בכל שורה.
קודדו צורות רבים כשורות נפרדות כדי שכל שפה תקבל את הצורות הנכונות
לרוב השפות יש יותר משתי צורות רבים. לרבות יש חוקים שדוברי אנגלית לא היו יכולים לצפות מראש. בפולנית יש one / few / many / other. בערבית יש שש צורות. ביפנית יש אחת (אין הבחנה ברבים). כלי תרגום ששומר רק יחיד ורבים יפיק פלט שגוי עבור שפות אלו.
קודדו צורות רבים כשורות נפרדות עם מוסכמת סיומת:
key,source_text,context
cart.items.zero,Your cart is empty,Zero state
cart.items.one,"You have {count} item in your cart.",Singular: count = 1
cart.items.other,"You have {count} items in your cart.",Plural: count > 1
PTC קורא את הסיומות .zero, .one, .few, .many, ו־.other (קטגוריות הרבים של CLDR) ומפיק את קטגוריות הרבים הנכונות לכל שפת יעד.
אל תשלבו צורות רבים בתוך מחרוזת אחת עם לוכסנים או סוגריים, כמו "You have {count} item(s) in your cart.". גישה זו אינה ניתנת לתרגום ושוברת את הדקדוק ברוב השפות.
השתמשו בתווי מילוט (Escape) כדי שמנתח ה־CSV לא ישבור שורות
כללי מילוט ב־CSV (RFC 4180):
- פסיקים בתוך שדה: עטפו את השדה במירכאות כפולות, אחרת המנתח יפצל את המחרוזת שלכם בין תאים.
key,source_text
intro,"Welcome to our store, where every product matters"
- מירכאות כפולות כחלק מהטקסט: בצעו מילוט על ידי הכפלתן.
key,source_text
quote,"He said ""hello"" and waved"
- ירידות שורה בתוך שדה: תקין אם השדה עטוף במירכאות.
key,source_text
address,"123 Main Street
Springfield, IL 62701"
- מירכאות מעוגלות: השתמשו תמיד במירכאות ישרות (
") במקום במירכאות מעוגלות (“”). מנתחי CSV אינם מזהים מירכאות מעוגלות ויציגו שגיאות פורמט. - רווחים בסוף מחרוזת: הסירו אותם מכל התאים לפני השליחה. הם בלתי נראים ברוב עורכי הגיליונות האלקטרוניים אך גורמים לכשלים בהתאמת מחרוזות באפליקציה שלכם.
עבור HTML או סימון (markup) בתוך תא, עטפו את השדה במירכאות ותנו ל־PTC לתרגם רק את הטקסט:
key,source_text
disclaimer,"<p>By signing up, you agree to our <a href=""/terms"">terms</a>.</p>"
PTC מנתח את ה־HTML, מתרגם רק את הטקסט הקריא לבני אדם, ושומר על כל תגית, מאפיין וכתובת URL.
שמרו בפורמט UTF-8 כדי למנוע שיבוש תווים מיוחדים
קידוד הוא הגורם הנפוץ ביותר לבעיות בתרגום CSV. ללא UTF-8, תווים שאינם באלפבית הלטיני הבסיסי עלולים להופיע כ־???, ריבועים ריקים או טקסט משובש באפליקציה שלכם.
- שמרו את קובץ ה־CSV שלכם כ־UTF-8 (עם או בלי BOM). רוב הכלים המודרניים עושים זאת כברירת מחדל. Excel ב־Windows לא עשה זאת בעבר.
- אל תשתמשו בקידוד Windows-1252, ISO-8859-1, או ”ANSI“. תווים מיוחדים בשפות היעד ישובשו.
- אם אינכם בטוחים, פתחו את ה־CSV בעורך טקסט כמו VS Code או Notepad++ ובדקו את חיווי הקידוד. שמרו מחדש כ־UTF-8 במידת הצורך.
הנחיות ספציפיות ל־Excel:
- Excel ל־Mac משתמש ב־UTF-8 כברירת מחדל. אין צורך בפעולה נוספת.
- Excel ל־Windows: בחרו ב־File > Save As ובחרו ב־CSV UTF-8 (Comma delimited) (*.csv) מתפריט הפורמטים. לא ב־”CSV (Comma delimited)“ הרגיל.
- Google Sheets: File > Download > Comma-separated values (.csv). UTF-8 כברירת מחדל.
עבור קובצי CSV מקוריים שכבר נמצאים בקידוד שגוי, המירו אותם באמצעות iconv:
iconv -f WINDOWS-1252 -t UTF-8 source.csv > source-utf8.csv
דוגמה מעשית: קובץ CSV מלא של חנות מקוונת ש־PTC מתרגם ללא הכנה נוספת
קובץ CSV מלא ומוכן היטב עבור אתר מסחר אלקטרוני:
key,source_text,context
header.welcome,"Welcome to {{shopName}}",Top of page
header.cart.zero,"Your cart is empty",Cart icon - zero state
header.cart.one,"{count} item in cart",Cart icon - singular
header.cart.other,"{count} items in cart",Cart icon - plural
product.add_to_cart,"Add to Cart",Product page CTA
product.out_of_stock,"Out of Stock",Product availability badge
product.price,"{currency}{amount}",Price display
checkout.shipping,"Shipping address",Checkout step heading
checkout.payment,"Payment method",Checkout step heading
checkout.confirm,"Place Order",Final checkout button
errors.email.required,"Email is required",Form validation
errors.email.invalid,"Please enter a valid email address",Form validation
errors.card.declined,"Your card was declined. Please try a different payment method.",Checkout error
promo.tagline,"Sale ends Sunday, grab your deal!",Promo banner - contains comma
tooltip.save,"Click ""Save"" to keep your changes.",Tooltip - contains quotes
disclaimer,"<p>By placing this order, you agree to our <a href=""/terms"">terms and conditions</a>.</p>",Footer legal
קובץ זה:
- כולל עמודות
key, source_text, ו־contextברורות. - משתמש במפתחות היררכיים עם נקודות.
- מטפל במצייני מיקום (
{{shopName}}, {count}, {currency}, {amount}). - מטפל בצורות רבים עם סיומות
.zero/.one/.other. - מבצע מילוט ל־HTML ולמירכאות בצורה נכונה.
- שמור כ־UTF-8.
PTC מתרגם את הקובץ הזה ישירות. אין צורך בהכנה מעבר למה שמוצג.
רשימת שיטות עבודה מומלצות לתרגום CSV
- השתמשו בכלי תרגום ייעודי. הימנעו מתרגום קובצי CSV באופן ידני בעורך טקסט או בגיליון אלקטרוני. כלים ייעודיים כמו PTC שומרים על מבנה הקובץ שלכם, מטפלים נכון במצייני מיקום ושומרים על המפתחות שלכם ללא שינוי.
- השתמשו בפסיקים סטנדרטיים כמפריד. כלים מסוימים משתמשים בנקודה פסיק כברירת מחדל. פסיקים הם המפריד הנתמך ביותר והסיכוי שיגרמו לשגיאות ייבוא הוא הנמוך ביותר.
- שמרו על מחרוזת אחת בכל שורה. שילוב של מספר מחרוזות בשורה אחת הופך את התרגומים לבלתי ניתנים לניהול ושובר את רוב כלי התרגום.
- בודדו עמודות המיועדות לתרגום. שמרו על עמודות שזקוקות לתרגום בנפרד מעמודות שצריכות להישאר ללא שינוי (מזהים מספריים, מק"טים, פרמטרים טכניים). זה מפחית את הסיכון שכלי או מתרגם ישנו בטעות נתונים שצריכים להישאר כפי שהם.
- הימנעו מתאים ממוזגים ומעיצוב גיליון אלקטרוני. CSV הוא טקסט פשוט. כל עיצוב שמוחל דרך תוכנת גיליון אלקטרוני מוסר כאשר הקובץ מעובד.
- הסירו עמודות ומטא־נתונים מיותרים. כללו רק עמודות שכלי התרגום שלכם זקוק להן.
- בדקו תחילה עם דגימה קטנה. לפני הרצת קובץ גדול בתרגום, בדקו דגימה קטנה כדי לתפוס בעיות מבניות או בעיות קידוד בשלב מוקדם.
- אמתו את הקובץ לפני ההעלאה. ודאו שלכל שורה יש מפתח ייחודי ללא כפילויות, שאין מפתחות המכילים רווחים או תווים מיוחדים, ושאין שורות שבורות.
- שמרו גיבוי. שמרו תמיד עותק של קובץ ה־CSV המקורי לפני שליחתו לתרגום.
סקירת תרגום חזותית של הקטלוג או האפליקציה המרונדרים
ברגע ש־PTC מתרגם את ה־CSV, המחרוזות מרונדרות בכל מה שצורך את ה־CSV. זה כולל את חזית החנות שלכם, האפליקציה ולוח הבקרה. כותרת מוצר מתורגמת שמתאימה לקובץ עלולה לחרוג מפריסת הכרטיס באתר. כפתור תשלום בצרפתית עלול להשתמש במילה הלא נכונה עבור ”Place Order“. כתובת גרמנית ארוכה עלולה לשבור עמודה ברוחב קבוע בחשבונית מודפסת.
ה־AI Visual QA של PTC תופס את הבעיות הללו. עבור חזיתות חנות ולוחות בקרה (מבוססי דפדפן), התקינו את תוסף הדפדפן של PTC והקליטו מעבר מוקלט של החנות שלכם. PTC מריץ אותו מחדש בכל שפת יעד ומתקן בעיות פריסה והקשר בתוך ה־CSV באופן אוטומטי. עבור אפליקציות נייטיב שצורכות את ה־CSV, העלו צילומי מסך של המסכים הרלוונטיים במקום זאת.
תרגום הודעות על השקת מוצרים ואימיילים לספקים
הודעות על השקת מוצרים ואימיילים ללקוחות לגבי עדכוני קטלוג נמצאים מחוץ ל־CSV. הפיצ'ר Paste to Translate של PTC מטפל בטקסטים האלו באותו פרויקט, תוך שימוש באותו מילון מונחים ובאותו טון מותג כמו תרגומי הקטלוג שלכם.
תרגום ייבוא המוני של נתונים בזמן אמת עם ה־API של PTC
ייבוא קטלוגים המוני שזקוק לתרגום עם הגעתו יכול לזרום דרך ה־PTC REST API עם אימות Bearer-token, תוך שימוש באותו מילון מונחים ובאותו טון מותג כמו תרגומי ה־CSV שלכם.
עכשיו תרגמו את קובץ ה־CSV שלכם עם PTC
ברגע שקובץ ה־CSV שלכם מוכן, תרגמו אותו ב־3 שלבים:
- העלו את קובץ ה־CSV שלכם ובחרו שפות יעד.
- PTC מתרגם תוך שמירה על כל עמודה, מפתח ומציין מיקום.
- הורידו את קובצי ה־CSV המתורגמים וייבאו אותם למקום המיועד להם.
התחילו את תקופת הניסיון של 30 יום בחינם – 20,000 מילים ל־2 שפות, ללא כרטיס אשראי.