SamDel / ChromeCast-Desktop-Audio-Streamer

Stream the sound of your desktop to your Chromecast Audio device
MIT License
416 stars 30 forks source link

[Request] Multilingual support #20

Open wikijm opened 5 years ago

wikijm commented 5 years ago

Hi @SamDel,

Would it be possible to offer multilingual support? I would be able to provide a French translation.

Sincerely, WikiJM

SamDel commented 5 years ago

That's nice! I first have to put all strings in a resource file then. I'll come back to you when it's done. Are you familiar with resource files in Visual Studio?

SamDel commented 5 years ago

Hi @wikijm, I've added the French resource file, it's here:

https://github.com/SamDel/ChromeCast-Desktop-Audio-Streamer/blob/master/Source/ChromeCast.Desktop.AudioStreamer/Properties/Strings.fr.resx

The texts in the values of the data elements (at the bottom of the file) need to be overwritten with their French translation.

See for yourself how you want to work, you can create a pull request or drop the translations here.

Thanks a lot!

wikijm commented 5 years ago

Hi @SamDel

Thanks for your fast and positive answer 😃

I'm not an active Visual Studio user/C++ developper, so badly no, I'm not familiar with 'resource files' 😥

How about using Multilingual App Toolkit 4.0? This seems to give a simple solution for our need.

wikijm commented 5 years ago

Damn! I answer to your first answer without seeing the second one. I will apply your proposal first, then create a pull request.

Thanks for your time 😉

wikijm commented 5 years ago

And here is the pull request: https://github.com/SamDel/ChromeCast-Desktop-Audio-Streamer/pull/22

SamDel commented 5 years ago

Thanks, merged already. I had to change the user interface to make it all fit.

The Multilingual App Toolkit looks good, it supports the same resource files and you can also add a pseudo language to test the user interface. I'm going to play a bit longer, and add it to the project later on.

I made a new installer with the French translations, can you try?

wikijm commented 5 years ago

Sadly, In 2 different computers, the app is still in english when I'm using the new setup.

SamDel commented 5 years ago

Sorry, I forgot to add the localized resources to the setup project. Can you try with 1.9?

I also added a language dropdown to the options tab.

wikijm commented 5 years ago

Everything's working fine.

Thanks a lot for your work 😃

SamDel commented 5 years ago

Nice, thanks for your contribution! I hope other people will follow with more languages.

SamDel commented 5 years ago

Hi @wikijm ,

A couple of labels are added in the application. In the Multilingual App Toolkit file I marked them as 'needs-review'. Do you have time to change/review them in this file? I want to do a new release later this week.

Thanks!

wikijm commented 5 years ago

Hi @SamDel, I'll try to do it this week :wink:

wikijm commented 5 years ago

And done 😃

SamDel commented 5 years ago

That's fast :smiley:. I did some easy ones myself (with Google translate), not too bad :wink: We're testing the latest changes, I will release the new version when done.

Thanks!

wikijm commented 5 years ago

In my opinion, DeepL is quite good for this kind of task. You're welcome 😉

SamDel commented 5 years ago

That's a nice one! I use DeepL now for the translations. Can you check if it's OK like this (in the 2.0 branch, for the 2.1 release). The new ones are marked as needs-review:

<trans-unit id="Check_StartApplicationWhenWindowsStarts_Text" translate="yes" xml:space="preserve">
  <source>Start application when Windows starts</source>
  <target state="needs-review-translation">Démarrer l'application au démarrage de Windows</target>
</trans-unit>
<trans-unit id="DevicesOnly" translate="yes" xml:space="preserve">
  <source>Devices only</source>
  <target state="needs-review-translation">Appareils seulement</target>
</trans-unit>
<trans-unit id="GroupsOnly" translate="yes" xml:space="preserve">
  <source>Groups only</source>
  <target state="needs-review-translation">Groupes seulement</target>
