SUMMARY Text from variable "downloadNewWhat" is used in different contexts: - button text in src/qtquick/qml/Button.qml - dialog title in src/qtquick/qml/Dialog.qml - newStuffPage.title in src/qtquick/qml/DialogContent.qml In these contexts the text should be in different capitalization modes and grammatical cases in some languages (e.g. Russian). For now the only way to make a proper translation is to use translation scripting ( https://techbase.kde.org/Localization/Concepts/Transcript ). However translation scripting is fragile, untestable and hard to get right. The easy solution would be to have 3 different string properties: for dialog title, for button text and for dialog subtitle. STEPS TO REPRODUCE 1. 2. 3. OBSERVED RESULT EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
Created attachment 124719 [details] knewstuff-5.65.0-tr.patch If knewstuff is changed using this patch knewstuff-5.65.0-tr.patch,
Created attachment 124720 [details] plasma-desktop-5.17.80-tr.patch And package plasma-desktop change with this patch plasma-desktop-5.17.80-tr.patch, then the translation starts to display correctly on all locales.
Created attachment 124721 [details] Fix translations (In reply to Victor Ryzhykh from comment #2) > Created attachment 124720 [details] > plasma-desktop-5.17.80-tr.patch > > And package plasma-desktop change with this patch > plasma-desktop-5.17.80-tr.patch, > then the translation starts to display correctly on all locales. I will attach a picture in Russian.
Dan can you please fix this?
The problem continues to multiply. Here https://phabricator.kde.org/D26665#594287 And still here https://cgit.kde.org/plasma-desktop.git/commit/?id=442c43b3ca98807a7b93c757ffbd090c892e0e44
> dialog title in src/qtquick/qml/Dialog.qml It is unclear why in the window title the text to download the file. The window title contains the text from the download button, instead of the name of the contents of the window. I think it will be correct when the button contains the text to download, in the window title, the name of the content.
(In reply to Albert Astals Cid from comment #4) > Dan can you please fix this? I can - except that there are multiple proposals for how to fix it. Not being a linguist, i am going to need those who have the issue to give me less conflicting guidance on this... (or even better, for those with patches to put them on phabricator - it was my understanding that bko was now refusing to accept patches?)
> The easy solution would be to have 3 different string properties: for dialog title, for button text and for dialog subtitle. But there is already 2 string properties, isn't there? ./src/qtquick/qml/Button.qml:59: text: i18n("Download New %1", downloadNewWhat) ./src/qtquick/qml/Dialog.qml:55: title: component.downloadNewWhat.length > 0 ? i18nc("The dialog title when we know which type of stuff is being requested", "Download New %1", component.downloadNewWhat) : i18nc("A placeholder title used in the dialog when there is no better title available", "Download New Stuff") Those are two differnt strings, so i don't see any problem there. Can you explain why the title and the subtitle being the same text is a problem?
(In reply to Victor Ryzhykh from comment #5) > The problem continues to multiply. > Here https://phabricator.kde.org/D26665#594287 > And still here > https://cgit.kde.org/plasma-desktop.git/commit/ > ?id=442c43b3ca98807a7b93c757ffbd090c892e0e44 This text means nothing to me, please be more detailed and less apocaliptic
No need to do part of the phrase in the knewstuff package. Leave it only calls title: i18n("%1", component.downloadNewWhat) or title: "%1", component.downloadNewWhat And transfer all the text to plasma packages. NewStuff.Button { downloadNewWhat: i18n("Get New Global Themes...") This will eliminate problems in other localizations. In which not all words of the text are written in uppercase. For example, now "Download New Global Themes...", Which consists of two parts of the text, from different packages. And the translation should be "Загрузить новые темы оформеления...". This cannot be obtained if a two-part text is compiled. In addition, the translation of the phrase "i18n ("Download New %1", component.downloadNewWhat)" in the package knewstuff does not work.
(In reply to Victor Ryzhykh from comment #10) > No need to do part of the phrase in the knewstuff package. > Leave it only calls > title: i18n("%1", component.downloadNewWhat) > or > title: "%1", component.downloadNewWhat You realize title: "%1", component.downloadNewWhat is just not valid QML right? > And transfer all the text to plasma packages. > NewStuff.Button { > downloadNewWhat: i18n("Get New Global Themes...") > > This will eliminate problems in other localizations. > In which not all words of the text are written in uppercase. > > For example, now "Download New Global Themes...", > Which consists of two parts of the text, from different packages. > And the translation should be "Загрузить новые темы оформеления...". > This cannot be obtained if a two-part text is compiled. > > In addition, the translation of the phrase "i18n ("Download New %1", > component.downloadNewWhat)" > in the package knewstuff does not work. The problem here is you're speaking about different things and they have different solutions. The first issue is a translation puzzle, that's bad and should be fixed. The second issue seems to be a as far as i understand your text a bug that makes things not show translated. They are not linked at all one to eachother and should not be discussed in the same bugzilla issue. Would you think it would be a good idea to close this one and then open a new issue for each of the problems, explaining in each of the issue what the problem is and just talking about one problem in each issue?
Created attachment 125213 [details] knewstuff-5.66-tr.patch I made this patch for knewstuff
Do not post patches on bugzilla, use phabricator for patches.
Created attachment 125215 [details] plasma-desktop-5.17.90-tr.patch I also made this patch for plasma-desktop-5.17.90. And one more small patch for plasma-workspace-5.17.90. Now I have no errors on my plasma. I will wait for a solution to this problem in git. Sincerely, Victor.
(In reply to Albert Astals Cid from comment #13) > Do not post patches on bugzilla, use phabricator for patches. https://phabricator.kde.org/D26544#596301
(In reply to Victor Ryzhykh from comment #15) > (In reply to Albert Astals Cid from comment #13) > > Do not post patches on bugzilla, use phabricator for patches. > > https://phabricator.kde.org/D26544#596301 In case you are not joking, that's obviously not what "use phabricator for patches means".
Apparently I misunderstood what is being discussed here. I was hoping that the problem I was writing about would be resolved. Since this is not so, I will no longer distract here with my messages.
Someone with patience please tell Victor what "use phabricator for patches" means. Meanwhile Dan did you understand the two different set of problems he brings up?
It is also worth noting that the word "new" is invariable in gender (and in number) in English, but this is not the case for other languages. For example, in many languages (Spanish, Catalan, French, Italian, etc.), the translation of "new" can be masculine or feminine gender (i. e., suitable for only one of the genders, but not for both). As far as number is concerned, I think that "download new %1" always refers to plural (themes, decorations, cursors, etc.). This should not be a problem, although I don't know if it can be for some languages.
With regards to those patches, I don't understand why we've gone for - downloadNewWhat: i18n("Plasma Styles") + downloadNewWhat: i18n("Get New Plasma Styles...") as opposed to - downloadNewWhat: i18n("Plasma Styles") + text: i18n("Get New Plasma Styles...") Then we don't need any KNS changes other than documentation and potentially deprecating downloadNewWhat. It also allows for a safe transition without breakages.
@victor With regards to phabricator, what Albert was suggesting was to create a new revision on phabricator in the same workflow as developers use for other changes. That way we keep everything in the same workflow and we see the patch in-line and can accept or request changes appropriately and track that.
(In reply to David Edmundson from comment #20) > With regards to those patches, I don't understand why we've gone for > > - downloadNewWhat: i18n("Plasma Styles") > + downloadNewWhat: i18n("Get New Plasma Styles...") > > as opposed to > > > - downloadNewWhat: i18n("Plasma Styles") > + text: i18n("Get New Plasma Styles...") > > > Then we don't need any KNS changes other than documentation and potentially > deprecating downloadNewWhat. It also allows for a safe transition without > breakages. If that works it's less disruptive and i guess better, agreed.
(In reply to David Edmundson from comment #21) > @victor > > With regards to phabricator, what Albert was suggesting was to create a new > revision on phabricator in the same workflow as developers use for other > changes. > > That way we keep everything in the same workflow and we see the patch > in-line and can accept or request changes appropriately and track that. He unsubscribed from this bug as far as i can remember.
(In reply to David Edmundson from comment #20) > With regards to those patches, I don't understand why we've gone for > > - downloadNewWhat: i18n("Plasma Styles") > + downloadNewWhat: i18n("Get New Plasma Styles...") > > as opposed to > > > - downloadNewWhat: i18n("Plasma Styles") > + text: i18n("Get New Plasma Styles...") > > > Then we don't need any KNS changes other than documentation and potentially > deprecating downloadNewWhat. It also allows for a safe transition without > breakages. That also is pretty much just reverting each specific button's text back to what it was before the new stuff went in, so... sure, that works! :) (it /is/ just a button, after all)
AFAIK old translations are still kept in the .pot files if the English translations are removed, so reverting potentially won't cause much additional translator headache.
Right, just did the diff thing - https://phabricator.kde.org/D26892 - which should work for what seems to be what is desired here
Git commit ec387280ad9d157786e97b440c8bf91d66ca83a1 by Dan Leinir Turthra Jensen. Committed on 28/01/2020 at 09:58. Pushed by leinir into branch 'Plasma/5.18'. Switch to the old-style button text for the KNSQuick buttons Summary: This fixes a series of localization issues as reported in https://bugs.kde.org/show_bug.cgi?id=415541 based on the minimum-impact method (hopefully these strings should even still be in the pot files...) Reviewers: #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: aacid, yurchor, davidedmundson, kde-i18n-doc, gikari, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D26892 M +1 -1 kcms/colors/package/contents/ui/main.qml M +1 -1 kcms/cursortheme/package/contents/ui/main.qml M +1 -1 kcms/desktoptheme/package/contents/ui/main.qml M +1 -1 kcms/icons/package/contents/ui/main.qml M +1 -1 kcms/ksplash/package/contents/ui/main.qml M +1 -1 kcms/lookandfeel/package/contents/ui/main.qml https://commits.kde.org/plasma-desktop/ec387280ad9d157786e97b440c8bf91d66ca83a1
(In reply to Dan Leinir Turthra Jensen from comment #27) > Git commit ec387280ad9d157786e97b440c8bf91d66ca83a1 by Dan Leinir Turthra > Jensen. > Committed on 28/01/2020 at 09:58. > Pushed by leinir into branch 'Plasma/5.18'. > > Switch to the old-style button text for the KNSQuick buttons > > Summary: > This fixes a series of localization issues as reported in > https://bugs.kde.org/show_bug.cgi?id=415541 based on the > minimum-impact method (hopefully these strings should even > still be in the pot files...) > > Reviewers: #plasma, davidedmundson > > Reviewed By: #plasma, davidedmundson > > Subscribers: aacid, yurchor, davidedmundson, kde-i18n-doc, gikari, > plasma-devel > > Tags: #plasma > > Differential Revision: https://phabricator.kde.org/D26892 > > M +1 -1 kcms/colors/package/contents/ui/main.qml > M +1 -1 kcms/cursortheme/package/contents/ui/main.qml > M +1 -1 kcms/desktoptheme/package/contents/ui/main.qml > M +1 -1 kcms/icons/package/contents/ui/main.qml > M +1 -1 kcms/ksplash/package/contents/ui/main.qml > M +1 -1 kcms/lookandfeel/package/contents/ui/main.qml > > https://commits.kde.org/plasma-desktop/ > ec387280ad9d157786e97b440c8bf91d66ca83a1 Эта проблема также оставалась здесь. https://cgit.kde.org/plasma-workspace.git/tree/wallpapers/image/imagepackage/contents/ui/config.qml NewStuff.Button { Layout.alignment: Qt.AlignRight configFile: "wallpaper.knsrc" downloadNewWhat: i18n("Wallpapers") viewMode: NewStuff.Page.ViewMode.Preview onChangedEntriesChanged: imageWallpaper.newStuffFinished(); } NewStuff.Button { Layout.alignment: Qt.AlignRight configFile: "wallpaper.knsrc" downloadNewWhat: i18n("Wallpapers") viewMode: NewStuff.Page.ViewMode.Preview onChangedEntriesChanged: imageWallpaper.newStuffFinished(); }
Sorry for the previous post. It is without translation. This problem also remained here. https://cgit.kde.org/plasma-workspace.git/tree/wallpapers/image/imagepackage/contents/ui/config.qml NewStuff.Button { Layout.alignment: Qt.AlignRight configFile: "wallpaper.knsrc" downloadNewWhat: i18n("Wallpapers") viewMode: NewStuff.Page.ViewMode.Preview onChangedEntriesChanged: imageWallpaper.newStuffFinished(); } NewStuff.Button { Layout.alignment: Qt.AlignRight configFile: "wallpaper.knsrc" downloadNewWhat: i18n("Wallpapers") viewMode: NewStuff.Page.ViewMode.Preview onChangedEntriesChanged: imageWallpaper.newStuffFinished(); }