Commons:SVG 翻訳ツール
このページは Toolforge で提供するSVG翻訳 ツールの説明文書です。
目的
SVG翻訳ツールの開発は、この種 (SVG) のファイルを楽に翻訳できることを目指しました。コモンズにあり機械可読な文字ラベル (ネーム) を埋め込んだ SVG ファイルであれば、このツールが使えます。翻訳版は元ファイルの switch 変数を利用して統合されます。これにより、画像を改変しても文字ラベルは保持されます。詳細はこちらをご参照ください。
経緯
以前はSVG翻訳にUser:Jarry1250さんが開発したツールがありましたが、保守が停止したことから後継のツール開発が2017年コミュニティ要望アンケート2017 Wishlist survey で提案されると投票により9位に入りました。2018年8月末よりメタの技術チーム meta:Community Tech が開発に着手、開発と設計のプロセスでコミュニティの多くの皆さんとの協議を重ねています。
使用法
翻訳するファイルを選ぶには
SVG翻訳ツールの作業はこのページから始まります。コモンズにあるSVG形式のファイルを探す機能を利用します(例:Inkscape)。ただし注意点として、このツールで翻訳ができる対象は、ファイル内の文字ラベルが機械可読なファイルのみです。それ以外のでSVG形式のファイルは、画像編集ソフトを使い(例:Inkscape)、画像を加工しなければなりません。
何語に翻訳するか選ぶには
作業するファイルを選ぶと翻訳ビューが開きます。左側に文字ラベルの入力欄の一覧 (記入のない状態)、右側に画像が表示されます。まず言語を選択メニューから、何語に翻訳するか選びます。作業画面の上部にメニューボタンがあり、クリックすると言語指定(ULS) リストが開きますので、該当の言語をひとつクリックします。
画像内の文字ラベルを訳語で置き換える
原語から翻訳する言語の選択が終わりました。次に文字ラベルを訳していきます。欄に記入して次の欄にカーソルを移すと、ツールは記入内容を取り込んだ新規の画像を生成して保存します。画像では右の画像の文字ラベル2点が、左で訳したヘブライ語に入れ替わっています。
左の記入欄に訳語を入力すると、右の画像に反映されるまで少し時間差があります。入力内容のデータ変換と画像表示に費やす時間は、画像にある文字ラベルの点数に左右されます。
翻訳をコモンズにアップロード
文字ラベルをすべて翻訳したら画像ごとコモンズにアップロード します。ボタンは画像の上部にあります。アップロードにはログインが必要です。画面最上部の右端にログインボタンがあります。
個別のウィキで翻訳済みファイルを使うには
ファイルに翻訳を追加する作業を終了したらコモンズにあるファイルを開き、文字ラベルを表示したい言語を指定できます。メニューを展開して Render this image in ボタンを使います。詳細は画像をご参照ください。
表示言語を変更すると、ファイルに追加した翻訳が表示されます。ご利用のウィキに直接、ファイルを埋め込むと、SVG ファイルに対する翻訳が存在するときはそのウィキの言語で表示されます。翻訳がない場合、画像(の文字ラベル)は英語で表示されます。
一例としてもしヒンディー語の翻訳をFile:Fire triangle 2.svgに追加して、そのファイルをヒンディー語版ウィキペディアで表示させるには、表示先のページを編集してファイル[[File:Fire triangle 2.svg]]
を追加します。するとヒンディー語の文字ラベルがある場合は表示します。画像からヒンディー語の翻訳をまったく検出できないと、英語版の文字ラベルを表示します。たとえばパンジャービー語など他言語でヒンディー語の文字ラベルを表示したい場合には、表示言語の引数を加えたファイル名[[File:Fire triangle 2.svg|lang=hi]]
を記入します。
よくある質問
Q: このファイルには翻訳できる文字ラベルがありません というエラーメッセージが表示されますが?
A: このメッセージが表示される原因は複数、存在します。
- ファイル中に手書き文字 (drawn text) が存在しても、ツールには機械可読な書式の文字列しか検知できません (文字列は
text
要素で囲んでください)。一例として File:Nuvola apps edu miscellaneous H2O.svg というファイル内のラベルは手書き文字列で、ツールには読み取れません。 - ツールが古い版のSVGファイルにアクセスしている場合。ツールはコモンズにあるSVGファイルを読み取りに行き、ツール自体のキャッシュに取り込みます。ところがコモンズにそれよりも新しいバージョンのファイルがあるかどうかは確認しないため、利用者はファイルがキャッシュの期限切れを迎えるまで待機するほかありません (通常最低5時間)。キャッシュはパージできないからです。留意点は、たとえコモンズで
&action=purge
を実行してもツールには作用しない点です。phab:T213126、phab:T216207ご参照。 - ツールは多言語ファイル内に
switch
要素を求め、当該のファイルは個別に簡略な構造を持っていると想定しています。直下の子要素はtext
要素つまり翻訳文字列です。しかしツールとしては、例えばa
(anchor/ハイパーリンク) もしくはg
(グループ) 要素を想定外です。翻訳原文には文字列 (systemLanguage
属性のないtext
子要素) を想定します。また言語が異なっても、ツールは翻訳原文と訳文に含まれるtspan
要素は同数であると想定します。一例として、翻訳原文のtext
要素が子要素としてtspan
を1個も含まないのに、(訳注=それに対する)既存のドイツ語版は文字列をtspan
で囲ってある場合、ツールはドイツ語文字列を表示しません。phab:T230357をご参照、サンプル画面は https://svgtranslate.toolforge.org/File:T230357.svg style
要素にCSS ID選択子が含まれるとツールは混乱し、例えば以下の構文の場合です。<style type="text/css">#middleMarker { fill: red; }; #Person { stroke: black; }</style>
。phab:T231143をご参照。- 解析に失敗した要素が1個あると、全ての要素を解析できません。phab:T248252ご参照。
- ツールは入れ子の
<tspan>
をサポートしていません。phab:T250607ご参照。
Q: コモンズにアップロード というボタンを押しているのに反応しませんが?
A: 利用者がログインしていないと、ファイルのアップロードはできません。画面右上のログイン ボタンから操作してください。すると共通ログインを許可する OAuth 画面が開きます。ファイルをアップロードするには、利用者に代わってツールがコモンズにアップロードの処理をしてよいと 許可する ボタンを押します。
Q: 表示言語の指定で、メニューのデフォルト (既定) 言語とはどの言語のことですか?
A: SVG画像にどの言語で翻訳したか指定がない場合、システムは 既定の 言語で表示すればよいと判断します。英語かスペイン語か、どの言語かまでは理解しません。
Q: リクエストしたファイルは見つかりません というメッセージが出る理由は?
A: このメッセージは、検索窓に入力したファイル名がコモンズで該当しなかった場合に表示されます。ファイル名の表記に間違いがないか確かめて、もう一度、コモンズで検索をやり直してください。ただしこのツールを使って翻訳できるのは、コモンズに保存されているファイルだけです。利用者が翻訳したいSVGファイルをコモンズにアップロードして、その後、このツールを使って翻訳作業をすることは可能です。
Q: 私の言語だと、元ファイルとは文字ラベルの順序が合いません。修正方法は?
A: いちばん簡単なのは、翻訳後の言語で正しい語順に訳語を記入することです (翻訳元ファイルでの文字ラベルの並びとは異なる)。作業画面の右側にプレビューが表示されるので、想定どおりの順序に文字ラベルが並んだかどうか確認してください。ただし、本来は解決法としておかしいので、長期的にはぜひ解決したい課題なのですが、SVGファイルの構造が複雑な場合もあることから、問題解決をお約束することができません。
Q: SVGファイルのみサポート対象ですというエラーが出るのはなぜ?
A:
- このツールではファイル形式SVG (拡張子
.svg
のファイル) 以外は翻訳できません。SVG翻訳ツールはコモンズ上のテンプレートからリンクされています。そのため、このテンプレートがSVGではないファイルで使用されることがあり、その場合にこのエラーが表示される可能性があります。コモンズで翻訳しようとしている画像にSVG形式版がある可能性があります (ファイルのページに {{Vector version available}} テンプレートがあるかどうか確認してください)。(訳注:画像の詳細欄の表示は「これのベクター画像 (SVG) が利用できます」) - phab:T251702 missing XML-information might confuse the converter
参照
- Commons edits made via SVG Translate 1.4 -- アップロードができない場合は
&tagfilter=OAuth+CID%3A+
でSVGの翻訳の更新を試します。