OSC名古屋でMozilla翻訳ハンズオン開催した

この記事はオープンソースカンファレンス Advent Calendar 2018 - Adventarの 13日目の記事です。
昨日はsmzkstsさんの[:title]でした。
明日はhashimomさんのOSCをネタにした小説を書いてみた - しかのつきみカフェです。

と同時にMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 13日目の記事です。
昨日は(横内宏樹ではない)さんのalert ロールの使用 - アクセシビリティ | MDNでした。
明日は私からのMozillaコミュニティの連絡帳であるMozilliansのご紹介 - Uemmra3のフルスタックエンジニア?日記です。

さてOSC2018名古屋(オープンソースカンファレンス2018 Nagoya - オープンソースの文化祭!)にMozilla翻訳コミュニティで参加した話をします。
イベントは東京でのmonthlyミートアップと同時開催で行いました。
(https://mozilla.doorkeeper.jp/events/73959)
名古屋のチューターは
@hmatrjp(濱崎)
@potappo
@chameleonhead

の4名とツワモノ揃いでしたが、そのいっぽうで事前告知がうまく行かず、なかなか苦心しました。
(DoorKeeperは参加者2名になっているので当日に告知してまわった)

まぁ内容が翻訳なので尻込みしたのか、あるいは2コマ連続なので他のセッションに人気が集中したのかもしれませんが、
まずはAndroid開発者コミュニティであるつ部のMLに出してみたけどあまり反応がなく、
位置ゲーのコミュニティにも頼って、名古屋の方から追加で1人来てもらいました。

あとは当日の宮原さんから「今さら聞けない人のためのgit超入門」にて告知時間を持ち、学生スタッフさんに何名か来てもらって体験いただきました。
宮原さんにはいろいろと相談に乗っていただきありがとうございました!

印象に残ってるのは、JPMUG (Japan MariaDB User Group)に親子でいらしてた 川野 和之(JPMUG代表)さん。
ブースでは、お子さんがディスプレイ方法を工夫されたMariaDB人形が円形花壇のようでキレイでした。
家に帰ってからうちの娘に見せると(たぶんアザラシだと思うんですが)「パンダじゃん」と言っていましたw
上木寸 on Instagram: “#oscnagoya でもらった #MariaDB のmariaちゃんを子供にプレゼント。色で判断して「どう見てもパンダじゃん」とか言ってたw #家に帰るまでがOSC”

そんな川野さんはふだんからMDNを参照することがよくあるそうで、
2コマ目はご自身の発表もある限られた中で、1コマ目だけ親子で参加していただきました。
たぶん親子での参加はMDNハンズオンの歴史で初めてではないでしょうか?
今回まだお子さん単独での作業は難しかったように思いますが、
(OSCではないですが)Mozilla Japan時代に学生マーケティングチームの人を交えたハンズオンもやっていますので、
今後英語学習がてらにでも参加していただければいいなぁ、なんて夢想しています。

まだまだ来年も東京のWebDINOオフィスを中心に翻訳ミートアップを行います。
とりあえずDoorKeeperのMozillaコミュニティに登録してみてください。
Mozilla Japan コミュニティ | Doorkeeper
メールにてイベント案内が行くようになります。

クリスマスも近づいて来ました。
今年は雪が降るかもしれませんが、自宅でゆっくりとしたオフになるといいですね。

では。

MDN翻訳ツールについて:その3

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 17日目の記事です。
昨日はic_lifewoodさんのCSP: base-uri | MDN(https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Content-Security-Policy/base-uri)でした。
グレ蔵さん、さいきんあまり絡めてないですが、お元気でしょうか?
明日はいないので…あさってはKenji Yamasakiさんのアドオンをサイドローディングする - Mozilla | MDNです。
Kenji Yamasakiさんは今年のmonthlyミーティングにもよく来られて(リモートなんでリアルでお会いしたことないかな)、
MDNもSUMOも積極的に活動されてます。新しい人も古い人も、できる人ができる範囲で頑張れる、そんなのがオープンソースコミュニティのいいところですね。

実はこの週末に元MJ六本木オフィスの近くを通りかかりました。まだWebDINOのオフィスにお邪魔したことないので一回機会を持ちたいですね。

さて、今日は3日目(2018-12-05 - Uemmra3のフルスタックエンジニア?日記)と
10日目(MDN翻訳ツールについて:その2 - Uemmra3のフルスタックエンジニア?日記)にお伝えしたMDN翻訳ツールのいいところをお伝えします。

README(translation/README.md at master · mozilla-japan/translation · GitHub)には

新規翻訳
● 見出しのidを英語のままにするためのname属性付与(参考)
● 自動翻訳もとい置換
◯ 見出しや互換性表などのよくある語句
◯ アルファベットと日本語の間に半角スペースを自動挿入
◯ 実装・継承するプロパティ・メソッドがないことを示す文
◯ The hogehoge interface → hogehoge インターフェイス
● /en-US/docs/ → /ja/docs/
● 翻訳中フラグをオフに、編集レビューをオンに
● タグを元記事からコピー
● 編集コメントに元記事のリビジョン番号を自動入力

とあり、メインの機能である自動翻訳機能
● 自動翻訳もとい置換
◯ 見出しや互換性表などのよくある語句
◯ アルファベットと日本語の間に半角スペースを自動挿入
◯ 実装・継承するプロパティ・メソッドがないことを示す文
◯ The hogehoge interface → hogehoge インターフェイス
をご紹介しましょうか。

◯ 見出しや互換性表などのよくある語句
については、MDNの見出しや互換性表には、よくあるパターンが決まっています。
たとえばソースコード(TranslationHelper.user.js
)の
このあたり(https://github.com/mozilla-japan/translation/blob/99ce920f2896aedcd6ce00bcd9f1d4f6988c7936/MDN/TranslationHelper.user.js#L116-L121)
を見て、英語版の

見出しで、「Specifications」となっているものは「仕様」に変換します(詳細は略)。
同じく

で「Examples?」を「例」にします。
末尾に「?」が付いてるのは正規表現で、Example も Examples も例になるハズ。

◯ アルファベットと日本語の間に半角スペースを自動挿入
これは
「Webの進化」を
「Web の進化」とかにする変換です。
アルファベットと日本語の間にスペースを入れるか入れないかはスタイルにもよりますが、
スペースつきのほうが見やすいという声があった気がするのでこのようにしています。
ちなみにすべての漢字を表す正規表現がわからないので現状はひらがな・カタカナとアルファベットの間だけに対応してるハズ

◯ 実装・継承するプロパティ・メソッドがないことを示す文
◯ The hogehoge interface → hogehoge インターフェイス
この2つはこのへんですね(https://github.com/mozilla-japan/translation/blob/99ce920f2896aedcd6ce00bcd9f1d4f6988c7936/MDN/TranslationHelper.user.js#L210-L223)。
要は単純な単語ではなく、定型文的な文章を自動変換します。

少し年末進行で、ていねいなスクショが添付できませんが、、、
今日はメインの機能である自動翻訳機能についてお伝えしました。
よくわからない場合はGitHubにあるソースコードをcloneしていろいろいじくってみてはいかがでしょうか。
もちろん質問や、コードのPRなどもお待ちしています。

では!

ではでは。

この記事は大都会岡山 Advent Calendar 2018 - Adventarの 11日目の記事です。

昨日はcojrncmnさんの岡山の好きなところを書きます(岡山が好きだなぁって話 - コーディングしたくない)でした。岡山の人に電話して外注を打診したけど、「災害でおえんおえん」って言っておられた。たぶんやりきれないっていう意味だと思うけどあってるのかな?(鳥取では言いませんね)
明日はlesson5さんのまんなか、とーっぴ!(おかえり。ここはその昔賑わいに溢れていた大都会。 | 俺、天パなんよ)です。読んだけどいろいろとリアルだったw。どんだけそのガールズバーの娘がかわいいか気になります。娘にはSNSの発言を見られたくないですね。。。


はじめに少し自己紹介します。
大都会岡山のAdvent Calendarには2016, 2015, 2013年に登録しています。
あと中国地方DB勉強会(主に鳥取県)のスタッフやってます。少し斉藤さんロスを感じる日々。。
先日は鳥取県倉吉市にて開催しました。様子はコチラ→第25回 中国地方DB勉強会 in 鳥取(倉吉) #ChugokuDB - Togetter
なんとこの勉強会は参加者の歩留まりが100%超え!!
というのはCONNPASS登録者の21名に加え、未登録の方が2名来られたのですが…それにしても全員が来てくれるのは主催者としては嬉しい限りです!
あと当日に岡山の@kazuhisa1976さんから差し入れをもらい、みんなでおいしくいただきました。
カズさんは観光がてらバイクで来られてて、晩秋の紅葉とともに勉強会をたのしんでいただけたようです。
その翌日に島根の@ryerさんとOracleの山崎さんと3人で観光していた(@ryerさんの記事: https://ryer.jp/2018/12/06/chugokudb-25-kurayoshi/)のですが、くらよしフィギュアミュージアムでばったり出会ったりしました。


さて、住んでるのが鳥取県の西部なので、岡山の勉強会に多数参加しているわけではなく、合同勉強会とか大きめのイベントに行けるときに顔出すというスタンスです。
で本題ですが、私が岡山のコミュニティに感じていることはこれです。

自分自身システム開発からリタイヤしていて、最新ツールとか深い内容にはうまく反応できない部分もあります。そもそも勉強会には深く関わっている人だけでなく初参加の人もいるし、久しぶりの参加の人もいるでしょう。またふだんからTwitterとかSNSでつながってたりしてる人もいれば、何らかの事情でSNSができない人もいるでしょう。
そういう勉強会慣れしていない人にとってもウェルカムな雰囲気を岡山のコミュニティに感じていて、自分の主催イベントでもうまく真似をして、そうした空気を織り込みたいと思っています。
極論すると技術なんてマニュアルを完全によみこなせば一人でもマスターできるかもしれませんが、行き詰まったときや、自分の不得意/未経験な分野についてはコミュニティにまじって色々聞いてみるのが速いでしょうし、何より色々な刺激があって楽しいもんです。
「勉強会」という字面からは感じ取れない、そんな楽しさを求めていつも岡山に向かっています。


クリスマスも近づいて来ました。地元の予定があって座駆動は行けないんですが、合同勉強会が楽しみです。
では。

MDN翻訳ツールについて:その2

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 10日目の記事です。
昨日はdummyさんのWeb standards (ウェブ標準) | MDN(https://developer.mozilla.org/ja/docs/Glossary/Web_standards)でした。
明日はfuzz139さんのMDN 翻訳コミュニティミートアップ・10回目開催を迎えて(https://www.webdino.org/updates/blog/201812111734/)です。

さて、今日は3日目(2018-12-05 - Uemmra3のフルスタックエンジニア?日記)にお伝えしたMDN翻訳ツールのインストール方法をお伝えします。

だいたいのマシンにはインストール済みで困ってたのですが、今日は漫画喫茶のマシンに入れてみたいと思います。


README(https://github.com/mozilla-japan/translation/tree/master/MDN)を見てみると

インストール

開発は主に Google Chrome で行っていますが、ES2015が普通に使える環境なら動くはずです。

1.UserScriptを動かすための拡張機能をインストールします(次のようなもの)

-Tampermonkey -Firefox版 -Chrome
-Greasemonkey -Firefox

2.このリポジトリの MDN/TranslationHelper.user.js を開いて右上の Raw をクリック。
もしくはこちらから: https://github.com/mozilla-japan/translation/raw/master/MDN/TranslationHelper.user.js

MDNで翻訳画面や日本語記事の編集画面を開くと自動で作動します。

となっており、実は現状Greasemonkeyでは動作せず、Tampermonkeyをインストールします。
念のため、このツールはブラウザーの挙動を変えるため、自己責任でお願いします。

Tampermonkeyのインストール


READMEのリンクから飛んで、「Firefoxに追加」をクリックして、権限設定を確認します。

インストールが成功すると、このようなグラサンのようなタブができています。
これがTampermonkeyのタブです。

MDN Translation Helperのインストール

でREADMEに戻って
「もしくはこちらから: https://github.com/mozilla-japan/translation/raw/master
とある部分をクリックすると

という、個別のユーザースクリプトのインストール画面に移り、
ここで「インストール」を押すと完了です。

Tampermonkeyのダッシュボードで確認してみましょう。

のようなメニューを操作すると

のように追加したユーザースクリプトが見えるはずです。

確認
実際にMDNを編集してみましょう。
Githubでログインして、任意のページを編集してみると

このようなUIができています。
「Translation Helper」のリンクをクリックしてみると、
このような実行結果が出ます。

拡大すると

のようなメッセージが表示されます。
青いメッセージは処理の確認です。
前回説明した英語ページのリンクの日本語化は、
「記事URLを日本語に修正: 0件」のところで確認できますね。

赤いメッセージは変換処理前後の文字数が同一と言っています。
一度処理済みの本文ではこのようなメッセージが出るので気にしなくてもいいです。
あとは下のタグの部分にも同様なメニューが追加されています。

これはやたら長い記事を翻訳するときに、上下のメニューの近いほうを選べるようにしているほか、「英語版のタグと揃える」のボタンにて、タグを全てコピーする機能もあります。

まとめ
というわけで、今日はMDN翻訳ツールのインストール方法をお伝えしました。

今後、MDN本体がもっと改良される可能性はありますが、
特に日本語ロケールへの翻訳の痒い所に手が届くツールだと思います。
ぜひ一度使ってみて、色々な意見を(GithubのIssueとかで)ください。
これがオープンソースソフトウェアの面白いとこだと思います。

では。

Mozillaコミュニティの連絡帳であるMozilliansのご紹介

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 8日目の記事です。
昨日は…いないですが一昨日は(横内宏樹ではない)さんのalert ロールの使用 - アクセシビリティ | MDNでした。
ふだんは意識しないですが、ウェブは誰かが独占するものではなくみんなのものだと思っていますので、アクセシビリティの考慮は大事ですよね。
明日はdummyさんの[:title]です。…現時点では謎です。


さて、今日はMozillaコミュニティの連絡帳であるMozilliansをご紹介します。
MDNのユーザープロファイルを表示すると、このような項目が見えます。

これがMozilliansです。

Mozilliansのプロファイル設定

ためしに私のアドレスにジャンプしてみると、Mozilliansに登録済の方からはこのようなページが見えます。

昨年のOSC東京でもらった人形があったので、一緒に写ってみました(笑)。

本名とかメールアドレスとか個人情報的なのは隠していますが、
要はネットで出会ったMozilla関係の貢献者同士で連絡取りたい時に便利なサイトです。
海外の人ともやり取りするのを想定して、英語の自己紹介を書いています。どんなことに興味があるとか、どんな活動をしているとか、そんなのをつらつらと書けばいいと思います。

記入した情報は設定画面で「公開」「Mozillian」のいずれかに公開範囲を設定できます。
まぁよっぽど広く売り込みしたいとか西海岸に転職したいとか、そんな方以外は、まずはMozillianにしておけば無難ではないでしょうか?

自分のページに記載するアカウントは、Mozilla関係、SNS関係など、いろいろと追加できます。

あとはTシャツの希望サイズを書いておく欄もあります。
自分は少しサイズアップしつつあるので、LからXLに更新しました。
MDNのコミュニティマネージャーのjswisherさんからMDN10周年の長Tシャツが届いた時はいろんなサイズが混在してたので、あまり見られてないのかもしれませんが。

他の人に繋がりたい時
「活動分野」や「グループ」など、自分の興味あるまとまりから検索できます。

もちろん検索もできて、ユーザー名やキーワードを入力して探せます。

おまけ
Mozillianのログインに2要素認証が必須になったようで、この記事を書くのにつまづきました。
そのあたりは自信のないのもあり、SUMOの記事を見ながらセットアップしていただければと思います。
二段階認証で Firefox アカウントを保護する | Firefox ヘルプ


クリスマスも近づいて来ました。
七面鳥とか鶏の丸焼きとか食べて、慌ただしかった1年をゆっくりと終えたいですね。

では。

MDN翻訳ツールについて:その1

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 3日目の記事です。
昨日はlevena_evenasさんの[:title]でした。
明日は…登録がありませんが明後日はhmatrjpさんのMDN Adventar 12月5日分: hama の record of lifeです。

さて、去年のAdventarにて書いた雑な記事(MDNの翻訳お役立ちツールがメチャクチャ便利な件 - Uemmra3のフルスタックエンジニア?日記)で紹介した
MDN翻訳お役立ちツールがメチャメチャ便利
なので、シリーズ化してご紹介したいと思います。

README(translation/README.md at master · mozilla-japan/translation · GitHub)には

新規翻訳
● 見出しのidを英語のままにするためのname属性付与(参考)
● 自動翻訳もとい置換
◯ 見出しや互換性表などのよくある語句
◯ アルファベットと日本語の間に半角スペースを自動挿入
◯ 実装・継承するプロパティ・メソッドがないことを示す文
◯ The hogehoge interface → hogehoge インターフェイス
● /en-US/docs/ → /ja/docs/
● 翻訳中フラグをオフに、編集レビューをオンに
● タグを元記事からコピー
● 編集コメントに元記事のリビジョン番号を自動入力

とありますが、

/en-US/docs/ → /ja/docs/

を紹介します。


MDNを訳していると、他のMDN記事へのリンクが載っていることがありますが、新規翻訳時にはオリジナル版である「en-US」ロケールのものになっています。

このままにしておくと、日本語版の記事を見ているユーザーが、他の記事を読もうとしてリンクをクリックしても、英語版に飛んでしまって不親切です。
もちろん手作業で /en-US/docs/ → /ja/docs/ と変換しても良いですが、
ページ内に5個とか10個とかリンクがあるとウンザリします。

TranslationHelperをインストールしておくと、新規翻訳ではこれを自動化してくれます。
既存記事の編集時には

のように「Translation Helper」のボタンをクリックすると

このように日本語ロケールへのリンクに変わります。
便利だ!
鋭い方は「リンク先が未翻訳の場合は大丈夫なの?」と心配するかもしれませんが、そこはMDN側で自動的に英語ロケールを表示するのでOKです。


クリスマスも近づいて来ました。
MDN翻訳お役立ちツールを活用して、記事の翻訳に挑戦してみてはいかがでしょうか?

では。

Mozilla翻訳関連の勝手に5大ニュース!!

この記事はMDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarの 1日目の記事です。
明日はlevena_evenasさんの[:title]です。

さて、いろいろあった今年も残りあと1ヶ月です。
どうやら1年ブログをサボっていたようですが、
今年の Mozilla翻訳 界隈のニュースを勝手に発表したいと思います!
個人的な捉え方なので異論は認めます。

第5位
MDNの日本語更新が古いことをハイライトする拡張機能をリリース!
いきなり自分ごとでアレなんですが、extensionコミュニティに活気がでてきたのに刺激を受けて、
MDNの更新日が古いのをハイライトする拡張機能を作りました。
更新サイトmdn-l10n-update-checker – 🦊 Firefox (ja) 向け拡張機能を入手
ソースGitHub - Uemmra3/mdn-l10n-update-checker
これを開発したモチベーションを説明します。
MDNの機能に日本語ページと対応する英語版が更新された時に
通知できるように機能があるんですが、登録しまくってたら通知が多すぎる問題があります。
(そのページだけでなくその階層以下も登録できる)
その上に、変更通知を登録していない日本語ページをブラウジングしている時に、
それが最新の英語版よりも新しいかを確認するには
デフォルトのMDNの機能だと「編集」をクリックして差分が出るのか確かめないといけません。

それをブラウジングしている時に「編集」ボタンの付近をオレンジ色にハイライトする
(あくまで日付の比較しているだけですが)
そんな拡張機能です。
百聞は一見に如かず、一度インストールして試してみてください。
(MDN翻訳している人はもちろん、参照している人にも便利な機能と思っています)

第4位
MDNのマクロの廃止が発表される!
少なくとも日本語のローカライズコミュニティではよく使用されていたマクロ機能の廃止/縮小が発表されました。
https://discourse.mozilla.org/t/next-steps-for-kumascript/32227
要はいろんなマクロが存在していてカオスなため、整理したいということのようです。

私自身もとつぜんフランスの方が{{Yakuchu}}というマクロをすごい勢いで消し始めたのを発見して、必要性を説明したりもしました。
そのへんの議論はこちらにあります(https://github.com/mozilla-japan/translation/issues/263)

第3位
翻訳ツールに新しい貢献者が登場
去年のカレンダーでも紹介したMDNの翻訳お役立ちツールがメチャクチャ便利な件 - Uemmra3のフルスタックエンジニア?日記超絶便利なMDN翻訳ツールに、新しい貢献者が現れました!
Google グループ
のような問題に対応してくれた sutara79 さん(https://github.com/sutara79)です。
これまではこのツール作者の uranist さんと私が編集していたこのツールですが、
新たな貢献者によって別の視点でブラッシュアップしていくといいなぁ、と思っています。

第2位
OSC名古屋に翻訳ハンズオンを出展!
オープンソースカンファレンス(OSC)はいろいろな技術コミュニティが集まるイベントです。
これまでOSC東京で開催してきた翻訳ハンズオンを、OSC名古屋で初開催しました。
【名古屋と東京の二箇所開催!】【第4回!】みんなで MDN を翻訳しよう!翻訳コミュニティ月例ミートアップ! 2018年5月19日開催 - Mozilla Japan コミュニティ | Doorkeeper
東京でのmonthlyミートアップと同時開催したのですが、しょうじき事前告知がうまくいかず、名古屋の登録者はチューター陣よりも少ない2名だったので辛かったです。。
当日に宮原さんのセッションで告知したり他のブースで宣伝したりして、なんとか身のあるハンズオンとなりました。
あとはこの時にスタッフとして協力してくれた chameleonhead さんの加入も心強いと思います。

第1位
monthlyミートアップを開始!!
今年の2月から、東京のWebDINO Japanにて毎月のミートアップが始まりました。
「翻訳に興味あるけど、どうやったらいいんだろう?」「翻訳やってみたけど、細かいことがよくわからないな…」という方は、ぜひ参加してみてほしいです。
基本は現地参加ですが、オンラインでリモート参加することもできます(私は地方住みなのでリモート参加)。
DoorKeeperにてお申し込みください。
Mozilla Japan コミュニティ | Doorkeeper

クリスマスも近づいて来ました。
MDNとかをみんなで編集!翻訳! Advent Calendar 2018 - Adventarではまだまだ登録を募集しています。
ぜひ気軽に登録してみてください。

では。