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


##########
airflow-core/src/airflow/ui/public/i18n/README.md:
##########
@@ -366,11 +366,11 @@ 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.
+Few weeks before a minor or major release, a freeze time for accepting new 
translations, might be announced in the dev list by the Release Manager.

Review Comment:
   Grammar improvements needed: Add "A" at the beginning and remove the 
unnecessary comma after "translations". The sentence should read: "A few weeks 
before a minor or major release, a freeze time for accepting new translations 
might be announced..."
   ```suggestion
   A few weeks before a minor or major release, a freeze time for accepting new 
translations might be announced in the dev list by the Release Manager.
   ```



##########
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).

Review Comment:
   The phrase "previous RC major/minor release" is unclear. It should be 
"previous major/minor release" since RC (release candidate) is not part of the 
release type classification. The sentence should read: "...in the previous 
major/minor release..."
   ```suggestion
     a. If there are incomplete locales that were also incomplete in the 
previous 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).
   ```



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