Skip to content

Hebrew translation - #23

Draft
Android-Artisan wants to merge 3 commits into
VisionR1:masterfrom
Android-Artisan:Hebrew-translation
Draft

Android-Artisan wants to merge 3 commits into
VisionR1:masterfrom
Android-Artisan:Hebrew-translation

Conversation

@Android-Artisan

Copy link
Copy Markdown

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

@VisionR1
VisionR1 force-pushed the master branch 2 times, most recently from 2342fb4 to 8e2050d Compare September 14, 2026 19:49
@Android-Artisan
Android-Artisan marked this pull request as ready for review September 15, 2026 09:07
Copilot AI lite review requested due to automatic review settings September 15, 2026 09:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 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.

Comment thread app/src/main/res/values-iw/strings.xml Outdated
<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>
@Android-Artisan
Android-Artisan requested a lite review from Copilot September 15, 2026 09:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Android-Artisan

Copy link
Copy Markdown
Author

Bruh

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Android-Artisan
Android-Artisan marked this pull request as draft September 15, 2026 10:17
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.

2 participants