Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cover translation strings #131161

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from
Draft

Conversation

NoRi2909
Copy link
Contributor

Currently there are two position conditions for covers:

  • Current {entity_name} position is
  • Current {entity_name} tilt position is

which both include "is" at the end of the string.

This is meant to build a complete sentence in the automation editor but will break in translations.

The verb plus "above" or "below" need to be added using ICU strings in the frontend.
This is not yet implemented but will conflict with the hard-coded "is" above.

For example in German the complete sentence becomes:

"When die aktuelle Position von {entity_name} über 50 ist"

As you can see we need to place the "above 50" in between and the "ist" ("is") moves to the end.
These hard-coded sentences will prevent that.

Also note that for all other states like lights etc. these conditions never include "is".
So this is a single inconsistency.

Proposed change

Remove "is" from the end of both strings.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

Currently there are two position conditions for covers:

Current {entity_name} position
Current {entity_name} tilt position

which both include "is" at the end of the string.

This is meant to build a complete sentence in the automation editor but will break in translations. The verb plus above or below need to be added using ICU string in the frontend.

For example in German the complete sentence becomes:

  When die aktuelle Position von {entity_name} über 50 ist

As you can see we need to put the "above 50" in between. These hard-coded sentences prevent that.
@home-assistant
Copy link

Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration (cover) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of cover can trigger bot actions by commenting:

  • @home-assistant close Closes the pull request.
  • @home-assistant rename Awesome new title Renames the pull request.
  • @home-assistant reopen Reopen the pull request.
  • @home-assistant unassign cover Removes the current integration label and assignees on the pull request, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the pull request.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the pull request.

@epenet epenet changed the title Remove hard-coded "is" from two Cover (tilt) position strings Fix cover translation strings Nov 21, 2024
@frenck
Copy link
Member

frenck commented Nov 21, 2024

Currently there are two position conditions for covers:

This is meant to build a complete sentence in the automation editor but will break in translations.

The verb plus "above" or "below" need to be added using ICU strings in the frontend.
This is not yet implemented but will conflict with the hard-coded "is" above.

That will also be odd, as it splits the sentence across different parts of our system, which IMHO isn't wished for.

../Frenck

@frenck frenck marked this pull request as draft November 21, 2024 19:36
@NoRi2909
Copy link
Contributor Author

@frenck I was just trying to explain what was the possible motivation to add that "is" at the end of the two strings, and why this is not helpful but creates problems later on, especially in different languages.

Building those sentences in the automations and scripts editor is not in any way part of this PR, it will be implemented in the frontend in some later steps. It is only about removing the two "is" from these two strings, nothing else.

There is not a single other condition string in Core that has "is" included, I've checked them all in the last weeks.
These two here are inconsistent and will create problems.

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

Successfully merging this pull request may close these issues.

Inconsistent "is" in component::cover::device_automation::condition_type:: strings
2 participants