Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TRANSLATIONS] Translators please subscribe to be notified of changes #1

Closed
andyholmes opened this issue Oct 11, 2017 · 93 comments
Closed
Labels
translations Issues pertaining to the translations / Crowdin

Comments

@andyholmes
Copy link
Collaborator

This is a thread for discussion of translations and notification of changes to translatable string. If you are a translator, please subscribe to this issue to be notified of changes.

@Arquanite
Copy link
Contributor

I've made a translation for polish language, but before I contribute I wanted to test this in practice. How can I make gsconnect to use my translation? Simply pasting *.po file didn't work. Commands from wiki

ninja gsconnect-pot
ninja gsconnect-update-po

did not seems to work.

@andyholmes
Copy link
Collaborator Author

andyholmes commented Dec 21, 2017

Sorry about that, I've changed the text domain to org.gnome.Shell.Extensions.GSConnect in git, but I usually wait until a release to update the wiki. You can use these commands:

ninja org.gnome.Shell.Extensions.GSConnect-pot
ninja org.gnome.Shell.Extensions.GSConnect-update-po

You also need to add your language to the LINGUAS file before running those commands, I'll add that to the wiki too. This is just the language code on a line by itself, eg "pl".

The change in text domain shouldn't change anything on your side, and I won't be changing it again. I also plan on putting some simple instructions for translating the WebExtension but let me know if your interested now.

@Arquanite
Copy link
Contributor

Ok, if better instructions will be available I will make a pull request. For now I have translated po file, some other files were generated by this commands but extension still is in english.

@andyholmes
Copy link
Collaborator Author

Okay, I've updated the Wiki to be a little clearer about all the steps.

https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki/Translating

Let me know if you need more help getting the translation working.

@andyholmes
Copy link
Collaborator Author

I'm about ready to release v8, let me know if you'd like me to wait to get your translation included.

@Arquanite
Copy link
Contributor

I've just created pull request. I'm sorry that it took so long, I had some issues with my laptop (gnome was half polish half english :o)

@andyholmes
Copy link
Collaborator Author

No problem, I think that was GSConnect causing that :/

@shibotto
Copy link

shibotto commented Feb 6, 2018

Are we supposed to fork master or v10? If it's master, po/* files are missing the gsettings.js and preferences.js merge (and the first ninja commands fail).

@andyholmes
Copy link
Collaborator Author

@Shiba89 Sorry about that. I've sort of broken a lot of things on the way to v10 and a few commits were pushed before I made a new branch. Currently the next version is not ready to be translated and won't be until I sort some things out.

Sorry about the delayed reply.

@mkey-cdx
Copy link
Contributor

Ok, let me know when things are ready. I'd be happy to provide you with a French translation.

@andyholmes
Copy link
Collaborator Author

andyholmes commented Mar 3, 2018

Hello translators. I have be in conversation with the reviewers of the Gnome Extensions website and I'm planning a v9 bugfix release that will be distributed fairly soon (under a week).

There will still be many translation changes in v10, however the version to be released on the official website will be around for a fair amount of time, so if you would like to submit a new/updated translation please let me know so I can hold off before releasing.

@mkey-cdx
Copy link
Contributor

mkey-cdx commented Mar 3, 2018

Hello @andyholmes. As I said, I'll be able and happy to give you a French translation. This should be done within a week.

@amivaleo
Copy link
Contributor

amivaleo commented Mar 3, 2018

Hi! I've just updated the italian translation. ;)

@andyholmes
Copy link
Collaborator Author

@mkey-cdx sounds good, i'll let the extension reviewer know when they get back to me.

@amivaleo thanks again!

@andyholmes
Copy link
Collaborator Author

Hello translators!

I know it's been a long time coming, but GSConnect is now ready to accept translations for v13. You will have to pull from master, since the last development release (v13-RC1) does not include the most recent POT file. The usual instructions are available on the Translating page.

