Xtreamer, עברית, LTR, RTL - הבהרות

מחשבים, חומרה, KODI, NUC, Raspberry pi
EZ פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 10
הצטרף: מאי 2010
נתן תודות: 1 פעם
קיבל תודות: 6 פעמים

שליחה #1 

שלום לכולם,

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

בכל אופן, קראתי על בעיה שקיימת ב-Xtreamer בהצגת תרגום עברי - כאשר יש סימני פיסוק בסוף משפט הם מופיעים בתחילת המשפט (מימין) במקום בסופו. כדי להתגבר על הבעיה צריך לבחור מצב LTR (קרי Left to Right), למרות שעברית היא שפת RTL (כלומר Right to Left).

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

להדגמה פשוטה של הבעיה צריך לפתוח Notepad (פנקס רשימות), ולהקליד בו מילה בעברית ובסופה נקודה (למשל: שלום.). כאשר מעבירים את ה-Notepad למצב עברי מלא בלחיצה על Ctrl + Right Shift, אז התצוגה נכונה (הנקודה מופיעה בסוף המילה). כאשר עוברים למצב אנגלי בלחיצה על Ctrl + Left Shift, אז הנקודה מופיעה לכאורה בתחילת המילה במקום בסופה.

מה קורה כאן?

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

לדוגמה, ניקח את המשפט שלח לי email מחר ב-10:00...

סדר ההקלדה של התוים במשפט (וסדר אחסונם בזכרון המחשב), שונה מאד מסדר ההצגה שלהם. האות e ממוקמת מבחינת הסדר הלוגי לפני האות m, אבל בהצגה מימין לשמאל האותיות של המילה "email" מוצגות בסדר ויזואלי הפוך מהסדר הלוגי שלהן. כך גם "10:00".

כדאי להעתיק את המשפט הנ"ל ל-Notepad ולהעביר את התצוגה בין מצבי עברית ואנגלית, ולראות מה קורה - מסתבר שלא רק ה-Xtreamer מתקשה בסידור נכון של האותיות, אלא גם Windows. אבל אנחנו יודעים ש-Windows מסוגל להציג עברית נכונה, אז מה קורה פה?

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

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

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

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

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

רוב נגני המדיה, הן כתוכנות במחשב רגיל והן כחלק ממכשירים עצמאיים (מזרימי מדיה), מציגים את כל הכתוביות בכיווניות בסיסית של שמאל לימין (במצב דומה ל-Notepad לאחר לחיצה על Ctrl + Left Shift). למרות שהנגנים "תומכים בעברית", כלומר קוראים לאלגוריתם ה-BiDi כדי לסדר את הטקסטים לתצוגה, הם מודיעים לאלגוריתם שהכיווניות הבסיסית (ברירת המחדל לתוים חסרי כיווניות ברורה), היא משמאל לימין.

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

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

עכשיו אפשר להבין את משמעות הגדרת LTR/RTL שיש ב-Xtreamer - הגדרה זו קובעת את הכיווניות הבסיסית, כיווניות ברירת המחדל, עבור אלגוריתם ה-BiDi:

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

* במצב RTL - קבצי תרגום שבהם הטקסטים תקינים יוצגו נכון, אבל קבצי תרגום שעברו "תיקון" - יוצגו בצורה לא נכונה.

ה-Xtreamer צריך לקבל הנחיה מהמשתמש האם קובץ תרגום מסויים ערוך בצורה תקינה או שהקובץ עבר "תיקון" כדי שיוצג נכון כאשר הכיווניות משמאל-לימין. לפי הבנתי, רבים מגדירים ל-Xtreamer כתוביות במצב RTL, כלומר תמיכה בעברית נכונה, אלא שבפועל רוב קבצי התרגום עברו תיקון/שיבוש, ואז צריך להגדיר ל-Xtreamer מצב LTR.

אם כך, דווקא ה-Xtreamer מספק את הפתרון המלא והמקיף ביותר לתמיכה בעברית - הן בטקסטים שבהם סדר התוים (הלוגי) תקין, והן בטקסטים שעברו "תיקון" (שהוא בעצם שיבוש של הסדר הנכון) כדי להתגבר על תמיכה לקויה בעברית. מזרימי המדיה האחרים (שוב, לפי מה שקראתי באתר זה) קבועים במצב LTR, ולכן נדמה שהם תומכים טוב יותר בעברית - למרות שבפועל הם תומכים בעברית דווקא פחות טוב (אין אפשרות לעבור למצב של תמיכה מלאה, כלומר RTL).

