Repository navigation
Hebrew translation - #23
Conversation
282d33f to
742ebef
Compare
2342fb4 to
8e2050d
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Multiple Hebrew translation inaccuracies, including security terminology, must be corrected before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds Hebrew localization and registers it for app selection and resource packaging.
Changes:
- Adds Hebrew translations and color labels.
- Registers Hebrew in the language picker.
- Includes Hebrew in supported resource locales.
File summaries
| File | Changes |
|---|---|
app/src/main/res/values-iw/strings.xml |
Hebrew translations; terminology and grammar corrections are needed. |
app/src/main/res/values-iw/strings_colors.xml |
Hebrew color labels. |
app/src/main/java/io/github/vvb2060/keyattestation/util/LocaleManager.kt |
Registers Hebrew in language selection. |
app/locales.txt |
Includes Hebrew in resource packaging. |
Review details
Suppressed comments (16)
app/src/main/res/values-iw/strings.xml:139
- מחשב means “computes,” while the source says the value is “computed.” As written, this changes the subject's behavior and makes the description inaccurate.
<string name="unique_id_description"><![CDATA[ערך זה מזהה את המכשיר, אך רק למשך זמן מוגבל. הוא <a href="https://source.android.com/security/keystore/attestation#unique-id">מחשב</a> ומשמש רק על ידי אפליקציות מערכת. בכל האפליקציות האחרות, uniqueId ריק.]]></string>
app/src/main/res/values-iw/strings.xml:197
- This description leaves the English word “themselves” untranslated inside the Hebrew sentence, so the localized explanation is incomplete.
מבנה נתונים זה מכיל את מאפייני זוג המפתחות themselves, כפי שהוגדרו בשכבת החומרה המופשטת של Keymaster או KeyMint (HAL). אתה משווה ערכים אלו למצב הנוכחי של המכשיר או לסט של ערכים צפויים כדי לאמת שזוג מפתחות עדיין תקין לשימוש באפליקציה שלך.
app/src/main/res/values-iw/strings.xml:221
- The source says the key becomes permanently deleted and unusable, but שימושי means “useful/usable.” This translation states the opposite security property.
מציין שהמפתח עמיד בפני Rollback, מה שאומר שכאשר הוא נמחק על ידי deleteKey או deleteAllKeys, המפתח מובטח להימחק לצמיתות ולהפוך לשימושי. ייתכן שמפתחות ללא תג זה יימחקו ואז ישוחזרו מגיבוי.
app/src/main/res/values-iw/strings.xml:266
- This repeats the same opposite meaning as the earlier rollback-resistance description: שימושי means usable, not unusable. Please correct this duplicate translation too.
מציין שהמפתח עמיד בפני Rollback, מה שאומר שכאשר הוא נמחק על ידי deleteKey או deleteAllKeys, המפתח מובטח להימחק לצמיתות ולהפוך לשימושי. ייתכן שמפתחות ללא תג זה יימחקו ואז ישוחזרו מגיבוי.
app/src/main/res/values-iw/strings.xml:260
- ולקינוח means “and for dessert,” not “informational only.” This changes the meaning of the creation-date field and is especially confusing in a technical description.
מציין את התאריך והשעה שבהם המפתח נוצר, במילישניות מאז 1 בינואר 1970. תג זה אופציונלי ולקינוח בלבד.
app/src/main/res/values-iw/strings.xml:271
- The source refers to preventing an unsigned image from being flashed onto the device, but הפצת means distribution. This loses the security-relevant device-installation behavior described by
deviceLocked.
deviceLocked: <br/>נכון אם הbootloader של המכשיר נעול, מה שמאפשר בדיקת Verified Boot ומונע הפצת תמונת מכשיר לא חתומה.<br/><br/>
app/src/main/res/values-iw/strings.xml:338
- The source says the device is not rooted, but אינו מופעל means “is not turned on/operating.” This omits the important rooted-device check from the Knox integrity explanation.
אימות Samsung Knox היא תכונה שמאמת את שלמות הנתונים של מכשיר Samsung על ידי בדיקה שהמכשיר אינו מופעל או מפעיל קושחה לא רשמית.
app/src/main/res/values-iw/strings.xml:233
- This summary repeats the same gender-agreement error as the label above: אימות is masculine, so נדרשת should be נדרש.
מציין שלא נדרשת אימות לשימוש במפתח זה.
app/src/main/res/values-iw/strings.xml:117
- The protocol term “negotiate the GEEK” is translated as ניהול GEEK (“manage GEEK”), which changes the operation being described. Please use wording for negotiating, such as משא ומתן על GEEK, so this technical explanation remains accurate.
<string name="rpc_eek_curve_description">עקומה המשמשת לאימות שרשרת תעודות Endpoint Encryption Key (EEK) ולניהול GEEK להצפנה של ProtectedData. משמשת רק בזרימת V1/V2 CSR; V3 הסירה את הEEK לחלוטין.</string>
app/src/main/res/values-iw/strings.xml:134
- תגרעות means deficiencies/drawbacks, not attacks. This mistranslates the security claim that StrongBox resists hardware attacks against the module; replace it with התקפות חומרה.
<string name="security_level_description"><![CDATA[<font face="sans-serif-medium">רמת אבטחה:</font><br>מבנה נתונים זה מציין את המידה בה מוגנת תכונה בתוכנה, כמו זוג מפתחות, בהתבסס על מיקומה במכשיר.<p><ul><li gap="8sp"><font face="sans-serif-medium">תוכנה</font><br>הלוגיקה ליצירת וניהול התכונה מיושמת במערכת Android. למטרות יצירת ושמירת זוגות מפתחות, מיקום זה פחות מאובטח מהTEE אך מאובטח יותר ממרחב התהליך של האפליקציה שלך.</li><li gap="8sp"><font face="sans-serif-medium">TrustedEnvironment</font><br>הלוגיקה ליצירת וניהול התכונה מיושמת בחומרה מאובטחת, כמו TEE. למטרות יצירת ושמירת זוגות מפתחות, מיקום זה מאובטח יותר כי חומרה מאובטחת עמידה מאוד מפני פגיעה מרחוק.</li><li gap="8sp"><font face="sans-serif-medium">StrongBox</font><br>הלוגיקה ליצירת וניהול התכונה מיושמת ב<a href="https://developer.android.com/training/articles/keystore#HardwareSecurityModule">מודול אבטחת חומרה</a> ייעודי. למטרות יצירת ושמירת זוגות מפתחות, מיקום זה מאובטח יותר כי הוא עמיד מאוד מפני פגיעה מרחוק ותגרעות חומרה כנגד המודול.</li></ul>]]></string>
app/src/main/res/values-iw/strings.xml:48
- The source says the attestation may be replayed, but
שחזורmeans restoration/recovery rather than replay. That changes the security warning; use the Hebrew term for replay here.
<string name="vbmeta_mismatch_summary">הhash של אימות ההפעלה המאומת אינו תואם את digest הvbmeta של המערכת הפועלת. זהו סימן חזק למזויפות או שחזור של אימות.</string>
app/src/main/res/values-iw/strings.xml:137
- The source describes replaying old certificates, while
שחזורdescribes restoration/recovery. Please translate this as replay so users are warned about the correct threat.
<string name="attestation_challenge_description">מכיל את האתגר שסופק בזמן יצירת המפתח. בדוק אם הערך הזה תואם לערך ששרת שלך סיפק. אחרת, השירות שלך עלול להיות פגיע לשחזור של תעודות אימות ישנות.</string>
app/src/main/res/values-iw/strings.xml:163
השהיית אימותmeans an authentication delay, not an authentication timeout. This label should identify the timeout period controlled by the authorization tag.
<string name="authorization_list_authTimeout">השהיית אימות</string>
app/src/main/res/values-iw/strings.xml:167
מכשיר פתוחmeans an open device, whereas the source specifically requires an unlocked device. Use the standard “not locked/unlocked” wording so this security requirement is not ambiguous.
<string name="authorization_list_unlockedDeviceRequired">נדרש מכשיר פתוח</string>
app/src/main/res/values-iw/strings.xml:350
מפתח מפתחis not a comprehensible translation of “developer key”; it reads as “key key.” Please use an unambiguous Hebrew term for the developer's signing key in this security description.
<li gap="8sp">שם החבילה של האפליקציה המבקשת, קוד גרסה ומפתח מפתח.</li>
app/src/main/res/values-iw/strings.xml:251
- This description also translates “unlocked” as
פתוח(“open”). Useלא נעולhere to keep the explanation consistent with the security requirement in the label above.
דורש שמסך המכשיר יהיה פתוח אם נעשה שימוש במפתח.
- Files reviewed: 4/4 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Bruh |
|
Also technical terms, is better not translate like: OS or IMEI. |
Sure, will work on it tmrw morning sir! |
Like i said: Don't worry, take your time! |
|
dear lord i am getting alzeimers i think... ill work on it now |
0e5ca6b to
36eaa44
Compare
Don't worry. Yeah, i understand you. Mental health is not the same anymore, when we involved with many things. |
bless you and thank you! |
Signed-off-by: Android-Artisan <romartisan2025@gmail.com>
ec0d540 to
d1d335c
Compare
|
ready to merge |
d1d335c to
7c74c9a
Compare
i am an idiot, ill fix this |
|
ok force pushed |
|
lets see if copilot thinks is ready |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Unresolved translation issues and missing RTL manifest support remain.
Review effort: Lite
Findings: 8
Open (8)
Explicitly translate certificate replay behavior · New Use Hebrew term for flashing, not distribution · New Translate key material as secret key material · New Fix rooted-device term and gender agreement Correct translation to say deleted key becomes unusable Correct wording to say the value is computed Use Hebrew term for degenerate chain, not corrupt Use remote key provisioning terminology
7c74c9a to
8d25b84
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Several Hebrew translation errors must be corrected before approval.
Review effort: Lite
Findings: 5
Open (5)
Resolved since last review (8)
Translate key material as secret key material Use Hebrew term for flashing, not distribution Explicitly translate certificate replay behavior Fix rooted-device term and gender agreement Correct translation to say deleted key becomes unusable Correct wording to say the value is computed Use Hebrew term for degenerate chain, not corrupt Use remote key provisioning terminology
| <string name="dice_chain_invalid">חתימת שרשרת DICE אינה חוקית</string> | ||
| <string name="dice_chain_invalid_summary">חתימה בשרשרת ה-DICE נכשלת באימות מול מפתח השלב הקודם. השרשרת עלולה להיות מזויפת או פגומה.</string> | ||
| <string name="rkp_hostname">שם מארח אספקה מרחוק</string> | ||
| <string name="rkp_hostname_empty">אספקת מפתח מרחוק מושבת</string> |
|
never ending |
8d25b84 to
5b5a482
Compare
|
raghhhhhhhhhhhhh ragebait promax |
|
this is pure ragebait, i already fixed that, ongod just feel free to merge, all is perfect |
|
I have gone ahead and compacted aka ammended all commits into 2 commits like that we dont get lost |
|
No need to rush. Also, the Hebrew translations is 354, when the strings.xml is 398 |
Bruhhhhhhhhh, ill look into it, mb and thx Im tired |
Take a long break and rest! |
|
With a quick check, i think i found why is less lines. The English and the rest is like this: While your is like this: Is one straight line. I think you have it like this all. Examples: The lines (look on English strings.xml) 84, 90, 94, 98. |
Ill fix the indentation, thx |
|
How is going? 😁 |
Give me 30 minutes then u can merge! |
Signed-off-by: Android-Artisan <romartisan2025@gmail.com>
5b5a482 to
88166d4
Compare
|
It is done! |

draft, will need to proofread everything, gimme 2 3 days, i already did like 95% like 3 months ago when i first wanted to make the pr but forgot about it and left it stale and then now since there are new strings had to add new ones