</trans-unit>
<trans-unit id="ShowAll" translate="yes" xml:space="preserve">
  <source>All</source>
  <target state="needs-review-translation">Tous</target>
</trans-unit>
<trans-unit id="Check_AutonaticallyStartLastUsed_Text" translate="yes" xml:space="preserve">
  <source>Automatically start last used devices and groups at startup</source>
  <target state="needs-review-translation">Démarrage automatique des derniers appareils et groupes utilisés au démarrage</target>
</trans-unit>
<trans-unit id="Label_LinkHelp_Text" translate="yes" xml:space="preserve">
  <source>Information about options on Github</source>
  <target state="needs-review-translation">Informations sur les options sur Github</target>
</trans-unit>
<trans-unit id="Tooltip_RecordingLevel_Text" translate="yes" xml:space="preserve">
  <source>Recording level</source>
  <target state="needs-review-translation">Niveau d'enregistrement</target>
</trans-unit>
<trans-unit id="Label_FilterDevices_Text" translate="yes" xml:space="preserve">
  <source>Filter devices</source>
  <target state="needs-review-translation">Filtrer périphériques</target>
</trans-unit>
<trans-unit id="Tooltip_Group_Text" translate="yes" xml:space="preserve">
  <source>Group</source>
  <target state="needs-review-translation">Groupe</target>
</trans-unit>
<trans-unit id="Label_BufferInSeconds_Text" translate="yes" xml:space="preserve">
  <source>Device buffer (in seconds)</source>
  <target state="needs-review-translation">Mémoire tampon de l'appareil (en secondes)</target>
</trans-unit>
wikijm commented 5 years ago

Hi @SamDel

Please take a look at https://github.com/SamDel/ChromeCast-Desktop-Audio-Streamer/pull/35 😃

SamDel commented 5 years ago

Thanks! DeepL also is not perfect 😉. I merged it and will create new release later.

SamDel commented 4 years ago

Hi @wikijm , Can you check the translation of Check_AutoMute_Text - 'Auto-mute/unmute desktop audio'? It's in the Development 2.4 branch.

wikijm commented 4 years ago

Hi @SamDel Please take a look at https://github.com/SamDel/ChromeCast-Desktop-Audio-Streamer/pull/58 😃

The multilingual support is now perfectly functional, then propose to close this ticket and create another one dedicated to French translation? This will allow you to assign it to me, and to create one per language.

SamDel commented 4 years ago

Thanks!

Not sure what's easier.

Let's review again when a third language is added!

wikijm commented 4 years ago

Sure, your proposal make sense.

SamDel commented 4 years ago

Hi @wikijm, can you check the (internet) translation for the new 'Minimize to tray' option?

wikijm commented 4 years ago

The French translation is "Réduire dans la barre d'état à la fermeture". You'll have better result if you try to translate 'system tray' instead of 'systray' 😉.

SamDel commented 4 years ago

That's completely different 😄, thanks!

wikijm commented 4 years ago

Thanks to you the work done 👍

SamDel commented 3 years ago

Hi @wikijm, still there?

Are these translations correct? "Wav (Soundcard's sample rate/24bit)" => "Wav (taux d'échantillonnage de la carte son/24 bits)" "Convert multi-channel audio to stereo output" => "Conversion de l'audio multicanal en sortie stéréo"

wikijm commented 3 years ago

Hi @SamDel

Yes, your translation is perfect 😃

SamDel commented 3 years ago

Thanks to DeepL 😉 . Thanks again!

wikijm commented 8 months ago

Hi @SamDel

Thanks again for your work! Your app is still in use with a good old Chromcast Audio 😉

I'm closing this issue as you implemented feature since almost 5 years 😛

Let me know if you French translation check is required 😄

Have a nice end of year celebrations!

SamDel commented 8 months ago

Hi @wikijm

Good to hear that! Not a lot of texts were added since then, but I know how to reach you if so.

'Dark mode' ('Mode sombre') is the last one.

Thanks for your contributions, and have nice year celebrations!