8000 Merge branch '6.3' into 6.4 · symfony/symfony@22074ef · GitHub
[go: up one dir, main page]

Skip to content

Commit 22074ef

Browse files
Merge branch '6.3' into 6.4
* 6.3: [Validator] added missing Spanish translations [Messenger] Amazon SQS Delay has a max of 15 minutes Add missing translations using ChatGPT [Validator] added missing Finnish, Italian, and Serbian Cyryllic translations Add .github/sync-translations.php
2 parents a1ca059 + 1c6fcf4 commit 22074ef

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+348
-251
lines changed

.github/sync-translations.php

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
3+
// This script should be run after adding a new message to translate.
4+
// It will ensure that all messages in "*.en.xlf" files are propagated to all languages.
5+
// The resulting diff should then be submitted as a PR on the lowest maintained branch,
6+
// possibly after using GPT to translate all the targets it contains
7+
// (state="needs-review-translation" should then be used on corresponding target tags.)
8+
9+
use Symfony\Component\Finder\Finder;
10+
use Symfony\Component\Translation\Loader\XliffFileLoader;
11+
use Symfony\Component\Translation\MessageCatalogue;
12+
13+
require __DIR__.'/../vendor/autoload.php';
14+
15+
function dumpXliff1(string $defaultLocale, MessageCatalogue $messages, string $domain)
16+
{
17+
$dom = new \DOMDocument('1.0', 'utf-8');
18+
$dom->formatOutput = true;
19+
20+
$xliff = $dom->appendChild($dom->createElement('xliff'));
21+
$xliff->setAttribute('version', '1.2');
22+
$xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2');
23+
24+
$xliffFile = $xliff->appendChild($dom->createElement('file'));
25+
$xliffFile->setAttribute('source-language', str_replace('_', '-', $defaultLocale));
26+
$xliffFile->setAttribute('target-language', 'no' === $messages->getLocale() ? 'nb' : str_replace('_', '-', $messages->getLocale()));
27+
$xliffFile->setAttribute('datatype', 'plaintext');
28+
$< EF5E /span>xliffFile->setAttribute('original', 'file.ext');
29+
30+
$xliffBody = $xliffFile->appendChild($dom->createElement('body'));
31+
foreach ($messages->all($domain) as $source => $target) {
32+
$translation = $dom->createElement('trans-unit');
33+
$metadata = $messages->getMetadata($source, $domain);
34+
35+
$translation->setAttribute('id', $metadata['id']);
36+
37+
$s = $translation->appendChild($dom->createElement('source'));
38+
$s->appendChild($dom->createTextNode($source));
39+
40+
$text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target);
41+
42+
$targetElement = $dom->createElement('target');
43+
44+
if ('en' !== $messages->getLocale() && $target === $source && 'Error' !== $source) {
45+
$targetElement->setAttribute('state', 'needs-translation');
46+
}
47+
if (isset($metadata['target-attributes'])) {
48+
foreach ($metadata['target-attributes'] as $key => $value) {
49+
$targetElement->setAttribute($key, $value);
50+
}
51+
}
52+
53+
$t = $translation->appendChild($targetElement);
54+
$t->appendChild($text);
55+
56+
$xliffBody->appendChild($translation);
57+
}
58+
59+
return preg_replace('/^ +/m', '$0$0', $dom->saveXML());
60+
}
61+
62+
63+
foreach (['Security/Core' => 'security', 'Form' => 'validators', 'Validator' => 'validators'] as $component => $domain) {
64+
$dir = __DIR__.'/../src/Symfony/Component/'.$component.'/Resources/translations';
65+
66+
$enCatalogue = (new XliffFileLoader())->load($dir.'/'.$domain.'.en.xlf', 'en', $domain);
67+
$fin 1C6A der = new Finder();
68+
69+
foreach ($finder->files()->in($dir)->name('*.xlf') as $file) {
70+
$locale = substr($file->getBasename(), 1 + strlen($domain), -4);
71+
72+
$catalogue = (new XliffFileLoader())->load($file, $locale, $domain);
73+
$localeCatalogue = new MessageCatalogue($locale);
74+
75+
foreach ($enCatalogue->all($domain) as $id => $translation) {
76+
$metadata = [];
77+
if ($catalogue->defines($id, $domain)) {
78+
$translation = $catalogue->get($id, $domain);
79+
$metadata = $catalogue->getMetadata($id, $domain);
80+
}
81+
$metadata['id'] = $enCatalogue->getMetadata($id, $domain)['id'];
82+
$localeCatalogue->set($id, $translation, $domain);
83+
$localeCatalogue->setMetadata($id, $metadata, $domain);
84+
}
85+
86+
file_put_contents($file, dumpXliff1('en', $localeCatalogue, $domain));
87+
}
88+
}

