23 languages, one I can check
I asked AI to draft this for me. I've edited it. Any surviving AI smells are my oversight.
PopsicleBoat is available in 23 languages besides English now. I speak two of them: English and German.
I wired gettext in early, so every visible string in the app has been going through a translation function from the beginning. That part was just discipline. What I never had was the translations themselves. There are about 1,500 strings in there. Getting those into Arabic, Thai, Korean, Ukrainian, and twenty more is not something I was ever going to do myself, and paying 23 translators for a hobby project was never going to happen either. So it just sat there, one language, waiting.
The AI did it. All of them, in an afternoon.
It lands on the right word. Usually.
The part that bothered me #
You can’t check the work. That’s the whole problem. I can look at the Thai file and tell you it’s Thai, and that’s the end of what I know. If it’s stiff, or wrong, or accidentally rude, I have no way to find out until a person who speaks it tells me. Shipping a thing you can’t read to people who can read it is a little scary. I want to get things right, but seriously. How would I know the Thai translation tracks for a native Thai speaker?
Why I shipped it anyway #
German. I read it, write it, and speak it fluently. I lived in Germany for 3 years. German happens to be one of the 23, and it’s the only one aside from English I can verify.
So I read the German. I didn’t skim, I read. I scoured. And it’s good. Not “technically correct” good, actually good. The tone matches, the informal tonality is consistent, the UI strings are the ones a German app would use instead of the literal translation of the English. A few things I’d have phrased differently, which is also true of things I write in English. So in general, it’s been a good exercise in reviewing copy that faces users. Probably (almost certainly) still rough edges especially in languages I don’t know, but also the two I do. But AI brought me a loooooooong way to supporting languages I simply don’t know.
What I’d suggest you do if you’re curious #
This has been an experiment, mostly. Of course I’d love a global audience, but this was not an anticipatory effort. It was more like “Can AI do this?”.
One thing I didn’t expect: shipping a language nobody reads yet teaches you nothing, because nobody is there to tell you it’s wrong.
If you’re interested in trying this for your own site, here’s the general flow I followed: check the language translations you know -> decide if it’s good enough to have confidence in the ones you don’t -> commit, but brace yourself for corrections from users
If I didn’t know German, I don’t think I’d have pushed this. But because I know my own fluency, I could spot check the German translation and it was good. It was like, really good. So that gave me confidence on all the languages I do not know.
Way cool, friends. This technology is not just a toy. It’s wildly powerful.
There’s a feedback link in the sidebar and it goes to me. If something reads wrong in your language, that’s the fastest way to fix it, and honestly I’d rather hear it from you than not know.
Cheers Jake