ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
חתוללא בפורום כעת ת.הצטרפות: 03/11/2007 · הודעות: 1034 ·
 

הודעה פורסם: 06/10/2010 - 15:58
נושא ההודעה: באג בפייתון שמשפיע על דוברי העברית

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

הודעה פורסם: 06/10/2010 - 17:04
נושא ההודעה:

קוד:

FireStats error : FireStats: Unknown commit strategy   


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

קוד:

"hello %s" % ""
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
חתוללא בפורום כעת ת.הצטרפות: 03/11/2007 · הודעות: 1034 ·
 

הודעה פורסם: 06/10/2010 - 17:28
נושא ההודעה:

זה לא קשור לעניין. מדובר על תקלה באחד התוספים שלי, בינתיים נטרלתי אותו כדי להעלים את הודעת השגיאה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 06/10/2010 - 22:07
נושא ההודעה:

לא הצלחתי להבין מדוע זו בעיה או באג. גם בדיווח שם כתוב הפתרון הפשוט, להשתמש ב-mapping בתרגום ל-plural, ואז אין שום שגיאה.

הנה דוגמא:
קוד:
#!/usr/bin/env python
from gettext import translation
import sys

t = translation('test', 'locale', fallback=True)
num = int(sys.argv[1])
msg = t.ngettext('%(hours)d hour.', '%(hours)d hours.', num)

print msg % {'hours':num}


הנה קובץ ה-po ששימש אותי לבדיקה:
קוד:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-10-06 21:55+0200\n"
"PO-Revision-Date: 2010-10-06 21:57+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: test.py:6
#, python-format
msgid "%(hours)d hour."
msgid_plural "%(hours)d hours."
msgstr[0] "שעה אחת"
msgstr[1] "%(hours)d שעות"


והנה ההרצה:
קוד:
$ LANG='he_IL' python test.py 1
שעה אחת
$ LANG='he_IL' python test.py 120
120 שעות
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
חתוללא בפורום כעת ת.הצטרפות: 03/11/2007 · הודעות: 1034 ·
 

הודעה פורסם: 06/10/2010 - 22:21
נושא ההודעה:

כי זה דורש שינויים נרחבים בקוד לטובת כמה שפות בודדות. המפתחים לא ישתמשו בזה מראש ולא בטוח שיסכימו לשנות אח״כ את הקוד שלהם לטובת כמה נודניקים מישראל.
גם אם יסכימו זה אומר לפתוח באג על כל תכנה שרוצים לתרגם, וזה עבודה נוספת על המתרגמים.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10514 · מיקום: כדור הארץ
 

הודעה פורסם: 06/10/2010 - 22:32
נושא ההודעה:

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

זה שמפתחי gpodder לא עבדו נכון, לא אומר שצריך לעקם בשבילם, שיעשו פעם אחת את העבודה כראוי.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
חתוללא בפורום כעת ת.הצטרפות: 03/11/2007 · הודעות: 1034 ·
 

הודעה פורסם: 07/10/2010 - 12:07
נושא ההודעה:

מאיר, תודה על הפירוט הבעיה היא שלא כל מפתח יסכים לעשות את השינויים בשביל כמה שפות נידחות.
דווקא המפתח של gPodder מסכים לתקן את התכנה אבל הוא צריך הכוונה, אשמח אם תוכל לכתוב את התיקונים גם בבאג.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ik_5לא בפורום כעת ת.הצטרפות: 16/04/2002 · הודעות: 3027 · מיקום: ישראל
 

הודעה פורסם: 07/10/2010 - 15:20
נושא ההודעה:

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

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

הודעה פורסם: 10/10/2010 - 16:41
נושא ההודעה:

מאיר, משום מה ההצעה שלך לא עובדת אצלי.
החלפתי ב־gpodder את השורה הבעייתית
קוד:
title = N_('Delete %d episode?', 'Delete %d episodes?', count) % count
בשורה
קוד:
 t = translation('test', 'locale', fallback=True)
t.ngettext('Delete %d episode?', 'Delete %d episodes?', count) % count

התכנה רצה בלי בעיות אבל המחרוזת המתורגמת לא מוצגת אלא המחרוזת האנגלית המקורית.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ארתיום ת.הצטרפות: 15/07/2005 · הודעות: 4433 ·
 

הודעה פורסם: 10/10/2010 - 17:08
נושא ההודעה:

חתול,

בתורה מי שכותב קוד מוכן לתרגום, אתה אמור לכתוב:

קוד:
title = N_('Delete %(episode)d episode?', 'Delete %(eposode)d episodes?', count) % { 'episode' : count }


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

_________________
קזית 3 - קנופיקס עברי.
BiDiTeX - תמיכה בכיווניות ל-LaTeX.
CppCMS - פיתוח ל־web ב־++C.

גם לי יש בלוג Neutral
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
חתוללא בפורום כעת ת.הצטרפות: 03/11/2007 · הודעות: 1034 ·
 

הודעה פורסם: 10/10/2010 - 18:06
נושא ההודעה:

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

הודעה פורסם: 11/10/2010 - 14:27
נושא ההודעה:

חתול,

אני חושב שאתה מתמקד בהבדל שבין t.ngettext לבין _N, אבל זה לא הדבר החשוב במה שארתיום כתב, אלא העברת הערך לפירמוט דרך dictionary והתייחסות אליו במחרוזות לפי שם.

להבהרה: מה שיגרום לדברים לעבוד הוא ההבדל בין

קוד:

title = N_('Delete %d episode?', 'Delete %d episodes?', count) % count


לבין
קוד:

title = N_('Delete %(episode)d episode?', 'Delete %(eposode)d episodes?', count) % { 'episode' : count }
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. חתול
  2. אורח
  3. חתול
  4. mksoft
  5. חתול
  6. mksoft
  7. חתול
  8. ik_5
  9. חתול
  10. ארתיום
  11. חתול
  12. אורח