Skip to content

Transloom: Auto-Translations for 88d19d5#159

Open
bosankus wants to merge 1 commit into
developfrom
transloom/translations-1779883417786
Open

Transloom: Auto-Translations for 88d19d5#159
bosankus wants to merge 1 commit into
developfrom
transloom/translations-1779883417786

Conversation

@bosankus
Copy link
Copy Markdown
Owner

@bosankus bosankus commented May 27, 2026

        ## Transloom Auto-Translation

        | | |
        |---|---|
        | **Semantically changed** | 3 |

| Languages | 2 |

        > Flagged strings are in the review portal. A follow-up PR is created automatically on approval.

        *Generated by [Transloom](https://transloom.dev)*

Summary by CodeRabbit

  • Localization
    • Added German language translations for UI tooltips and accessibility text.
    • Added Italian language translations for UI tooltips and accessibility text.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds German and Italian localization to the Compose Weatherify application by introducing two new Android string resource files. Each file defines three translated UI strings for icon content labels in their respective languages.

Changes

UI Localization

Layer / File(s) Summary
German and Italian icon content strings
values-de/strings.xml, values-it/strings.xml
New Android resource files define three parallel string entries (language_icon_content, menu_icon_content, wind_icon_content) in German and Italian for UI accessibility and content labels.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 In locales both German and fine,
Three strings now shine in Italian design,
Icons speak languages new,
Weatherify speaks just for you!
A rabbit hops through lands afar. 🌍

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title references a specific commit hash (88d19d5) but does not clearly describe what the PR accomplishes. While 'Transloom: Auto-Translations' indicates automated translations, it's vague about what was translated and lacks clarity for someone scanning the history. Consider revising the title to be more descriptive, such as 'Add German and Italian translations for language, menu, and wind icons' to clearly indicate the scope and content of the changes.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch transloom/translations-1779883417786

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@values-it/strings.xml`:
- Around line 3-5: Update the icon contentDescription strings to remove the
instructional "Tocca" wording: change the resources language_icon_content,
menu_icon_content, and wind_icon_content from "Tocca l'icona..." to "Icona della
lingua", "Icona del menu", and "Icona del vento" respectively; apply the same
non-instructional phrasing in the base values/strings.xml and mirror the change
across all locale files so contentDescription uses neutral labels rather than
interaction prompts.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b267203a-b609-46ad-95cd-fc8c05fc6822

📥 Commits

Reviewing files that changed from the base of the PR and between 88d19d5 and 17ca02f.

📒 Files selected for processing (2)
  • values-de/strings.xml
  • values-it/strings.xml

Comment thread values-it/strings.xml
Comment on lines +3 to +5
<string name="language_icon_content">Tocca l'icona della lingua</string>
<string name="menu_icon_content">Tocca l'icona del menu</string>
<string name="wind_icon_content">Tocca l'icona del vento</string>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check the base English string resources to determine if the instruction pattern is pre-existing

# Search for the base English strings (typically in values/strings.xml)
echo "=== Checking base English strings ==="
fd -e xml "strings.xml" -x grep -l "language_icon_content\|menu_icon_content\|wind_icon_content" {} \; | while read -r file; do
  echo "File: $file"
  rg -A 0 'name="(language_icon_content|menu_icon_content|wind_icon_content)"' "$file"
done

Repository: bosankus/Compose-Weatherify

Length of output: 1281


🌐 Web query:

Android contentDescription accessibility best practices

💡 Result:

To implement contentDescription correctly for Android accessibility, follow these official best practices: Core Principles - Be succinct: Clearly describe the element's meaning or the action associated with it [1][2]. - Avoid redundancies: Do not include the element type (e.g., "button") or state (e.g., "selected") in the description [1][3][2]. The system automatically handles role announcements (like "Button" or "Switch") via semantics properties [3]. - Describe action, not appearance: If an element triggers an action, label it by the action it performs (e.g., "Submit") rather than its visual representation (e.g., "Checkmark icon") [1][2]. - Avoid instructional text: Do not include instructions on how to interact with the element (e.g., "Tap here") [1][2]. - Maintain uniqueness: Every element, especially those in lists (like LazyColumn), should have a unique description to help users distinguish between repeated items [3]. Implementation Guidelines - Use for graphical information: Apply contentDescription to Views or Composables that convey information graphically, such as ImageView, ImageButton, or Icon [1][3]. - Skip text elements: You do not need to provide a contentDescription for standard Text composables, as accessibility services automatically read them [1][3]. - Label decorative elements: Mark purely decorative elements (such as icons used only for visual flair) as "not important for accessibility" [1]. In Compose, set the contentDescription to null [4][3]. In XML, use android:importantForAccessibility="no" or set the contentDescription to "@null" [1][2]. - Update dynamically: If the meaning or action of a view changes at runtime (e.g., a Play button changing to Pause), update the contentDescription programmatically (e.g., using setContentDescription in Views) [1][2]. - Use hints for inputs: For EditText or other editable text fields, use the android:hint attribute instead of contentDescription to indicate the field's purpose [5][2]. Design and Testing - Avoid grouping: Generally, avoid creating a description for a ViewGroup by aggregating the text of its children, as this can become brittle if child text changes [6]. - Use testing tools: Use the Accessibility Scanner app to automatically detect missing or redundant content descriptions, and test your app using TalkBack to ensure descriptions are delivered as intended [4][3].

Citations:


Accessibility: update icon contentDescription to avoid instructional “tap” wording
values-it/strings.xml uses “Tocca l’icona...” which matches the base values/strings.xml (“Language/Menu/Wind icon tap”), so this isn’t a translation mismatch; however, Android accessibility guidance advises against instructional interaction text in contentDescription. Update the base strings and all locales (e.g., Italian: “Icona della lingua”, “Icona del menu”, “Icona del vento”).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@values-it/strings.xml` around lines 3 - 5, Update the icon contentDescription
strings to remove the instructional "Tocca" wording: change the resources
language_icon_content, menu_icon_content, and wind_icon_content from "Tocca
l'icona..." to "Icona della lingua", "Icona del menu", and "Icona del vento"
respectively; apply the same non-instructional phrasing in the base
values/strings.xml and mirror the change across all locale files so
contentDescription uses neutral labels rather than interaction prompts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant