zulip / zulip-flutter

Future Zulip client using Flutter
Apache License 2.0
143 stars 116 forks source link

is the vision for this to be the zulip client for mobile and desktop? #699

Open naderm11 opened 2 months ago

naderm11 commented 2 months ago

Is the vision for this to be the Zulip client for mobile and desktop? If so, I would like to help translate the whole thing into Arabic, but will it support the RTL layout in the UI?

gnprice commented 2 months ago

This app will become the official Zulip mobile client. About desktop, see: https://github.com/zulip/zulip-flutter#desktop-support

On RTL layout, see:

We'd be glad to have contributions to the Arabic translation. For contributing to Zulip's translations, see: https://zulip.readthedocs.io/en/latest/translating/translating.html Currently zulip-flutter itself isn't set up for translations (that's #276); but when it is, it'll use the same platform as the rest of the Zulip project, documented on that page.

As described at #77, none of the existing Zulip clients (neither the existing/legacy zulip-mobile client, nor the web or desktop clients) currently support an RTL layout for the UI. But we nevertheless have an Arabic translation for them, as well as a near-complete Persian translation, thanks to contributors who've found those worthwhile. It would be great to have another person helping out on the Arabic translation.

naderm11 commented 2 months ago

Hi @gnprice, Thanks for your reply. Following the provided translation guide seems to present many logistical challenges, and it lacks specific instructions for Arabic. To explore how the app would handle translation, I translated the app and generated the app_ar.arb file based on the keys in app_en.arb.

The app works well with RTL, and no issues were found during testing in the simulator. Some keys are missing, but these can be added over time. The default font could have looked better for Arabic. I attempted to add font to improve the user experience, but I had some trouble incorporating it into Flutter.

The app needs some configuration to recognize the new language, and if the translation is not there, the app should display the English text; right now, it shows nothing. I'm unsure how strictly we need to follow the language guide, but making the capital effort and translating the available keys now won't hurt :) The file contains the Arabic translation, and it's not machine-generated, so the terminologies follow the standard webapp terms used in Arabic; some terminologies are modified to fit the Zulip context, like streams and other terminologies that are specific to the app; it can be edited it later if it does not fit the context. Zulip_flutter_ar_language_file .zip

gnprice commented 1 month ago

Cool, thanks for doing that work.

In order for us to be able to use the translations, we'll need you to contribute them through the platform that we use for all our other translations. That's Transifex, as described in the translation guide; you can join the Zulip project on Transifex here.

For any logistical challenges you're running into when trying to use Transifex, we'd be glad to help in the #translation channel on the Zulip development community Zulip server.

Many of the strings in this zulip-flutter app are the same as, or similar to, strings that appear in the existing/legacy zulip-mobile client or in the Zulip server and web/desktop app. After you translate such a string for one codebase, Transifex makes it easy for you or a future contributor to re-use the translation, or to build on it, in another codebase. So if you contribute translations now, those translations will be useful for Zulip users today in the web/desktop and zulip-mobile clients, and will also save effort for making translations in the future for zulip-flutter.

gnprice commented 1 month ago

The default font could have looked better for Arabic. I attempted to add font to improve the user experience, but I had some trouble incorporating it into Flutter.

Interesting. How does it look in the Zulip web app, and what font does the web app end up using for Arabic text?

If the font that currently appears there doesn't look great, and there's another font that looks better, then I'd suggest opening an issue in https://github.com/zulip/zulip and/or starting a discussion on the Zulip development community Zulip server. I don't read Arabic, and so I don't have much of an opinion on what fonts are best for it. If at the conclusion of that discussion there's a font that we choose to prefer, then we'd probably follow that choice for this zulip-flutter app too.

naderm11 commented 1 month ago

Cool, thanks for doing that work.

In order for us to be able to use the translations, we'll need you to contribute them through the platform that we use for all our other translations. That's Transifex, as described in the translation guide; you can join the Zulip project on Transifex here.

For any logistical challenges you're running into when trying to use Transifex, we'd be glad to help in the #translation channel on the Zulip development community Zulip server.

Many of the strings in this zulip-flutter app are the same as, or similar to, strings that appear in the existing/legacy zulip-mobile client or in the Zulip server and web/desktop app. After you translate such a string for one codebase, Transifex makes it easy for you or a future contributor to re-use the translation, or to build on it, in another codebase. So if you contribute translations now, those translations will be useful for Zulip users today in the web/desktop and zulip-mobile clients, and will also save effort for making translations in the future for zulip-flutter.

Sure, I am not handy with Transfex. I dropped a discussion on the channel. I was thinking if it's possible to translate and push to git directly, but let's see how it goes.

The font works fine, just a very old font with sharp edges that does not look modern, and usually, it isn't suitable for digital products; it's more of a beautification touch

gnprice commented 1 month ago

For cross-reference: the resulting chat discussion is here: https://chat.zulip.org/#narrow/stream/58-translation/topic/translating.20without.20Transifex/near/1807057