Обрати внимание на то как в lingualeo решено.
<context class="" data-tran="я верю, что могу летать">
<tran>I</tran>
<tran>believe</tran>
<tran>I</tran>
<tran>can</tran>
<tran>fly</tran>
<br>
</context>
Впрочем если слова по отдельности ненужны то можно и не выделять слова тегами.
И все таки меня тревожит что в случае ручного переноса слова "-\n" строчки будут действовать раздельно, несмотря на то они принадлежат одному предложению (ведь ты разделил текст по \n как будто это знак припинания). Хотя если \n тыкать посреди предложения никто не будет то вроде все нормально.