המשמעות המעשית היא כזו:

* למי שלא רוצה "להתעסק" עם כל העניין - יגדיר ל-Xtreamer מצב LTR, וזהו. בנגנים אחרים זה מצב קשיח כך שאין מה להגדיר. כל עוד רוב קבצי התרגום עוברים תיקון/שיבוש כדי להתאים למצב זה - הכל בסדר.

* מי שרוצה "לעבוד נכון" - יגדיר ל-Xtreamer מצב RTL, ויעביר את קבצי התרגום דרך תוכנה שהופכת את סימני הפיסוק בתחילת/סוף משפט. כלומר קבצי התרגום יחזרו למצב לוגי תקין. כאשר בעתיד יופיעו יותר קבצי תרגום שערוכים בסדר לוגי תקין, מצב זה יהפוך למצב הנפוץ.

קישורים

Subtitle Workshop - תוכנה מצויינת לעריכת תרגומים, כולל סנכרון חי של הסרט, תרגום מול קובץ טקסט מקור, המרות בין סוגי קבצי תרגום ועוד. מערכת מורכבת שדורשת מיומנות. בין היתר יש פונקציה של תיקון פיסוק בתחילת/סוף משפט. להורדה: http://www.urusoft.net/download.php?lang=1&id=sw

Subabi - תוכנה ישראלית שמבצעת תיקונים והמרות של קבצי תרגום, כולל העברת סימני פיסוק בין תחילת וסוף המשפט. התוכנה פשוטה לתפעול. לפרטים והורדה: http://www.planetnana.co.il/subspro/subabi.htm


אני מקוה שההסבר ברור, מעניין, ויחסוך ויכוחים מיותרים...

בברכה,

איל צבי.

