Skip to content

Hebrew translation - #23

Merged
VisionR1 merged 2 commits into
VisionR1:masterfrom
Android-Artisan:Hebrew-translation
Oct 17, 2026
Merged

VisionR1 merged 2 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
Comment thread app/src/main/res/values-iw/strings.xml Outdated
@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
@VisionR1

VisionR1 commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

@Android-Artisan

Also technical terms, is better not translate like: OS or IMEI.

@Android-Artisan

Copy link
Copy Markdown
Author

@Android-Artisan

Also technical terms, is better not translate like: OS or IMEI.

Sure, will work on it tmrw morning sir!

@VisionR1

Copy link
Copy Markdown
Owner

@Android-Artisan
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!

@Android-Artisan

Copy link
Copy Markdown
Author

dear lord i am getting alzeimers i think... ill work on it now

@VisionR1

VisionR1 commented Oct 4, 2026

Copy link
Copy Markdown
Owner

dear lord i am getting alzeimers i think... ill work on it now

Don't worry.

Yeah, i understand you.

Mental health is not the same anymore, when we involved with many things.

@Android-Artisan

Copy link
Copy Markdown
Author

dear lord i am getting alzeimers i think... ill work on it now

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>
@Android-Artisan
Android-Artisan marked this pull request as ready for review October 4, 2026 16:22
@Android-Artisan

Copy link
Copy Markdown
Author

ready to merge

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 review overview

🟡 Changes recommended

Multiple translation terminology, meaning, and grammar issues must be corrected before approval.

Review effort: Lite
Findings: 5 Low severity

Open (5)
Resolved since last review (1)

Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
@Android-Artisan

Copy link
Copy Markdown
Author

Copilot review overview

🟡 Changes recommended

Multiple translation terminology, meaning, and grammar issues must be corrected before approval.

Review effort: Lite Findings: 5 Low severity

Open (5)

Resolved since last review (1)

i am an idiot, ill fix this

@Android-Artisan
Android-Artisan requested a lite review from Copilot October 4, 2026 16:33
@Android-Artisan

Copy link
Copy Markdown
Author

ok force pushed

@Android-Artisan

Copy link
Copy Markdown
Author

lets see if copilot thinks is ready

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.

Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated

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.

Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
<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>
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml Outdated
Comment thread app/src/main/res/values-iw/strings.xml
@Android-Artisan

Copy link
Copy Markdown
Author

never ending

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 review overview

🔵 Needs a closer look

RTL support and several Hebrew translation corrections remain unresolved.

Review effort: Lite
Findings: 1 Low severity

Open (1)
Resolved since last review (4)

@Android-Artisan

Copy link
Copy Markdown
Author

raghhhhhhhhhhhhh ragebait promax

@Android-Artisan

Copy link
Copy Markdown
Author

#23 (review)

this is pure ragebait, i already fixed that, ongod

just feel free to merge, all is perfect

@Android-Artisan

Copy link
Copy Markdown
Author

I have gone ahead and compacted aka ammended all commits into 2 commits like that we dont get lost

@VisionR1

VisionR1 commented Oct 4, 2026

Copy link
Copy Markdown
Owner

@Android-Artisan

No need to rush.

Also, the Hebrew translations is 354, when the strings.xml is 398

@Android-Artisan

Copy link
Copy Markdown
Author

@Android-Artisan

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

@VisionR1

VisionR1 commented Oct 4, 2026

Copy link
Copy Markdown
Owner

@Android-Artisan
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!

@VisionR1

VisionR1 commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

@Android-Artisan

With a quick check, i think i found why is less lines.

The English and the rest is like this:

<string name="error_unavailable_summary">
Attest failed. Adjust options in the menu and try again.
A common reason for consistently failing to attest is the inability to use the factory provisioned attestation key,
possibly due to a misconfigured device or a corrupt persist partition.
</string>

While your is like this:

<string name="error_unavailable_summary">האימות נכשל. התאם את האפשרויות בתפריט ונסה שוב. סיבה נפוצה לכישלון עקבי באימות היא חוסר היכולת להשתמש במפתח האימות שסופק במפעל, ייתכן עקב תצורה שגויה של המכשיר או מחיצת ה-persist פגומה.</string>

Is one straight line.

I think you have it like this all.

Examples: The lines (look on English strings.xml) 84, 90, 94, 98.

@Android-Artisan

Copy link
Copy Markdown
Author

@Android-Artisan

With a quick check, i think i found why is less lines.

The English and the rest is like this:

<string name="error_unavailable_summary">
Attest failed. Adjust options in the menu and try again.
A common reason for consistently failing to attest is the inability to use the factory provisioned attestation key,
possibly due to a misconfigured device or a corrupt persist partition.
</string>

While your is like this:

<string name="error_unavailable_summary">האימות נכשל. התאם את האפשרויות בתפריט ונסה שוב. סיבה נפוצה לכישלון עקבי באימות היא חוסר היכולת להשתמש במפתח האימות שסופק במפעל, ייתכן עקב תצורה שגויה של המכשיר או מחיצת ה-persist פגומה.</string>

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

@VisionR1

Copy link
Copy Markdown
Owner

@Android-Artisan

How is going? 😁

@Android-Artisan

Copy link
Copy Markdown
Author

@Android-Artisan

How is going? 😁

Give me 30 minutes then u can merge!

Signed-off-by: Android-Artisan <romartisan2025@gmail.com>
@Android-Artisan

Copy link
Copy Markdown
Author

It is done!

@VisionR1
VisionR1 merged commit 9743bed into VisionR1:master Oct 17, 2026
0 of 3 checks passed
@Android-Artisan
Android-Artisan deleted the Hebrew-translation branch October 17, 2026 17:23
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.

3 participants