@@ -49,14 +49,14 @@ Kirigami.ScrollablePage {
4949 app .tokens .textPrimary .b , 0.55 )
5050
5151 readonly property var features: [
52- { icon: " edit-find-symbolic" , title: qsTr ( " Fast content search" ),
53- body: qsTr ( " Streams matches as files are scanned — no waiting for the whole tree. " ) },
54- { icon: " code-context-symbolic" , title: qsTr ( " Regex builder" ),
55- body: qsTr ( " Test patterns against a sample with the same engine the search uses. " ) },
56- { icon: " view-list-symbolic" , title: qsTr ( " Smart filters" ),
57- body: qsTr ( " .gitignore-aware, with per-extension include + per-directory exclude globs. " ) },
58- { icon: " tools-symbolic" , title: qsTr ( " Optional AI assist" ),
59- body: qsTr ( " Plug in any OpenAI-compatible endpoint. Keys live in Secret Service. " ) }
52+ { icon: " edit-find-symbolic" , title: app . i18n ( " ui-fast- content- search" ),
53+ body: app . i18n ( " ui-streams- matches-as- files- are- scanned-a42cad " ) },
54+ { icon: " code-context-symbolic" , title: app . i18n ( " ui-regex- builder" ),
55+ body: app . i18n ( " ui-test- patterns- against-a- sample- with-ac6cae " ) },
56+ { icon: " view-list-symbolic" , title: app . i18n ( " ui-smart- filters" ),
57+ body: app . i18n ( " ui-gitignoreaware- with-perextension- include-perdirectory- exclude-0d4b24 " ) },
58+ { icon: " tools-symbolic" , title: app . i18n ( " ui-optional-ai- assist" ),
59+ body: app . i18n ( " ui-plug-in- any-openaicompatible- endpoint-keys-931293 " ) }
6060 ]
6161
6262 ColumnLayout {
@@ -82,14 +82,14 @@ Kirigami.ScrollablePage {
8282 spacing: 1
8383 Layout .alignment : Qt .AlignVCenter
8484 Controls .Label {
85- text: qsTr ( " About " )
85+ text: app . i18n ( " ui-about " )
8686 font .pixelSize : app .tokens .textHeading
8787 font .weight : app .tokens .weightBold
8888 font .family : app .tokens .sansFamily
8989 font .letterSpacing : 0
9090 }
9191 Controls .Label {
92- text: qsTr ( " Built on Rust + Qt 6 / Kirigami via cxx-qt. " )
92+ text: app . i18n ( " ui-built-on-rust-qt-6-kirigami " )
9393 font .pixelSize : app .tokens .textCaption + 1
9494 font .family : app .tokens .sansFamily
9595 opacity: 0.6
@@ -150,14 +150,14 @@ Kirigami.ScrollablePage {
150150 Layout .fillWidth : true
151151 spacing: app .tokens .spaceXS
152152 Controls .Label {
153- text: qsTr ( " Grexa " )
153+ text: app . i18n ( " app-name " )
154154 font .pixelSize : app .tokens .textDisplay
155155 font .weight : app .tokens .weightBold
156156 font .family : app .tokens .sansFamily
157157 font .letterSpacing : 0
158158 }
159159 Controls .Label {
160- text: qsTr ( " Fast Linux file content search — built on the ripgrep core. " )
160+ text: app . i18n ( " ui-fast-linux- file- content- search- built" )
161161 font .pixelSize : app .tokens .textBody + 1
162162 font .family : app .tokens .sansFamily
163163 opacity: 0.7
@@ -175,7 +175,7 @@ Kirigami.ScrollablePage {
175175 Controls .Label {
176176 id: versionLabel
177177 anchors .centerIn : parent
178- text: qsTr ( " v%1 " ).arg (Qt .application .version )
178+ text: app . i18n ( " ui-version-prefix " ).arg (Qt .application .version )
179179 font .pixelSize : app .tokens .textCaption + 1
180180 font .weight : app .tokens .weightSemibold
181181 font .family : app .tokens .monoFamily
@@ -192,7 +192,7 @@ Kirigami.ScrollablePage {
192192 Controls .Label {
193193 id: gplLabel
194194 anchors .centerIn : parent
195- text: qsTr ( " GPL v3" )
195+ text: app . i18n ( " ui-gpl- v3" )
196196 font .pixelSize : app .tokens .textCaption + 1
197197 font .family : app .tokens .sansFamily
198198 opacity: 0.85
@@ -208,7 +208,7 @@ Kirigami.ScrollablePage {
208208 Controls .Label {
209209 id: platformLabel
210210 anchors .centerIn : parent
211- text: qsTr ( " Linux · Qt 6" )
211+ text: app . i18n ( " ui-linux-qt- 6" )
212212 font .pixelSize : app .tokens .textCaption + 1
213213 font .family : app .tokens .monoFamily
214214 opacity: 0.85
@@ -237,7 +237,7 @@ Kirigami.ScrollablePage {
237237 // A 2×2 grid of icon-led capability cards. Each card
238238 // has its own subtle border and an icon avatar.
239239 Controls .Label {
240- text: qsTr ( " WHAT'S INSIDE " )
240+ text: app . i18n ( " ui-whats-inside " )
241241 font .pixelSize : 10
242242 font .weight : app .tokens .weightSemibold
243243 font .letterSpacing : 0
@@ -350,7 +350,7 @@ Kirigami.ScrollablePage {
350350 spacing: 2
351351 Controls .Label {
352352 Layout .fillWidth : true
353- text: qsTr ( " Native Linux search app built with Rust, Qt 6, Kirigami, and cxx-qt. " )
353+ text: app . i18n ( " ui-native-linux- search- app- built- with-0ff6f8 " )
354354 font .pixelSize : app .tokens .textBodyEmphasis
355355 font .weight : app .tokens .weightSemibold
356356 font .family : app .tokens .sansFamily
@@ -359,7 +359,7 @@ Kirigami.ScrollablePage {
359359 Controls .Label {
360360 Layout .fillWidth : true
361361 textFormat: Text .RichText
362- text: qsTr ( " <a href='https://github.com/visorcraft/grexa'>github.com/visorcraft/grexa</a> " )
362+ text: app . i18n ( " ui-a-hrefhttpsgithubcomvisorcraftgrexagithubcomvisorcraftgrexaa-90eda6 " )
363363 onLinkActivated : link => Qt .openUrlExternally (link)
364364 linkColor: app .tokens .accent
365365 font .pixelSize : app .tokens .textBody
@@ -375,7 +375,7 @@ Kirigami.ScrollablePage {
375375 anchors .verticalCenter : parent .verticalCenter
376376 icon .name : " go-next-symbolic"
377377 icon .color : app .tokens .textPrimary
378- text: qsTr ( " Visit Grexa " )
378+ text: app . i18n ( " ui-visit-grexa " )
379379 display: Controls .AbstractButton .TextBesideIcon
380380 onClicked: Qt .openUrlExternally (" https://github.com/visorcraft/grexa" )
381381 }
@@ -427,7 +427,7 @@ Kirigami.ScrollablePage {
427427 spacing: 2
428428 Controls .Label {
429429 Layout .fillWidth : true
430- text: qsTr ( " Official Linux port of our Grex tool for Windows. " )
430+ text: app . i18n ( " ui-official-linux- port-of- our-grex " )
431431 font .pixelSize : app .tokens .textBodyEmphasis
432432 font .weight : app .tokens .weightSemibold
433433 font .family : app .tokens .sansFamily
@@ -436,7 +436,7 @@ Kirigami.ScrollablePage {
436436 Controls .Label {
437437 Layout .fillWidth : true
438438 textFormat: Text .RichText
439- text: qsTr ( " <a href='https://github.com/visorcraft/grex'>github.com/visorcraft/grex</a> " )
439+ text: app . i18n ( " ui-a-hrefhttpsgithubcomvisorcraftgrexgithubcomvisorcraftgrexa-0e491d " )
440440 onLinkActivated : link => Qt .openUrlExternally (link)
441441 linkColor: app .tokens .accent
442442 font .pixelSize : app .tokens .textBody
@@ -452,7 +452,7 @@ Kirigami.ScrollablePage {
452452 anchors .verticalCenter : parent .verticalCenter
453453 icon .name : " go-next-symbolic"
454454 icon .color : app .tokens .textPrimary
455- text: qsTr ( " Visit Grex " )
455+ text: app . i18n ( " ui-visit-grex " )
456456 display: Controls .AbstractButton .TextBesideIcon
457457 onClicked: Qt .openUrlExternally (" https://github.com/visorcraft/grex" )
458458 }
@@ -461,22 +461,22 @@ Kirigami.ScrollablePage {
461461 // -- Licenses & Credits card --------------------------
462462 Card {
463463 Layout .fillWidth : true
464- title: qsTr ( " Licenses & Credits " )
465- subtitle: qsTr ( " Every direct + transitive crate, acknowledgments, and full license text is bundled in the built-in licenses view. " )
464+ title: app . i18n ( " ui-licenses-credits " )
465+ subtitle: app . i18n ( " ui-every- direct- transitive- crate- acknowledgments- and-2f6d3e " )
466466 RowLayout {
467467 Layout .fillWidth : true
468468 spacing: app .tokens .spaceM
469469 AppFlatButton {
470470 icon .name : " view-list-text"
471471 icon .color : app .tokens .textPrimary
472- text: qsTr ( " Licenses " )
472+ text: app . i18n ( " ui-licenses " )
473473 display: Controls .AbstractButton .TextBesideIcon
474474 onClicked: page .navigateRequested (" licenses" )
475475 }
476476 AppFlatButton {
477477 icon .name : " help-about-symbolic"
478478 icon .color : app .tokens .textPrimary
479- text: qsTr ( " Credits " )
479+ text: app . i18n ( " ui-credits " )
480480 display: Controls .AbstractButton .TextBesideIcon
481481 onClicked: page .navigateRequested (" credits" )
482482 }
@@ -490,7 +490,7 @@ Kirigami.ScrollablePage {
490490 Layout .topMargin : app .tokens .spaceL
491491 Layout .bottomMargin : app .tokens .spaceXL
492492 textFormat: Text .RichText
493- text: qsTr ( " Built by <b>VisorCraft</b> " ) + " · " + qsTr ( " Powered by Rust, Qt 6, Kirigami, and cxx-qt " )
493+ text: app . i18n ( " ui-built-by-bvisorcraftb " ) + " · " + app . i18n ( " ui-powered-by-rust-qt-6-kirigami " )
494494 font .pixelSize : app .tokens .textCaption + 1
495495 font .family : app .tokens .sansFamily
496496 opacity: 0.55
0 commit comments