src/Symfony/Component/Form/Resources/translations/validators.cy.xlf

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,135 +4,135 @@
44
<body>
55
<trans-unit id="28">
66
<source>This form should not contain extra fields.</source>
7-
<target state="needs-translation">This form should not contain extra fields.</target>
7+
<target state="needs-review-translation">Ni ddylai'r ffurflen gynnwys meysydd ychwanegol.</target>
88
</trans-unit>
99
<trans-unit id="29">
1010
<source>The uploaded file was too large. Please try to upload a smaller file.</source>
11-
<target state="needs-translation">The uploaded file was too large. Please try to upload a smaller file.</target>
11+
<target state="needs-review-translation">Roedd y ffeil a uwchlwythwyd yn rhy fawr. Ceisiwch uwchlwytho ffeil llai.</target>
1212
</trans-unit>
1313
<trans-unit id="30">
1414
<source>The CSRF token is invalid. Please try to resubmit the form.</source>
15-
<target state="needs-translation">The CSRF token is invalid. Please try to resubmit the form.</target>
15+
<target state="needs-review-translation">Mae'r tocyn CSRF yn annilys. Ceisiwch ailgyflwyno'r ffurflen.</target>
1616
</trans-unit>
1717
<trans-unit id="99">
1818
<source>This value is not a valid HTML5 color.</source>
19-
<target state="needs-translation">This value is not a valid HTML5 color.</target>
19+
<target state="needs-review-translation">Nid yw'r gwerth hwn yn lliw HTML5 dilys.</target>
2020
</trans-unit>
2121
<trans-unit id="100">
2222
<source>Please enter a valid birthdate.</source>
23-
<target state="needs-translation">Please enter a valid birthdate.</target>
23+
<target state="needs-review-translation">Nodwch ddyddiad geni dilys.</target>
2424
</trans-unit>
2525
<trans-unit id="101">
2626
<source>The selected choice is invalid.</source>
27-
<target state="needs-translation">The selected choice is invalid.</target>
27+
<target state="needs-review-translation">Mae'r dewis a ddewiswyd yn annilys.</target>
2828
</trans-unit>
2929
<trans-unit id="102">
3030
<source>The collection is invalid.</source>
31-
<target state="needs-translation">The collection is invalid.</target>
31+
<target state="needs-review-translation">Mae'r casgliad yn annilys.</target>
3232
</trans-unit>
3333
<trans-unit id="103">
3434
<source>Please select a valid color.</source>
35-
<target state="needs-translation">Please select a valid color.</target>
35+
<target state="needs-review-translation">Dewiswch liw dilys.</target>
3636
</trans-unit>
3737
<trans-unit id="104">
3838
<source>Please select a valid country.</source>
39-
<target state="needs-translation">Please select a valid country.</target>
39+
<target state="needs-review-translation">Dewiswch wlad ddilys.</target>
4040
</trans-unit>
4141
<trans-unit id="105">
4242
<source>Please select a valid currency.</source>
43-
<target state="needs-translation">Please select a valid currency.</target>
43+
<target state="needs-review-translation">Dewiswch arian cyfred dilys.</target>
4444
</trans-unit>
4545
<trans-unit id="106">
4646
<source>Please choose a valid date interval.</source>
47-
<target state="needs-translation">Please choose a valid date interval.</target>
47+
<target state="needs-review-translation">Dewiswch ystod dyddiadau dilys.</target>
4848
</trans-unit>
4949
<trans-unit id="107">
5050
<source>Please enter a valid date and time.</source>
51-
<target state="needs-translation">Please enter a valid date and time.</target>
51+
<target state="needs-review-translation">Nodwch ddyddiad ac amser dilys.</target>
5252
</trans-unit>
5353
<trans-unit id="108">
5454
<source>Please enter a valid date.</source>
55-
<target state="needs-translation">Please enter a valid date.</target>
55+
<target state="needs-review-translation">Nodwch ddyddiad dilys.</target>
5656
</trans-unit>
5757
<trans-unit id="109">
5858
<source>Please select a valid file.</source>
59-
<target state="needs-translation">Please select a valid file.</target>
59+
<target state="needs-review-translation">Dewiswch ffeil ddilys.</target>
6060
</trans-unit>
6161
<trans-unit id="110">
6262
<source>The hidden field is invalid.</source>
63-
<target state="needs-translation">The hidden field is invalid.</target>
63+
<target state="needs-review-translation">Mae'r maes cudd yn annilys.</target>
6464
</trans-unit>
6565
<trans-unit id="111">
6666
<source>Please enter an integer.</source>
67-
<target state="needs-translation">Please enter an integer.</target>
67+
<target state="needs-review-translation">Nodwch rif cyfan.</target>
6868
</trans-unit>
6969
<trans-unit id="112">
7070
<source>Please select a valid language.</source>
71-
<target state="needs-translation">Please select a valid language.</target>
71+
<target state="needs-review-translation">Dewiswch iaith ddilys.</target>
7272
</trans-unit>
7373
<trans-unit id="113">
7474
<source>Please select a valid locale.</source>
75-
<target state="needs-translation">Please select a valid locale.</target>
75+
<target state="needs-review-translation">Dewiswch leoliad dilys.</target>
7676
</trans-unit>
7777
<trans-unit id="114">
7878
<source>Please enter a valid money amount.</source>
79-
<target state="needs-translation">Please enter a valid money amount.</target>
79+
<target state="needs-review-translation">Nodwch swm arian dilys.</target>
8080
</trans-unit>
8181
<trans-unit id="115">
8282
<source>Please enter a number.</source>
83-
<target state="needs-translation">Please enter a number.</target>
83+
<target state="needs-review-translation">Nodwch rif.</target>
8484
</trans-unit>
8585
<trans-unit id="116">
8686
<source>The password is invalid.</source>
87-
<target state="needs-translation">The password is invalid.</target>
87+
<target state="needs-review-translation">Mae'r cyfrinair yn annilys.</target>
8888
</trans-unit>
8989
<trans-unit id="117">
9090
<source>Please enter a percentage value.</source>
91-
<target state="needs-translation">Please enter a percentage value.</target>
91+
<target state="needs-review-translation">Nodwch werth canran.</target>
9292
</trans-unit>
9393
<trans-unit id="118">
9494
<source>The values do not match.</source>
95-
<target state="needs-translation">The values do not match.</target>
95+
<target state="needs-review-translation">Nid yw'r gwerthoedd yn cyfateb.</target>
9696
</trans-unit>
9797
<trans-unit id="119">
9898
<source>Please enter a valid time.</source>
99-
<target state="needs-translation">Please enter a valid time.</target>
99+
<target state="needs-review-translation">Nodwch amser dilys.</target>
100100
</trans-unit>
101101
<trans-unit id="120">
102102
<source>Please select a valid timezone.</source>
103-
<target state="needs-translation">Please select a valid timezone.</target>
103+
<target state="needs-review-translation">Dewiswch barth amser dilys.</target>
104104
</trans-unit>
105105
<trans-unit id="121">
106106
<source>Please enter a valid URL.</source>
107-
<target state="needs-translation">Please enter a valid URL.</target>
107+
<target state="needs-review-translation">Nodwch URL dilys.</target>
108108
</trans-unit>
109109
<trans-unit id="122">
110110
<source>Please enter a valid search term.</source>
111-
<target state="needs-translation">Please enter a valid search term.</target>
111+
<target state="needs-review-translation">Nodwch derm chwilio dilys.</target>
112112
</trans-unit>
113113
<trans-unit id="123">
114114
<source>Please provide a valid phone number.</source>
115-
<target state="needs-translation">Please provide a valid phone number.</target>
115+
<target state="needs-review-translation">Darparwch rif ffôn dilys.</target>
116116
</trans-unit>
117117
<trans-unit id="124">
118118
<source>The checkbox has an invalid value.</source>
119-
<target state="needs-translation">The checkbox has an invalid value.</target>
119+
<target state="needs-review-translation">Mae gan y blwch ticio werth annilys.</target>
120120
</trans-unit>
121121
<trans-unit id="125">
122122
<source>Please enter a valid email address.</source>
123-
<target state="needs-translation">Please enter a valid email address.</target>
123+
<target state="needs-review-translation">Nodwch gyfeiriad e-bost dilys.</target>
124124
</trans-unit>
125125
<trans-unit id="126">
126126
<source>Please select a valid option.</source>
127-
<target state="needs-translation">Please select a valid option.</target>
127+
<target state="needs-review-translation">Dewiswch opsiwn dilys.</target>
128128
</trans-unit>
129129
<trans-unit id="127">
130130
<source>Please select a valid range.</source>
131-
<target state="needs-translation">Please select a valid range.</target>
131+
<target state="needs-review-translation">Dewiswch ystod ddilys.</target>
132132
</trans-unit>
133133
<trans-unit id="128">
134134
<source>Please enter a valid week.</source>
135-
<target state="needs-translation">Please enter a valid week.</target>
135+
<target state="needs-review-translation">Nodwch wythnos ddilys.</target>
136136
</trans-unit>
137137
</body>
138138
</file>