New in v13 is translatable strings from the WebExtension in the same file. Just submit your translation for the Gnome Shell extension and the next time I build the WebExtension your language will automatically be included -- no extra work!

Ubuntu 18.10 is due to be released on October 18 and that will also be the target release date for v13. However, the review process for Gnome Shell extensions is volunteer based and can be quite long, so please ask if you need more time and I will be happy to delay release.

@piotrdrag
Copy link
Contributor

intltool-update -m is reporting these two files missing from POTFILES:

data/debug.ui
src/service/plugins/contacts.js

The first one looks like a false positive, but the second indeed looks missing.

@andyholmes
Copy link
Collaborator Author

Ah thanks, fixed. Yep, debug.ui I think shouldn't be translated since users (usually) shouldn't use that.

andyholmes pushed a commit that referenced this issue Oct 12, 2018
andyholmes pushed a commit that referenced this issue Oct 12, 2018
@ricvelozo
Copy link
Contributor

Some strings are missing, like: Mute Microphone and Display Mode. Also, I tested the translation I made, and some things still appear in English.

@andyholmes
Copy link
Collaborator Author

andyholmes commented Oct 16, 2018

Sorry, everyone! Seems like a lot of strings in the Glade files were not marked as translatable.

I've updated the translation file, so you should be able to pull from master and adjust your translation.

@ricvelozo
Copy link
Contributor

Still some strings are missing / not getting translated:

  • The extension description in about dialog
  • To device / from device (clipboard sync)
  • Items from Menu (Connect LAN, Unpair, Connect to..., etc)

@andyholmes
Copy link
Collaborator Author

andyholmes commented Oct 16, 2018

Okay, hopefully I have fixed the menus being translated now. The About dialog I'll have to fix for next release. Right now it's automatically taken from metadata.json which doesn't get translated.

Edit Nope, haven't fixed it. I'm investigating why only menus aren't being translated.
Edit2 Got it!

@L0sted
Copy link
Contributor

L0sted commented Oct 16, 2018

Do Not Disturb toggle in menu and DnD duration popup are also untranslateble

@andyholmes
Copy link
Collaborator Author

Should be fixed now, but you have to re-pull and restart gnome shell.

@ricvelozo
Copy link
Contributor

Nice! All right here.

andyholmes added a commit that referenced this issue Oct 29, 2018
(at least) two new strings: "Extended Keyboard Support" & "%d Connected"

RE: #1
@ferdnyc
Copy link
Member

ferdnyc commented Sep 25, 2019

Aha!! crowdin.yml was the piece I'd missed.

I think gettext translations are separated with an underscore (_)

I wonder if it actually cares? I'd added zh-TW to po/LINGUAS, not noticing that there was a way to remap Crowdin's names, and AFAICT gettext seems to be fine with using and updating zh-TW.po.

