Como você lida com a tradução de texto com marcação?

Estou desenvolvendo suporte multilíngue para nosso aplicativo da web. Estamos usandoAjudantes do Django em volta dogettext biblioteca. Tudo foi surpreendentemente fácil, exceto pela questão de como lidar com frases que incluem marcações HTML significativas. Aqui está um exemplo simples:

Please <a href="/login/">log in</a> to continue.

Aqui estão as abordagens em que consigo pensar:

Mude o link para incluir a frase inteira. Independentemente de a mudança ser uma boa ideia, neste caso, o problema dessa solução é que a interface do usuário se torna dependente das necessidades do i18n quando as duas são idealmente independentes.

Marque a sequência inteira acima para tradução (formatação incluída). As cadeias de tradução também incluiriam o HTML diretamente. O problema disso é que alterar a formatação HTML requer alterar toda a tradução.

Junte várias traduções firmemente e use a interpolação de strings para combiná-las. Por exemplo, a frase "Por favor% s para continuar" e "logon" pode ser marcada separadamente para tradução e combinada. O "logon" é localizado, empacotado no HREF e inserido na frase traduzida, que mantém o% s na tradução para marcar para onde o link deve ir. Essa abordagem complica o código e quebra a independência das seqüências de conversão.

Existem outras opções? Como outras pessoas resolveram esse problema?

questionAnswers(6)

yourAnswerToTheQuestion