Open jimmyff opened 6 years ago
I think this is more a question about how the translator toolkit works than Intl. But I think that what you're looking for is a translation memory. That should remember things you've previously translated. Certainly this a pretty basic capability for managing translations.
Ah okay, thanks for the response. It looks like this feature is broken (since 2016) on the Google Translate Toolkit which explains why I couldn't find any way to it! 😞
I'm now following the Toolkit topic tracking the issue: https://productforums.google.com/forum/#!topic/translate/3Glu-TP8fig
That error seems to be inconsistent. At least I was able to go to translation memories from both my google and my personal account (which had had nothing previously uploaded). I got the internal error at one point on the personal account, but after having uploaded something, added a translation, and then refreshing the page, it was fine.
But also, when you re-upload a file and it says it's zero percent complete, when you actually go into the file it automatically fills in the translations with whatever you had there previously for that string, without any need for a translation memory.
Ah okay, thanks for the explanation. I've managed to reproduce the behaviour you described by making sure I select the same TM when re-uploading the file. I somehow also managed to access the Translation memories feature today so I can create a TM, although the download feature doesn't work.
I'm now confident enough to pay for translations without fear that the translations will get lost next time I upload the files again!
Translator toolkit feels like a bit of a forgotten product (due to long-standing issues & parts of it just not working) so I am slightly concerned it may just one day disappear. I've reached out to OneSky and asked if they would support the arb format which would at least give Dart users an alternative/back-up solution.
I had assumed the TM was automatically populated but I don't think it is as mine still appears blank. Are you able to add values to a Translation Memory with a dart project? It seems that it wants a Translation Memory eXchange file .tmx
.
It would be great if we could generate these based on a set of localised .arb files?
@jimmyff Were you able to get the translation memory working with the Translator Toolkit? I have yet to find a third-party service that supports .arb yet.
@llwt not really I'm afraid. The TM doesn't get populated however it does seem to auto-fill translations with the previous translations when re-uploading dictionary files. It works but feels a little flakey, i'd be more confident if I could see the TM building up. As mentioned above I believe we would need dart to generate .tmx
files to correctly utilise the 'Translation Memory' feature.
As you point out there doesn't seem to be any alternative to Translator Toolkit, I reached out to One Sky but they came back with 'I am sorry that we don't support .arb yet and there's no plan to support this format in the near future.'. Sad as Translator Toolkit feels like it's at the of it's life-span.
@alan-knight don't suppose there are any plans for this package to generate .tmx
files or support an alternative localisation file formats?
@jimmyff did you figure out the flow ? I'am struggling with this right now too, can't figure out how to generate files to my languages then translate them and make them work with my project.
Sorry for the delay. I realize ARB is not widely used and translator's toolkit likewise. I don't have a lot of cycles or much knowledge about what would be a good format. But if somebody is interested in a particular format, it shouldn't (in theory) be very difficult to support it, and I'd be happy to support the effort. We do have a different internal format that we use, so there's at least one other as a proof of concept.
If you look at the ARB code, it's mostly command line options and file handling, with a very little bit of syntax. If the message format doesn't follow ICU, then it would need a different parser than ICUParser, but that's just building a grammar in PetitParser. The trickiest bit would be if there are semantic differences in the model, or missing information. But I'd be happy to make changes to accommodate that if it's reasonably doable.
Keeping this open as a reminder to add more documentation.
I’m using
intl
andintl_translation
but I think I’m misunderstanding how the flow should work in order to maintain a project with multiple languages.Currently I extract all my strings in to
intl_messages.arb
file then upload this to Google Translate Toolkit. It then asks me which languages I want to translate to so I check the ones required. I can then have the files translated and download them. I rename the files to:intl_$language.arb
and then generate the localised dart files using generate_from_arb.My problem comes once I modified my project and I now have new strings that require translating. I need to somehow update Google Translate Toolkit with my new base file whilst retaining all the previously translated strings. I can find no way of doing this. If I re-upload the int_messages.arb file then I just creates a load of 0% translates files.
If I've missed some documentation I apologies!