Add translations and transliteration support to lyrics - #152
Open
adaliea wants to merge 23 commits into
Open
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
composer | b5fb402 | Commit Preview URL | Sep 05 2026, 04:46 AM |
adaliea
force-pushed
the
07-19-add_translations_and_transliteration_support_to_lyrics
branch
from
July 20, 2026 06:53
923ed30 to
3b7bad4
Compare
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
adaliea
marked this pull request as ready for review
September 1, 2026 21:55
adaliea
force-pushed
the
07-19-add_translations_and_transliteration_support_to_lyrics
branch
from
September 1, 2026 22:02
f61675f to
dcdc249
Compare
Guard generation against concurrent edits and project changes, validate provider responses, and preserve background-only content and exact timing mappings. Add focused regressions and consolidate redundant PR tests.
adaliea
force-pushed
the
07-19-add_translations_and_transliteration_support_to_lyrics
branch
from
September 4, 2026 23:57
a55da65 to
0fe6643
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Adds a Languages tab for generating, editing, aligning, and importing translations and transliterations, with TTML import/export support for main and background vocals. Alternate-language text shares the original lyrics' timing rather than creating a second timing track.
What changed
L), paired original/transliteration syllable splitters, and alternate-language preview rendering.Mod+3; Sync, Timeline, Preview, and Export move toMod+4throughMod+7.Preservation and compatibility
Screenshots
Fresh captures from the rebased branch using manually authored demo lyrics in an isolated browser session.
Selective regeneration
Choose transliteration and/or individual translation languages; only selected content is replaced.
Timing alignment and formatting help
Place invisible boundaries against existing timed parts and inspect the resulting mapping before saving.
Formatting help explains pronunciation spacing, word spacing, and literal dashes.
Review and alignment-error states
Separate summaries and navigation badges distinguish content needing review from incomplete timing mappings.
Multiline paste import
Preview and correct the mapping before importing; this example ignores an extra blank row.
Sync, Timeline, and paired syllable splitting
Transliteration labels in Sync retain the original timing controls, including background vocals.
Timeline labels and the preview sidebar show the same alternate-language content.
The paired splitter lets authors choose matching original and transliteration boundaries.
Playback preview
Original lyrics, transliteration, and translation appear together, including background content.
Verification
Rebased onto
master(0a0f611) without conflicts; verified at0fe6643:Manual review checklist
Lin Sync/Timeline and use the paired splitter without changing unrelated timings.