nextcloud / appstore

:convenience_store: App Store for Nextcloud
https://apps.nextcloud.com
GNU Affero General Public License v3.0
289 stars 135 forks source link

l10n: translations of apps descriptions from Transifex are not used #691

Open p-bo opened 4 years ago

p-bo commented 4 years ago

As a translator, I translated lot of nextcloud apps descriptions on Transifex, but none of them made it to https://apps.nextcloud.com/, nor apps install section in Nextcloud instance (logical - the same data source). Other parts of these pages are localized (at least partly) – so, would it be possible to use translations of apps descriptions for users to have benefit from translators work please?

Thanks and have a nice day :)

Valdnet commented 4 years ago

@p-bo My translation work was also done in vain 😉. Topic raised in the forum.

mario commented 4 years ago

@BernhardPosselt how is this supposed to be synced?

mario commented 4 years ago

@p-bo where did you translate them exactly? Maybe by looking at it I can figure out how it's supposed to be synced back.

p-bo commented 4 years ago

@mario Example (the same for others translatable Nextcloud server apps):

file: https://github.com/nextcloud/circles/blob/master/l10n/cs.js

strings:

"Bring cloud-users closer together." : "Sblížit uživatele cloudu.",

"Circles allows your users to create their own groups of users/colleagues/friends.\nThose groups of users (or 'circles') can then be used by any other app for sharing purpose (files, social feed, status update, messaging, …).\n\nDifferent type of circles can be created:\n\n- A personal circle is a list of users known only to the owner.\nThis is the right option if you want to do recurrent sharing with the same group of people.\n\n- A public circle is an open group visible to anyone willing to join.\nYour circle will be visible to everyone and everyone will be able to join the circle.\n\n- A closed circle requires invitation or confirmation by an admin.\nThis is the right circle if you are looking for privacy when sharing your files or ideas.\n\n- An Secret circle is an open group that can be protected by a password.\nUsers won't be able to find this Circle using Nextcloud search engine." : "Kruhy umožňují vašim uživatelům vytvářet jejich vlastní skupiny uživatelů/kolegů/přátel. Tyto skupiny uživatelů (neboli „okruhy“) je pak možné využívat ve všech ostatních aplikacích pro účely sdílení (soubory, společenské zdroje, aktualizace stavu, zprávy, …).\n\nJe možné vytvářet různé typy okruhů:\n\n- Osobní okruh je seznam uživatelů známý pouze vlastníkovi.\nToto je správná volba pokud chcete opakovaně sdílet se stejnou skupinou lidí.\n\n- Veřejný okruh je otevřená skupina viditelná komukoli kdo se chce připojit.\nVáš okruh bude viditelný komukoli a kdokoli bude schopen se do okruhu přidat.\n\n- Uzavřený okruh vyžaduje pozvání nebo potvrzení správcem.\nToto je správný okruh pokud hledáte soukromí při sdílení souborů nebo nápadů.\n\n- Tajný okruh je otevřená skupina kterou je možné zabezpečit heslem.\nUživatelé nebudou moci tento okruh najít prostřednictvím vyhledávání v Nextcloud."

Screenshots from localized variant of appstore - you can clearly see, that translated strings above are not used (still in English):

appstore-unused_app_desc_translation-1 appstore-unused_app_desc_translation-2

P.S.: apps descriptions are changing quite often, so there is continuous synchronization needed.

mario commented 4 years ago

Hm, @MorrisJobke do you know if this ever worked? o.O

p-bo commented 4 years ago

@mario worked or not - important is, that users are getting untranslated experience, which is unfortunate due fact, that translations are available for long time - clear loss-loss for everybody (users, translators, nextcloud project) :(

MorrisJobke commented 4 years ago

Hm, @MorrisJobke do you know if this ever worked? o.O

I guess it never did. Also because it would be super tricky to fetch. For the apps we basically use our own format (one in json and one in JS). This needs to be extracted by the appstore itself from the downloaded archive for all languages. Then it needs to parse this custom format (because I guess there is no lib in python to parse nextcloud specific language file format) and then you need to store it somehow to replace it based on the language (as it does not hook into the existing translation system.

MorrisJobke commented 4 years ago

nor apps install section in Nextcloud instance (logical - the same data source).

Please open a ticket in the server. This is clearly a bug.

Valdnet commented 4 years ago

Screenshots from localized variant of appstore - you can clearly see, that translated strings above are not used (still in English):

For information: The following applications: PhoneTrack, GpxPod, Cospend they appear in their native language, which are translated in Crowdin.

MorrisJobke commented 4 years ago

For information: The following applications: PhoneTrack, GpxPod, Cospend they appear in their native language, which are translated in Crowdin.

Interesting. 🤔 So there seem to be something in the appstore that does the extraction.

BernhardPosselt commented 4 years ago

Translations are only read from the info.xml right now, so these apps probably translated it manually I guess.

One could probably also customize the parser to read it from a JSON file.

MorrisJobke commented 4 years ago

Translations are only read from the info.xml right now, so these apps probably translated it manually I guess.

One could probably also customize the parser to read it from a JSON file.

Ah ... good point. We could also tweak the transifex tool to not only extract the string from info.xml but also write it back there. I guess that's then the easiest approach for all. And if I'm right, we also read the translation from there in the server.

p-bo commented 4 years ago

nor apps install section in Nextcloud instance (logical - the same data source).

Please open a ticket in the server. This is clearly a bug.

@MorrisJobke done - see https://github.com/nextcloud/server/issues/20753

p-bo commented 1 year ago

We could also tweak the transifex tool to not only extract the string from info.xml but also write it back there.

@MorrisJobke Hello, any news regarding this please? Everytime I translate/update long text of app description on Transifex, I'm doing this with hope, that some day it will be helpful for users...

MorrisJobke commented 1 year ago

I'm not active in the project anymore. Maybe @skjnldsv can help you find the correct person to look into this.

Jerome-Herbinet commented 1 year ago

Hello @bigcat88 @skjnldsv @vitormattos @szaimen,

IMO, a little more attention should be paid to this problem for marketing reasons. When a description appears translated, it's more reassuring, more salesy. Would one of you be able to speak, or is there someone else you could mention ?

Note : The problem is the same in the app store accessible from inside the instances (list of apps accessed by administrators). See : https://github.com/nextcloud/server/issues/38813

p-bo commented 1 year ago

More technical info is in https://github.com/nextcloud/docker-ci/issues/516