From bootch at nc.rr.com Tue Aug 19 00:06:20 2014 From: bootch at nc.rr.com (bootch at nc.rr.com) Date: Mon, 18 Aug 2014 22:06:20 +0000 Subject: [Localization] Garbled translation for "Services" in Portuguese in Qt 5.3 In-Reply-To: Message-ID: <20140818220620.84JD2.363992.root@cdptpa-web16> I also discussed this in a thread at Qt Forums http://qt-project.org/forums/viewthread/46391/ In the latest qt_pt.ts from gitorious, the translation for 'Services' in the Mac app menu displays garbled on Mac Os X. Displays as two glyphs instead of the single glyph for U+00e7 Latin small letter c with cedilla. If you view the source in a browser to gitorious https://qt.gitorious.org/qt/qttranslations/source/b9a22c997c1a988ff8e6b52893e4673e9ac69a2b:translations/qt_pt.ts the translation appears as one glyph (good.) But at the same page, if you click on 'raw blob', it displays the translated string as two glyphs (bad.) Also, if you use Linguist to view the file, it appears as two glyphs (bad.) I used od (octal dump) and hand decoded the file assuming it is UTF-8 encoded. Indeed, there are four bytes representing the two wrong glyphs (U+00c3 and U+0083) Can anyone explain this? I would guess this is an error in translation (but one that is easy to overlook since some apps show the glyph correctly!) But I also would guess that something has changed in Qt and some translations need to be redone? Is there a bug tracking system for mis-translations? From bootch at nc.rr.com Wed Aug 20 23:28:41 2014 From: bootch at nc.rr.com (lloyd konneker) Date: Wed, 20 Aug 2014 17:28:41 -0400 Subject: [Localization] Hello? I am willing to fix some translations. FR "About" in MAC_APPLICATION_MENU, QPlatformTheme Message-ID: <53F51309.3030306@nc.rr.com> Hello, is this mailing list dead? I posted here earlier about possible problems in French and Portuguese translations. For example, in the latest gitorious:qt/qttranslations/translations/qt_fr.ts, the translations for "About" in the "MAC_APPLICATION_MENU" context seems OK when viewed in the browser, but is garbled when viewed on an actual Mac or when you view the 'raw blob' at the gitorious page. (I am curious about how the translation got in this state, but I definitely think it is broken.) Also, the qt_fr.ts does not seem to have been refreshed (using lupdate) recently, and is missing the context "QPlatformTheme" which holds the texts for 'standard buttons' such as cancel (as I recall, as noted in a QTBUG tracker?) and for which there are recent commits to the source code containing the user-facing strings needing translating. I will need to fix these translations for myself, so I am willing to contribute. But the wiki says to coordinate such work on this mail list. If someone responds here, I might try. I have read the wiki (localizations) and think I am capable of following the official process using gerrit. From bootch at nc.rr.com Thu Aug 21 18:28:37 2014 From: bootch at nc.rr.com (lloyd konneker) Date: Thu, 21 Aug 2014 12:28:37 -0400 Subject: [Localization] Hello? I am willing to fix some translations. FR "About" in, MAC_APPLICATION_MENU, QPlatformTheme Message-ID: <53F61E35.2000508@nc.rr.com> ----------------- Regarding my statement that translations are wrong in some words, some languages in the context MAC_APPLICATION_MENU. Please disregard my statement, it is not true . I found that the qt translations ARE valid, if you use git to download the .ts files. I had copy and pasted the files from the 'raw blob' in the browser window, and somehow that process messes the data. --------------- In regard to contributing translations so that QPlatformTheme is translated. I read the Qt wiki pages. I think they would be clearer if they say as follows: Qt5 ships with Qt4 translations (e.g. qt_xx.ts) until a member of the community converts them to Qt5 translations. In Qt5, for each language there is one qt_xx.ts file (the same name as the Qt4 file, but with different contents) that references other translations files e.g. qtbase_xx.ts. The first step of the conversion is to split the old Qt4 translation file into many translations files. This step is done by a perl script. This step requires a full repository copy of the Qt source, since as part of the conversion it runs lupdate on the Qt source to refresh the splitted template (.ts) files. The conversion captures the old translated texts, but it also marks each translation as incomplete, and adds user-facing strings that are new or moved in Qt5. The next step of the conversion process is to run Linguist on each converted template (.ts) and update the translations: 1) mark each translation as complete if the translated text from Qt4 is still valid 2) provide translated text for translations new to Qt5 (such as in context QPlatformTheme.) The next step of the conversion process is to commit the splitted files. Until the conversion is done (by a member of the community) the translations provided by a single Qt4 qt_xx.ts file is incomplete, since it lacks translations for user-facing texts that are new to (or have been moved in) Qt5 (such as the texts for standard buttons in the QPlatformTheme.) This is mostly harmless, since there are few such new or moved user-facing texts (except for standard buttons, which many apps workaround!) Many applications using Qt will not require changes to accomodate any splitting of translation files from Qt4 to Qt5, since the applications can still load a QTranslator for qt_xx.ts (and the fact that it in turn references other .ts files is hidden from the application.) However, certain applications may require code changes, for example a PyQt application that compiles resources such as .ts files into a single resource file will need to understand (at least in the build process) the splitting of .ts files from Qt4 to Qt5. ------ Regarding this link for downloading the template files ftp://ftp.qt-project.org/qt/l10n/index.html. That seems to suggest that any splitting of translations from Qt4 to Qt5 that a contributor might do should be done in the stable 5.3 (or 5.3.1?) branch. I don't understand how such commits would flow, especially into distributions. Would they be considered like a critical bug fix, immediately available to anyone who downloaded and built the 5.3 branch? And how would they be merged in 5.4, which apparently has already split the translation files from Qt4 to Qt5, but has not marked the translations complete? (Wouldn't there be a merge conflict?) Maybe I just need to study Qt's model of version control. ???Qt 3.4 will ship only with split translation files, whether or not any community member bothers to update the translations (so most translations will remain incomplete) ??? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bootch at nc.rr.com Fri Aug 22 16:34:25 2014 From: bootch at nc.rr.com (lloyd konneker) Date: Fri, 22 Aug 2014 10:34:25 -0400 Subject: [Localization] The role of translators at this stage of Qt (5.4 freeze) Message-ID: <53F754F1.7000901@nc.rr.com> I followed the instructions at the Wiki page for Qt localization (and elsewhere) to clone the Qt source repository and in the branch 5.3 split the Qt4 translation file (into a new qt_pt.ts and into new files qtbase_pt.ts, etc..) I was surprised to find that the process magically provided translated text for items in context 'QPlatformTheme'. I don't understand where the translated texts came from (because they don't exist in that context in the Qt4 qt_pt.ts file) Maybe I don't need to understand, but I thought that since those were new (to Qt5) that a translator would need to intervene to enter a translated text. So it appears that the main role of a translator (for the splitting from Qt4 to Qt5) is to run linguist, review all the translations, and mark them finished. I suppose the Qt project does not want to automatically mark them finished (when a non-empty translation text is present), that they want a human to review. And that they prefer a native language speaker for that role (since otherwise it would be no better than automatically marking them finished.) I am not a native Portuguese speaker, so I don't feel qualified. Also, it appears that the translations have already been split for the Qt 5.4 branch, and that the 5.4 branch will enter string freeze soon. I can only guess that when it does enter string freeze, there is a short window for a cadre of translators to review the translations and mark them finished (without needed to split translations from Qt4 to Qt5.) I don't understand what will happen if translators fail to act in that window, will the splits be rolled back (leaving only the unsplit but stale Qt4 translations), or will the split Qt5 translations be automatically (programaticaly) marked finished (despite the desire to not do so) ? As for my needs, I think I can use the qtbase_pt.ts file in Qt5.4 and programmatically mark it finished. For my purposes (my app uses very few of the strings, mainly MAC_APPLICATION_MENU and QPlatformTheme contexts) that would be better than continuing to use the Qt4 qt_pt.ts file (which leaves platform standard buttons untranslated.) From oswald.buddenhagen at digia.com Wed Aug 27 14:54:13 2014 From: oswald.buddenhagen at digia.com (Oswald Buddenhagen) Date: Wed, 27 Aug 2014 14:54:13 +0200 Subject: [Localization] Hello? I am willing to fix some translations. FR "About" in, MAC_APPLICATION_MENU, QPlatformTheme In-Reply-To: <53F61E35.2000508@nc.rr.com> References: <53F61E35.2000508@nc.rr.com> Message-ID: <20140827125413.GA7773@knobble.it.local> On Thu, Aug 21, 2014 at 12:28:37PM -0400, lloyd konneker wrote: > I read the Qt wiki pages. I think they would be clearer if they say as > follows: [...] > why that much verbosity? these are all obvious consequences of how translations work. are there any particular points which you think would actually help with getting a translation done? > Regarding this link for downloading the template files > ftp://ftp.qt-project.org/qt/l10n/index.html. > > That seems to suggest that any splitting of translations from Qt4 to Qt5 > that a contributor might do should be done in the stable 5.3 (or 5.3.1?) > branch. > yes, though at this point it may make more sense to start thinking about 5.4 instead, in particular if you are basically starting from scratch. > I don't understand how such commits would flow, especially into > distributions. Would they be considered like a critical bug fix, > immediately available to anyone who downloaded and built the 5.3 branch? > it depends on each distributor's policy whether they choose to follow the branch without upstream releases. > And how would they be merged in 5.4, which apparently has already split the > translation files from Qt4 to Qt5, but has not marked the translations > complete? (Wouldn't there be a merge conflict?) Maybe I just need to study > Qt's model of version control. > if a newer branch was already updated, updating an older branch is usually a bad idea. in the other direction, commits are merged on a regular basis, as in the rest of qt. > ???Qt [5].4 will ship only with split translation files, whether or not any > community member bothers to update the translations (so most translations > will remain incomplete) ??? > no, and i don't see where you got the idea from. in fact, the page seems broken - all templates should be pre-split. i'll investigate this when i'm back from vacation in a week or two. From oswald.buddenhagen at digia.com Wed Aug 27 15:00:13 2014 From: oswald.buddenhagen at digia.com (Oswald Buddenhagen) Date: Wed, 27 Aug 2014 15:00:13 +0200 Subject: [Localization] The role of translators at this stage of Qt (5.4 freeze) In-Reply-To: <53F754F1.7000901@nc.rr.com> References: <53F754F1.7000901@nc.rr.com> Message-ID: <20140827130013.GB7773@knobble.it.local> On Fri, Aug 22, 2014 at 10:34:25AM -0400, lloyd konneker wrote: > I was surprised to find that the process magically provided translated > text for items in context 'QPlatformTheme'. I don't understand where > the translated texts came from (because they don't exist in that > context in the Qt4 qt_pt.ts file) Maybe I don't need to understand, > but I thought that since those were new (to Qt5) that a translator > would need to intervene to enter a translated text. > if there are translations, they were taken from somewhere in the pre-existing file, possibly another context. lupdate is pretty dumb in fact, so it should be easy to figure out what it has done.