在我的上一篇關於 PHP Zmanim 的文章中,我說下一篇要寫的是天文計算。我仍計劃這樣做,但最近出現了一些引起我的注意的事情,所以我將談論那個而不是。我仍計劃處理天文相關的內容。
Sephardi vs. Ashkenazi
不,不是關於 kitniyot。不,不是如何掛置你的 mezzuzah。不,也不是你是否必須使用水麵包還是蛋麵包可以。我在談論某些詞語中的“T”音。
考慮:
Bereshis | Bereshit |
Ki Seitzei | Ki Teitzei |
Teves | Tevet |
還有更多,但(如果你讀/講希伯來語或長期參與正統猶太社區)你會明白。這兩種傳統有不同的發音方式,因此,英文音譯也會有所不同。就像任何傳統一樣,遵循其中一種的人可能會堅持“正確”的用法。
PHP Zmanim 本身是使用 Ashkenazi 風格的音譯“編碼”的。但這並不意味著你不能改變這一點,而且做起來相當容易。在接下來的幾個部分中,我將向您展示如何將預先存在的日期、節日和《聖經部分標題》的音譯轉換,以便它們以您想要的方式顯示。
步驟 1:創建您的映射
對於月份名稱、Torah部分標題、節日等,PHP Zmanim有一個值映射。讓我們從最簡單的開始-月份。
這只是一個簡單的值數組:
transliteratedMonths = ["Nissan", "Iyar", "Sivan", "Tammuz", "Av", "Elul", "Tishrei", "Cheshvan","Kislev", "Teves", "Shevat", "Adar", "Adar II", "Adar I"];
為了“修正”這一點並使用您想要的音譯(在這種情況下,可能只有“Teves”需要更改),您首先需要重新創建數組:
$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年,Tevet月和一月的日期(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
注意:對於那些不熟悉的人來說,“特韋特的第十日”(或“阿薩拉·比特韋特”)是一個禁食日,並有自己特殊的守則。
名字的意義?
我們的最後一個例子處理的是《托拉》部分名稱的音譯——無論是將《托拉》的第一部分稱為“Bereshis”還是“Beresheet”。為此,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)
在你的代碼中使用這個遵循我們與日期和節假日建立的相同模式。
在我們開始編碼之前,重要的是要注意,你必須確保你的代碼使用“Parsha”類別:
use PhpZmanim\HebrewCalendar\Parsha;
你還需要知道,PHP Zmanim 只會在給定的日期是星期六的時候輸出《托拉》部分,因此你可能需要取任何給定的日期並找到即將到來的(或之前的)星期六,以獲得正確的結果。
一旦處理了這些項目,你就可以像我們其他例子一樣建立日曆對象:
$getyear = 2024;
$getday = 26;
$getmonth = 10;
$jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday));
創建新的音譯變量(請注意這只是部分呈現。您可以在(截至目前)PHP Zmanim GitHub 存儲庫的第169行找到完整的鍵值數組)。
$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