mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-12 11:01:45 +00:00
* feat(synced-lyrics): init romanization! * remove debug logs and add TODO * feat(synced-lyrics/romanization): Mandarin! * feat(synced-lyrics/romanization): improve japanese detection * feat(synced-lyrics/romanization): Korean! * qol(synced-lyrics/romanization): canonicalize punctuation and symbols * feat(synced-lyrics/romanization): handle japanese+korean and korean+chinese lyrics * revert formatting on electron.vite.config.mts * feat(synced-lyrics/romanization): romanize plain lyrics * apply fix by @kimjammer * fix lockfile due to rebase * feat(synced-lyrics): improve lyric processing and formatting; * feat(synced-lyrics/romanization): add option to enable/disable romanization * chore: move default value for --lyrics-duration to the declaration * update lockfile * fix: improvement 1. improved language detection logic 2. changed code to work in the renderer process * fix: fix regression (canonicalize) --------- Co-authored-by: JellyBrick <shlee1503@naver.com>
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
// Stolen from https://github.com/hexenq/kuroshiro/pull/93
|
|
// Credit goes to https://github.com/ALOHACREPES345 and https://github.com/lcsvcn
|
|
declare class Kuroshiro {
|
|
constructor();
|
|
_analyzer: import('kuroshiro-analyzer-kuromoji') | null;
|
|
init(analyzer: import('kuroshiro-analyzer-kuromoji')): Promise<void>;
|
|
convert(
|
|
str: string,
|
|
options?: {
|
|
to?: 'hiragana' | 'katakana' | 'romaji';
|
|
mode?: 'normal' | 'spaced' | 'okurigana' | 'furigana';
|
|
romajiSystem?: 'nippon' | 'passport' | 'hepburn';
|
|
delimiter_start?: string;
|
|
delimiter_end?: string;
|
|
},
|
|
): Promise<string>;
|
|
|
|
static Util: {
|
|
isHiragana: (ch: string) => boolean;
|
|
isKatakana: (ch: string) => boolean;
|
|
isKana: (ch: string) => boolean;
|
|
isKanji: (ch: string) => boolean;
|
|
isJapanese: (ch: string) => boolean;
|
|
hasHiragana: (str: string) => boolean;
|
|
hasKatakana: (str: string) => boolean;
|
|
hasKana: (str: string) => boolean;
|
|
hasKanji: (str: string) => boolean;
|
|
hasJapanese: (str: string) => boolean;
|
|
kanaToHiragana: (str: string) => string;
|
|
kanaToKatakana: (str: string) => string;
|
|
kanaToRomaji: (
|
|
str: string,
|
|
system: 'nippon' | 'passport' | 'hepburn',
|
|
) => string;
|
|
};
|
|
}
|
|
|
|
declare module 'kuroshiro' {
|
|
export = Kuroshiro;
|
|
}
|