Oddbean new post about | logout
 Removing the URLs is only half the problem. You have to add them back in the correct position. And since the text is translated the length and position has changed 
 Yep, that’s what we do. A special syntax counter keeps track of where each piece of non translated text goes and inserts it back in after we get the translation. This does assume the translation service will leave the symbol of the counter untouched. Currently we use AWS machine translation as the translator and it’s nearly perfect at leaving the symbols in place. Haven’t tested LibreTranslate tho.

While our code isn’t open source, I’d be happy to share my logic there as I wrote it in python. 

Are you open to offering paid translation services through the client? You could offer libre translate as a free option as well. That’s what damus has. 
 *untouched and in the right position.

Traveling now but can shoot you over my code logic later tonight, in case it’s helpful.