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]
