air-h-128k-il / HorliX

HorliX is a DICOM viewer based on Horos and OsiriX.
https://phazor.info/HorliX
Other
8 stars 9 forks source link

japanese localization #3

Open youchn opened 6 years ago

youchn commented 6 years ago

最初のデーターベース画面の上段の項目  #im=画像数 Data Acquired=検査実施日 Study Description=部位詳細 institution=施設名 など和訳があれば嬉しいです。

air-h-128k-il commented 6 years ago

今、weasis 周りをいじっているので少々お待ちを。

air-h-128k-il commented 6 years ago

大雑把にやっときました。

horlix-local-ja

reffering physician, performing physician などが未訳。 直訳だと「医師」になりますが、検査は実際には技師さんなどが実施するため、ざっくり「依頼者」、「実施者」でもいいと思うのですが、どうでしょう?

ここまでの変更分でビルド。 ダウンロードは HorliX サイトからどうぞ https://phazor.info/HorliX/?page_id=105

yoshikichi0822 commented 6 years ago

日本語ローカライズファイルをプルリクしました。 日本語化ファイルの具体的な箇所について「訳語がヘン」「こなれてない」「意味がわからない」などあれば指摘してください。より適切な日本語訳を提案してもらえると大変うれしいです。 この場を借りて、ユーザーの皆さんと議論できたらいいですね。 口火を切って、MacOS Xアプリ日本語表記の目安にしたWebページを挙げておきます。

とりあえずここまで。後で自分ツッコミを入れたいと思います。

air-h-128k-il commented 6 years ago

yoshikichi0822 プルリクと資料の提示ありがとう。

たぶん、フォーマットは決まってないと思いますが、プルリクを送るときは、慣例的に「(プルリクした内容の)意図」や「(具体的な)変更箇所」などをコメントして送るのが普通のようです。

日本語ローカライズの場合は、特に「みんなが使うもの」という特徴があるので、自分がやったことの内容をわかりやすい形でプレゼンするのがベターだと思います。

yoshikichi0822 commented 6 years ago

では要望に応えて。 今回、プルリクエストした日本語ローカライズの内容や対象、課題は次のとおりです。

●内容

●対象(全50ファイル)

●Localizable.stringsについて

●xibファイルについて

●課題

air-h-128k-il commented 6 years ago

おお、うまくまとまっている。

一応、もうちょっと技術的なことを補足すると...

3-1 現行の Localizable.strings の取捨選択

Horos に同包されていた英語リソースのファイルがすべての素。だが、これはおそらく OsiriX 5.8 あたりの流用。この大元は、(おそらく) perl (という文字列処理が得意な言語)を使ってソースから変換すべき文字列を抜いてきたもの。レガシーなコードに基づいてつくられているので、現行の HorliX/Horos のソースコードと一致していない点がある。変換すべき文字列が Localizable.strings になかったり、あるいは、今では使っていない文字列が Localizable.strings にあるのはおそらくそのため。 もう一回 perl で文字列抜いてファイル作り直すことも考えられるが、うまく動作する保証はまったくない。完璧を期すなら、Localizable.strings から作り直すべきだが、現時点でそこまでやる必要があるのかどうか。

3-2 訳語

・propagate 意味を優先すると「同期」かな。ただ、私、この機能を使ったことない。      「維持・継承」は説明聞いただけでも違和感がある。

・crop 「クロップ」では意味わかんない。トリムは「余計なものを切る・取り除く」みたいなイメージ     がある。     機能的には「3Dモデルなどから、見たい部分を表示するために余計な部分を取り除く」という     ことをやっていると思う。「切断除去」みたいなことなんだが、これだと長いし、言葉として     美しくない。医療者が使うことを考えると「切除」でもいいかも。もうちょい検討しましょう。

訳語は具体例あげてった方が、多分、検討しやすい。 こんな感じでお願いします。

air-h-128k-il commented 6 years ago

じゃあ、逆に私から。

DBブラウザの目立つところにいる割には、未だかつて一度もまともな記述があったためしがないこいつ

horlix-local

まず、こいつの役割は何? 何て訳すの?

yoshikichi0822 commented 6 years ago

・Accession Number:受付番号 と訳した.たしかにこのカラムにはどんな数値が並ぶのが正常なのかは知らない. 書籍やWebのスクリーンショットで見ると,空欄だったり規則性がなさそうな数値がランダムに入っているように見える.

・Patient はなかば惰性で「患者」と訳したが,「被検者」とするDICOMビューアもある.画像検査を受ける人すべてが必ずしも患者ではないだろう.

