Emoncms Android App Translation

Might you be able to help with French translation @bidouilleur? Would anyone else be willing to help submit a translation?

@JumpMaster Am I correct in assuming that all text in strings.xml needs to be translated? Will we have multiple strings.xml files for each language?

will translate for sure to french and then to dutch.
Will need some time though as I have multiple other things in life :wink:

will make me a git account and translate over there 
 any particular way to do it to be complied with auto updates etc ?

first try for a french translation though I wonder if it will be handy since emoncms is not translated (or am I wrong ?)

can’t upload it to github as I don’t have push clearance so it will be here as is
think some strings don’t need translation ?

Guess some strings will need some rework to fit in space etc 

So this will be version B1

<resources>
<string name="app_name">emoncms</string>
<string name="google_app_id">605929908164</string>

<string name="tag_settings_fragment">settings_fragment</string>

<string name="tag_me_fragment">myelectric_main_fragment</string>
<string name="tag_me_settings_fragment">myelectric_settings_fragment</string>
<string name="tag_ms_fragment">mysolar_main_fragment</string>
<string name="tag_ms_settings_fragment">mysolar_settings_fragment</string>

<string name="me_title">Mon Electrique</string>
<string name="me_settings_title">Mes Flux Electrique</string>

<string name="ms_title">Mon Solaire</string>
<string name="ms_settings_title">Mes Flux Solaires</string>

<string name="navigation_drawer_open">Ouvrir le tiroir de navigation</string>
<string name="navigation_drawer_close">Fermer le tiroir de navigation</string>

<string name="cost_label">kWh / Cout</string>
<string name="power_now_label">PUISSANCE ACTUELLE</string>
<string name="use_today_label">UTILISATION JOURNALIÈRE</string>
<string name="importing_label">IMPORTATION</string>
<string name="solar_pv_label">PANNEAUX SOLAIRE</string>

<string name="openDrawer">ouvrir</string>
<string name="closeDrawer">fermer</string>
<string name="fullscreen">Plein Ă©cran</string>
<string name="error">Erreur</string>
<string name="settings">ParamĂštres</string>

<string name="server_not_configured">Veuillez configurer votre serveur emoncms et la clé API via le menu paramÚtres.</string>
<string name="me_not_configured_text">Veuillez configurer les flux via le menu 'engrenage' dans la barre du haut .</string>
<string name="feed_download_error_message">Impossible de charger la liste des flux. Vérifier l'adresse et la clé API de votre serveur emoncms ainsi que la connectivité.</string>
<string name="invalid_number_of_responses">Nombre invalide de l'API'</string>
<string name="invalid_kwh_feedid">ID du Flux utilisation_kwh invalide, veuillez choisir un flux kwh via les paramĂštres</string>
<string name="invalid_watt_feedid">ID du Flux utilisation invalide, veuillez choisir un flux watt via les paramĂštres</string>

<string name="txt_power_default">0W</string>
<string name="use_today_default">0.0kWh</string>

<string name="button_3h_label">3H</string>
<string name="button_6h_label">6H</string>
<string name="button_1d_label">J</string>
<string name="button_7d_label">S</string>
<string name="button_30d_label">M</string>

<string name="connection_error">ERREUR DE CONNECTION</string>

<string name="setting_url">emoncms_url</string>
<string name="setting_apikey">emoncms_apikey</string>
<string name="setting_usessl">emoncms_usessl</string>
<string name="setting_keepscreenon">keep_screen_on</string>

<string name="ok">OK</string>
<string name="permission_camera_rationale">L'accÚs à la caméra est nécessaire pour la détection'</string>
<string name="no_camera_permission">Le scanneur de code barre nécessite la caméra, autorisation refusé</string>
<string name="low_storage_error">Face detector dependencies cannot be downloaded due to low device storage</string>
<string name="title_activity_main">Exemple du lecteur de codes barre</string>
<string name="barcode_header">Clicker &quot;Lire code barre&quot; pour scanner le code barre</string>
<string name="read_barcode">Lire le code barre</string>
<string name="barcode_success">Lecture du code barre réussi</string>
<string name="barcode_failure">Code barre non lu</string>
<string name="barcode_error">"erreur de la lecture du code barre: %1$s"</string>
<string name="qr_code_success">ParamÚtres bien enregistrés suite à la lecture du code barre</string>
<string name="qr_code_fail">Code QR invalide</string>
<string name="barcode_scan_instructions">"Scanner le code barre su la page Mon Compte de emoncms."</string>

