UNPKG

@hebcal/leyning

Version:

Torah Reading API for Parashat HaShavua and holidays

36 lines (35 loc) 1.81 kB
import { Aliyah, AliyotMap, Leyning } from './types'; /** * Translates an aliyah's book name and verse numbers to the target language. * Modifies the aliyah object in place. * @param aliyah - The aliyah object to translate * @param language - The target language code (e.g., 'he' for Hebrew) * @param translateBook - Whether to translate the book name (default true) */ export declare function translateAliyah(aliyah: Aliyah, language: string): Aliyah; /** * Translates aliyah(s) - handles single Aliyah, arrays, and AliyotMap. * For non-English languages, translates book names and converts verse numbers to Hebrew numerals. * Returns a new translated copy, leaving the original unchanged. * @param aliyahOrArray - Single Aliyah, array of Aliyah objects, AliyotMap, or undefined * @param language - The target language code (e.g., 'he' for Hebrew) * @param translateBook - Whether to translate the book name (default true) * @returns Translated copy of the input, or undefined if input was undefined */ export declare function translateAliyahOrArray<T extends Aliyah | Aliyah[] | AliyotMap>(aliyahOrArray: T, language?: string): T; /** * Translates a Leyning object to the target language. * @param leyning - The Leyning object to translate * @param language - The target language code (e.g., 'he' for Hebrew) * @returns The translated Leyning object * @example * const leyning: Leyning = { * seph: [{k: 'Genesis', b: '1:1', e: '1:5'}], * haft: [{k: 'Genesis', b: '1:6', e: '1:10'}], * megillah: [{k: 'Genesis', b: '1:11', e: '1:15'}], * fullkriyah: [{k: 'Genesis', b: '1:16', e: '1:20'}], * }; * const translatedLeyning = translateLeyning(leyning, 'he'); * @todo add reason translation */ export declare function translateLeyning(leyning: Leyning, language: string): Leyning;