From 4faf3bdf35f0d9cec43f776c8da868e0e8c3a3df Mon Sep 17 00:00:00 2001 From: softsimon Date: Mon, 28 Jul 2025 17:53:11 +0700 Subject: [PATCH] fix i18n duplicates --- .../accelerate-fee-graph.component.ts | 2 +- .../pool-ranking/pool-ranking.component.ts | 2 +- .../push-transaction.component.ts | 2 +- .../transaction/transaction-raw.component.ts | 2 +- .../nodes-channels-map.component.ts | 2 +- .../nodes-networks-chart.component.ts | 2 +- .../lightning-statistics-chart.component.ts | 2 +- .../address-type/address-type.component.html | 2 +- .../confirmations.component.html | 2 +- frontend/src/locale/duplicates.sh | 12 ++ frontend/src/locale/messages.xlf | 163 +++++++----------- 11 files changed, 84 insertions(+), 109 deletions(-) create mode 100755 frontend/src/locale/duplicates.sh diff --git a/frontend/src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts b/frontend/src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts index 5890e6582..e1c868cb4 100644 --- a/frontend/src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts +++ b/frontend/src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts @@ -88,7 +88,7 @@ export class AccelerateFeeGraphComponent implements OnInit, AfterViewInit, OnCha rate: option.rate, height: lastHeight, class: 'max', - label: this.showEstimate ? $localize`maximum` : $localize`accelerated`, + label: this.showEstimate ? $localize`maximum` : $localize`:@@b484583f0ce10f3341ab36750d05271d9d22c9a1:Accelerated`.toLowerCase(), active: option.index === this.maxRateIndex, rateIndex: option.index, fee: option.fee, diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.ts b/frontend/src/app/components/pool-ranking/pool-ranking.component.ts index 971fdd382..9dd50c6ca 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.ts +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.ts @@ -56,7 +56,7 @@ export class PoolRankingComponent implements OnInit { if (this.widget) { this.miningWindowPreference = '1w'; } else { - this.seoService.setTitle($localize`:@@mining.mining-pools:Mining Pools`); + this.seoService.setTitle($localize`:@@fe5317c6c60dd7e0e86f04d22f566f67cf04d404:Mining Pools`); this.seoService.setDescription($localize`:@@meta.description.bitcoin.graphs.pool-ranking:See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe.`); this.miningWindowPreference = this.miningService.getDefaultTimespan('24h'); } diff --git a/frontend/src/app/components/push-transaction/push-transaction.component.ts b/frontend/src/app/components/push-transaction/push-transaction.component.ts index 221333edb..6ef2cf587 100644 --- a/frontend/src/app/components/push-transaction/push-transaction.component.ts +++ b/frontend/src/app/components/push-transaction/push-transaction.component.ts @@ -54,7 +54,7 @@ export class PushTransactionComponent implements OnInit { this.stateService.networkChanged$.subscribe((network) => this.network = network); - this.seoService.setTitle($localize`:@@meta.title.push-tx:Broadcast Transaction`); + this.seoService.setTitle($localize`:@@f13cbfe8cfc955918e9f64466d2cafddb4760d9a:Broadcast Transaction`); this.seoService.setDescription($localize`:@@meta.description.push-tx:Broadcast a transaction to the ${this.stateService.network==='liquid'||this.stateService.network==='liquidtestnet'?'Liquid':'Bitcoin'}${seoDescriptionNetwork(this.stateService.network)} network using the transaction's hash.`); this.ogService.setManualOgImage('tx-push.jpg'); diff --git a/frontend/src/app/components/transaction/transaction-raw.component.ts b/frontend/src/app/components/transaction/transaction-raw.component.ts index 6d0f234d8..dd41639c6 100644 --- a/frontend/src/app/components/transaction/transaction-raw.component.ts +++ b/frontend/src/app/components/transaction/transaction-raw.component.ts @@ -86,7 +86,7 @@ export class TransactionRawComponent implements OnInit, OnDestroy { ) {} ngOnInit(): void { - this.seoService.setTitle($localize`:@@meta.title.preview-tx:Preview Transaction`); + this.seoService.setTitle($localize`:@@d7f92e6fe26fba6fff568cbdae5db4a5c8c6a55c:Preview Transaction`); this.seoService.setDescription($localize`:@@meta.description.preview-tx:Preview a transaction to the Bitcoin${seoDescriptionNetwork(this.stateService.network)} network using the transaction's raw hex data.`); this.websocketService.want(['blocks', 'mempool-blocks']); this.pushTxForm = this.formBuilder.group({ diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts index a1efdc144..35d003553 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts @@ -70,7 +70,7 @@ export class NodesChannelsMap implements OnInit { if (this.style === 'graph') { this.center = [0, 5]; - this.seoService.setTitle($localize`Lightning Nodes Channels World Map`); + this.seoService.setTitle($localize`:@@b482ceceb39c7a045cb2ab2c64f7091d21e63d44:Lightning Nodes Channels World Map`); this.seoService.setDescription($localize`:@@meta.description.lightning.node-map:See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details.`); } diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts index a5d0d076a..487dd8920 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -130,7 +130,7 @@ export class NodesNetworksChartComponent implements OnInit, OnChanges { color: 'grey', fontSize: 15 }, - text: $localize`Indexing in progress`, + text: $localize`:@@af1176facd00a0580509fb2900ab0cf7f9b39ae7:Indexing in progress`, left: 'center', top: 'center', }; diff --git a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts index 08523088c..5944e51d8 100644 --- a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts +++ b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -120,7 +120,7 @@ export class LightningStatisticsChartComponent implements OnInit, OnChanges { color: 'grey', fontSize: 15 }, - text: $localize`Indexing in progress`, + text: $localize`:@@af1176facd00a0580509fb2900ab0cf7f9b39ae7:Indexing in progress`, left: 'center', top: 'center' }; diff --git a/frontend/src/app/shared/components/address-type/address-type.component.html b/frontend/src/app/shared/components/address-type/address-type.component.html index f5cbd5916..94aa507ac 100644 --- a/frontend/src/app/shared/components/address-type/address-type.component.html +++ b/frontend/src/app/shared/components/address-type/address-type.component.html @@ -24,7 +24,7 @@ anchor } @case (null) { - unknown + Unknown } @default { {{ address.type.toUpperCase() }} diff --git a/frontend/src/app/shared/components/confirmations/confirmations.component.html b/frontend/src/app/shared/components/confirmations/confirmations.component.html index 282979824..4b14a645b 100644 --- a/frontend/src/app/shared/components/confirmations/confirmations.component.html +++ b/frontend/src/app/shared/components/confirmations/confirmations.component.html @@ -15,5 +15,5 @@ - + \ No newline at end of file diff --git a/frontend/src/locale/duplicates.sh b/frontend/src/locale/duplicates.sh new file mode 100755 index 000000000..ea6c659ae --- /dev/null +++ b/frontend/src/locale/duplicates.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +FILE="messages.xlf" + +# Check if file exists +[ ! -f "$FILE" ] && { echo "Error: File '$FILE' not found"; exit 1; } + +# Extract contents, normalize whitespace, count duplicates +echo "Duplicates:" +grep -o '[^<]*' "$FILE" | sed 's/\(.*\)<\/source>/\1/' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sort | uniq -c | while read -r count str; do + [ "$count" -gt 1 ] && echo "$str (found $count times)" +done diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 6e7d06633..924336880 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -1111,12 +1111,40 @@ 91 - - accelerated + + Accelerated src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts 91 + + src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html + 16 + + + src/app/components/acceleration-timeline/acceleration-timeline.component.html + 92 + + + src/app/components/acceleration-timeline/acceleration-timeline.component.html + 96 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 89 + + + src/app/components/block-overview-tooltip/block-overview-tooltip.component.html + 97 + + + src/app/components/transaction/transaction-details/transaction-details.component.html + 201 + + + src/app/shared/filters.utils.ts + 100 + Status @@ -1212,38 +1240,6 @@ Transaction first seen transaction.first-seen - - Accelerated - - src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html - 16 - - - src/app/components/acceleration-timeline/acceleration-timeline.component.html - 92 - - - src/app/components/acceleration-timeline/acceleration-timeline.component.html - 96 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 89 - - - src/app/components/block-overview-tooltip/block-overview-tooltip.component.html - 97 - - - src/app/components/transaction/transaction-details/transaction-details.component.html - 201 - - - src/app/shared/filters.utils.ts - 100 - - transaction.audit.accelerated - Mined @@ -3645,6 +3641,10 @@ src/app/services/api.service.ts 288 + + src/app/shared/components/address-type/address-type.component.html + 27 + unknown @@ -4166,6 +4166,10 @@ src/app/dashboard/dashboard.component.html 282 + + src/app/shared/components/confirmations/confirmations.component.html + 18 + Unconfirmed count dashboard.unconfirmed @@ -4964,6 +4968,10 @@ src/app/lightning/nodes-channels-map/nodes-channels-map.component.html 20 + + src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts + 73 + lightning.nodes-channels-world-map @@ -5739,12 +5747,16 @@ mining.all-miners - + Mining Pools src/app/components/pool-ranking/pool-ranking.component.ts 59 + + src/app/components/search-form/search-results/search-results.component.html + 47 + See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe. @@ -6059,6 +6071,10 @@ src/app/components/push-transaction/push-transaction.component.html 8 + + src/app/components/push-transaction/push-transaction.component.ts + 57 + src/app/shared/components/global-footer/global-footer.component.html 77 @@ -6151,13 +6167,6 @@ test-tx.rejection-reason - - Broadcast Transaction - - src/app/components/push-transaction/push-transaction.component.ts - 57 - - Broadcast a transaction to the network using the transaction's hash. @@ -6390,14 +6399,6 @@ search.bitcoin-addresses - - Mining Pools - - src/app/components/search-form/search-results/search-results.component.html - 47 - - search.mining-pools - Lightning Nodes @@ -6959,6 +6960,10 @@ src/app/components/transaction/transaction-raw.component.html 25 + + src/app/components/transaction/transaction-raw.component.ts + 89 + src/app/shared/components/global-footer/global-footer.component.html 79 @@ -7168,21 +7173,6 @@ Transaction Sigops transaction.sigops - - Loading - - src/app/components/transaction/transaction-raw.component.html - 228,230 - - transaction.error.loading-prevouts - - - Preview Transaction - - src/app/components/transaction/transaction-raw.component.ts - 89 - - Preview a transaction to the Bitcoin network using the transaction's raw hex data. @@ -7719,6 +7709,10 @@ src/app/dashboard/dashboard.component.html 364 + + src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts + 133 + src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 102 @@ -7727,6 +7721,10 @@ src/app/lightning/statistics-chart/lightning-statistics-chart.component.html 52 + + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts + 123 + lightning.indexing-in-progress @@ -9045,13 +9043,6 @@ lightning.tor-nodes-excluded - - Lightning Nodes Channels World Map - - src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 73 - - See the channels of non-Tor Lightning network nodes visualized on a world map. Hover/tap on points on the map for node names and details. @@ -9088,17 +9079,6 @@ 74 - - Indexing in progress - - src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts - 133 - - - src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts - 123 - - Clearnet and Darknet @@ -9797,14 +9777,6 @@ address.bare-multisig - - unknown - - src/app/shared/components/address-type/address-type.component.html - 27 - - unknown - confirmation @@ -9832,15 +9804,6 @@ Transaction replaced state transaction.replaced - - Unconfirmed - - src/app/shared/components/confirmations/confirmations.component.html - 18 - - Transaction unconfirmed state - transaction.unconfirmed - sat/WU