Copilot commented on code in PR #59136:
URL: https://github.com/apache/airflow/pull/59136#discussion_r2595049480


##########
airflow-core/src/airflow/ui/public/i18n/README.md:
##########
@@ -366,8 +366,9 @@ breeze ui check-translation-completeness --verbose 
--all-files
 
 ## 11. Freeze time
 
-Few weeks before a minor or major release, a freeze time for accepting new 
translations
-MUST be announced in the dev list, to allow time for testing and verification 
of translations.
+When the average coverage across all translations in below the completeness 
threshold, or when needed, the Release Manager might announce a freeze time for 
accepting new terms in the default language (English).
+The freeze should help translators complete their translation work without 
being overloaded.
+It will be announced in the dev list about two weeks before it starts, to 
allow time for preparing, and it should last until average completeness is back 
above the threshold or RC is cut for the release (whichever is earlier).

Review Comment:
   Incomplete sentence: The sentence ends abruptly with "it should last until 
th." and appears to be cut off mid-word. This should be completed, likely "it 
should last until the average coverage reaches at least 90% again" or similar.



##########
dev/README_RELEASE_AIRFLOW.md:
##########
@@ -125,13 +179,15 @@ After running the i18n completeness script, this is the 
coverage state of all me
 To prevent overloading the translators and to ensure completeness of all 
translations by the release, a freeze upon the English locale will be applied 
starting <START_DATE>,
 and until the RC is cut.
 Code owners, translation owners, and engaged translators are asked to complete 
the coverage of their assigned locales during this time.
+Contributors are also encouraged to plan their PRs accordingly, to avoid 
modifying the English locale during the freeze time.
 
 Important notes:
-1. Any changes merged after the final release won't not be included, and 
missing terms will fall back to English.
-2. Any PR that modifies the English locale during the freeze time will fail CI 
checks.
-3. Requests for exemptions should be communicated in the #i18n Slack channel, 
and approved by at least 1 PMC member - guidelines for approval are available 
in the i18n policy.
-4. PRs approved for an exemption will be labeled with `allow translation 
change`, and then the relevant CI check will pass. Translators are encouraged 
to complete the translations for the exempted terms during the freeze time.
-5. Merging PRs for adding new translations could be done during the freeze 
time - designated code owners should validate that by the end of the freeze 
time, the coverage of the suggested translation is complete.
+1. Locales that remain incomplete for two consecutive major or minor releases 
may be removed from the project, according to the i18n policy.
+2. Any changes merged after the final release won't not be included, and 
missing terms will fall back to English.

Review Comment:
   Spelling error: "won't not" should be "won't" (double negative).
   ```suggestion
   2. Any changes merged after the final release won't be included, and missing 
terms will fall back to English.
   ```



##########
dev/README_RELEASE_AIRFLOW.md:
##########
@@ -86,20 +86,74 @@ The first step of a release is to work out what is being 
included. This differs
 - For a *patch* release, you will be selecting specific commits to cherry-pick 
and backport into the existing release branch.
 
 
-## Validating completeness of i18n locale files and announcing i18n freeze time
+## i18n workflow
 
 > [!NOTE]
-> It is recommended to delegate all operations in this task to another 
committer.
+>
+> 1. The instructions in this section should be applied only for major/minor 
releases.
+> 2. It is recommended to delegate all operations in this task to another 
committer.
+> 3. Except for the dev list announcements, it is recommended to communicate 
them via the #i18n Slack channel as well.
 