src/Symfony/Component/Form/Resources/translations/validators.eu.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</trans-unit>
1313
<trans-unit id="30">
1414
<source>The CSRF token is invalid. Please try to resubmit the form.</source>
15-
<target>CSRF tokena ez da egokia.</target>
15+
<target state="needs-review-translation">CSRF tokena baliogabea da. Mesedez, saiatu berriro formularioa bidaltzen.</target>
1616
</trans-unit>
1717
<trans-unit id="99">
1818
<source>This value is not a valid HTML5 color.</source>

src/Symfony/Component/Form/Resources/translations/validators.nb.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</trans-unit>
1313
<trans-unit id="30">
1414
<source>The CSRF token is invalid. Please try to resubmit the form.</source>
15-
<target>CSRF nøkkelen er ugyldig.</target>
15+
<target state="needs-review-translation">CSRF-tokenen er ugyldig. Vennligst prøv å sende inn skjemaet på nytt.</target>
1616
</trans-unit>
1717
<trans-unit id="99">
1818
<source>This value is not a valid HTML5 color.</source>

src/Symfony/Component/Form/Resources/translations/validators.nn.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</trans-unit>
1313
<trans-unit id="30">
1414
<source>The CSRF token is invalid. Please try to resubmit the form.</source>
15-
<target>CSRF-nøkkelen er ikkje gyldig.</target>
15+
<target state="needs-review-translation">CSRF-teiknet er ugyldig. Ver venleg og prøv å sende inn skjemaet på nytt.</target>
1616
</trans-unit>
1717
<trans-unit id="99">
1818
<source>This value is not a valid HTML5 color.</source>