Great work! I’ve added the comment // TRANSLATABLE to strings.xml to show what section needs to be translated.

I’ll take a look at adding the French translation.

Nice work!

Emoncms core does support French and a few other languages, the translations can be viewed here:

Currently the My Electric and MySolarPV module do not have a translation. This is something we can now add since the apps are now stable (development wise).

That doesn’t sound very French :sunglasses:

Paul

Will cross check now with site translations, try to use the same words (newbies will never find their way)

@Paul : indeed but not to sure what the meaning of this string is 
 was one of the things I needed to understand for a proper translation. As said the one published yesterday is to consider beta1 :wink:

Will try to finish it for this week end latest.

Perhaps @glyn.hudson or @JumpMaster can advise if this phrase is relevant for translation.

Paul

I’ll need to check. The recent addition of barcode scanning was a copy/paste of Google example with everything unecessary stripped out. If a phone doesn’t have the Google Play APIs it will download them and show that message if they’re unavailable. I haven’t been able to test that though as all of my phones have the Play store installed.

version 2 based on version 1.3 of strings

I let line 31 : <string name="importing_label">IMPORTATION</string>
though it disappeared

once you know what line 61 is 


emoncms 605929908164
<string name="tag_settings_fragment">settings_fragment</string>
<string name="tag_me_fragment">myelectric_main_fragment</string>
<string name="tag_me_settings_fragment">myelectric_settings_fragment</string>
<string name="tag_ms_fragment">mysolar_main_fragment</string>
<string name="tag_ms_settings_fragment">mysolar_settings_fragment</string>

<string name="setting_url">emoncms_url</string>
<string name="setting_apikey">emoncms_apikey</string>
<string name="setting_usessl">emoncms_usessl</string>
<string name="setting_keepscreenon">keep_screen_on</string>

//
//  TRANSLATABLE
//
<string name="me_title">Mon Electrique</string>
<string name="me_settings_title">Mes Flux Electrique</string>

<string name="ms_title">Mon Solaire</string>
<string name="ms_settings_title">Mes Flux Solaires</string>

<string name="navigation_drawer_open">Ouvrir le tiroir de navigation</string>
<string name="navigation_drawer_close">Fermer le tiroir de navigation</string>

<string name="cost_label">kWh / Coût</string>
<string name="power_now_label">PUISSANCE ACTUELLE</string>
<string name="use_today_label">UTILISATION JOURNALIÈRE</string>
<string name="importing_label">IMPORTATION</string>
<string name="solar_pv_label">PANNEAUX SOLAIRE</string>

<string name="openDrawer">ouvrir</string>
<string name="closeDrawer">fermer</string>
<string name="fullscreen">Plein Ă©cran</string>
<string name="error">Erreur</string>
<string name="settings">ParamĂštres</string>

<string name="server_not_configured">Veuillez configurer votre serveur emoncms et la clé API via le menu paramÚtres.</string>
<string name="me_not_configured_text">Veuillez configurer les flux via le menu 'engrenage' dans la barre du haut .</string>
<string name="feed_download_error_message">Impossible de charger la liste des flux. Vérifier l'adresse et la clé API de votre serveur emoncms ainsi que la connectivitée.</string>
<string name="invalid_number_of_responses">Nombre invalide de l'API'</string>
<string name="invalid_kwh_feedid">ID du Flux utilisation_kwh invalide, veuillez choisir un flux kwh via les paramĂštres</string>
<string name="invalid_watt_feedid">ID du Flux utilisation invalide, veuillez choisir un flux watt via les paramĂštres</string>