(תודה למעירים - אני מתקן ומוסיף ע"פ הערותיכם)
נערך לאחרונה על ידי EZ ב 20/05/2010 11:36, נערך 3 פעמים בסך הכל.

uriler
סמל אישי של משתמש
חבר במועדון 10K
חבר במועדון 10K
תגובות: 10118
הצטרף: פברואר 2005
שם מלא: אורי לרנר
מיקום: חולון
נתן תודות: 190 פעמים
קיבל תודות: 512 פעמים
יצירת קשר:

שליחה #2 

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

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

ברוך הבא!

Irus
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 4163
הצטרף: ספטמבר 2009
מיקום: רמת השרון
נתן תודות: 127 פעמים
קיבל תודות: 159 פעמים

שליחה #3 

פששש...כל הכבוד על ההשקעה ועל ההסבר (Y)

erasure94
חבר שרק התחיל
חבר שרק התחיל
תגובות: 18
הצטרף: דצמבר 2007
נתן תודות: 0
קיבל תודות: 0

שליחה #4 

ממממ... העשרת גם אותי, תודה רבה....... :mrgreen:

yrnkrn
סמל אישי של משתמש
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 123
הצטרף: אוגוסט 2006
נתן תודות: 5 פעמים
קיבל תודות: 2 פעמים

שליחה #5 

הסבר מעולה ומקיף, תודה.

shayf
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1162
הצטרף: יוני 2005
נתן תודות: 6 פעמים
קיבל תודות: 80 פעמים

שליחה #6 

תודה רבה - אכן הסבר ממצה שעושה קצת סדר בתפיסה של הבעיות בהצגת העברית.
רק הערה אחת: לאקסטרימר אין ברירת מחדל כזו או אחרת לכתוביות בעברית.
בעת קביעת הגדרות שפת הכתוביות ניתן לבחור בין עברית RTL או עברית LTR.
I am not young enough to know everything
Oscar Wilde

HaJ-B
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 357
הצטרף: ספטמבר 2008
נתן תודות: 61 פעמים
קיבל תודות: 13 פעמים

שליחה #7 

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

EZ פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 10
הצטרף: מאי 2010
נתן תודות: 1 פעם
קיבל תודות: 6 פעמים

שליחה #8 

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

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

* אם יש לך Xtreamer - נסה להחליף בין מצבי LTR/RTL. אני לא יודע איך לעשות זאת מכיון שאין לי מכשיר כזה, אבל אני בטוח שאחרים ישמחו להנחות אותך.

* אם יש לך נגן אחר (שככל הנראה פועל תמיד במצב LTR) - נסה להפעיל על קובץ התרגום את ה"תיקון", בעזרת אחת התוכנות שהזכרתי בסוף ההסבר.

בברכה,

איל.

HaJ-B
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 357
הצטרף: ספטמבר 2008
נתן תודות: 61 פעמים
קיבל תודות: 13 פעמים

שליחה #9 

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

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

* אם יש לך Xtreamer - נסה להחליף בין מצבי LTR/RTL. אני לא יודע איך לעשות זאת מכיון שאין לי מכשיר כזה, אבל אני בטוח שאחרים ישמחו להנחות אותך.

* אם יש לך נגן אחר (שככל הנראה פועל תמיד במצב LTR) - נסה להפעיל על קובץ התרגום את ה"תיקון", בעזרת אחת התוכנות שהזכרתי בסוף ההסבר.

בברכה,

איל.
...
לא קורא - אלא קורע. באמצעות SubRip.
ואגב - הבעיה לא זהה לבעיית סימני הפיסוק המדוברת...

shayf
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1162
הצטרף: יוני 2005
נתן תודות: 6 פעמים
קיבל תודות: 80 פעמים

שליחה #10 

HaJ-B כתב:לי יש בעיה אחרת כאשר אני קורע תרגום. ספרות ומספרים בתחילת משפט מופיעים תמיד בסוף. ראיתי כמה תרגומים שהצליחו להתגבר על הבעיה, אך אני אישית לא יודע כיצד.
...
הפתרון היחיד שמצאתי לבעייה הזאת הוא ביטול הרווח בין המספר לתחילת הטקס, לדוגמה:
במקום
2 נגני מדיה.
2נגני מדיה.
טיפה מכוער, אבל יותר טוב מלקבל את המספר בסוף.
אגב, אני משתמש לצורך טיפול בכתוביות לאחר קריעה בתוכנה בשם Subrescue שכתבתי לפני כ-8 שנים, כשעוד לא היו בשטח תוכנות אחרות לטיפול בכתוביות.
יש בתוכנה עוד אופציות רבות נוספות, כולל כל שיטות הסנכרון של כתוביות. לי היא עדיין מאוד שימושית.
מי שרוצה יכול הוריד אותה מכאן:
http://www.divx-digest.com/software/subrescue.html
רק שימו לב - היא לא תעבוד בלי Java של מייקרוסופט שאותה אפשר להוריד מכאן:
http://www.filewatcher.com/m/msjavx86.e ... 2.0.0.html
I am not young enough to know everything
Oscar Wilde

boren
חבר מביא חבר
חבר מביא חבר
תגובות: 3834
הצטרף: דצמבר 2009
שם מלא: אורן
נתן תודות: 271 פעמים
קיבל תודות: 496 פעמים

שליחה #11 

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

2‏ נגני מדיה.

אם זה לא עוזר, נסה להוסיף גם תו RLM לפני הספרה 2. כך:

‏2‏ נגני מדיה.

אם תעתיק את שתי השורות שלמעלה במלואן (Home, ואז Shift+End) לתוך התרגום תוכל לראות מה עובד ומה לא.

הדרך הקלה ביותר להקליד תו RLM ללא מיפוי מקלדת מיוחד הוא באמצעות מעבר למקלדת עברית, החזקת Alt והקלדת הספרות 0254 במקלדת האלפהנומרית שבצד ימין.

ziv_r
סמל אישי של משתמש
עורך ראשי HTmag
עורך ראשי HTmag
תגובות: 46452
הצטרף: ינואר 2005
נתן תודות: 1967 פעמים
קיבל תודות: 5088 פעמים

שליחה #12 

הסבר מקיף מאוד (Y)
אומנם ה Xtreamer מאשר לעבור בין LTR ל RTL וזה יופי של גמישות, מצד שני, מעולם לא ראיתי צורך בגמישות זאת. כל המזרימי מדיה הרלוונטים תומכים ב TXT עברי בכתוביות מכיוון שהם עושים בעצמם את התיקון.

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

oferlaor
סמל אישי של משתמש
מנהל
מנהל
תגובות: 78934
הצטרף: נובמבר 2004
שם מלא: עפר לאור
מיקום: מודיעין, ישראל
נתן תודות: 792 פעמים
קיבל תודות: 5400 פעמים

שליחה #13 

מעולה!

sBaB
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 705
הצטרף: מאי 2009
נתן תודות: 106 פעמים
קיבל תודות: 25 פעמים

שליחה #14 

תודה רבה על הסבר המקיף (Y)
עדיין אין פתרון לבעיית החצים המסתוריים כאשר יש מספר בתחילת שורה.

HaJ-B
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 357
הצטרף: ספטמבר 2008
נתן תודות: 61 פעמים
קיבל תודות: 13 פעמים

שליחה #15 

sBaB כתב:תודה רבה על הסבר המקיף (Y)
עדיין אין פתרון לבעיית החצים המסתוריים כאשר יש מספר בתחילת שורה.
...
לדעתי זה ה-RLM ש-boren דיבר עליו, וזה מה שחיפשתי. תודה רבה!

עדכון: ניסיתי, עובד. שוב תודה. :)

