PTC

תרגום אפליקציות Java באמצעות בינה מלאכותית

‏PTC (Private Translation Cloud) מתרגמת קובצי .properties של Java ואת שאר סטאק ה־Java שלכם ליותר מ־40 שפות באמצעות בינה מלאכותית, מתחברת ל־Maven או ל־Gradle, ובעלת הסמכה לתקן ISO 27001 לשימוש ארגוני. סקירת תרגום חזותית מאמתת את האפליקציה הפועלת בכל שפה, כך שתוכלו להפיץ עדכונים ללא QA ידני בכל גרסה.

‏Spring Boot, Quarkus, Micronaut, Jakarta EE, JavaFX, Swing (Legacy) – PTC מטפלת בכל דפוסי ה־i18n הנפוצים ב־Java. שאילתות ResourceBundle, חבילות הודעות (message bundles), מחרוזות FXML, כולל אינטגרציה עם כלי הבנייה שבהם אתם כבר משתמשים.

צוותי בנקאות, ביטוח, בריאות וטלקום המפיצים אפליקציות Java לשווקים תחת רגולציה משתמשים ב־PTC מכיוון שתהליך העבודה מתאים לצינור הבנייה שלהם, והסמכת ה־ISO 27001 עונה על שאלות הציות עוד לפני שמחלקת הרכש שואלת.

התחילו תקופת ניסיון של 30 יום בחינם – תרגמו את אפליקציית ה־Java שלכם כבר עכשיו

  • 20,000 מילים ל־2 שפות, בחינם
  • תמיכה ב־יותר מ־40 שפות
  • כולל סקירת תרגום חזותית של אפליקציית ה־Java הפועלת
  • הסמכת ISO 27001 – אבטחה וציות לארגונים גדולים, כדי שתוכלו לסמן "וי" על הרשימה
  • ללא צורך בכרטיס אשראי

התחילו תקופת ניסיון חינם

תרגום פרויקט ה־Java שלכם ב־3 שלבים

  1. התחילו פרויקט בלוח הבקרה של PTC. בחרו את שפת המקור שלכם. PTC משתמשת בטקסט המקור כדי לבחור את מנוע התרגום המתאים וכדי לדלג על מחרוזות שאינן דורשות תרגום (שמות מותגים, כתובות URL, מזהים שאינם ניתנים לתרגום).
  2. העלו את קובצי ה־.properties שלכם או חברו את מאגר ה־Git שלכם. PTC מנתחת כל ResourceBundle ומחלצת רק את הערכים הניתנים לתרגום. היא מחזירה תרגומים כקובצי messages_xx.properties התואמים למוסכמות השמות ש־Java מצפה להן. ספירת המילים מוצגת לפני ניצול מכסה כלשהי מתקופת הניסיון בחינם.
  3. בחרו שפות יעד ואשרו. PTC מתרגמת ברקע. עבור צוותי Maven ו־Gradle, החבילות המתורגמות מגיעות כ־pull request למאגר שלכם.

תקופת הניסיון בחינם מכסה 20,000 מילים ל־2 שפות ללא כרטיס אשראי. זה מספיק כדי לתרגם את רוב אפליקציות ה־Java הארגוניות מקצה לקצה לפני שתחליטו אם להירשם כמנויים.

מה מייחד את PTC בתרגום Java

כל פריט להלן מקשר לסעיף המפורט בהמשך העמוד.

PTC לומדת את אוצר המילים ואת טון המותג של המוצר שלכם

‏PTC מנתחת את קובצי ה־.properties המקוריים שלכם בעת ההעלאה. היא מייצרת באופן אוטומטי תיאור מוצר ומשתמשת בתיאור זה כדי לתרגם בטון ובטרמינולוגיה הנכונים.

אם אפליקציית הבנקאות שלכם מכנה רשומה בשם "Statement" ולא "Transaction Summary", ‏PTC שומרת על ההבחנה הזו בכל שפת יעד. אותו תיאור עובר לכל גרסה של אותו פרויקט. תוכלו לסקור ולערוך את התיאור שנוצר אוטומטית לפני הרצת התרגום.

רוב כלי הבינה המלאכותית הגנריים רואים מפתח כמו error.user_locked ומתרגמים את הערך מבלי לדעת אם המשתמש הוא אדם פרטי או בעל חשבון. PTC לומדת קודם כל את אוצר המילים של התחום שלכם. 99.5% מהתרגומים עולים לאוויר ללא עריכות.

סקירת תרגום חזותית של אפליקציית ה־Java הפועלת שלכם – הפיצו גרסאות ללא QA ידני בכל שפה