<string name="txt_power_default">0W</string>
<string name="use_today_default">0.0kWh</string>

<string name="button_3h_label">3H</string>
<string name="button_6h_label">6H</string>
<string name="button_1d_label">J</string>
<string name="button_7d_label">S</string>
<string name="button_30d_label">M</string>

<string name="connection_error">ERREUR DE CONNECTION</string>

<string name="ok">OK</string>
<string name="permission_camera_rationale">L'accÚs à la caméra est nécessaire pour la détection'</string>
<string name="no_camera_permission">Le scanneur de code barre nécessite la caméra, autorisation refusé</string>
<string name="low_storage_error">Face detector dependencies cannot be downloaded due to low device storage</string>
<string name="title_activity_main">Exemple du lecteur de codes barre</string>
<string name="barcode_header">Clicker &quot;Lire code barre&quot; pour scanner le code barre</string>
<string name="read_barcode">Lire le code barre</string>
<string name="barcode_success">Lecture du code barre réussi</string>
<string name="barcode_failure">Code barre non lu</string>
<string name="barcode_error">"erreur de la lecture du code barre: %1$s"</string>
<string name="qr_code_success">ParamÚtres bien enregistrés suite à la lecture du code barre</string>
<string name="qr_code_fail">Code QR invalide</string>
<string name="barcode_scan_instructions">"Scanner le code barre su la page Mon Compte de emoncms."</string>

<string name="monday_initial">L</string>
<string name="tuesday_initial">M</string>
<string name="wednesday_initial">M</string>
<string name="thursday_initial">J</string>
<string name="friday_initial">V</string>
<string name="saturday_initial">S</string>
<string name="sunday_initial">D</string>

<string name="system_locale">Monnaie SystĂšme</string>
<string name="dollars">Dollars</string>
<string name="pounds">Livres</string>
<string name="euros">Euros</string>
<string name="yen">Yen</string>

<string name="kwh_elapsed">kWh passé</string>
<string name="wh_elapsed">Watt heure passé</string>

</resources>

Here’s a first go. Needs some work. It also shows how bad I’ve been hard coding strings. I will post some further parts to be translated in the morning.

Let me know what needs changing.

Kev

installed it and mmm needs some tweaking

all depends what will be done, exemple the “puissance actuelle utilisation journaliùre” overflows

I can try to use shorter words but will be hard, you might use a smaller font size
Combination of both might solve it 
 but on smaller screens ??

also the submenu strings are missing and were not translated
In landscape mode a negative bar pushes the number in the day letter

Hello,

I will translate also to Brazilian Portuguese, just have to check how to use/contribute with the Git
 Can someone point me where can I find the locale for EmonCMS too? Thanks.
Will keep posted :wink:

@tamsin , @glyn.hudson

Sorry for reviving this old thread, but, i am wondering, as i am no developer and can’t help on programing because of that, if you need a translation to Portuguese (PT-PT) language on emoncms android app (at least for now)? I am not a very skilled translator but i think i can handle it.

Hi @CelsoHenriques, no problem, thanks for your kind offer.

For us to create a Portuguese translation you will need to help us create a Portuguese strings.xml file. You, don’t need to do any programming, we can handle that. See examples of French, German and Italian translation in the app/src/main/res/values-xx folder. Here is the example of the french translation:

If you want to go ahead please post a copy of strings.xml on this thread with Portuguese translations. I can then create a beta version of the app for you to install and test the translations live in the app.

Thanks!
I will start on it this weekend.
Its very good to have those examples as it make it even more easy, because i can compare if i am translating the correct words.
I will update the thread with a new file once it is done.
Thanks!

1 Like

I copy the text and created a file with the new text translated.

Edit: found that was missing more text.
I will post it when finished.

By the way, where i can get the original english file?

Done.

tradução emoncmsv1.1.txt (7.8 KB)

Here:

Thanks, I’ll get a beta version of the up in the play store with the Portuguese translation. Please sign up via the play store to become a beta tester.

Thanks!
I will install it and see if everything is good.
Best regards,
Celso