EZ פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 10
הצטרף: מאי 2010
נתן תודות: 1 פעם
קיבל תודות: 6 פעמים

שליחה #16 

תשובות והרחבות לכמה מהתגובות:

@HaJ-B

אני לא מכיר את תוכנת SubRip, אבל הצצתי עכשיו באתר של התוכנה והבנתי מה היא עושה (למעוניינים: התוכנה מזהה כתוביות המוטמעות כחלק מהסרט, ורושמת אותן לקובץ טקסט שניתן לצרף לאותו הסרט בפורמט וידאו אחר. למשל לקחת כתוביות מסרט בפורמט DVD רגיל, לאחר מכן לקודד את הסרט לפורמט חסכוני יותר כגון H.264, ולצרף אליו את הכתוביות).

תוכנת SubRip כנראה לא מבדילה בין טקסט LTR ל-RTL. לכן היא רושמת את הטקסט לפי סדר ההצגה (הויזואלי). התוצאה היא טקסט בסדר לוגי שגוי. להבנתי זו בדיוק אותו הבעיה שתארתי, אבל בסדר פעולות הפוך - המרה מסדר ויזואלי לסדר לוגי שאינה מתבצעת תחת הגדרת כיווניות נכונה. כמובן שאני לא יכול להיות בטוח ב-100% שזו התופעה, מכיון שאין באפשרותי (כרגע) לבדוק את הפלט של SubRip.

@boren

(רקע למי שלא מכיר את המונחים: LRM - Left Right Mark, RLM - Right Left Mark. אלה שמטרתם להורות לאלגוריתם ה-BiDi מה הכיווניות של המשך הטקסט).

אכן ניתן להשתמש ב-LRM/RLM כדי לעזור לאלגוריתם ה-BiDi. כעקרון אלגוריתם ה-BiDi צריך להסיר את התוים מהטקסט הסופי שעובר להצגה, ובכל מקרה לתוים אלה לא צריך להיות ביטוי גרפי בפונט (הם אמורים להיות ברוחב אפס).

אני חושד שהחיצים שמדי פעם מוצגים בתרגום של ה-Xtreamer (כפי שתואר בסקירת המכשיר כאן באתר), נובעים מתוי LTR/RTL שהושארו בטקסט ע"י אלגוריתם ה-BiDi וגם יש להם ביטוי גרפי בפונט התרגום של ה-Xtreamer.

@ziv_r

מזרימי המדיה לא מבצעים תיקון - להיפך, מזרימי המדיה "מקלקלים" את תצוגת העברית הנכונה (עובדים במצב LTR), ואז נדרש קילקול נגדי של קבצי התרגום, כדי שהתוצאה תהיה נכונה. ה"תיקון" (קילקול) של קובץ תרגום מתבצע בדרך כלל ע"י מי שיוצר את הקובץ, או ע"י המשתמש בטרם העברתו לנגן.

העובדה שקיימות תוכנות ש"מתקנות" תרגומים מעידה על כך שיש, או לכל הפחות היו, הרבה קבצי תרגום שנדרשה עבורם התאמה לתצוגת LTR.

אני מקוה שגם יתר הנגנים, ותוכנות בכלל, יעברו לתמוך בשפות RTL כמו שצריך. היו/יש לי דיונים ארוכים עם מפתחי תוכנות שונות בקוד פתוח (phpBB, Mantis, Drupal) כדי לגרום להם להבין איך לתמוכך נכון בשפות RTL. זה הולך קשה, אבל לפחות בחלק מהמקרים יש התקדמות יפה מאד.

