ChromeCast-Desktop-Audio-Streamer icon indicating copy to clipboard operation
ChromeCast-Desktop-Audio-Streamer copied to clipboard

[Request] Multilingual support

Open wikijm opened this issue 6 years ago • 31 comments

Hi @SamDel,

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

Sincerely, WikiJM

wikijm avatar Jan 14 '19 15:01 wikijm

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 avatar Jan 14 '19 17:01 SamDel

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!

SamDel avatar Jan 15 '19 09:01 SamDel

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 avatar Jan 15 '19 11:01 wikijm

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 avatar Jan 15 '19 11:01 wikijm

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

wikijm avatar Jan 15 '19 12:01 wikijm

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?

SamDel avatar Jan 15 '19 14:01 SamDel

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

wikijm avatar Jan 15 '19 15:01 wikijm

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.

SamDel avatar Jan 15 '19 18:01 SamDel

Everything's working fine.

Thanks a lot for your work 😃

wikijm avatar Jan 15 '19 20:01 wikijm

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

SamDel avatar Jan 16 '19 03:01 SamDel

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!

SamDel avatar Feb 12 '19 15:02 SamDel

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

wikijm avatar Feb 13 '19 06:02 wikijm

And done 😃

wikijm avatar Feb 13 '19 12:02 wikijm

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!

SamDel avatar Feb 13 '19 12:02 SamDel

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

wikijm avatar Feb 13 '19 12:02 wikijm

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>

SamDel avatar Apr 01 '19 13:04 SamDel

Hi @SamDel

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

wikijm avatar Apr 01 '19 13:04 wikijm

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

SamDel avatar Apr 01 '19 14:04 SamDel

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

SamDel avatar Oct 01 '19 04:10 SamDel

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.

wikijm avatar Oct 01 '19 07:10 wikijm

Thanks!

Not sure what's easier.

  • One issue with multiple assignees. All languages (I hope more will follow) need to be updated at the same time.
  • Or one per language, that makes it easier to have per language discussions.

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

SamDel avatar Oct 01 '19 08:10 SamDel

Sure, your proposal make sense.

wikijm avatar Oct 01 '19 10:10 wikijm

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

SamDel avatar Jun 18 '20 08:06 SamDel

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' 😉.

wikijm avatar Jun 18 '20 11:06 wikijm

That's completely different 😄, thanks!

SamDel avatar Jun 18 '20 11:06 SamDel

Thanks to you the work done 👍

wikijm avatar Jun 18 '20 11:06 wikijm

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"

SamDel avatar May 12 '21 15:05 SamDel

Hi @SamDel

Yes, your translation is perfect 😃

wikijm avatar May 12 '21 15:05 wikijm

Thanks to DeepL 😉 . Thanks again!

SamDel avatar May 12 '21 18:05 SamDel

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!

wikijm avatar Dec 22 '23 09:12 wikijm