paint-brush
Убакыт маалыматтарынын сериясы: Бул сиз айткан нерсе жөнүндө эмес - бул сиз аны кантип айтканыңыз жөнүндөтарабынан@leonadato
219 окуулар Жаңы тарых

Убакыт маалыматтарынын сериясы: Бул сиз айткан нерсе жөнүндө эмес - бул сиз аны кантип айтканыңыз жөнүндө

тарабынан Leon Adato5m2025/03/01
Read on Terminal Reader

өтө узун; Окуу

PHP Zmanim китепканасы атайын текстти чыгарган бир нече функцияларга ээ. Бул чыгарууну сиз каалаган стилге же диалектке дал келтирүү үчүн ушундайча өзгөртөсүз.
featured image - Убакыт маалыматтарынын сериясы: Бул сиз айткан нерсе жөнүндө эмес - бул сиз аны кантип айтканыңыз жөнүндө
Leon Adato HackerNoon profile picture

PHP Zmanimдеги акыркы постумда мен кийинки жаза турган нерсем астрономиялык эсептөөлөр экенин айттым. Мен дагы эле ушундай кылууну пландап жатам, бирок жакында көңүлүмдү бурган бир нерсе болду, андыктан анын ордуна ошол жөнүндө сүйлөшөм. Мен дагы эле астрономияга барууну пландап жатам.

Сефарди vs Ашкенази

Жок, Китниот эмес. Жок, меуззаңызды кантип илип коюу керек эмес. Жок, суу чалласын колдонуш керекпи же жумуртка чалла жакшыбы. Мен кээ бир сөздөрдөгү “Т” тыбышы жөнүндө айтып жатам.


карап көрөлү:

Берешис

Берешит

Ki Seitzei

Ki Teitzei

Teves

Tevet

Дагы көп нерселер бар, бирок (эгер сиз еврей тилин окусаңыз/сүйлөсөңүз же ортодоксалдык еврей жамааттарынын бир бөлүгү болсоңуз) сиз түшүнөсүз. Бул эки салттын айрым тыбыштарды айтуунун ар кандай жолдору бар, ошондуктан англисче транслитерация өзгөрөт. Жана ар кандай салттар сыяктуу эле, тигил же бул салтты кармангандар "туура" колдонууну талап кылышы мүмкүн.


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 жаңырыгы төмөнкүдөй болот:

Теветтин онунчусу


ЭСКЕРТҮҮ: "Теветтин онунчу күнү" (же "Асарах Б'Тевет") тааныш эмес адамдар үчүн орозо күнү болуп саналат жана анын өзүнүн өзгөчө жыйындысы бар.

Атында эмне бар?

Биздин акыркы мисал Тоораттагы бөлүктөрдүн аталыштарынын транслитерациясына байланыштуу - Тоораттагы биринчи бөлүк "Берешис" же "Берешеет" деп которулабы. Бул үчүн, 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));


Жаңы транслитерация өзгөрмөсүн түзүңүз (бул жарым-жартылай гана көрсөтүлөрүн эске алыңыз. Толук ачкыч-маани массивин (ушул жазуу учурунда) 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 айтуунун "туура" жолу жөнүндө дагы бир жолу эскертип коюңузчу?

L O A D I N G
. . . comments & more!

About Author

Leon Adato HackerNoon profile picture
Leon Adato@leonadato
Leon has been a speaker and blogger in the monitoring and observability space for almost a decade.

ТАГИП АЛУУ

БУЛ МАКАЛА БЕРИЛГЕН...