@sBaB

כפי שציין HaJ-B, יתכן שזה הביטוי הגרפי של תוי LRM/RLM.
בהמשך אחפש דרך להודיע לחבר'ה של ה-Xtreamer על התקלה ופתרונות אפשריים.

בברכה ושוב תודה לכולם על התגובות החיוביות.

איל.


אגב, שימו לב לתופעה מעניינת בהודעה זו:

כאשר צופים בהודעה בדפדפן Internet Explorer, תוי ה"@" תמיד מופיעים מצד ימין של השם. אבל ב-Firefox קורה משהו מוזר - בשני מקרים ה"@" מופיע מימין לשם, ובשני מקרים משמאל לשם. ה-Firefox לא משתמש באלגוריתם ה-BiDi של ה-Windows, אלא יש בו אלגוריתם פנימי. אני חושד שהאלגוריתם הפנימי שלו מנסה לטפל בצורה מיוחדת בתוי "@" בגלל שיש להם שימוש מיוחד (בכתובות email).
נערך לאחרונה על ידי EZ ב 21/05/2010 11:50, נערך פעם 1 בסך הכל.

ziv_r
סמל אישי של משתמש
עורך ראשי HTmag
עורך ראשי HTmag
תגובות: 46452
הצטרף: ינואר 2005
נתן תודות: 1967 פעמים
קיבל תודות: 5088 פעמים

שליחה #17 

EZ,
ה"תיקון" הינו שתילת ה BiDi.
אין אף מזרימדיה כיום למיטב ידיעתי מלבד ה Xtreamer אשר מאפשר מעבר בין RTL ל LTR עבור עברית וזאת מכיוון שהדבר מיותר. משום מה אתה רושם שזה משהו שרצוי לעשות. מצד שאני אני אומר שאין צורך במעבר הזה, כל המזרימי מדיה שותלים BiDi והעברית מוצגת כהלכה.
EZ כתב:ואז נדרש קילקול נגדי של קבצי התרגום, כדי שהתוצאה תהיה נכונה. ה"תיקון" (קילקול) של קובץ תרגום מתבצע בדרך כלל ע"י מי שיוצר את הקובץ, או ע"י המשתמש בטרם העברתו לנגן.
...
אני מציע שתבדוק עם המתרגמים, קבצי התרגום הזמינים ברשת או עם אלו שמשתמשים בתרגום - אף אחד לא מבצע שום "קילקול נגדי" וזאת מכיוון שאין צורך בכך.

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

חלק מאיתנו משתמשים במזרימי מדיה מעל ל 3 שנים, ללא אופציית RTL והתרגום מוצג כהלכה - זאת מכיוון שה-BiDi נשתל במצב עברית אשר תואם את כל התרגומים שיש בחוץ.

HaJ-B
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 357
הצטרף: ספטמבר 2008
נתן תודות: 61 פעמים
קיבל תודות: 13 פעמים

שליחה #18 

EZ כתב:תשובות והרחבות לכמה מהתגובות:

@HaJ-B

אני לא מכיר את תוכנת SubRip, אבל הצצתי עכשיו באתר של התוכנה והבנתי מה היא עושה (למעוניינים: התוכנה מזהה כתוביות המוטמעות כחלק מהסרט, ורושמת אותן לקובץ טקסט שניתן לצרף לאותו הסרט בפורמט וידאו אחר. למשל לקחת כתוביות מסרט בפורמט DVD רגיל, לאחר מכן לקודד את הסרט לפורמט חסכוני יותר כגון H.264, ולצרף אליו את הכתוביות).

תוכנת SubRip כנראה לא מבדילה בין טקסט LTR ל-RTL. לכן היא רושמת את הטקסט לפי סדר ההצגה (הויזואלי). התוצאה היא טקסט בסדר לוגי שגוי. להבנתי זו בדיוק אותו הבעיה שתארתי, אבל בסדר פעולות הפוך - המרה מסדר ויזואלי לסדר לוגי שאינה מתבצעת תחת הגדרת כיווניות נכונה. כמובן שאני לא יכול להיות בטוח ב-100% שזו התופעה, מכיון שאין באפשרותי (כרגע) לבדוק את הפלט של SubRip.
...
אתה צודק. התוכנה באמת אינה מבדילה בין טקסט LTR ל-RTL. לכן לאחר ייצוא הקובץ אני טוען אותו ב-Subtitle Workshop ומתקן אותו באמצעות התוכנה. RTL ו-LTR לא משחקים תפקיד כשזה נוגע למספרים בתחילת שורה.
עובדה - כשתפתח קובץ SRT תקין באמצעות Notepad, בשני המצבים (RTL ו-LTR) תבחין במספרים בסוף השורה במקום בתחילתה.

