כיצד להכין קובץ 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 תעזור לכם לארגן מחרוזות לפי פיצ'ר או אזור.
עמודות שפה. אם תהליך העבודה שלכם שומר את המקור והיעד באותו קובץ, הוסיפו עמודה לכל שפת יעד והשתמשו בקודי BCP-47 ככותרת. השתמשו ב־es_ES עבור ספרדית (ספרד), fr_FR עבור צרפתית (צרפת), pt_BR עבור פורטוגזית (ברזיל).
השתמשו במפתחות עם נקודות להיררכיה. cart.items.one ו־cart.items.other מתקבצים באופן טבעי. הימנעו משימוש ברווחים במפתחות.
הפרידו עמודות מזהים. אם קובץ ה-CSV הוא קטלוג מוצרים, העמודות sku, handle, price ו־image_url צריכות להיות מזוהות בבירור כלא מיועדות לתרגום לפי שמן בלבד. אל תטמינו אותן בתוך עמודת metadata כללית.
קובץ CSV אחד לכל היקף לוגי. אל תערבבו מחרוזות של ממשק ניהול עם טקסט שיווקי באותו קובץ. להיקפים שונים יש טונים שונים. טון המותג של 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 קורא את הסיומות _one, _other, _zero, _few, _many (בהתאם למוסכמת i18next) ומפיק את קטגוריות הרבים הנכונות לכל שפת יעד.
אל תשלבו צורות רבים למחרוזת אחת עם לוכסנים או סוגריים, כמו "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 שומרים על מבנה הקובץ, מטפלים נכון במצייני מיקום ושומרים על המפתחות שלכם ללא שינוי.
- השתמשו בפסיקים סטנדרטיים כמפריד. כלים מסוימים משתמשים בנקודה פסיק כברירת מחדל. פסיקים הם המפריד הנתמך ביותר והסיכוי לשגיאות ייבוא איתם הוא הנמוך ביותר.
- שמרו על מחרוזת אחת בכל שורה. שילוב של מספר מחרוזות בשורה אחת הופך את התרגומים לבלתי ניתנים לניהול ושובר את רוב כלי התרגום.
- בודדו עמודות המיועדות לתרגום. הפרידו עמודות שזקוקות לתרגום מעמודות שצריכות להישאר ללא שינוי (מזהים מספריים, SKU, פרמטרים טכניים). זה מפחית את הסיכון שכלי או מתרגם ישנו בטעות נתונים שצריכים להישאר כפי שהם.
- הימנעו מתאים ממוזגים ומעיצוב גיליון אלקטרוני. CSV הוא טקסט פשוט. כל עיצוב שהוחל דרך תוכנת גיליונות אלקטרוניים יוסר כשהקובץ יעובד.
- הסירו עמודות ומטא-נתונים מיותרים. כללו רק עמודות שכלי התרגום שלכם זקוק להן.
- בדקו תחילה עם דגימה קטנה. לפני הרצת קובץ גדול בתרגום, בדקו דגימה קטנה כדי לתפוס בעיות מבניות או בעיות קידוד בשלב מוקדם.
- אמתו את הקובץ לפני ההעלאה. ודאו שלכל שורה יש מפתח ייחודי ללא כפילויות, שהמפתחות אינם מכילים רווחים או תווים מיוחדים, ושאין שורות שבורות.
- שמרו גיבוי. שמרו תמיד עותק של קובץ ה־CSV המקורי לפני שליחתו לתרגום.
סקירת תרגום ויזואלית של הקטלוג או האפליקציה המרונדרים
ברגע ש־PTC מתרגם את ה־CSV, המחרוזות מרונדרות בכל יישום הצורך את ה־CSV: החנות שלכם, האפליקציה או לוח הבקרה. כותרת מוצר מתורגמת שנראית טוב בקובץ עלולה לחרוג מפריסת הכרטיס באתר. כפתור תשלום בצרפתית עלול להשתמש במילה הלא נכונה עבור "Place Order". כתובת ארוכה בגרמנית עלולה לשבור עמודה ברוחב קבוע בחשבונית מודפסת.
ה־AI Visual QA של PTC תופס את הבעיות האלו. עבור חנויות ולוחות בקרה (מבוססי דפדפן), התקינו את תוסף הדפדפן של PTC והקליטו מעבר מוקלט בחנות שלכם. PTC יריץ אותו מחדש בכל שפת יעד ויתקן בעיות פריסה והקשר ב־CSV באופן אוטומטי. עבור אפליקציות נייטיב שצורכות את ה־CSV, העלו צילומי מסך של המסכים הרלוונטיים במקום זאת.
תרגום הודעות על השקת מוצרים ומיילים לספקים
הודעות על השקת מוצרים ומיילים ללקוחות לגבי עדכוני קטלוג נמצאים מחוץ ל־CSV. תכונת Paste to Translate של PTC מטפלת בטקסטים האלו באותו פרויקט, תוך שימוש באותו מילון מונחים ובאותו טון מותג כמו תרגומי הקטלוג שלכם.
תרגום ייבוא המוני של נתונים בזמן אמת עם ה־API של PTC
ייבוא המוני של קטלוגים שזקוק לתרגום עם הגעתו יכול לעבור דרך ה־REST API של PTC עם אימות Bearer-token, תוך שימוש באותו מילון מונחים ובאותו טון מותג כמו תרגומי ה־CSV שלכם.
עכשיו תרגמו את קובץ ה־CSV שלכם עם PTC
ברגע שקובץ ה־CSV שלכם מוכן, תרגמו אותו ב־3 שלבים:
- העלו את קובץ ה־CSV שלכם ובחרו שפות יעד.
- PTC מתרגם תוך שמירה על כל עמודה, מפתח ומציין מיקום.
- הורידו את קובצי ה־CSV המתורגמים וייבאו אותם למקומם.
התחילו תקופת ניסיון של 30 יום – 20,000 מילים ל־2 שפות, ללא כרטיס אשראי.