קובץ .properties מתורגם הוא הכרחי אך לא מספיק. התווית המתורגמת עלולה לחרוג מכפתור ברוחב קבוע באפליקציית שולחן עבודה של JavaFX. הודעת שגיאה בגרמנית עלולה להיות מתורגמת כשם עצם כשההקשר דרש פועל. מחרוזת באנגלית המוטמעת בקוד (hardcoded) מחוץ ל־ResourceBundle.getString() תרונדר ללא תרגום, ללא קשר למספר השפות שבהן אתם מפיצים את האפליקציה.

‏AI Visual QA של PTC מכסה את שני הסוגים הנפוצים של אפליקציות Java:

  • תוסף דפדפן עבור אפליקציות אינטרנט של Spring Boot, אפליקציות אינטרנט של Jakarta EE וכל backend של Java המגיש HTML. מתקינים פעם אחת, מבצעים מעבר מוקלט של מסכי האפליקציה שלכם בסביבת staging. ‏PTC מריצה מחדש את ההקלטה לאחר כל עדכון תרגום.
  • העלאת צילומי מסך עבור JavaFX, Swing או כל אפליקציית Java שאינה פועלת בדפדפן. העלו צילום מסך אחד לכל שפה עבור כל תצוגה. ה־AI הוויזואלי של PTC בוחן את התוצאה המרונדרת באותו אופן.

בעיות ש־PTC יכולה לתקן בקובץ ה־.properties (תרגום שגוי של פועל כשם עצם, חריגה מהפריסה, חוסר התאמה בצורות רבים) מתוקנות אוטומטית. בעיות שנמצאות בקוד ה־Java שלכם (עטיפות ResourceBundle.getString() חסרות, ליטרלים המוטמעים בקוד, שרשור משפטים שצריך להשתמש ב־MessageFormat) מוצגות כפרומפטים מוכנים להדבקה עבור Cursor או Claude Code.

אתם לא מפיצים קובץ .properties מתורגם ומקווים לטוב. אתם מפיצים אפליקציית Java רב־לשונית מאומתת.

הסמכת ISO 27001 לשימוש ארגוני

‏PTC מטפלת בנתונים שלכם ובנתונים של המשתמשים שלכם לפי תקני אבטחה מוכרים בינלאומית. עבור צוותי בנקאות, ביטוח, בריאות וטלקום, ההסמכה עונה על שאלת הציות עוד לפני שמחלקת הרכש שואלת אותה.

מחרוזות המקור שלכם מכילות לעיתים קרובות שמות מוצרים, טרמינולוגיה המופנית ללקוחות ודוגמאות מזדמנות הכוללות נתוני לקוחות. תקן ISO 27001 מעיד על כך ש־PTC מטפלת בכל בייט של המידע הזה באמצעות בקרות מתועדות: רישום גישה (logging), הצפנה במעבר ובמנוחה, הערכות ספקים ותגובה לאירועים. צוות סקירת האבטחה שלכם רואה את התעודה, מאשר, ואתם יכולים להפיץ.

אינטגרציה עם Maven, Gradle ו־Spring Boot

עבור פרויקטי Maven, הגדירו שלב תרגום בתהליך הבנייה שלכם:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>ptc-translate</id>
      <phase>prepare-package</phase>
      <goals><goal>exec</goal></goals>
      <configuration>
        <executable>curl</executable>
        <arguments>
          <argument>-X</argument><argument>POST</argument>
          <argument>https://api.ptc.wpml.org/v1/projects/${ptc.project.id}/sync</argument>
          <argument>-H</argument><argument>Authorization: Bearer ${ptc.api.key}</argument>
        </arguments>
      </configuration>
    </execution>
  </executions>
</plugin>

עבור Gradle, אותו תהליך רץ מתוך build.gradle.kts:

tasks.register<Exec>("ptcTranslate") {
  commandLine(
    "curl", "-X", "POST",
    "https://api.ptc.wpml.org/v1/projects/${project.ext["ptcProjectId"]}/sync",
    "-H", "Authorization: Bearer ${project.ext["ptcApiKey"]}"
  )
}

tasks.named("processResources") {
  dependsOn("ptcTranslate")
}

עבור Spring Boot, כוונו את MessageSource לחבילות המתורגמות ו־Spring יטען אותן אוטומטית בהתבסס על Accept-Language:

@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource source = new ReloadableResourceBundleMessageSource();
    source.setBasename("classpath:i18n/messages");
    source.setDefaultEncoding("UTF-8");
    return source;
}

‏PTC מסנכרנת מחרוזות חדשות, מתרגמת רק את מה שהשתנה ופותחת PR עם החבילות המעודכנות. עיינו ב־API reference של PTC עבור תהליך ה־webhook וה־REST המלא.

שימור ResourceBundle, צורות רבים ופורמטים

