One of the tough parts of developing and releasing Open Source software is internationalization (#i18n) and localization (#l10n).
For CityCatalyst, it's especially important, since we want our software to serve people in many countries. We use the great i18next framework (https://www.i18next.com) for most of our i18n and l10n needs. But we also have to actually localize the interfaces. A difficult part!