Couldn't a bad actor abuse liveTr() and call it with a ton of random strings to make me pay to translate a ton of garbage data?
Launch HN: Lang (YC S19) – Internationalization Built for Devs
11–20 of 48 posts
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#12Couldn't a bad actor abuse liveTr() and call it with a ton of random strings to make me pay to translate a ton of garbage data?
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#13Cool I’d like to use this for my startup. Could I give you a call
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#14This is very cool! It took us months to build the equivalent tooling for reddit (except we were using crowd sourced translations instead of machine based ones). Do your clients do local caching, or is my uptime dependent on your uptime (unless I code in my own caching I suppose)?
Great question, and thanks so much for sharing your experience at reddit! For static strings, we create resource files and download them directly into your codebase, so your uptime is totally independent of ours once you deploy your app. For dynamic strings in the database/generated by users, our servers need to be up to receive + handle the translation request, but that will be cached the next time you try to look t…
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#151. Am I correct in understanding this is meant as a client-side only solution for now? Right now we have a pretty complicated translations process that needs to support translations that are spread across the client and server. Would this support a hybrid approach like that?
2. Another question I have is where does the `translations.json` file come from and where is that stored? Is that just generated by the CLI and then we have to deal with serving that however we want?
3. Is there one `translations.json` file per language? One with all of them? Are there performance concerns with sending large files like that over to the client? This is a general question for me to other developers of large sites: how do you deal with tons of translations?
4. Any plans to support existing translations? E.g. if I have an existing set of translations keys and values can I plug those in somewhere? I know y'all are bootstrapping so it wouldn't surprise me if that's a Future feature.
Again, love the idea of this, and it would be super cool if this solves the problems due to complexity we currently have with supporting a ton of languages.
--
For some background our current solution involves a generating a rather large (> 1MB) `translations.json` file for each language that we serve to the client via a CDN. Typical map of keys to values.
We create the keys ourselves as we go along something like `dashboard.salesCard-helpText`. Then we have to kludgy Drupal instance to populate the key and value, add some tagging to show it needs to be translated. Translations get entered into that Drupal instance. All of this is entered manually. Then that gets used to generate the `translations.json` file I mentioned earlier.
We have plans in the future to overhaul the process.
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#16Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#17What would be compelling is if you could pro-actively call out the bigger gotchas in translation - grammatical differences that make you change word orders, different mechanism for handling plurals, etc. If you could preemptively warn us, even before a "push" that we may hit a problem, I'd take a closer look. For example, flagging a line saying, "Hey, it looks like you are using phrasing that will be problematic in Here's why..."
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#18Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#19I'd love to see support for other server-side languages, like C# (preferably something that can blend in with existing resource files) and Java.
Re: Launch HN: Lang (YC S19) – Internationalization Built for Devs
#20I like the idea, but you are putting more weight behind the tooling than I would. I don't find translation tooling to be cumbersome, so especially if machine translations are free, I don't find the price point for human translations to be compelling. What would be compelling is if you could pro-actively call out the bigger gotchas in translation - grammatical differences that make you change word orders, different me…
We would love to explore more ways we could help pro-actively solve these problems. Ping me at abhi@langapi.co if you want to talk more!