Jump to content
Wikimedia Meta-Wiki

ToolTranslate/he: Difference between revisions

From Meta, a Wikimedia project coordination wiki
Content deleted Content added
YaronSh (talk | contribs)
704 edits
Created page with "תרגומים מאוחסנים במסד נתונים ב־Toolforge. גרסאות ישנות של תרגומים נשמאות והתרגומים משויכים לעורכים שלהם. (יש גם כלי „שינויים אחרונים".)"
YaronSh (talk | contribs)
704 edits
Created page with "כדי להקל על הגישה לנתוני התרגום, כל התרגומים מאוחסנים גם בקובצי JSON, שמתעדכנים עם כל שינוי. למשל „demotool1": * [1ドル toolinfo.json], קובץ JSON עם מידע על הכלי * [2ドル en.json], קובץ ה־JSON שמכיל את התרגום של הכלי לאנגלית. שפות נוספות עובדות באותו האופן, עם קוד השפה התואם שלהם יש גם [3ドル קובץ JSON]..."
Line 32: Line 32:
תרגומים מאוחסנים במסד נתונים ב־Toolforge. גרסאות ישנות של תרגומים נשמאות והתרגומים משויכים לעורכים שלהם. (יש גם כלי „שינויים אחרונים".)
תרגומים מאוחסנים במסד נתונים ב־Toolforge. גרסאות ישנות של תרגומים נשמאות והתרגומים משויכים לעורכים שלהם. (יש גם כלי „שינויים אחרונים".)


כדי להקל על הגישה לנתוני התרגום, כל התרגומים מאוחסנים גם בקובצי JSON, שמתעדכנים עם כל שינוי. למשל „demotool1":
<div lang="en" dir="ltr" class="mw-content-ltr">
(追記) * (追記ここまで) [https://tools.wmflabs.org/tooltranslate/data/(追記) demotool1/toolinfo (追記ここまで).json (追記) toolinfo.json (追記ここまで)](追記) , (追記ここまで) (追記) קובץ (追記ここまで) (追記) JSON (追記ここまで) (追記) עם (追記ここまで) (追記) מידע על הכלי (追記ここまで)
To simplify access to translation data, all translations are also stored in JSON files, which are updated on every change. Example "demotool1":
* [https://tools.wmflabs.org/tooltranslate/data/demotool1/(削除) toolinfo (削除ここまで).json (削除) toolinfo (削除ここまで).json], (削除) a (削除ここまで) (削除) JSON (削除ここまで) (削除) file (削除ここまで) (削除) with (削除ここまで) (削除) information (削除ここまで) (削除) about (削除ここまで) (削除) the (削除ここまで) (削除) tool (削除ここまで)
* [https://tools.wmflabs.org/tooltranslate/data/demotool1/(追記) en (追記ここまで).json (追記) en (追記ここまで).json], (追記) קובץ (追記ここまで) (追記) ה־JSON (追記ここまで) (追記) שמכיל (追記ここまで) (追記) את (追記ここまで) (追記) התרגום (追記ここまで) (追記) של (追記ここまで) (追記) הכלי (追記ここまで) (追記) לאנגלית. שפות נוספות עובדות באותו האופן, עם קוד השפה התואם שלהם (追記ここまで)
(削除) * (削除ここまで) [https://tools.wmflabs.org/tooltranslate/data/(削除) demotool1/en (削除ここまで).json (削除) en.json], the (削除ここまで) JSON (削除) file (削除ここまで) (削除) containing (削除ここまで) (削除) the (削除ここまで) (削除) English translation of that tool (削除ここまで).(削除) Other languages work in the same manner, with the respective language code (削除ここまで)
(追記) יש גם (追記ここまで) [https://tools.wmflabs.org/tooltranslate/data/(追記) languages (追記ここまで).json (追記) קובץ (追記ここまで) JSON(追記) ] (追記ここまで) (追記) עם (追記ここまで) (追記) כל (追記ここまで) (追記) השפות (追記ここまで) (追記) התקפות (追記ここまで).
(削除) There is also a (削除ここまで) [https://tools.wmflabs.org/tooltranslate/data/(削除) languages (削除ここまで).json (削除) JSON file (削除ここまで)] (削除) with (削除ここまで) (削除) all (削除ここまで) (削除) valid (削除ここまで) (削除) languages. (削除ここまで)
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">

Revision as of 08:06, 25 December 2023

כלי_תרגום בפעולה

זה המדריך של כלי_תרגום. אפשר לתרגם אותו בשמחה!

ייעוד

לכלים רבים ב־Toolforge חסרים תרגומי מנשק, כלומר, שהם זמינים בשפה אחת, בדרך כלל אנגלית. אפילו כלים שתומכים במגוון שפות במנשק משתמשות בשיטות מוזרות להוספת שפות חדשות ותרגומים. כלי_תרגום מציע דרך מרכזית וידידותית לקהילה (TM) לאספקת תרגומים לכלים. כלים צריכים לתמוך במנגנון הזה, כלומר שצריך „לשפץ" אותם פעם אחת כדי שישתמשו בשיטה דינמית במקום בטקסט סטטי במנשק. הרשומה המקורית בבלוג.

תרגום

  1. יש לגשת אל הכלי
  2. אם יש צורך, לעבור אימות של הכלי
  3. לבחור כלי לתרגום מהרשימה הנפתחת בראש או בעמוד הראשי
  4. לבחור או להוסיף את שפת היעד לתרגום
  5. ללחוץ פעמיים על ה„תא" בו אמור להתווסף התרגום שלך, או התרגום שברצונך לשפר
  6. יש להקליד את הטקסט שלך. אפשר להשתמש ב־HTML (בלי JavaScript!). יכולות להופיע הצעות לתרגום מכלי שונה עם אותו „שם מפתח", אפשר להשתמש בזה כבסיס לטקסט שלך.
  7. ללחוץ על אישור. זהו! למעט כל מיני בעיות אחסון בזיכרון של הדפדפן, התרגום שלך אמור להופיע בכלי המיועד בטעינה הבאה שלו.

משאבים

טכנולוגיה

תרגומים מאוחסנים במסד נתונים ב־Toolforge. גרסאות ישנות של תרגומים נשמאות והתרגומים משויכים לעורכים שלהם. (יש גם כלי „שינויים אחרונים".)

כדי להקל על הגישה לנתוני התרגום, כל התרגומים מאוחסנים גם בקובצי JSON, שמתעדכנים עם כל שינוי. למשל „demotool1":

  • toolinfo.json, קובץ JSON עם מידע על הכלי
  • en.json, קובץ ה־JSON שמכיל את התרגום של הכלי לאנגלית. שפות נוספות עובדות באותו האופן, עם קוד השפה התואם שלהם

יש גם קובץ JSON עם כל השפות התקפות.

Database

The source data is stored in the s53069__tooltranslate_p database on tools-db on Toolforge (mysql --defaults-file=~/replica.my.cnf -h tools-db s53069__tooltranslate_p). Data can be fetched from there as well if needed. Following tables are available:

  • tool
    • id | name | label | url | owner
  • translation
    • id | tool_id | language | key | json | user | timestamp | current

HowTo: HTML/JS

HowTo: PHP

There is a PHP class that you can include on Toolforge, like so:

require_once ( "/data/project/tooltranslate/public_html/tt.php") ;

You can then instantiate the class:

$tt = new ToolTranslation ( array ( 'tool' => 'your_tool_key' , 'language' => 'de' , 'fallback' => 'en' , 'highlight_missing' => true ) ) ; // <span lang="en" dir="ltr" class="mw-content-ltr">Everything except 'tool' is optional</span>

Direct usage

There are two ways of getting interface translations in PHP. One is directly getting a translated string

print "<p>" . $tt->t('translation_key') . "</p>" ;

But this has the disadvantage that the translation cannot be changed without reloading the page.

Use via JS

You can instead add HTML "translation tags" (see above), and have the class add the necessary JS invocation. Another advantage is that the PHP class does not need to load any translation files if you never use the "direct" translation above. To use HTML/JS translation, the <head> section of your pages' HTML needs to contain

<script src="https://tools-static.wmflabs.org/tooltranslate/tt.js">

(You will also need jQuery.) When generating the page, instead of the above, write:

print "<p tt='translation_key'></p>" ;

Somewhere in the output (maybe towards the end), you will need to add the invocation code:

print $tt->getJS() ;

This will initialize the required JS, reproducing the parameters used in the PHP instance (fallback language etc.). If you want a "translation dropdown", add a wrapper element in your HTML code

<div id='tooltranslate_wrapper'></div>

then give the jQuery accessor as a parameter to the getJS method call:

print $tt->getJS('#tooltranslate_wrapper') ;

See this tool for a working example.

AltStyle によって変換されたページ (->オリジナル) /