Hebrew translation - #23
Android-Artisan wants to merge 3 commits into
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.
| <string name="authorization_list_activeDateTime">תאריך ושעת הפעלה</string> | ||
| <string name="authorization_list_originationExpireDateTime">תאריך ושעת פקיעת יצירה</string> | ||
| <string name="authorization_list_usageExpireDateTime">תאריך ושעת פקיעת שימוש</string> | ||
| <string name="authorization_list_noAuthRequired">לא נדרשת אימות</string> |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
Bruh |
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