What does seem to care is GlibC. As a test I tried to open Totem with LANG=en-GB (after LANG=en_GB totem opened fine; I don't have a lot of supported languages installed on my system), and I got this:

$ LANG=en-GB totem
(totem:7839): Gtk-WARNING **: 02:17:58.649: Locale not supported by C library.
	Using the fallback 'C' locale.

(totem:7839): Clutter-WARNING **: 02:17:58.698: Locale not supported by C library.
Using the fallback 'C' locale.

(Which is a bummer, because Qt applications open the same translations whether the language name is specified as lang_locale or lang-locale.)

So, I guess I'll go rename that file now, and add a mapping in crowdin.yml. 🙄

@Xabre666
Copy link
Contributor

Problem is (and I mentioned it before) that Crowding bases their locales and locale definitions on ICU (libicu), while Gnome and everything that depends on gnome libs uses locales and locale definitions as defined in GNU C library (glibc). Which makes the choice to use Crowdin a very questionable one.
You simply can't use ddifferent locale definitions other than those that the core library on which the program is based is coded.
On top of it, Gnome provides no "user friendly" way of switching translations for a single program. Locale needs to be set for the entire session, and if gsconnect translation is not using the proper locale code which Gnome session expects, it will not be used.

I still strongly suggest to everyone to create/upate translations via git and submit merge requests.
Sure, Poedit and similar localization programs may not have as idiot proof interface as what Crowdin offers, but it is the only way to guarantee that submitted translation files will be working and used as expected.

@Xabre666
Copy link
Contributor

P.S. Chinese locales as per glibc are:

#zh_CN.GB18030 GB18030
#zh_CN.GBK GBK
#zh_CN.UTF-8 UTF-8
#zh_CN GB2312
#zh_HK.UTF-8 UTF-8
#zh_HK BIG5-HKSCS
#zh_SG.UTF-8 UTF-8
#zh_SG.GBK GBK
#zh_SG GB2312
#zh_TW.EUC-TW EUC-TW
#zh_TW.UTF-8 UTF-8
#zh_TW BIG5
#zu_ZA.UTF-8 UTF-8

zh_TW is the correct one in your case.

@ferdnyc
Copy link
Member

ferdnyc commented Sep 25, 2019

Which makes the choice to use Crowdin a very questionable one.
You simply can't use ddifferent locale definitions other than those that the core library on which the program is based is coded.

*shrug* That strikes me as overly alarmist.

I mean, Crowdin is built by the poedit developers, and they're fully integrated with each other. Heck, there's a "What is Crowdin?" link on the poedit welcome screen, if you launch it without loading a translation file. Once you authenticate you can even use it to retrieve and update translation files directly from Crowdin. Far from being in competition with / alternatives to each other, they seem very much designed to work in concert. It needn't be an either/or.

Plus, gettext doesn't really have any concept of locale — as I noted, it was perfectly happy to update zh-TW.po when the file was named that (and generate a locale/zh-TW/LC_MESSAGES/org.gnome.Shell.Extensions.GSConnect.mo file from it) — it'll use whatever names are defined in the LINGUAS file it works from. I think you're giving poedit/gettext too much credit for managing the translation locales more intelligently, when there's no evidence I can see that that's actually the case.

Even when translations are prepared in Crowdin, they're submitted via git PRs, so it's not like we've ceded control of the translations or anything. Believe me, I could make a mess of this stuff just as easily without Crowdin as I can with it, I don't need its help to screw up. 😉

@amivaleo
Copy link
Contributor

Why do I keep getting notifcations for the chinese translation? 🙈
I barely understand english!

😂

@Xabre666
Copy link
Contributor

Xabre666 commented Sep 25, 2019

@ferdnyc It is not alarmist, it simply is the way it is. Crowdin does not let you select all locales that Glibc (and thus Gnome) uses. Them being Poedit developers means nothing, Poedit works with whatever you tell it to work with. On the other hand, Gsconnect expect Glibc locale codes. Again,it is not alarmist, it is simply a matter of a fact.

As another note, Weblate and Transifex are two web based transltion platforms similar to Crowdin, and both of them have no problem to recognize glibc locales.

@piotrdrag
Copy link
Contributor

gettext indeed doesn’t care what language codes you feed it, but GNOME expects glibc locales and won’t work with anything else. So installing ar-SA.mo is pointless (and even ar_SA.mo won’t work for any ar_ locale other than the Saudi Arabian, as far as I know). As I see it, it doesn’t matter what codes Crowdin uses as long as the result is .mo files recognized by glibc-based systems.

By the way, this being a GNOME Shell extension, it might be a good idea to peek at what the shell does wrt. language codes when adding new languages: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/po

@andyholmes
Copy link
Collaborator Author

andyholmes commented Sep 25, 2019

gettext indeed doesn’t care what language codes you feed it, but GNOME expects glibc locales and won’t work with anything else. So installing ar-SA.mo is pointless (and even ar_SA.mo won’t work for any ar_ locale other than the Saudi Arabian, as far as I know)

Yes, I fiddled with crowdin for a bit, but gave up because the Arabic translator hasn't actually submitted any strings yet. For some reason the ar-SA: ar mapping is the only one which is not working correctly. If it's not doing harm we could leave it or just remove it and wait for them to appear again.

By the way, this being a GNOME Shell extension, it might be a good idea to peek at what the shell does wrt. language codes

👍 Also a good idea, thanks :)

