it'd be great to have some tooling to determine which strings need to be
(among the different Resources.*.resx)
CC @gep13 @RichiCoder1
I'll give https://github.com/HakanL/resxtranslator a shot
@mwallner that looks really useful!

it even runs on linux 鉂わ笍
aaand the encoding exploded + all EOL and EOF are dead too 馃ぃ - will try tomorrow on Windows OS!
Ah, perhaps we need some additional entries in the .gitattributes file.
Haha, oh my. Do let me know how it goes though, I'd love to see some tooling to make this easier for contributors
Works great on Windows! :-)

(keeps encoding and works just as expceted!)
Another option could be to setup a project on transifex (free for OSS).
I've used it a few times in the past, and IMO is great.
It could be set up to monitor a remote url for changes, synchronizing it whenever it is changed (not quite sure how often it is checked though).
With that it could also be integrated into the build script to download all translated strings (any language) during build by using their cli client.
That'd be great! - any experience working with this tool considering .resx ?
That'd be great! - any experience working with this tool considering .resx ?
It's been quite some time since I last setup a project on transifex, so the procedure may have changed a little.
.resx files is supported by transifex without doing any modifications though, so that should be easy enough.
how about adding new languages?
Adding new languages can be added by the members that have the required privileges, those who do not have them can request/suggest a new language to be added (New translators would also need to request to be added to the language).
do you have resources to setup a demo?
I don't right now, but I'll try setting up a simple hello world demo hopefully soon.
@AdmiringWorm Let me know if you need any help on that. Rather curious myself. Heard good things about Transifex in the past.
I have used transifex to translate multiple projects, and I like the interface.
I vote that we use transifex.
I've set up a basic hello world demo here: https://github.com/AdmiringWorm/Hello-Transifex
I still have left to provide some documentation on how the transifex client is initialized, and how the project is set up on transifex.
@AdmiringWorm is this something that would be done as part of the CI build, or would this be done manually and added as part of a PR to the repo?
@gep13 it can be done both manually, and through a CI build (requires a small hack for that though).
The demo project I linked to is set up to ignore the Resource.
@AdmiringWorm cool, will take a look when I have a minute, sounds very interesting!
Some basic documentation have also been provided now on the wiki for how to set up the project on transifex, and configure the respository using the transifex client.
~hmm, I just recently came across lingohub.
I think this looks pretty good (and is also free for FOSS), and looks like it can be easier integrated with github (supports automatic pull from repo, (automatic?) push either directly or as a PR).
Still testing it out, but I'll update when I've messed around with it some more.~
EDIT:
Although it looks great and all, it seems like there is some bugs that needs to be ironed out before it can be used.
It also has the downside that it can't be integrated into the build process to download translation files.
@AdmiringWorm said...
It also has the downside that it can be integrated into the build process to download translation files.
can or can't
@gep13 said...
can or can't
Ops, I meant can't
@mwallner @AdmiringWorm @RichiCoder1 @magol I have started the process of setting up Transifex. I "think" you should be able to see this here:
https://www.transifex.com/chocolatey/chocolatey-gui/dashboard/
Can you let me know if you all can see this? If you could let me know your email addresses for Transifex (assuming you have one) I can get you added to the project.
Just put in a join request :-)
@mwallner sweet! You should have access now :-D
Great, i have request access for Swedish now 馃榾
@magol that is great, I have accepted the request! Thank you for yours and @mwallner continued help with this, it is a great addition to Chocolatey GUI.
I can confirm that I have access to the transifex project.
thanks @gep13 for setting up the account at https://www.transifex.com/chocolatey/chocolatey-gui/dashboard/ :-)
I'd suggest if you've verified the system works (maybe once Didier is done with the french translation?) you close this issue.
@gep13 @mwallner
btw, I recommend that when transifex have been fully integrated with the build process, the best thing would be to only accept translations through transifex and not the through github itself.
Otherwise, you may end up with a headache of manually updating every string on transifex afterwards (since they may differ, maybe some work had already been done on transifex already).
As well as only storing the source resource itself in the repo, and not the translations.
@AdmiringWorm totally agree. I have implemented the required changes to make this possible going forward.
Using the amazing work from @AdmiringWorm I "think" I have just completed the first build using the translated artifacts from Transifex 馃槃
Version 0.16.0-unstable0072 has just been pushed to MyGet.
@pascalberger @mwallner @punker76 could I get you to take that version for a spin? If this package successfully localizes to your environments, then I think we can go ahead and close this issue out, and continue using the Transifex service for additional translations.
Please let me know if you have any questions.
@gep13 LGTM. Except the features group for Chocolatey, maybe this keys are currently missing?







@gep13


@punker76 I don't think the configurations from choco have been made translatable, probably because they are dynamically generated (just a guess).
The untranslated Source seems to be a mistake though.
@AdmiringWorm The Source should be easy to fix.
@AdmiringWorm Is correct. I believe we already raised this issue with @ferventcoder
LGTM, (looking great!), love the fact that we can now just point people to transifex :-)
Ok, I am going to go ahead and close out this issue, as the main focus of this issue has been tackled, and we can raise other issues about the missing translations.
@punker76 according to Transifex, the current English to German translation for Features is simply Features:

If this isn't the case, or you can suggest something else, then we can get this changed.
@gep13 @mwallner I added my suggestions
@mwallner @pascalberger @x-jokay you guys are marked as translators/reviewers for the German Language. It would be good to know if you guys get emailed/notified about this suggestion. i.e. would be good to know what the workflow is around suggestions, and how they can get accepted. Thanks!
hm, this is odd - I didn't receive any notification, neither per mail nor in the transifex UI.. also it's pretty hard to spot the 'overall' suggestions - thge only way I see currently is checking each string indivdually...

@gep13 No mail notification here either
@mwallner @pascalberger seems like you might have to "watch" a language, in order to get these notifications, but I can't find how to add a watch onto a language 馃槩
Okay, I have found how to "watch" a project, but not how to "watch" a language:

Can someone add a suggestion to the German language? I want to see if I get any additional notifications through now.
@gep13 done
@punker76 yeah, that hasn't helped 馃槩
@gep13 can you make me an admin in the Chocolatey team? I joined just now... but I can't request. It's based on my ferventcoder username.
@ferventcoder looks like you are all sorted, I think @AdmiringWorm must have hooked you up 馃槃
Most helpful comment
@gep13 @mwallner
btw, I recommend that when transifex have been fully integrated with the build process, the best thing would be to only accept translations through transifex and not the through github itself.
Otherwise, you may end up with a headache of manually updating every string on transifex afterwards (since they may differ, maybe some work had already been done on transifex already).
As well as only storing the source resource itself in the repo, and not the translations.