@hebcal/leyning
Version:
Torah Reading API for Parashat HaShavua and holidays
36 lines (35 loc) • 1.81 kB
TypeScript
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;