Avatar
Terry Yiu
2779f3d9f42c7dee17f0e6bcdcf89a8f9d592d19e3b1bbd27ef1cffd1a7f98d1
Building Yeti, Comingle, Nostr SDK for Apple Platforms, Damus, Nostash, SatsPrice

Need a bit more context. Which translation service and where on your phone are you auto translating?

Are you talking about Damus? Which version of Damus are you running? I have some changes queued up that will improve the general translation user experience and performance.

Seems like all the mentioned services (Microsoft, Google ML Kit, DeepL, LibreTranslate) support Japanese according to docs, or am I missing something? https://learn.microsoft.com/en-us/azure/cognitive-services/translator/language-support

LibreTranslate’s translations are generally poor in quality. I recommend DeepL if you want better quality translations and don’t mind KYC. Or if you do mind, wait a bit for me to implement more translation service options in Damus.

Good feedback! I’ll pay more attention to the set of supported languages from each service.

Seems like Microsoft is online only. Have you tried DeepL? It’s quite good. I’m wondering how you compare the two.

Would you mind describing why you would use Microsoft’s over other translation services? I haven’t used it much so I would like to learn more. I value giving users choice, but also don’t want to add too much bloat to Damus code, which makes it harder to maintain.

Heard about people’s struggles on Damus’ limited options on translation providers and translation quality. I will be adding Google’s ML Kit for offline translations (doesn’t seem to require sign up, so no KYC or capped quotas) and ChatGPT.

It’s pronounced tuh-RONN-oh.

This is basically what you’re asking for. The tradeoff is that we add a dependency to Google, and requires storing translation models offline on disk and memory which can take a good amount of space. This is also what Amethyst does on Android. I’m happy to explore this translation approach as an option for Damus.

https://developers.google.com/ml-kit/language/translation/ios

Sorry for eating into everyone’s DeepL translation quota on Damus. I have a pull request open. (1) Caches translations in memory (2) If auto-translate is off but a translation service is enabled in settings, it will still show the “Translate Note” button, even if the note isn’t selected. https://github.com/damus-io/damus/pull/843

Oh, do you mean machine translations of people’s notes? Or the app strings? If the former, you need to go into the Damus in-app settings and enable a translation service like DeepL, sign up for a free API account, and paste the API key into Damus settings.

Thanks! I replied. No worries, it’s not the easiest concept and took me a bit to get a hang of it too.