-
Notifications
You must be signed in to change notification settings - Fork 0
Add clean_proto helper script #5
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
Open
pilz
wants to merge
1
commit into
main
Choose a base branch
from
api/clean-proto
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,3 +5,4 @@ | |
| /tmp | ||
| /var | ||
| __pycache__ | ||
| .DS_Store | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| Add the clean_proto script to help identify manual errors where non english translations contain the english translation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| import yaml | ||
| """ USE ONLY AS DEVELOPER! This is a helper script to clean up the prototype YAML files. | ||
|
|
||
| It checks for redundant translations—cases where a translation in another language is identical to the English ("en") version. | ||
| We need to do that so that we can later identify missing translations in other languages so that we may provide proper translations. | ||
|
|
||
| How it works: | ||
|
|
||
| It loads the patterns YAML file (the path is set by patterns_yaml_path). | ||
| For each key, it gets the English translation. | ||
| It compares each other language’s translation to the English one. | ||
| If a translation matches the English text, it prints a message and triggers a debugger breakpoint for inspection. | ||
|
|
||
| Output: | ||
| It prints out any keys where a non-English translation is the same as the English one and pauses execution for debugging. | ||
|
|
||
| Note: | ||
| The code to write changes back to the YAML file is commented out, so the script currently only checks and reports redundancies—it does not modify the file. I have done this to make sure this is first used to inspect the data before making any changes. | ||
|
|
||
| Gotcha: | ||
| If you want to actually remove redundant translations or save changes, you’d need to uncomment and adapt the writing section. Also, the script expects the YAML structure to be a dictionary of keys, each mapping to a dictionary of language codes and translations. | ||
|
|
||
| """ | ||
|
|
||
| oira_yaml_path = 'var/prototype/_data/oira/ui.yaml' | ||
| patterns_yaml_path = 'var/prototype/_data/patterns/ui.yaml' | ||
|
|
||
|
|
||
| def remove_redundant_translations(yaml_path): | ||
| with open(yaml_path, 'r', encoding='utf-8') as f: | ||
| data = yaml.safe_load(f) | ||
|
|
||
| for key, translations in data.items(): | ||
| en_value = translations.get('en') | ||
| if not en_value: | ||
| continue | ||
| # Remove keys where the translation is the same as English | ||
| for lang, value in translations.items(): | ||
| if lang != 'en' and value == en_value: | ||
| print(f'Check {key}: {lang} == {en_value}') | ||
| breakpoint() | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Uhm... Leftover? |
||
|
|
||
| # # Write it back (optional) | ||
| # with open(yaml_path, 'w', encoding='utf-8') as f: | ||
| # yaml.dump(data, f, allow_unicode=True, sort_keys=False) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please remove commented code |
||
|
|
||
|
|
||
| # Example usage | ||
| # remove_redundant_translations(oira_yaml_path) | ||
| remove_redundant_translations(patterns_yaml_path) | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name clean_proto is not clear to me.
I tried with Chat GPT it suggests me
check_redundant_translationsIt looks like we are missing a shebang line and
yamlis not in the standard library.