בפוסט האחרון שלי על PHP Zmanim, אמרתי שהדבר הבא שאכתוב עליו הוא חישובי אסטרונומיה. אני עדיין מתכנן לעשות זאת, אבל דבר מסוים קרה לאחרונה שתיפוס את תשומת ליבי, ולכן אני מתכוון לדבר על זה במקום. אני עדיין מתכנן להגיע לנושא האסטרונומיה.
ספרדי נגד אשכנזי
לא, לא קטניות. לא, לא איך לתלות את המזוזה שלך. לא, לא האם עליך להשתמש בחלה מים או אם חלת ביצים מקובלת. אני מדבר על הצליל "ט" במילים מסוימות.
שקול:
בראשית | בראשית |
כי תצא | כי תצא |
טבת | טבת |
יש עוד, אבל (אם אתה קורא / מדבר עברית או שהיית חלק מקהילות יהודיות אורתודוקסיות לזמן מה) אתה מבין את הנקודה. שתי המסורות הללו יש להן דרכים שונות להגיית צלילים מסוימים, ולכן, התעתיק לאנגלית משתנה. וכמו כל מסורה אחרת, אלה שמקיימים את האחת או את השנייה יכולים להיות מושגלים לגבי התעקשות על השימוש "הנכון".
PHP Zmanim, בעצמו, "מקודד" באמצעות תעתיק של אשכנזים. אבל זה לא אומר שאי אפשר לשנות זאת ולעשות זאת בצורה פשוטה למדי. בקטעים הבאים, אני אראה לך כיצד לקחת את התעתיקים הקיימים לתאריכים, לחגים ולכותלי תורה ולהמיר אותם כך שיפורסמו בכל אופן שאתה רוצה.
שלב 1: צור את המפה
לשמות החודשים, כותרות פרשת השבוע, חגים, ועוד, יש ל- PHP Zmanim מפת ערכים. בואו נתחיל עם הקליעה – חודשים.
זהו סתם מערך פשוט של ערכים:
transliteratedMonths = ["Nissan", "Iyar", "Sivan", "Tammuz", "Av", "Elul", "Tishrei", "Cheshvan","Kislev", "Teves", "Shevat", "Adar", "Adar II", "Adar I"];
כדי ל"תקן" זאת ולהשתמש בטרנסליטרציה שתרצו (במקרה זה, כנראה שרק "טבת" צריך להשתנות), תצטרכו ליצור מחדש את המערך:
$transliteratedMonths = ["Nissan", "Iyar", "Sivan", "Tammuz", "Av", "Elul", "Tishrei", "Cheshvan","Kislev", "Tevet", "Shevat", "Adar", "Adar II", "Adar I"];
שלב 2: הגדרת לוח השנה שלך
לחגים, תשתמשו באובייקט jewishCalendar
(שכיסינו ב- הפוסט הקודם בבלוג).
תחילה, נגדיר את השנה, החודש והיום וניצור אובייקט לוח שנה יהודי:
$year = 2025;
$month = 1;
$day = 10;
$jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));
כלול הכול יחד
בשלב הבא, נאתחל את התבנית של PHP Zmanim ולאחר מכן נדחוף את החודשים הטרנסליטרציה החדשים לתוך PHP Zmanim:
$format = Zmanim::format();
$format->setTransliteratedMonthList($transliteratedMonths);
לבסוף, נקבל את הפלט הזה בתבנית למשתנה:
$zmandate = json_decode('"' . $format->format($jewishCalendar) . '"');
return $zmandate;
התוצאה תהיה:
10 Tevet 5785
וכן, אם אתה תוהה, בשנת 2025, מספרי הימים (1, 2, 3, וכו') לחודש טבת ולחודש ינואר תואמים.
חג שמח!
טרנסליטרציות לחגים מטופלות באופן דומה, גם אם ישנן מספר הבדלים קטנים.
נתחיל עם הגדרה ראשית זהה של התאריך ואובייקט הלוח:
$year = 2025;
$month = 1;
$day = 10;
$jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));
לבא, נגדיר את טרנסליטרציות החגים באותו אופן שעשינו עבור החודשים:
$transliteratedHolidays = ["Erev Pesach", "Pesach", "Chol Hamoed Pesach", "Pesach Sheni", "Erev Shavuot", "Shavuot", "Shiva Asar B'Tammuz", "Tisha B'Av", "Tu B'Av", "Erev Rosh Hashana", "Rosh Hashana", "Tzom Gedalyah", "Erev Yom Kippur", "Yom Kippur", "Erev Succot", "Succot", "Chol Hamoed Succot", "Hoshana Rabba", "Shemini Atzeret", "Simchat Torah", "Erev Chanukah", "Chanukah", "Tenth of Tevet", "Tu Bishvat", "Taanit Esther", "Purim", "Shushan Purim", "Purim Katan", "Rosh Chodesh", "Yom HaShoah", "Yom Hazikaron", "Yom Ha'atzmaut", "Yom Yerushalayim", "Lag B'Omer","Shushan Purim Katan", "Isru Chag"];
לבסוף, נאתחל את התבנית של PHP Zmanim ולאחר מכן נדחוף את החודשים הטרנסליטרציה החדשים לתוך PHP Zmanim:
$format = Zmanim::format();
$format-$format->setTransliteratedHolidayList($transliteratedHolidays);
לבסוף, אנו משתמשים במידע של לוח השנה ו (אם זה חג) מקבלים את הפלט:
$zmanholiday = $format->formatYomTov($jewishCalendar);
הדפסת $zmanholiday
תיראה כמו זה:
Tenth of Tevet
הערה: לאלה שאינם מוכרים, "עשרה בטבת" הוא יום צום, ויש לו סט מיוחד של מצוות.
מה יש בשם?
הדוגמה האחרונה שלנו מתמודדת עם השילוב של שמות פרשת התורה – בין אם מתמצאים את הפרשה הראשונה בתורה "בראשית" או "בראשית". לכך, PHP Zmanim משתמש במערך של זוגות מפתח-ערך, שבו כל מה שצריך לעשות הוא לשנות את הערך, ולהשאיר את המפתח לבד. הנה כיצד זה נראה לא שונה:
$this->transliteratedParshaMap = [
Parsha::NONE => "",
Parsha::BERESHIS => "Bereshis",
Parsha::NOACH => "Noach",
Parsha::LECH_LECHA => "Lech Lecha",
Parsha::VAYERA => "Vayera",
Parsha::CHAYEI_SARA => "Chayei Sara",
Parsha::TOLDOS => "Toldos",
(and so on. I'm not printing the full list here)
וכאן השינויים שאני עושה לבית הכנסת שלי (ספרדי):
$transliteratedParshaMap = [
Parsha::NONE => "",
Parsha::BERESHIS => "Beresheet",
Parsha::NOACH => "Noach",
Parsha::LECH_LECHA => "Lech Lecha",
Parsha::VAYERA => "Vayera",
Parsha::CHAYEI_SARA => "Chayei Sara",
Parsha::TOLDOS => "Toldot",
(etc)
שימוש בזה בקוד שלך עוקב אחר אותו דפוס שהקמנו עם תאריכים וחגים.
לפני שאנו מתחילים לקודד, חשוב לשים לב שעליך לוודא שמחלקת "פרשה" משמשת בקוד שלך:
use PhpZmanim\HebrewCalendar\Parsha;
גם חשוב לך לדעת ש- PHP Zmanim תציג רק פרשת תורה אם התאריך הנתון הוא יום שבת, ולכן עשוי להיות עליך לקחת כל תאריך נתון ולמצוא את השבת הקרובה (או הקודמת) כדי לקבל את התוצאה הנכונה.
כאשר הפריטים הללו מטופלים, אתה מתחיל על ידי הקמת אובייקט של לוח השנה כמו בדוגמאות האחרות שלנו:
$getyear = 2024;
$getday = 26;
$getmonth = 10;
$jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));
צור את משתנה ההתעתקות החדש (שים לב שזה רק חלקית מוצג. תוכל למצוא את מערך הערכים המלא ב־שורה 169 במאגר ה־PHP Zmanim ב־GitHub)
$transliteratedParshaMap = [
Parsha::NONE => "",
Parsha::BERESHIS => "Beresheet",
Parsha::NOACH => "Noach",
Parsha::LECH_LECHA => "Lech Lecha",
Parsha::VAYERA => "Vayera",
Parsha::CHAYEI_SARA => "Chayei Sara",
Parsha::TOLDOS => "Toldot",
(etc)
לאחר מכן, אנו מאתחלים את הפורמט ואז משדרגים את מערך ההתעתקות החדש:
$format = Zmanim::format();
$format->setTransliteratedParshiosList($transliteratedParshaMap);
לבסוף, אנו משתמשים במידע מהלוח שנה כדי לאחוז את החלקה הנכונה של התורה המתועתקת בדרך שבה רוצים:
$output = json_decode('"' . $format->formatParsha($jewishCalendar) . '"');
הדפסת הפלט תקציב לנו:
Beresheet
מה עוד יש לומר?
למי שנראה לו שכל זה עבודה מיותרת בשביל מספר הבדלי האיות, ייתכן שיהיה מדהים לגלות כמה אנשים מרגישים בצורה מופקעת לגבי דברים אלה לאנשים שלא בילו הרבה זמן בקבוצות שבהן מתערבבות תרבויות יהודיות שונות.
עכשיו, תזכיר לי שוב על הדרך "הנכונה" להגות את GIF.
Source:
https://dzone.com/articles/time-data-series-how-you-said-it