Skip to content

Comments

New Crowdin updates#471

Merged
lowrt merged 7 commits intomainfrom
i18n
Nov 26, 2025
Merged

New Crowdin updates#471
lowrt merged 7 commits intomainfrom
i18n

Conversation

@kamiya4047
Copy link
Member

No description provided.

@claude
Copy link

claude bot commented Nov 23, 2025

Claude finished @kamiya4047's task —— View job


PR Review: New Crowdin updates

I've completed my review of this Crowdin translation update. Here's my analysis:


Summary

This PR contains automated translation updates from Crowdin for 6 language files. The changes include:

  • Line reference updates (e.g., page.dart:369page.dart:371) due to code changes
  • New translations for recently added UI strings (weather features, permissions)
  • Previously empty translations filled in across multiple languages
  • Revision date updates to 2025-11-23 12:03

Translation Coverage Analysis

Language Total Strings Empty Translations Completion
English (en.po) 369 21 94.3%
Japanese (ja.po) 369 39 89.4%
Korean (ko.po) 369 56 84.8%
Russian (ru.po) 369 336 8.9% ⚠️
Vietnamese (vi.po) 369 232 37.1% ⚠️
Simplified Chinese (zh-Hans.po) 369 28 92.4%

Key Findings

✅ Positive Aspects

  1. Valid .po file structure - All files follow proper gettext format with correct headers
  2. Consistent line reference updates - All source code references updated uniformly across languages
  3. Significant translation improvements:
    • English: Added translations for location permissions, weather data labels
    • Multiple languages improved coverage for auto-location feature strings
  4. No syntax errors detected in the .po file format
  5. Proper multi-line string handling for complex messages

⚠️ Issues & Concerns

1. Critical: Missing Translations in Multiple Languages

Several important strings remain untranslated in English (the primary translation target):

  • assets/translations/en.po:589-590 - Location selection instructions
  • assets/translations/en.po:700-762 - Weather UI labels (Wind Speed, Humidity, Pressure, Temperature, etc.)
  • assets/translations/en.po:917-931 - Background location permission dialog

Impact: Users will see Chinese text in the English version for these features, significantly degrading UX.

2. Severe: Russian & Vietnamese Translation Gaps

  • Russian: Only 8.9% complete (336 empty translations)
  • Vietnamese: Only 37.1% complete (232 empty translations)

Impact: These language options are essentially unusable for most app features.

3. Minor: Multiline String Consistency

Found expected duplicate msgid entries for multiline strings (e.g., earthquake intensity warnings). These are contextually different and properly handled by gettext, so this is not an issue.


Recommendations

High Priority

  1. Complete English translations - The English translation should be at 100% before merging, as it appears to be a primary supported language. The missing weather-related strings (Wind Speed, Humidity, etc.) are user-facing and critical.

  2. Address weather feature translations - New weather widget strings added in lines 700-762 need immediate translation across all languages.

  3. Complete background permission strings - Permission dialog text (lines 917-931) should be translated as these are critical for user consent and app functionality.

Medium Priority

  1. Russian & Vietnamese language support - Consider either:

    • Completing these translations before release
    • Temporarily removing these language options until adequately translated
    • Adding "Translation incomplete" warnings for these languages
  2. Verify translation context - Some translations may benefit from translator notes, especially for:

    • Technical terms like "PGA" (Peak Ground Acceleration)
    • Regional earthquake intensity scales (Japanese vs Taiwan systems)

Flutter/i18n Best Practices

Proper gettext format - Using standard .po files is good practice
Source references included - Each translation has file:line references for context
Crowdin integration - Automated workflow is efficient for ongoing i18n

⚠️ Missing context for abbreviations - Consider adding translator comments for technical terms
⚠️ No fallback strategy evident - Missing translations will display source language (Chinese)


Recommendation: Request Changes

While the translation file structure is valid, I recommend requesting changes before merging because:

  1. English translations are incomplete (21 missing strings including critical weather UI)
  2. Two languages are severely incomplete (Russian 91% empty, Vietnamese 63% empty)
  3. User-facing impact - Missing translations will show Chinese text to English/Russian/Vietnamese users

Suggested Action Plan

  1. Approve the file structure and format - Technical quality is good
  2. Request completion of English translations - Should be at 100%
  3. 🔄 Sync back to Crowdin - Allow translators to complete the new strings
  4. ⏸️ Consider delaying merge until English reaches 100% completion

Note: This is an automated Crowdin sync, which is expected for i18n workflows. The review focuses on translation completeness rather than code changes, as there are no functional code modifications in this PR.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +916 to +918
#: ./lib/app/welcome/4-permissions/page.dart:346
msgid "需要背景位置權限"
msgstr ""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Provide text for background location prompt

In assets/translations/en.po the new background-location prompt is added with empty translations (msgstr "" for the title at lines 916–918, and the following description/action labels are also blank). In gettext-style lookups an empty msgstr renders an empty string rather than falling back to the source text, so English users will see a permission screen with missing title/description/buttons when asked for background location. Please supply English strings for this prompt.

Useful? React with 👍 / 👎.

@lowrt lowrt merged commit 9d9678b into main Nov 26, 2025
@lowrt lowrt deleted the i18n branch November 26, 2025 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants