I generally do internationalize apps that I build right from the start. The cost for switching at a later date I have found to be very significant. I do not however localize them until its needed. Often working with translators and ensuring the quality of the localized application is not a huge priority in the beginning.
Ask HN: Do you internationalize/localize your apps?
11–20 of 52 posts
Re: Ask HN: Do you internationalize/localize your apps?
#12That being said you need to actively pursue international sales for this to work, and i18n software is only a part of this. If you aren't making the effort on the sales side it probably isn't worth it on the engineering side.
Re: Ask HN: Do you internationalize/localize your apps?
#13Re: Ask HN: Do you internationalize/localize your apps?
#14Re: Ask HN: Do you internationalize/localize your apps?
#15But with that said, doing it up front even if it is less work than doing it later, is still way more work than not doing it at all. And if your app is in English your TAM is likely huge and you won't need to expand international for quite some time.
It's more than just localizing your app. You also need to do the same with your sales, support, and billing.
What do you do when you get a customer support request in a language your app supports but no one on your service team speaks? How do you get the customers in the other languages?
Also, what differences in laws regarding data protection / privacy / terms of service are you getting yourself into?
If you're charging a fee, do you need a bank account in the foreign country to charge the fee in local currency? If you do, what laws and regulations are you required to follow to get that bank account? What about tax? The US doesn't charge tax on services but many places do.
Re: Ask HN: Do you internationalize/localize your apps?
#16The app I built had no need for languages for the first 3-4 years. Then suddenly a foreign client comes in (ours is translated into Spanish, Portuguese, Russian and Chinese) and you've got a ton of code written.
Re: Ask HN: Do you internationalize/localize your apps?
#17Re: Ask HN: Do you internationalize/localize your apps?
#18I think the bare minimum would be gettext style string marking, which is generally gettext("english string") in the source; other string marking techniques may provide a better localization, but this one is easier. Also, try to follow general guidelines for creating strings so they're likely to be localizable. Gettext's guidelines[1] are decent. You don't actually need to use gettext -- you can make a 1 line function or macro that just passes through the english text as is for now. Even if you don't mark strings, at least thinking about string guidelines will help for the future.
If you ever decide to come localize in the future, at least you won't have to markup all the strings, and hopefully you won't have done a lot of "string math" which is painful to unwind. You'll still have a big amount of work to test and fix any strings that were missed, but you'll be a lot farther ahead.
[1] https://www.gnu.org/software/gettext/manual/html_node/Prepar...
Re: Ask HN: Do you internationalize/localize your apps?
#19Instead, Elixir/Phoenix uses gettext, you wrap strings with a gettext call, then you run a task and it generates all the files ready for translation. This means I can still use a main language and translate it if needed, without touching the codebase.
Re: Ask HN: Do you internationalize/localize your apps?
#20Sign Up
I simply write
{{ 'Sign Up'|trans }}
That way I don't need translation files (EN is default). If translation is not found the "key" is returned which is fine. Once the app is ready I call a command to create my language files and simply translate them.