-Before cutting the release candidate (RC), you should announce a freeze time 
for i18n changes to allow translators to complete translations for the upcoming 
release without being overloaded by new terms, or other significant changes.
-The freeze should last at least one week, and until the RC is cut.
-It is recommended to announce the freeze at least two weeks before it starts.
-To prepare for the announcement, generate an output of completeness for all 
locale files - follow the instructions in section 8.1 of the 
[internationalization (i18n) 
policy](../airflow-core/src/airflow/ui/public/i18n/README.md#81-checking-completeness-of-i18n-files)
 for doing so.
-The reminder should be sent via [email protected] mailing list - you may 
accompany it with a GitHub issue for tracking purposes.
+### Validating completeness of locale files
 
-> [!NOTE]
-> When applicable - you should mention, within the output, translations that 
have been incomplete in the past release,
-> and warn that they might be removed if they are not completed by the release 
date.
+Before cutting the release candidate (RC), you should verify the completeness 
of all merged locale files.
+Generate a completeness output for all locale files – follow the instructions 
in section 8.1 of the [internationalization (i18n) 
policy](../airflow-core/src/airflow/ui/public/i18n/README.md#81-checking-completeness-of-i18n-files)
 to do so.
+If the median completeness across all supported languages is below 90%, or 
upon other justifying circumstances (e.g., release of a critical UI feature), 
you should consider skipping the following instructions and applying an i18n 
translation freeze instead (see subsection below).
+Otherwise, you should announce the completeness status to the 
[email protected] mailing list.
+
+Subject:
+
+```shell script
+[ANNOUNCEMENT] i18n completeness check for Airflow ${VERSION} RC
+```
+
+Body (assuming delegation to another committer):
+
+
+```shell script
+cat <<EOF
+Hey fellow Airflowers,
+
+I'm sending this message on behalf of the release managers.
+The release managers are planning to cut the Airflow ${VERSION} RC soon/by 
<RELEASE_DATE>.
+
+After running the i18n completeness script, this is the coverage state of all 
merged locales as of <CURRENT_DATE>:
+
+<OUTPUT_OF_I18N_COMPLETENESS_SCRIPT>
+
+Code owners, translation owners, and engaged translators whose locales are 
currently below 90% coverage are kindly asked to complete their translations 
prior to the RC being cut.
+This will help ensure that all languages included in the upcoming release 
remain complete and consistent.
+
+Contributors are also encouraged to plan their PRs accordingly and avoid 
introducing large sets of new English terms close to the release date, to 
prevent unexpected translation work for code owners.
+
+Important notes:
+1. Locales that remain incomplete for two consecutive major or minor releases 
may be removed from the project, according to the i18n policy.
+2. Any changes merged after the final release won't be included, and missing 
terms will fall back to English.
+3. Code owners are responsible for ensuring that their assigned locales reach 
at least 90% coverage before the RC is cut.
+4. Requests for assistance, coordination, or early heads-up on expected 
terminology changes may be shared in the #i18n Slack channel.
+5. PRs introducing new translations may continue to be merged as usual, 
provided that coverage remains complete by the RC date.
+
+Thanks for your cooperation!
+<your name>
+EOF
+```
+
+When it is time to cut the RC, you should:
+
+1. Generate an additional completeness output:
+  a. If there are incomplete locales that were also incomplete in the previous 
RC major/minor release, please contact the code owner and ask them to act 
according to section "Relinquishing translation/code ownership" in the i18n 
policy (section 6.4).
+  b. If there are other incomplete locales, please write it as a reminder for 
the next major/minor release.
+2. Post on the same thread that the final completeness output.

Review Comment:
   Grammatical error: "Post on the same thread that the the final completeness 
output" is unclear and has a duplicate "the". This should be something like 
"Post on the same thread with the final completeness output" or "Post the final 
completeness output on the same thread".
   ```suggestion
   2. Post the final completeness output on the same thread.
   ```



##########
airflow-core/src/airflow/ui/public/i18n/README.md:
##########
@@ -366,8 +366,9 @@ breeze ui check-translation-completeness --verbose 
--all-files
 
 ## 11. Freeze time
 
-Few weeks before a minor or major release, a freeze time for accepting new 
translations
-MUST be announced in the dev list, to allow time for testing and verification 
of translations.
+When the average coverage across all translations in below the completeness 
threshold, or when needed, the Release Manager might announce a freeze time for 
accepting new terms in the default language (English).

Review Comment:
   Grammatical error: "in below" should be "is below".
   ```suggestion
   When the average coverage across all translations is below the completeness 
threshold, or when needed, the Release Manager might announce a freeze time for 
accepting new terms in the default language (English).
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to