EZ פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 10
הצטרף: מאי 2010
נתן תודות: 1 פעם
קיבל תודות: 6 פעמים

שליחה #19 

זיו,

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

מזרימי המדיה למיניהם לא "שותלים" ולא מתקנים שום דבר. הם מפעילים אלגוריתם BiDi תחת ברירת מחדל שגויה (LTR). כדי להתגבר על ברירת המחדל השגויה, התפתחה "תרבות" של קבצי תרגום משובשים בכוונה, על מנת שיוצגו נכון בנגני המדיה.

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

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

גם אז, היה אפשר לחיות עם המצב השגוי.

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

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

אגב, וזה אולי הייתי צריך להזכיר בהודעה המקורית, יש טקסטים, כמו הדוגמה שנתתי ("שלח לי email מחר ב-10:00...") שלא ניתן להציג כהלכה כאשר הכיווניות הבסיסית היא LTR! אמנם בדרך כלל בתרגום לסרט אין צורך בשילוב כזה של עברית-אנגלית-מספרים-פיסוק, אבל מדי פעם בהחלט יתכנו משפטים כאלה - נגן שעובד במצב LTR לא יציג אותם נכון.

תוכל להגיד: אז שהמתרגם יוסיף סימני LRM/RLM, ישנה את סדר התוים במשפט וכו'.

המשמעות היא שבכל מקרה של משפט מורכב צריך להשקיע עבודה רבה כדי להתגבר על מצב ה-LTR. נסה להביא את הדוגמה הנ"ל לתצוגה נכון במצב LTR ב-Notepad. זה בדיוק כמו בימי העברית הויזואלית באינטרנט - כל עוד לא היה פתרון נכון, כולם היו צריכים לעבוד קשה יותר. למשתמש הסופי (הגולש / הצופה בתרגום) נראה שאין בעיה והכל עובד בסדר, אבל מאחורי הקלעים בהחלט היתה / יש בעיה, שהקשתה על יוצרי התוכן.

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

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

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

בברכה,

איל.

boren
חבר מביא חבר
חבר מביא חבר
תגובות: 3834
הצטרף: דצמבר 2009
שם מלא: אורן
נתן תודות: 271 פעמים
קיבל תודות: 496 פעמים

שליחה #20 

EZ כתב: כאשר צופים בהודעה בדפדפן Internet Explorer, תוי ה"@" תמיד מופיעים מצד ימין של השם. אבל ב-Firefox קורה משהו מוזר - בשני מקרים ה"@" מופיע מימין לשם, ובשני מקרים משמאל לשם. ה-Firefox לא משתמש באלגוריתם ה-BiDi של ה-Windows, אלא יש בו אלגוריתם פנימי. אני חושד שהאלגוריתם הפנימי שלו מנסה לטפל בצורה מיוחדת בתוי "@" בגלל שיש להם שימוש מיוחד (בכתובות email).
...
זה באג ידוע במנוע הרינדור של פיירפוקס. הוא מופיע כשמתקיימים התנאים הבאים:

1. כיווניות הפסקה היא ימין-לשמאל
2. שורה אחת מסתיימת בתווים בעלי כיווניות שמאל-לימין או בספרות
3. השורה שאחריה מתחילה בתווים בעלי כיווניות שמאל-לימין או בספרות

פרטים כאן: https://bugzilla.mozilla.org/show_bug.cgi?id=229367

גם במקרה הזה הפתרון/workaround הוא להשתמש בתו RLM. אני בד"כ משלב אותו בסוף השורה שמסתיימת בטקסט עם כיווניות שמאל לימין. דוגמה ללא RLM‏:

1. עברית English.
2 English עברית.

טקסט זהה שבו שילבתי תו RLM בסוף השורה הראשונה:

1. עברית English.‏
2 English עברית.

שלח תגובה

חזור אל “חומרה PC + סטרימרים”