air-h-128k-il commented 6 years ago

書き込みサンクス。 ・Accession Number:受付番号 オーダーリングシステムに組み込むこと考えたら、凄まじく重要なんじゃないか???? 単体でしか使ったことないから、ここらへんは盲点になってたわ。 HorliX のカスタマイズドバージョンは Ocean や他のオープンソースのシステムと連携させる必要があるので、こういう議論はありがたいよ。

・Patient これに関してなんだけど、Horos は臨床志向なんで「患者」でしょう。HorliX は、研究用途に使うことも想定しているので「被験者」という訳はありだと思う。 Horos/HorliX の棲み分けをどうすんのかって話は、今度、Horos の中の人たちとリアルで会うことになりそうなんで、そのとき絶対に議題に出ると思う。

@yoshikichi0822 がんばってなにかスクリプト言語覚えます? ソースから文字列抜いて別のファイルに書き出すって操作だけだから、頑張れば初心者でもできると思う。とやる気のある人には、じわじわとハードルを上げていくのであった。

yoshikichi0822 commented 6 years ago

がわかれば,ソースから文字を抜いて,日本語訳を充てるのはできそうです. @air-h-128k-il  ご教示ください!

air-h-128k-il commented 6 years ago

twitter DM 飛ばしておいた。

yoshikichi0822 commented 6 years ago

Horosのコードからメッセージ関連の文字列をすべて抽出して、Localizable.stringsを一から作り直している。懸案中の訳語についてご意見をいただければありがたい。

【下記の見方】 ・コメント ・例:"原文" = "日本語訳案";