‏PTC מטפלת בכל מוסכמת i18n של Java מהרגע הראשון:

  • תחביר .properties. הערות, זוגות של key = value, המשכי שורות ורצפי מילוט של Unicode‏ (ü) – כולם נשמרים.
  • מצייני מיקום של ChoiceFormat ו־MessageFormat. תבניות כמו {0}, ‏{0,number}, ‏{1,date,short} נשמרות במיקום הנכון עבור כל שפת יעד.
  • צורות רבים באמצעות ICU4J. PTC מייצרת את קטגוריות הרבים הנכונות לכל שפה (פולנית: one/few/many/other; יפנית: other בלבד; ערבית: שש צורות).
  • מוסכמת הארגומנטים המיקומיים של Spring.{0}, ‏{1} עבור קריאות MessageSource.getMessage(code, args, locale).
  • שפות הנכתבות מימין לשמאל. ערבית, עברית, פרסית ואורדו מתורגמות כהלכה. עבודת ה־rtl.css והפריסה הדו־כיוונית שלכם משלימה את המלאכה.

תרגום הערות גרסה, קובצי README וטקסטים אחרים מחוץ לקובצי המשאבים שלכם

הערות גרסה של Java, קובץ ה־README במאגר ה־Maven הפנימי שלכם או ב־GitHub, הודעות אימייל המופנות ללקוחות ונשלחות מהאפליקציה, תיעוד תמיכה – כולם נמצאים מחוץ ל־.properties. תכונת Paste to Translate של PTC מטפלת בכל אחד מהם. הדביקו את טקסט המקור בלוח הבקרה של PTC, בחרו את שפות היעד שלכם וקבלו תרגומים המשתמשים באותו מילון מונחים ובאותו טון מותג כמו המחרוזות בתוך האפליקציה. עקביות ממסך האפליקציה, דרך אימייל הגרסה ועד למאמר התמיכה.

תרגום תוכן דינמי ותוכן שנוצר על ידי משתמשים באמצעות ה־API של PTC

אפליקציות Java ארגוניות מטפלות לעיתים קרובות בתוכן שנוצר על ידי משתמשים וזקוק לתרגום עם הגעתו: קריאות שירות, ערכים במאגר ידע, דפי ויקי פנימיים, ביקורות מוצרים שנשלחו על ידי לקוחות, צ'אט רב־לשוני. ה־REST API של PTC מתרגם תוכן זה לפי דרישה:

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.ptc.wpml.org/v1/projects/" + projectId + "/translate"))
    .header("Authorization", "Bearer " + apiKey)
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(
        "{\"text\": \"" + ticketText + "\", \"target_languages\": [\"es\", \"de\"]}"
    ))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

אימות מבוסס טוקן (Bearer), בקשת/תגובת JSON, ואותו אימון על מילון מונחים וטון מותג שבו משתמשים קובצי ה־.properties שלכם. עיינו ב־API reference של PTC לקטלוג נקודות הקצה המלא, מגבלות קצב (rate limits) ומוסכמות קודי שפה.

אוטומציה של התרגום ממאגר ה־Git שלכם

‏PTC מתממשקת עם GitHub, GitLab ו־Bitbucket. מחרוזות חדשות בקובץ ה־messages.properties שלכם מפעילות הרצת תרגום אוטומטית. החבילות המתורגמות שנוצרות חוזרות כ־pull request. סקרו ואחדו (merge) כחלק מתהליך סקירת הקוד הרגיל שלכם.

תמחור: תקופת ניסיון של 30 יום בחינם, ולאחר מכן Pay-As-You-Go

תקופת הניסיון בחינם מכסה 20,000 מילים ל־2 שפות ללא כרטיס אשראי. כשתקופת הניסיון מסתיימת, PTC מציעה מודל Pay-As-You-Go. ללא דמי מנוי. ללא התחייבות מינימלית. 500 המילים הראשונות בכל חודש הן בחינם, ואתם משלמים רק על השאר. בעמוד התמחור יש מחשבון עלויות. עבור מחלקות רכש בארגונים גדולים הזקוקות לחוזה שנתי, הירשמו עם אימייל חברה לקבלת תקופת ניסיון עסקית מורחבת.

מוכנים להפיץ אפליקציית Java מאומתת?

העלו את קובצי ה־.properties שלכם. PTC תתרגם אותם ליותר מ־40 שפות ותבצע סקירה חזותית של אפליקציית ה־Java הפועלת בכל אחת מהן. תקן ISO 27001 דואג לציות. אתם מפיצים בביטחון.

התחילו תקופת ניסיון של 30 יום בחינם – 20,000 מילים עלינו, ללא צורך בכרטיס אשראי.

למדריך המלא שלב אחר שלב על בינאום אפליקציית Java, עיינו במדריך בינאום Java. לסיפור הרחב יותר על לוקליזציה ב־CI/CD, עיינו בלוקליזציה של תוכנה מבוססת בינה מלאכותית שנבנתה עבור צינורות CI/CD.