fix i18n duplicates

This commit is contained in:
softsimon
2025-07-28 17:53:11 +07:00
parent 23ee270502
commit 4faf3bdf35
11 changed files with 84 additions and 109 deletions

View File

@@ -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,

View File

@@ -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');
}

View File

@@ -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');

View File

@@ -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({

View File

@@ -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.`);
}

View File

@@ -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',
};

View File

@@ -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'
};

View File

@@ -24,7 +24,7 @@
<span>anchor</span>
}
@case (null) {
<span i18n="unknown">unknown</span>
<span i18n="unknown" style="text-transform: lowercase;">Unknown</span>
}
@default {
<span>{{ address.type.toUpperCase() }}</span>

View File

@@ -15,5 +15,5 @@
<button type="button" class="btn btn-sm btn-warning no-cursor {{buttonClass}}" i18n="transaction.audit.removed|Transaction removed state">Removed</button>
</ng-template>
<ng-template [ngIf]="!hideUnconfirmed && chainTip != null && !confirmations && !replaced && !(removed || cached)">
<button type="button" class="btn btn-sm btn-danger no-cursor {{buttonClass}}" i18n="transaction.unconfirmed|Transaction unconfirmed state">Unconfirmed</button>
<button type="button" class="btn btn-sm btn-danger no-cursor {{buttonClass}}" i18n="dashboard.unconfirmed|Unconfirmed count">Unconfirmed</button>
</ng-template>

View File

@@ -0,0 +1,12 @@
#!/bin/bash
FILE="messages.xlf"
# Check if file exists
[ ! -f "$FILE" ] && { echo "Error: File '$FILE' not found"; exit 1; }
# Extract <source> contents, normalize whitespace, count duplicates
echo "Duplicates:"
grep -o '<source>[^<]*</source>' "$FILE" | sed 's/<source>\(.*\)<\/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

View File

@@ -1111,12 +1111,40 @@
<context context-type="linenumber">91</context>
</context-group>
</trans-unit>
<trans-unit id="1158292946432597388" datatype="html">
<source>accelerated</source>
<trans-unit id="b484583f0ce10f3341ab36750d05271d9d22c9a1" datatype="html">
<source>Accelerated</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/accelerate-checkout/accelerate-fee-graph.component.ts</context>
<context context-type="linenumber">91</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline.component.html</context>
<context context-type="linenumber">92</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline.component.html</context>
<context context-type="linenumber">96</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">89</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/transaction/transaction-details/transaction-details.component.html</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/filters.utils.ts</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="aa28c3afcb8b1a556fc1e1842e48a57f24fd643f" datatype="html">
<source>Status</source>
@@ -1212,38 +1240,6 @@
<note priority="1" from="description">Transaction first seen</note>
<note priority="1" from="meaning">transaction.first-seen</note>
</trans-unit>
<trans-unit id="b484583f0ce10f3341ab36750d05271d9d22c9a1" datatype="html">
<source>Accelerated</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline.component.html</context>
<context context-type="linenumber">92</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/acceleration-timeline/acceleration-timeline.component.html</context>
<context context-type="linenumber">96</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">89</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">97</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/transaction/transaction-details/transaction-details.component.html</context>
<context context-type="linenumber">201</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/filters.utils.ts</context>
<context context-type="linenumber">100</context>
</context-group>
<note priority="1" from="description">transaction.audit.accelerated</note>
</trans-unit>
<trans-unit id="65d447765db0bf3390e9b3ecce142bf34bb602a3" datatype="html">
<source>Mined</source>
<context-group purpose="location">
@@ -3645,6 +3641,10 @@
<context context-type="sourcefile">src/app/services/api.service.ts</context>
<context context-type="linenumber">288</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/address-type/address-type.component.html</context>
<context context-type="linenumber">27</context>
</context-group>
<note priority="1" from="description">unknown</note>
</trans-unit>
<trans-unit id="b2cb12c1680a46464cae5aa0d0d1d6914733a75d" datatype="html">
@@ -4166,6 +4166,10 @@
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">282</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/confirmations/confirmations.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Unconfirmed count</note>
<note priority="1" from="meaning">dashboard.unconfirmed</note>
</trans-unit>
@@ -4964,6 +4968,10 @@
<context context-type="sourcefile">src/app/lightning/nodes-channels-map/nodes-channels-map.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts</context>
<context context-type="linenumber">73</context>
</context-group>
<note priority="1" from="description">lightning.nodes-channels-world-map</note>
</trans-unit>
<trans-unit id="cad77115d6fd3adb4383841223f9feae57e1ee86" datatype="html">
@@ -5739,12 +5747,16 @@
</context-group>
<note priority="1" from="description">mining.all-miners</note>
</trans-unit>
<trans-unit id="mining.mining-pools" datatype="html">
<trans-unit id="fe5317c6c60dd7e0e86f04d22f566f67cf04d404" datatype="html">
<source>Mining Pools</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.ts</context>
<context context-type="linenumber">59</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
<context context-type="linenumber">47</context>
</context-group>
</trans-unit>
<trans-unit id="meta.description.bitcoin.graphs.pool-ranking" datatype="html">
<source>See the top Bitcoin mining pools ranked by number of blocks mined, over your desired timeframe.</source>
@@ -6059,6 +6071,10 @@
<context context-type="sourcefile">src/app/components/push-transaction/push-transaction.component.html</context>
<context context-type="linenumber">8</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/push-transaction/push-transaction.component.ts</context>
<context context-type="linenumber">57</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/global-footer/global-footer.component.html</context>
<context context-type="linenumber">77</context>
@@ -6151,13 +6167,6 @@
</context-group>
<note priority="1" from="description">test-tx.rejection-reason</note>
</trans-unit>
<trans-unit id="meta.title.push-tx" datatype="html">
<source>Broadcast Transaction</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/push-transaction/push-transaction.component.ts</context>
<context context-type="linenumber">57</context>
</context-group>
</trans-unit>
<trans-unit id="meta.description.push-tx" datatype="html">
<source>Broadcast a transaction to the <x id="PH" equiv-text="this.stateService.network===&apos;liquid&apos;||this.stateService.network===&apos;liquidtestnet&apos;?&apos;Liquid&apos;:&apos;Bitcoin&apos;"/><x id="PH_1" equiv-text="seoDescriptionNetwork(this.stateService.network)"/> network using the transaction&apos;s hash.</source>
<context-group purpose="location">
@@ -6390,14 +6399,6 @@
</context-group>
<note priority="1" from="description">search.bitcoin-addresses</note>
</trans-unit>
<trans-unit id="fe5317c6c60dd7e0e86f04d22f566f67cf04d404" datatype="html">
<source>Mining Pools</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search-form/search-results/search-results.component.html</context>
<context context-type="linenumber">47</context>
</context-group>
<note priority="1" from="description">search.mining-pools</note>
</trans-unit>
<trans-unit id="67f25165b857428d046fe5eb67fc44c5c3d94e87" datatype="html">
<source>Lightning Nodes</source>
<context-group purpose="location">
@@ -6959,6 +6960,10 @@
<context context-type="sourcefile">src/app/components/transaction/transaction-raw.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/transaction/transaction-raw.component.ts</context>
<context context-type="linenumber">89</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/global-footer/global-footer.component.html</context>
<context context-type="linenumber">79</context>
@@ -7168,21 +7173,6 @@
<note priority="1" from="description">Transaction Sigops</note>
<note priority="1" from="meaning">transaction.sigops</note>
</trans-unit>
<trans-unit id="4872776e00a30a01a5ccbd320fe5b1352a927d22" datatype="html">
<source> Loading <x id="INTERPOLATION" equiv-text="{{ isLoadingPrevouts ? &apos;transaction prevouts&apos; : isLoadingCpfpInfo ? &apos;CPFP&apos; : &apos;&apos; }}"/> </source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/transaction/transaction-raw.component.html</context>
<context context-type="linenumber">228,230</context>
</context-group>
<note priority="1" from="description">transaction.error.loading-prevouts</note>
</trans-unit>
<trans-unit id="meta.title.preview-tx" datatype="html">
<source>Preview Transaction</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/transaction/transaction-raw.component.ts</context>
<context context-type="linenumber">89</context>
</context-group>
</trans-unit>
<trans-unit id="meta.description.preview-tx" datatype="html">
<source>Preview a transaction to the Bitcoin<x id="PH" equiv-text="seoDescriptionNetwork(this.stateService.network)"/> network using the transaction&apos;s raw hex data.</source>
<context-group purpose="location">
@@ -7719,6 +7709,10 @@
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">364</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
<context context-type="linenumber">133</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html</context>
<context context-type="linenumber">102</context>
@@ -7727,6 +7721,10 @@
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.html</context>
<context context-type="linenumber">52</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
<context context-type="linenumber">123</context>
</context-group>
<note priority="1" from="description">lightning.indexing-in-progress</note>
</trans-unit>
<trans-unit id="999bb1a0150c2815a6b4dd64a1850e763603e525" datatype="html">
@@ -9045,13 +9043,6 @@
</context-group>
<note priority="1" from="description">lightning.tor-nodes-excluded</note>
</trans-unit>
<trans-unit id="8199511328474154549" datatype="html">
<source>Lightning Nodes Channels World Map</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts</context>
<context context-type="linenumber">73</context>
</context-group>
</trans-unit>
<trans-unit id="meta.description.lightning.node-map" datatype="html">
<source>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.</source>
<context-group purpose="location">
@@ -9088,17 +9079,6 @@
<context context-type="linenumber">74</context>
</context-group>
</trans-unit>
<trans-unit id="6391724349488018234" datatype="html">
<source>Indexing in progress</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts</context>
<context context-type="linenumber">133</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts</context>
<context context-type="linenumber">123</context>
</context-group>
</trans-unit>
<trans-unit id="599038141003770125" datatype="html">
<source>Clearnet and Darknet</source>
<context-group purpose="location">
@@ -9797,14 +9777,6 @@
</context-group>
<note priority="1" from="description">address.bare-multisig</note>
</trans-unit>
<trans-unit id="290e4c9ad42dc6e9176656c864a5faed8053f406" datatype="html">
<source>unknown</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/address-type/address-type.component.html</context>
<context context-type="linenumber">27</context>
</context-group>
<note priority="1" from="description">unknown</note>
</trans-unit>
<trans-unit id="8e623d3cfecb7c560c114390db53c1f430ffd0de" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{ i }}"/> confirmation</source>
<context-group purpose="location">
@@ -9832,15 +9804,6 @@
<note priority="1" from="description">Transaction replaced state</note>
<note priority="1" from="meaning">transaction.replaced</note>
</trans-unit>
<trans-unit id="ef772ce5cf98a47b29175e3d46b8a9816c7990a2" datatype="html">
<source>Unconfirmed</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/components/confirmations/confirmations.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction unconfirmed state</note>
<note priority="1" from="meaning">transaction.unconfirmed</note>
</trans-unit>
<trans-unit id="57a6f49237ac457ecc67fabdf1361a112ccdbf93" datatype="html">
<source>sat/WU</source>
<context-group purpose="location">