timetc
A few years back I started working on a multi language web app. The built in i18n from Angular was fine, no need to add anything more. At the time I could not find any usable app that supported XLF, which Angular uses for its translations, and managing translations in your IDE is a pain in the ass. It's hard to read with all the XML noise and changes are hard to find. The most difficult task is to reflect changes in your source file and merge them with your translation files. It was not fun to maintain, took too much time and mistakes where made.
That's when I built an app called What?! to make those files readable, easy to edit and most important: automatically merge source and translation files. It marked all translations that where changed as well, because in that case you want to be able to check the translation and if it is still matching. At the time it used Angular (still does), styled with some Materialize CSS and I had thrown it on a subdomain for the team to use.
The first version was still missing a nice design, drag and drop support, closing files and filtering. Filtering gives you the ability to check out all/missing/changed translations. This makes it even easier to double check all changes or add all missing translations. So that's what I did, together with some proper design and custom styling.
Now it feels like the moment to share it with others, that's why I put it on a nice Azure CDN and bought a domain (first finished the MVP and then bought the domain, most of the time it is the other way around). Other tools like POEditor and BabelEdit do support XLF now, but I could not get used to them. Their UI feels noisy and heavy, you can't just tab through your translations easily and I also miss the ability to filter. That's why I still finished the new version, and I do have more ideas for the future.
Thinking about adding support for arb (Flutter), gettext (PHP/WordPress) and json (popular JS libs). Curious if that would be useful?
I hope it helps other creators with the translation process. Please let me know if you have any feedback!
Show HN: I built a XLF translation app for Angular internationalization
I especially like the sound of it being practical and centered around creating a product. Thanks :)
Ask HN: Strategies to Prevent Form Spam?
Lately I am getting more and more spam in my forms. Including sign up forms, which is annoying because it messes up your funnel, pollutes your db and statistics.Privacy is an important topic for me, so reCAPTCHA from Google a big no. Services like hCaptcha and Akismet seem more privacy friendly though.The best option is of course something that works locally. A honeypot field and CSRF are...
Although it can be quite hard to get clean IP ranges and keep everything of SPAM/deny lists.
MailChimp has been working for me pretty well in the past. They have transactional emails too, this used to be a separate service called Mandrill: https://mailchimp.com/features/transactional-email/
Currently I am trying out Sendgrid, which is now owned by Twilio. For the other Twilio services they are always clear in communication with great guides for everything. This seems to be the case for Sendgrid as well (so far): https://www.twilio.com/sendgrid/email-api (little plus, they have Azure Functions integrations)
Like mentioned by other you of course lose a little bit of accuracy and you don't have front-end tag manager related features (like listen to scroll positions and element events). Although you gain a bit of accuracy too, because some privacy tools block analytics calls which isn't possible with the access logs approach :)