Доброй ночи.
Похоже, с проблемой разбираются тут https://bugs.kde.org/show_bug.cgi?id=415541
Но есть ещё одна проблема с переводом.
Я в том баге не могу выкладывать патчи.
Мне там рекомендовали выкладывать патчи на phabricator,
но у меня нет доступа на создание темы на страницах phabricator.
Приложу патч сюда, в надежде на помощь Юрия.
Текст без перевода виден здесь https://phabricator.kde.org/D26665#594287
Сделал на всякий случай снимок, где пометил проблемные строки, только он без миниатюр для загружаемых файлов,
так как нахожусь за прокси с авторизацией, а knewstuff не работает с такой сетью.
После применения патча, эти строки выглядят так
Видна малая часть текста.
На самом деле такого текста довольно много.
15.01.2020, 21:12, "Виктор" <victorr2...@yandex.ru>:
Да уж, проблема всё множится https://cgit.kde.org/plasma-desktop.git/commit/?id=442c43b3ca98807a7b93c757ffbd090c892e0e44Поправить патчем недолго.Но всё же странная идея, составлять трансформер из фраз.Ну вызвали кнопкой действие помощью knewstuff, а текст оставить только на кнопке вызова.Ну ладно, придётся патчить.14.01.2020, 20:30, "Виктор" <victorr2...@yandex.ru>:Похоже, проблема не исправляется. :(И даже множится.Сегодня повторилась здесь https://phabricator.kde.org/D26665Я там написал немного с картинками и патчами.Может обратят на неё более пристальное внимание.25.12.2019, 04:32, "Alexander Potashev" <aspotas...@gmail.com>:Спасибо, Виктор, что напомнили. Накидал жалоб:
https://bugs.kde.org/show_bug.cgi?id=415541
https://bugs.kde.org/show_bug.cgi?id=415539
ср, 25 дек. 2019 г. в 03:46, Виктор <victorr2...@yandex.ru>:
Оказывается, ранее в файле
/plasma-desktop.git/kcms/lookandfeel/package/contents/ui/main.qml
был текст
QtControls.Button {
text: i18n("Get New Global Themes...")
icon.name: "get-hot-new-stuff"
onClicked: kcm.getNewStuff(this);
visible: KAuthorized.authorize("ghns")
А теперь его заменили на
NewStuff.Button {
downloadNewWhat: i18n("Global Themes")
configFile: "lookandfeel.knsrc"
viewMode: NewStuff.Page.ViewMode.Preview
onChangedEntriesChanged: kcm.reloadModel();
24.12.2019, 14:22, "Yuri Chornoivan" <yurc...@ukr.net>:
24 грудня 2019, 12:00:49, від "Виктор" <victorr2...@yandex.ru>:
Добрый день.
Пишу просто для информации, какие иногда бывают ошибки.
Полагаю, что это просто временное проявление на стадии разработки.
А по существу, то текст на кнопке в текущий момент состоит из двух разных строк.
Первая часть текста без перевода «Download New», и откуда он идёт, я не понял.
Вторая часть текста, это перевод строки
i18n("Global Theme")
из файла https://cgit.kde.org/plasma-desktop.git/tree/kcms/lookandfeel/kcm.cpp
пакета plasma-desktop.
Проверял, меняя перевод этой строки в файле kcm_lookandfeel.po, и перевод строки на кнопке менялся.
Думал, может это я что-то не так сделал, но проверил в Neon, там так же.
Ошибка вылезла вчера.
Здесь есть картинка, где отметил стрелкой кнопу со странной строкой.
https://forum.rosalinux.ru/viewtopic.php?p=103248#p103248
Добрый день,
После разделения строк на кнопку и заголовок окна переведенным оказалось не всё (строка 606):
https://websvn.kde.org/trunk/l10n-kf5/ru/messages/frameworks/knewstuff5.po?revision=1558574&view=markup
Это может объяснить то, что заголовок не переведен. Проблема с переводом текста на кнопке связана или с тем, что он слишком «свеж», или с тем, что снова кто-то не использует i18nd().
С уважением,
Юрий
_______________________________________________
kde-russian mailing list
kde-russian@lists.kde.ru
https://lists.kde.ru/mailman/listinfo/kde-russian
--
С Уважением,
Виктор
victorr2...@yandex.ru
_______________________________________________
kde-russian mailing list
kde-russian@lists.kde.ru
https://lists.kde.ru/mailman/listinfo/kde-russian--
Alexander Potashev
_______________________________________________
kde-russian mailing list
kde-russian@lists.kde.ru
https://lists.kde.ru/mailman/listinfo/kde-russian--
С Уважением,Виктор,_______________________________________________
kde-russian mailing list
kde-russian@lists.kde.ru
https://lists.kde.ru/mailman/listinfo/kde-russian--
С Уважением,Виктор
--
С Уважением,
С Уважением,
Виктор
victorr2...@yandex.ru
diff -urN knewstuff-5.66.0/src/qtquick/qml/Button.qml knewstuff-5.66.0-patched/src/qtquick/qml/Button.qml --- knewstuff-5.66.0/src/qtquick/qml/Button.qml 2020-01-29 07:33:55.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/Button.qml 2020-01-30 02:29:17.306315694 +0300 @@ -51,12 +51,12 @@ /** * Set the text that should appear on the button. Will be set as - * i18n("Download New %1..."). + * i18nd("knewstuff5", "Download New %1..."). * * @note For the sake of consistency, you should NOT override the text propety, just set this one */ - property string downloadNewWhat: i18nc("Used to contruct the button's label (which will become Download New 'this value'...)", "Stuff") - text: i18n("Download New %1...", downloadNewWhat) + property string downloadNewWhat: i18ndc("knewstuff5", "Used to contruct the button's label (which will become Download New 'this value'...)", "Stuff") + text: i18nd("knewstuff5", "Download New %1...", downloadNewWhat) /** * The default view mode of the dialog spawned by this button. This should be diff -urN knewstuff-5.66.0/src/qtquick/qml/Dialog.qml knewstuff-5.66.0-patched/src/qtquick/qml/Dialog.qml --- knewstuff-5.66.0/src/qtquick/qml/Dialog.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/Dialog.qml 2020-01-29 22:40:20.816227401 +0300 @@ -46,13 +46,13 @@ /** * Set the text that should appear as the dialog's title. Will be set as - * i18n("Download New %1"). + * i18nd("knewstuff5", "Download New %1"). * * @default The name defined by your knsrc config file * @note For the sake of consistency, you should NOT override the title property, just set this one */ property string downloadNewWhat: engine.name - 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") + title: component.downloadNewWhat.length > 0 ? i18ndc("knewstuff5", "The dialog title when we know which type of stuff is being requested", "Download New %1", component.downloadNewWhat) : i18ndc("knewstuff5", "A placeholder title used in the dialog when there is no better title available", "Download New Stuff") /** * The engine which handles the content in this dialog @@ -97,7 +97,7 @@ QtLayouts.Layout.fillWidth: true QtControls.Button { action: QtControls.Action { - text: i18n("Close") + text: i18nd("knewstuff5", "Close") shortcut: "esc" onTriggered: { component.close(); diff -urN knewstuff-5.66.0/src/qtquick/qml/DownloadItemsSheet.qml knewstuff-5.66.0-patched/src/qtquick/qml/DownloadItemsSheet.qml --- knewstuff-5.66.0/src/qtquick/qml/DownloadItemsSheet.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/DownloadItemsSheet.qml 2020-01-29 22:41:09.289563204 +0300 @@ -46,13 +46,13 @@ spacing: Kirigami.Units.largeSpacing Kirigami.Heading { QtLayouts.Layout.fillWidth: true - text: i18n("Pick Your Installation Option") + text: i18nd("knewstuff5", "Pick Your Installation Option") elide: Text.ElideRight } QtControls.Label { QtLayouts.Layout.fillWidth: true QtLayouts.Layout.margins: Kirigami.Units.largeSpacing - text: i18n("Please select the option you wish to install from the list of downloadable items below. If it is unclear which you should chose out of the available options, please contact the author of this item and ask that they clarify this through the naming of the items.") + text: i18nd("knewstuff5", "Please select the option you wish to install from the list of downloadable items below. If it is unclear which you should chose out of the available options, please contact the author of this item and ask that they clarify this through the naming of the items.") wrapMode: Text.Wrap } } @@ -69,7 +69,7 @@ text: modelData.name icon: "download" QtControls.ToolButton { - text: i18n("Install") + text: i18nd("knewstuff5", "Install") icon.name: "install" QtLayouts.Layout.alignment: Qt.AlignRight onClicked: { diff -urN knewstuff-5.66.0/src/qtquick/qml/EntryDetails.qml knewstuff-5.66.0-patched/src/qtquick/qml/EntryDetails.qml --- knewstuff-5.66.0/src/qtquick/qml/EntryDetails.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/EntryDetails.qml 2020-01-29 22:41:41.596231520 +0300 @@ -60,7 +60,7 @@ id: downloadItemsSheet onItemPicked: { var entryName = newStuffModel.data(newStuffModel.index(entryId, 0), NewStuff.ItemsModel.NameRole); - applicationWindow().showPassiveNotification(i18nc("A passive notification shown when installation of an item is initiated", "Installing %1 from %2", downloadName, entryName), 1500); + applicationWindow().showPassiveNotification(i18ndc("knewstuff5", "A passive notification shown when installation of an item is initiated", "Installing %1 from %2", downloadName, entryName), 1500); newStuffModel.installItem(entryId, downloadItemId); } } @@ -75,11 +75,11 @@ || status == NewStuff.ItemsModel.DeletedStatus) { statusCard.message = ""; } else if (status == NewStuff.ItemsModel.InstallingStatus) { - statusCard.message = i18nc("Status message to be shown when the entry is in the process of being installed", "Currently installing the item %1 by %2. Please wait...", component.name, entryAuthor.name); + statusCard.message = i18ndc("knewstuff5", "Status message to be shown when the entry is in the process of being installed", "Currently installing the item %1 by %2. Please wait...", component.name, entryAuthor.name); } else if (status == NewStuff.ItemsModel.UpdatingStatus) { - statusCard.message = i18nc("Status message to be shown when the entry is in the process of being updated", "Currently updating the item %1 by %2. Please wait...", component.name, entryAuthor.name); + statusCard.message = i18ndc("knewstuff5", "Status message to be shown when the entry is in the process of being updated", "Currently updating the item %1 by %2. Please wait...", component.name, entryAuthor.name); } else { - statusCard.message = i18nc("Status message which should only be shown when the entry has been given some unknown or invalid status.", "This item is currently in an invalid or unknown state. <a href=\"https://bugs.kde.org/enter_bug.cgi?product=frameworks-knewstuff\">Please report this to the KDE Community in a bug report</a>."); + statusCard.message = i18ndc("knewstuff5", "Status message which should only be shown when the entry has been given some unknown or invalid status.", "This item is currently in an invalid or unknown state. <a href=\"https://bugs.kde.org/enter_bug.cgi?product=frameworks-knewstuff\">Please report this to the KDE Community in a bug report</a>."); } } } @@ -90,11 +90,11 @@ providerId: component.providerId username: author.name } - title: i18nc("Combined title for the entry details page made of the name of the entry, and the author's name", "%1 by %2", component.name, entryAuthor.name) + title: i18ndc("knewstuff5", "Combined title for the entry details page made of the name of the entry, and the author's name", "%1 by %2", component.name, entryAuthor.name) actions { contextualActions: [ Kirigami.Action { - text: component.downloadCount == 1 ? i18nc("Request installation of this item, available when there is exactly one downloadable item", "Install") : i18nc("Show installation options, where there is more than one downloadable item", "Install..."); + text: component.downloadCount == 1 ? i18ndc("knewstuff5", "Request installation of this item, available when there is exactly one downloadable item", "Install") : i18ndc("knewstuff5", "Show installation options, where there is more than one downloadable item", "Install..."); icon.name: "install" onTriggered: { if (component.downloadCount == 1) { @@ -109,14 +109,14 @@ visible: enabled; }, Kirigami.Action { - text: i18nc("Request updating of this item", "Update"); + text: i18ndc("knewstuff5", "Request updating of this item", "Update"); icon.name: "update" onTriggered: { newStuffModel.installItem(component.index); } enabled: component.status == NewStuff.ItemsModel.UpdateableStatus; visible: enabled; }, Kirigami.Action { - text: i18nc("Request uninstallation of this item", "Uninstall"); + text: i18ndc("knewstuff5", "Request uninstallation of this item", "Uninstall"); icon.name: "uninstall" onTriggered: { newStuffModel.uninstallItem(component.index); } enabled: component.status == NewStuff.ItemsModel.InstalledStatus @@ -172,24 +172,24 @@ Kirigami.FormLayout { QtLayouts.Layout.fillWidth: true Kirigami.LinkButton { - Kirigami.FormData.label: i18n("Comments and Reviews:") + Kirigami.FormData.label: i18nd("knewstuff5", "Comments and Reviews:") enabled: component.commentsCount > 0 - text: i18nc("A link which, when clicked, opens a new sub page with comments (comments with or without ratings) for this entry", "%1 Reviews and Comments", component.commentsCount) + text: i18ndc("knewstuff5", "A link which, when clicked, opens a new sub page with comments (comments with or without ratings) for this entry", "%1 Reviews and Comments", component.commentsCount) onClicked: pageStack.push(commentsPage) } Private.Rating { id: ratingsItem - Kirigami.FormData.label: i18n("Rating:") + Kirigami.FormData.label: i18nd("knewstuff5", "Rating:") rating: Math.floor(component.rating / 10) } Kirigami.LinkButton { - Kirigami.FormData.label: i18n("Homepage:") - text: i18nc("A link which, when clicked, opens the website associated with the entry (this could be either one specific to the project, the author's homepage, or any other website they have chosen for the purpose)", "Open the homepage for %1", component.name) + Kirigami.FormData.label: i18nd("knewstuff5", "Homepage:") + text: i18ndc("knewstuff5", "A link which, when clicked, opens the website associated with the entry (this could be either one specific to the project, the author's homepage, or any other website they have chosen for the purpose)", "Open the homepage for %1", component.name) onClicked: Qt.openUrlExternally(component.homepage) } Kirigami.LinkButton { - Kirigami.FormData.label: i18n("How To Donate:") - text: i18nc("A link which, when clicked, opens a website with information on donation in support of the entry", "Find out how to donate to this project") + Kirigami.FormData.label: i18nd("knewstuff5", "How To Donate:") + text: i18ndc("knewstuff5", "A link which, when clicked, opens a website with information on donation in support of the entry", "Find out how to donate to this project") onClicked: Qt.openUrlExternally(component.donationLink) } } diff -urN knewstuff-5.66.0/src/qtquick/qml/NewStuffItem.qml knewstuff-5.66.0-patched/src/qtquick/qml/NewStuffItem.qml --- knewstuff-5.66.0/src/qtquick/qml/NewStuffItem.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/NewStuffItem.qml 2020-01-29 22:42:12.589566441 +0300 @@ -34,21 +34,21 @@ enabled: true; actions: [ Kirigami.Action { - text: i18nc("Request installation of this item", "Install"); + text: i18ndc("knewstuff5", "Request installation of this item", "Install"); iconName: "list-add" onTriggered: { listModel.installItem(model.index, 1); } enabled: model.status == NewStuff.ItemsModel.DownloadableStatus || model.status == NewStuff.ItemsModel.DeletedStatus; visible: enabled; }, Kirigami.Action { - text: i18nc("Request updating of this item", "Update"); + text: i18ndc("knewstuff5", "Request updating of this item", "Update"); iconName: "refresh" onTriggered: { listModel.installItem(model.index, 1); } enabled: model.status == NewStuff.ItemsModel.UpdateableStatus; visible: enabled; }, Kirigami.Action { - text: i18nc("Request uninstallation of this item", "Uninstall"); + text: i18ndc("knewstuff5", "Request uninstallation of this item", "Uninstall"); iconName: "list-remove" onTriggered: { listModel.uninstallItem(model.index); } enabled: model.status == NewStuff.ItemsModel.InstalledStatus diff -urN knewstuff-5.66.0/src/qtquick/qml/NewStuffList.qml knewstuff-5.66.0-patched/src/qtquick/qml/NewStuffList.qml --- knewstuff-5.66.0/src/qtquick/qml/NewStuffList.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/NewStuffList.qml 2020-01-29 22:42:33.979567530 +0300 @@ -80,9 +80,9 @@ QtLayouts.Layout.fillWidth: true model: ListModel {} Component.onCompleted: { - filterCombo.model.append({ text: i18nc("List option which will set the filter to show everything", "Show Everything") }); - filterCombo.model.append({ text: i18nc("List option which will set the filter so only installed items are shown", "Installed Only") }); - filterCombo.model.append({ text: i18nc("List option which will set the filter so only installed items with updates available are shown", "Updateable Only") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter to show everything", "Show Everything") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter so only installed items are shown", "Installed Only") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter so only installed items with updates available are shown", "Updateable Only") }); filterCombo.currentIndex = newStuffEngine.filter; } onCurrentIndexChanged: { @@ -94,10 +94,10 @@ QtLayouts.Layout.fillWidth: true model: ListModel { } Component.onCompleted: { - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on when items were most recently updated", "Show most recent first") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to be alphabetical based on the name", "Sort alphabetically") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on user ratings", "Show highest rated first") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on number of downloads", "Show most downloaded first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on when items were most recently updated", "Show most recent first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to be alphabetical based on the name", "Sort alphabetically") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on user ratings", "Show highest rated first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on number of downloads", "Show most downloaded first") }); sortCombo.currentIndex = newStuffEngine.sortOrder; } onCurrentIndexChanged: { diff -urN knewstuff-5.66.0/src/qtquick/qml/Page.qml knewstuff-5.66.0-patched/src/qtquick/qml/Page.qml --- knewstuff-5.66.0/src/qtquick/qml/Page.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/Page.qml 2020-01-29 22:42:57.392902059 +0300 @@ -74,8 +74,8 @@ */ signal errorMessage(string message); - property string uninstallLabel: i18nc("Request uninstallation of this item", "Uninstall"); - property string useLabel: i18nc("If a knsrc file defines an adoption command, the option to run this command and 'use' an item becomes available. This is the text for an action to do so.", "Use"); + property string uninstallLabel: i18ndc("knewstuff5", "Request uninstallation of this item", "Uninstall"); + property string useLabel: i18ndc("knewstuff5", "If a knsrc file defines an adoption command, the option to run this command and 'use' an item becomes available. This is the text for an action to do so.", "Use"); property int viewMode: Page.ViewMode.Tiles enum ViewMode { @@ -143,7 +143,7 @@ } Kirigami.ActionTextField { id: searchField - placeholderText: i18n("Search...") + placeholderText: i18nd("knewstuff5", "Search...") focusSequence: "Ctrl+F" rightActions: [ Kirigami.Action { @@ -176,9 +176,9 @@ QtLayouts.Layout.fillWidth: true model: ListModel {} Component.onCompleted: { - filterCombo.model.append({ text: i18nc("List option which will set the filter to show everything", "Show Everything") }); - filterCombo.model.append({ text: i18nc("List option which will set the filter so only installed items are shown", "Installed Only") }); - filterCombo.model.append({ text: i18nc("List option which will set the filter so only installed items with updates available are shown", "Updateable Only") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter to show everything", "Show Everything") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter so only installed items are shown", "Installed Only") }); + filterCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the filter so only installed items with updates available are shown", "Updateable Only") }); filterCombo.currentIndex = newStuffEngine.filter; } onCurrentIndexChanged: { @@ -190,10 +190,10 @@ QtLayouts.Layout.fillWidth: true model: ListModel { } Component.onCompleted: { - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on when items were most recently updated", "Show most recent first") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to be alphabetical based on the name", "Sort alphabetically") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on user ratings", "Show highest rated first") }); - sortCombo.model.append({ text: i18nc("List option which will set the sort order to based on number of downloads", "Show most downloaded first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on when items were most recently updated", "Show most recent first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to be alphabetical based on the name", "Sort alphabetically") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on user ratings", "Show highest rated first") }); + sortCombo.model.append({ text: i18ndc("knewstuff5", "List option which will set the sort order to based on number of downloads", "Show most downloaded first") }); sortCombo.currentIndex = newStuffEngine.sortOrder; } onCurrentIndexChanged: { @@ -240,7 +240,7 @@ leftMargin: Kirigami.Units.largeSpacing bottom: parent.bottom } - text: i18nc("A text shown beside a busy indicator suggesting that data is being fetched", "Loading more...") + text: i18ndc("knewstuff5", "A text shown beside a busy indicator suggesting that data is being fetched", "Loading more...") verticalAlignment: Text.AlignVCenter } } diff -urN knewstuff-5.66.0/src/qtquick/qml/private/EntryCommentDelegate.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/EntryCommentDelegate.qml --- knewstuff-5.66.0/src/qtquick/qml/private/EntryCommentDelegate.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/EntryCommentDelegate.qml 2020-01-30 02:02:54.916234224 +0300 @@ -122,7 +122,7 @@ QtLayouts.Layout.leftMargin: Kirigami.Units.largeSpacing Kirigami.Heading { id: titleLabel - text: ((component.title === "") ? i18nc("Placeholder title for when a comment has no subject, but does have a rating", "<i>(no title)</i>") : component.title) + text: ((component.title === "") ? i18ndc("knewstuff5", "Placeholder title for when a comment has no subject, but does have a rating", "<i>(no title)</i>") : component.title) level: 4 QtLayouts.Layout.fillWidth: true } @@ -153,7 +153,7 @@ id: authorLabel visible: (url !== "") url: (component.commentAuthor.homepage === "") ? component.commentAuthor.profilepage : component.commentAuthor.homepage - text: (component.author === component.entryAuthorId) ? i18nc("The author label in case the comment was written by the author of the content entry the comment is attached to", "%1 <i>(author)</i>", component.commentAuthor.name) : component.commentAuthor.name + text: (component.author === component.entryAuthorId) ? i18ndc("knewstuff5", "The author label in case the comment was written by the author of the content entry the comment is attached to", "%1 <i>(author)</i>", component.commentAuthor.name) : component.commentAuthor.name } QtControls.Label { visible: !authorLabel.visible diff -urN knewstuff-5.66.0/src/qtquick/qml/private/EntryCommentsPage.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/EntryCommentsPage.qml --- knewstuff-5.66.0/src/qtquick/qml/private/EntryCommentsPage.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/EntryCommentsPage.qml 2020-01-30 02:03:36.529569700 +0300 @@ -38,23 +38,23 @@ property string entryProviderId property alias entryIndex: commentsModel.entryIndex property alias itemsModel: commentsModel.itemsModel - title: i18nc("Title for the page containing a view of the comments for the entry", "Comments and Reviews for %1", component.entryName) + title: i18ndc("knewstuff5", "Title for the page containing a view of the comments for the entry", "Comments and Reviews for %1", component.entryName) actions { contextualActions: [ Kirigami.Action { - text: i18nc("Title for the item which is checked when all comments should be shown", "Show All Comments") + text: i18ndc("knewstuff5", "Title for the item which is checked when all comments should be shown", "Show All Comments") checked: commentsModel.includedComments == NewStuff.CommentsModel.IncludeAllComments checkable: true onTriggered: commentsModel.includedComments = NewStuff.CommentsModel.IncludeAllComments }, Kirigami.Action { - text: i18nc("Title for the item which is checked when only comments which are reviews should be shown", "Show Reviews Only") + text: i18ndc("knewstuff5", "Title for the item which is checked when only comments which are reviews should be shown", "Show Reviews Only") checked: commentsModel.includedComments == NewStuff.CommentsModel.IncludeOnlyReviews checkable: true onTriggered: commentsModel.includedComments = NewStuff.CommentsModel.IncludeOnlyReviews }, Kirigami.Action { - text: i18nc("Title for the item which is checked when comments which are reviews, and their children should be shown", "Show Reviews and Replies") + text: i18ndc("knewstuff5", "Title for the item which is checked when comments which are reviews, and their children should be shown", "Show Reviews and Replies") checked: commentsModel.includedComments == NewStuff.CommentsModel.IncludeReviewsAndReplies checkable: true onTriggered: commentsModel.includedComments = NewStuff.CommentsModel.IncludeReviewsAndReplies diff -urN knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/BigPreviewDelegate.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/BigPreviewDelegate.qml --- knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/BigPreviewDelegate.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/BigPreviewDelegate.qml 2020-01-30 02:05:15.156241444 +0300 @@ -61,7 +61,7 @@ visible: enabled }, Kirigami.Action { - text: model.downloadLinks.length === 1 ? i18nc("Request installation of this item, available when there is exactly one downloadable item", "Install") : i18nc("Show installation options, where there is more than one downloadable item", "Install..."); + text: model.downloadLinks.length === 1 ? i18ndc("knewstuff5", "Request installation of this item, available when there is exactly one downloadable item", "Install") : i18ndc("knewstuff5", "Show installation options, where there is more than one downloadable item", "Install..."); iconName: "install" onTriggered: { if (model.downloadLinks.length === 1) { @@ -76,7 +76,7 @@ visible: enabled; }, Kirigami.Action { - text: i18nc("Request updating of this item", "Update"); + text: i18ndc("knewstuff5", "Request updating of this item", "Update"); iconName: "update" onTriggered: { newStuffModel.installItem(model.index); } enabled: model.status == NewStuff.ItemsModel.UpdateableStatus; @@ -152,7 +152,7 @@ QtLayouts.Layout.fillWidth: true level: 5 elide: Text.ElideRight - text: i18nc("The number of times the item has been downloaded", "%1 downloads", model.downloadCount) + text: i18ndc("knewstuff5", "The number of times the item has been downloaded", "%1 downloads", model.downloadCount) } Kirigami.Heading { QtLayouts.Layout.fillWidth: true @@ -165,7 +165,7 @@ elide: Text.ElideRight level: 4 textFormat: Text.StyledText - text: i18nc("Subheading for the tile view, located immediately underneath the name of the item", "By <i>%1</i>", model.author.name) + text: i18ndc("knewstuff5", "Subheading for the tile view, located immediately underneath the name of the item", "By <i>%1</i>", model.author.name) } QtControls.Label { QtLayouts.Layout.fillWidth: true diff -urN knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/FeedbackOverlay.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/FeedbackOverlay.qml --- knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/FeedbackOverlay.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/FeedbackOverlay.qml 2020-01-30 02:05:46.406243053 +0300 @@ -56,11 +56,11 @@ || status == NewStuff.ItemsModel.DeletedStatus) { statusLabel.text = ""; } else if (status == NewStuff.ItemsModel.InstallingStatus) { - statusLabel.text = i18nc("Label for the busy indicator showing an item is being installed", "Installing..."); + statusLabel.text = i18ndc("knewstuff5", "Label for the busy indicator showing an item is being installed", "Installing..."); } else if (status == NewStuff.ItemsModel.UpdatingStatus) { - statusLabel.text = i18nc("Label for the busy indicator showing an item is in the process of being updated", "Updating..."); + statusLabel.text = i18ndc("knewstuff5", "Label for the busy indicator showing an item is in the process of being updated", "Updating..."); } else { - statusLabel.text = i18nc("Label for the busy indicator which should only be shown when the entry has been given some unknown or invalid status.", "Invalid or unknown state. <a href=\"https://bugs.kde.org/enter_bug.cgi?product=frameworks-knewstuff\">Please report this to the KDE Community in a bug report</a>."); + statusLabel.text = i18ndc("knewstuff5", "Label for the busy indicator which should only be shown when the entry has been given some unknown or invalid status.", "Invalid or unknown state. <a href=\"https://bugs.kde.org/enter_bug.cgi?product=frameworks-knewstuff\">Please report this to the KDE Community in a bug report</a>."); } } } @@ -73,6 +73,6 @@ } horizontalAlignment: Text.AlignHCenter // TODO: This is where we'd want to put the download progress and cancel button as well - text: i18nc("Label for the busy indicator showing an item is installing", "Installing..."); + text: i18ndc("knewstuff5", "Label for the busy indicator showing an item is installing", "Installing..."); } } diff -urN knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/ThumbDelegate.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/ThumbDelegate.qml --- knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/ThumbDelegate.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/ThumbDelegate.qml 2020-01-30 02:06:15.009577859 +0300 @@ -54,7 +54,7 @@ visible: enabled }, Kirigami.Action { - text: model.downloadLinks.length === 1 ? i18nc("Request installation of this item, available when there is exactly one downloadable item", "Install") : i18nc("Show installation options, where there is more than one downloadable item", "Install..."); + text: model.downloadLinks.length === 1 ? i18ndc("knewstuff5", "Request installation of this item, available when there is exactly one downloadable item", "Install") : i18ndc("knewstuff5", "Show installation options, where there is more than one downloadable item", "Install..."); iconName: "install" onTriggered: { if (model.downloadLinks.length === 1) { @@ -69,7 +69,7 @@ visible: enabled; }, Kirigami.Action { - text: i18nc("Request updating of this item", "Update"); + text: i18ndc("knewstuff5", "Request updating of this item", "Update"); iconName: "update" onTriggered: { newStuffModel.installItem(model.index); } enabled: model.status == NewStuff.ItemsModel.UpdateableStatus; diff -urN knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/TileDelegate.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/TileDelegate.qml --- knewstuff-5.66.0/src/qtquick/qml/private/entrygriddelegates/TileDelegate.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/entrygriddelegates/TileDelegate.qml 2020-01-30 02:06:44.739579390 +0300 @@ -62,7 +62,7 @@ visible: enabled }, Kirigami.Action { - text: model.downloadLinks.length === 1 ? i18nc("Request installation of this item, available when there is exactly one downloadable item", "Install") : i18nc("Show installation options, where there is more than one downloadable item", "Install..."); + text: model.downloadLinks.length === 1 ? i18ndc("knewstuff5", "Request installation of this item, available when there is exactly one downloadable item", "Install") : i18ndc("knewstuff5", "Show installation options, where there is more than one downloadable item", "Install..."); iconName: "install" onTriggered: { if (model.downloadLinks.length === 1) { @@ -77,7 +77,7 @@ visible: enabled; }, Kirigami.Action { - text: i18nc("Request updating of this item", "Update"); + text: i18ndc("knewstuff5", "Request updating of this item", "Update"); iconName: "update" onTriggered: { newStuffModel.installItem(model.index); } enabled: model.status == NewStuff.ItemsModel.UpdateableStatus; @@ -91,7 +91,7 @@ visible: enabled; }, Kirigami.Action { - text: i18nc("Show a page with details for this item", "Details...") + text: i18ndc("knewstuff5", "Show a page with details for this item", "Details...") iconName: "documentinfo" onTriggered: { component.showDetails(); } } @@ -177,7 +177,7 @@ elide: Text.ElideRight level: 4 textFormat: Text.StyledText - text: i18nc("Subheading for the tile view, located immediately underneath the name of the item", "By <i>%1</i>", model.author.name) + text: i18ndc("knewstuff5", "Subheading for the tile view, located immediately underneath the name of the item", "By <i>%1</i>", model.author.name) } QtControls.Label { QtLayouts.Layout.fillWidth: true @@ -195,7 +195,7 @@ QtLayouts.Layout.fillWidth: true level: 5 elide: Text.ElideRight - text: i18nc("The number of times the item has been downloaded", "%1 downloads", model.downloadCount) + text: i18ndc("knewstuff5", "The number of times the item has been downloaded", "%1 downloads", model.downloadCount) } } FeedbackOverlay { diff -urN knewstuff-5.66.0/src/qtquick/qml/private/GridTileDelegate.qml knewstuff-5.66.0-patched/src/qtquick/qml/private/GridTileDelegate.qml --- knewstuff-5.66.0/src/qtquick/qml/private/GridTileDelegate.qml 2020-01-04 13:11:01.000000000 +0300 +++ knewstuff-5.66.0-patched/src/qtquick/qml/private/GridTileDelegate.qml 2020-01-30 02:04:28.416239038 +0300 @@ -110,7 +110,7 @@ anchors.centerIn: parent width: Kirigami.Units.iconSizes.large height: width - source: delegate.text === i18n("None") ? "edit-none" : "view-preview" + source: delegate.text === i18nd("knewstuff5", "None") ? "edit-none" : "view-preview" } }
_______________________________________________ kde-russian mailing list kde-russian@lists.kde.ru https://lists.kde.ru/mailman/listinfo/kde-russian