src/Symfony/Component/Form/Resources/translations/validators.no.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</trans-unit>
1313
<trans-unit id="30">
1414
<source>The CSRF token is invalid. Please try to resubmit the form.</source>
15-
<target>CSRF nøkkelen er ugyldig.</target>
15+
<target state="needs-review-translation">CSRF-tokenen er ugyldig. Vennligst prøv å sende inn skjemaet på nytt.</target>
1616
</trans-unit>
1717
<trans-unit id="99">
1818
<source>This value is not a valid HTML5 color.</source>

src/Symfony/Component/Form/Resources/translations/validators.sq.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
</trans-unit>
6969
<trans-unit id="112">
7070
<source>Please select a valid language.</source>
71-
<target state="needs-translation">Please select a valid language.</target>
71+
<target state="needs-review-translation">Ju lutem zgjidhni një gjuhë të vlefshme.</target>
7272
</trans-unit>
7373
<trans-unit id="113">
7474
<source>Please select a valid locale.</source>

src/Symfony/Component/Messenger/Bridge/AmazonSqs/Transport/Connection.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,8 @@ public function send(string $body, array $headers, int $delay = 0, string $messa
327327
$parameters = [
328328
'QueueUrl' => $this->getQueueUrl(),
329329
'MessageBody' => $body,
330-
'DelaySeconds' => $delay,
330+
// Maximum delay is 15 minutes. See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-timers.html.
331+
'DelaySeconds' => min(900, $delay),
331332
'MessageAttributes' => [],
332333
'MessageSystemAttributes' => [],
333334
];

src/Symfony/Component/Security/Core/Resources/translations/security.af.xlf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
</trans-unit>
7373
<trans-unit id="19">
7474
<source>Too many failed login attempts, please try again in %minutes% minute.</source>
75-
<target state="needs-translation">Too many failed login attempts, please try again in %minutes% minute.</target>
75+
<target state="needs-review-translation">Te veel mislukte aanmeldpogings, probeer asseblief weer oor %minutes% minuut.</target>
7676
</trans-unit>
7777
</body>
7878
</file>

0 commit comments

Comments
 (0)
0