EDIT: got it :)
EDIT2: @ferdnyc sorry about the barrage of Travis CI emails, ignore those it's because I deleted the branch before the ESLint job completed

andyholmes added a commit that referenced this issue Sep 25, 2019
@laichiaheng
Copy link

laichiaheng commented Sep 28, 2019

@andyholmes I'm deeply sorry. Could you update the translations again?
I have corrected lots of wrong translations today, lots of them had been translated by Simplified Chinese users, so I had to find them and correct them to Traditional Chinese, some of them included two %s in one sentence, and I didn't know that the order of them must be the same, because the order of them in Chinese are reverse.
I also have added new translations.
By the way, some of them had been translated, but they were still in English.

@andyholmes
Copy link
Collaborator Author

@laichiaheng no problem, all merged :) Let me know if the translations still aren't working after a rebuild.

andyholmes added a commit that referenced this issue Oct 9, 2019
Change the "Do Not Disturb" dialog subtitle slightly, to better reflect
the fact that notifications received from devices are silenced, as
opposed to engaging the device's DnD feature which is not supported.

From my reading of the few latin-based languages I can parse, many
translators have already made this distinction in their translations
already, so update the PO msgids to avoid breaking them. Translators can
take action to clarify this further if they think it's necessary.

cc #1
closes #572
@andyholmes
Copy link
Collaborator Author

@ferdnyc Do you still have gettext-0.19.1? If so, would you mind regenerating the POT file?

@ferdnyc
Copy link
Member

ferdnyc commented Oct 10, 2019

@andyholmes Whoops, just saw this sorry. I do still have 0.19.8.1 (which I assume you meant), I'll take care of it now if it's not already updated.

@ferdnyc
Copy link
Member

ferdnyc commented Oct 10, 2019

Done, and the Crowdin PR is resyncing now.

@rffontenelle
Copy link
Contributor

rffontenelle commented Apr 28, 2020

@andyholmes Would it be possible to add Brazilian Portuguese (pt-BR) ?

Translation done.

@andyholmes
Copy link
Collaborator Author

Hi translators,

For the first time in awhile there are some new strings. We now have AppStream metadata that distributions who package GSConnect may choose to include.

More importantly, some initial work has begun to annotate GUI elements for accessibility (eg. screen readers for visually impaired). Some of these may not be commented yet, but do your best :)

@amivaleo
Copy link
Contributor

So we're gonna get some new cool stuff. 😎

Thanks!

@andyholmes
Copy link
Collaborator Author

Codename for v40 is "boring" 😉. It's going to be a release of bug fixes, performance improvements, memory reduction and code refactors.

Next release, well that might be big. 🙂

andyholmes added a commit that referenced this issue Aug 19, 2020
Catch the uncommon (but known) case of Gvc not being found, then rewrite
the error to redirect to the Wiki. Adds a translatable string.

cc #1
andyholmes added a commit that referenced this issue Sep 11, 2020
Add a few new strings and refresh the line numbers.

cc #1
@vancha
Copy link

vancha commented Jun 30, 2021

Hello, i have added the frisian translation to crowdin, I hope it can be included in an upcoming version of gsconnect :) thank you for your work.

@kernelb00t
Copy link

Is this still used by translators? If yes, can an admin pin this (or someone ref it in the README) ? If not this should be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
translations Issues pertaining to the translations / Crowdin
Projects
None yet
Development

No branches or pull requests