【一般的なメッセージ類】 ・「retired」は「retried」のタイプミス?   例(1箇所だけ):" (retired)" = " (再試行済み)"; ・Study:検査(スタディ一辺倒でなく、"検査"がしっくりくる場面も? ・Description:記述(OsiriXでは"検査部位"。"検査記述"はDICOM固有用語?)   例:" / Search: Study Description = %@" = " / 検索: 検査記述 = %@"; ・Time Interval:時間間隔。訳語がしっくりしない ・Resampling:再サンプリング(OsiriXではリサンプリング) ・Opacity:不透明度(不透明度か透明度か透過度か。OsiriXは不透明度。ちなみにPhotoshopは不透明度) ・Today、Yesterday:OsiriXでは原文ママ。臨床ではどう言っているのか   例:"Acquired today" = "今日取得";   例:"Today US" = "今日実施したUS";   例:"Yesterday CR" = "昨日実施のCR"; ・Table:テーブルか設定か?(OsiriXは設定) 設定に相当する用語は多数登場するが、"table"とする原文はテーブル(表)をイメージしているのか   例:"Add an Opacity Table" = "不透明度テーブルを追加"; ・Annotations:注釈。画像情報という意見もありましたね ・convolution:"畳み込み"でいいですかね? ・Background:バックグラウンドか背景か ・Bounding Box:バウンディングボックス? OsiriXにはない用語 ・decompress:解凍か展開か、展開のほうが今風か。"compress"は圧縮でよいか   例:"Cannot decompress images in a distant database." = "外部データベースの画像を展開できません。"; ・Check:チェック(OsiriXでは照合)     例:"Checking for empty studies..." = "空のスタディをチェック中..."; ・Cleaning:クリーンアップ(OsiriXでは刷新)。クリーニングでもOK?   例:"Cleaning database folders..." = "データベースフォルダをクリーンアップ中..."; ・\u00B2:上付き2か。この表記で上付き表示される?   例:"cm\u00B2/sec" = "cm\u00B2/sec"; ・Cobb's Angle:コブ角、Cobb角、どちらが多数派? ・subtraction:サブトラクションとは何だ? 例:"Computing subtraction..." = "サブトラクションを計算中..."; ・Control:コントロール、制御、なじみ深いのはどっち?   例"Control Camera" = "カメラをコントロール"; ・Crop:クロップ(OsiriXでは裁断)、クロップという言葉は馴染みが薄いが…。なお、OsiriXには"トリム"コマンドはない(と思う) ・Cross:交差(OsiriXでは十字) ・Path:パス(OsiriXでは軌道)   例"Curved Path" = "曲面パス"; ・default:デフォルト、初期値、どちらが一般的? ・Patient:被検者か患者かで検討中の用語   例:" / Search: Patient's name = %@" = " / 検索: 被検者の名前 = %@";

【DICOM固有の用語か?】 ・DICOM Echo:エコーとはせず、原文ママでOK?   例:"DICOM Echo %@..." = "DICOM Echo %@..."; ・DICOM Service:サービスとは? DICOM用語なら原文ママか   例:"DICOM Services..." = "DICOMサービス..."; ・DICOM Validator:DICOM検証と訳してOKか? ・Query:問合せ(クエリが一般的なら、OsiriX同様クエリ)   例:"Auto-Query" = "自動問合せ"; ・Retrieve:取得(リトリーブが一般的なら、OsiriX同様)   例:"Auto-Retrieving Album..." = "アルバムを自動取得中..."; ・RTSTRUCTとは? 原文ママでよいか…   例:"Converting RTSTRUCT in ROIs..." = "RTSTRUCTを ROIsに変換中...";

【表示場面が想起できずお手上げ】 ・3D Sceneとは何か? どの場面で確認できる用語?   例:"3D Scene" = "3D像"; ・表示場面も意味もわからない   例:"360 degree rotation - 100 images\rResult in [s] : %f" = "360度回転 - 100画像\r[s]という結果 : %f"; ・Arranging Points:ポイントを配置中? 整列中? ・Confidence:信頼区間?

とりあえず第1弾は以上

air-h-128k-il commented 6 years ago

盛りだくさんですね。

まず、基本的な方針ですが、今まで慣例的に使われてきたが意味のあるとは思えない訳は一切やめましょう。 例えば、description ですが、「部位詳細」は明らかにおかしいです。 これは、技師さんたちが、撮像した部位を書き留めておくにあたり都合が良いので description のカラムを使っていだだけでしょう? 本来はそれこそあるスタディの「記述」しておきたい内容をメモしておくためにあったはずで、部位を特定するためのものではないはずです。 どうしても必要ならDBにカラム一個追加すればいいだけの話です。

訳をどの層(一般に近い or 技師さん or 医師 or 放射線科医師)に合わせるかというのは難しい問題ですが、医療従事者ならばこの程度は知っていなければならない、というあたりに合わせたい。 そうするとサブトラクションはサブトラクションでいいはずです。「デジタルサブトラクション」は医療者のみならず、画像をやっている人でも知っていると思います。 同様に convolution は「畳み込み」でいいでしょう。鮮明化させるのが convolution と間違った解釈している人もいるかもしれませんが、ボカす処理もあるはずで、本来の意味に合わせるのが本筋だと思います。

今日ちょっと出かける用事があるので、細切れにコメントつけていきます。

yoshikichi0822 commented 6 years ago

ははあ、HorliXプロジェクトの方向性がなんとなくわかってきましたよ。

Horlixは、医学研究や教育をはじめ、歯科学、獣医学、生物学、考古学、工学と幅広い領域で非破壊透視検査の身近な視覚化ツールになる。そしてオープンソースの特性を生かして、各領域での利用環境やニーズに応じてカスタマイズするプラットフォームになる、と。

そこで原語に近いところで、(“これまではこうだった”的な)先入観や思い込みは極力排除して日本語訳を進めていく。原語への忠実度が過ぎて意味不明だったり、専門領域では別な用語が一般的なら、それらの専門家の力を借りて都度、修正すればいい。Horlixは(将来的にはわからないが現在のところは)思い立てば誰にでも手が届くすぐ“ここ”にあるのだから。

…ということで、レベル合わせも了解し、くびき(何の?)から解放されて第2弾のレポートを準備中です。

air-h-128k-il commented 6 years ago

コメントが不十分だったと思うが、伝わったようで何より。

例えば、今、現在、HorliX の一番の熱心な支持者は中東の大学の地質学者だったりします。

確かに、地質調査や地質に関するある種のシミュレーションの結果を表示するソフト、なんてのはないような気がします。あってもかなり高くつくんじゃないでしょうか。

こういう反響は公開してみないと本当にわかりませんね。 だから、今後はなるべく一般性を失わずに基本的な機能を提供するということを心がけたい。それは使用するタームなどについても同様でしょう。

yoshikichi0822 commented 6 years ago

反響は薄いが続いて第2弾。これでLocalizable.stringsの整理は完了。

【一般的なメッセージ類】 ・Dump:出力、SQL Index:SQLインデックス。OsiriXは「Index」を原文ママ、索引、インデックスなどまちまち   例:"Dumping SQL Index file..." = "SQLインデックスファイルを出力中..."; ・Dynamic Angle:ダイナミックアングル? 動的角度?   例:"Dynamic Angle " = "ダイナミックアングル"; ・Horizontal:水平か横か左右か、vertically:垂直か縦か上下か。ちなみにPhotoshopはそれぞれ左右、上下と表現している   例:"Flip Horizontal" = "左右に反転"; "Flip Vertical" = "上下に反転"; ・Interesting Cases:興味深い症例? ・Threshold:閾値。OsiriXは“しきい値” ・propagate:伝播。シリーズをまたいで同じ設定を適用する状況を指すが、OsiriXでは維持・継承とされることが多い ・Path Assistant:パスアシスタント。OsiriXは“パス作成”。パス(軌道)作成を補助するような機能を指すか? そういう機能があったっけ? ・Performing Physician:実施者 ・Photos:Macの「写真」機能のことか   例:"Export this series to Photos" = "このシリーズを写真に書き出す"; ・Segmentation:分割かセグメンテーションか。OsiriXでは“抽出”とも   例:"Segmentation Error" = "分割エラー"; ・Threshold:閾値。OsiriXでは“しきい値” ・meta-data:メタデータ ・Distant Database:外部データベース ・remote host:リモートhost ・remote database:リモートデータベースか外部データベースか

【原文ママか、日本語か】 ・syntax:構文かシンタックスかsyntaxか   例:"Invalid NSPredicate SQL syntax" = "無効なNSPredicate SQL構文"; ・Linear Table:リニアテーブルか線形表か? OsiriXは原文ママ ・Logarithmic Inverse Table:逆対数表。OsiriXは原文ママ ・predicate:術語という意味のようだが、原文ママでOK?   例:"Syntax error in study predicate filter: %@" = "スタディpredicateフィルタに構文エラー: %"; ・Multiplier:乗数。OsiriXでは原文ママ ・Thick Slab:シックスラブ。原文ママで通用する? ・TBDとは何か? OsiriXでは原文ママ to be determinedのことか(笑

【表示場面が想起できない】 ・OsiriXでは原文ママ   例:"Max. 2 points with the same name." = "同名のポイントは最大2点までです。"; ・OsiriXでは“単一のROI領域はゼロに相当します!”と訳されているが、意味がわからない   例:"One ROI has an area equal to ZERO!" = "1つのROIの面積がゼロです!"; ・Point-Based:ポイントベース、としてよいか?   例:"Point-Based Registration Error" = "ポイントベースの登録エラー"; ・Professional supportとは何を指す? 専門医にコンサルテーションせよとか?(笑   例:"Professional support" = "専門的なサポート"; ・Sub-Selection:サブセレクション   例:"Open Sub-Selection" = "サブセレクションを開く"; OsiriXは“表示画像数を調整”としているが… ・“この画面は”何を指す?   例:"This screen doesn't support this function." = "この画面はこの機能をサポートしていません。"; ・OsiriXでは“ダウンロードフォルダにデータを残さない”だが、原文はその後に続く文言のように思える   例:"This will keep your Downloads folder uncluttered." = "これによりダウンロードフォルダを整理した状態に保てます。";

air-h-128k-il commented 6 years ago

日本語化をいそぐより海外(とりわけ北米・欧州以外)で普及させることを優先させたきらいがあるので、日本語化はまだ議論が不十分かもしれません。

ただ、おかげさまで OsiriX MD が高価すぎて導入しにくい、というような地域にも HorliX のことは伝わり始めたようです。

horlix-region

恥ずかしながらカーボベルテという国があることも知りませんでした。 調べると大西洋に浮かぶ小さな島嶼国家のようです。政情は不安定のようです。医療はどうなっているのでしょうか。 MacAppStore を通して HorliX を配信した意図として、こういった地域にも使いやすい導入しやすい画像ビューアを送り届けるというのがあります。 公開してまだ10日程度ですが、その目的は実を結びつつあるのかなと思います。

air-h-128k-il commented 6 years ago

もちろん日本語化は日本語化で話を進めていかなければなりません。 有難いことに HorliX を支持してくれている国内の医師の方は、ITにも造詣が深く、医師としての臨床的・学問的な実績のある方が多いです(書いていいかどうか若干躊躇うのですが、PMDAの委員をされている先生もいます)。 これは、例えば(比較として適当かどうかわかりませんが、同じオープンソースとして)開業医主体で開発にあたった dolphin プロジェクトとの違いだと思います( dolphin を貶めるつもりはまったくなく、クリニック外来での使用が想定された電子カルテにはこちらの開発スタイル・メンバーが向いていたと思います)。 こういった先生方は、意味のある議論をしていれば、その内容を必ずどこかで拾ってくれると思います。 すぐに目にみえる結果が出ないからといって焦らず、議論を続けていって欲しいと思います。