pxt-maqueenを日本語対応させるまで

Maqueenとは

Maqueen(マックイーン)はマイクロビットを使って制御できる教育向けのデバイスです。プログラムを作る際にはマイクロビットの開発環境であるMakeCodeエディターに拡張機能を追加する必要があります。

困った問題点

マックイーンは多機能で使いやすく遊びがいのあるとても良いデバイスなのでルークスのワークショップ アイテムとして使いたかったのですが、ブロックが日本語対応してないという問題があり導入に踏み切れていませんでした。

日本語対応してない状態

実際にワークショップにきた子に触らせてみたこともあるのですが、英語表記は扱いづらそうにしていたのでこの拡張機能を日本語化する方法について探る必要がありました。

原因は何なのか?

MakeCodeの拡張機能追加方法について調べてみた

まず初めに、MakeCodeエディターのドキュメントから拡張機能のローカライズに関する情報を見つけることができました。新規の拡張機能を作る場合にはNodeJSや別のコマンドラインツールのインストールが必要らしいのですが、既存の拡張機能についてはリポジトリをフォークして幾つかのソースに変更・追記するだけで良さそうなことがわかりました。

Maqueenのソースコード(Githubリポジトリ)を調べてみた

しかし、ドキュメントの内容に沿ってソースを改変したつもりが一向に翻訳が反映されませんでした。悩みながら解決策のヒントを探しにリポジトリの中を漁っているとこんなプルリクがありました。

見つけたプルリク

どうやらlocaleの表記をjpではなくjaにすべきだったようです。公式のドキュメントにはISOコードであることの旨が記載されていたのでjpで問題ないと思い込んでいたのが原因だったようです。実際に公式のドキュメントにもjpではなくjaと記載されてたことに後々気付きました。その他にも修正が必要だった点がありましたので、それらは以降で述べさせてもらいます。

対応方法のまとめ

結論だけ知りたい方はソースコードをご覧ください。

localeの表記

先ほども書いていたようにlocaleはjpではなくjaと記載しなければ翻訳が働かないようです。ISOコードとの整合は取れてないように思いますが、結果良ければ全てよしとしておきます。

辞書の追加

続いて、ソースコードの英語を日本語に翻訳するためのデータを各localeのディレクトリにjson形式で保存しておきます。こちらは公式ドキュメントと同様の方法で編集すれば問題ありませんでした。ひらがな表記もできることが確認できています。

ソースコードとpxt.jsonのバージョンを同期

ここも中々気付けなかったところで、どうやらソースのバージョンとpxt.jsonのバージョンは同期していないといけないようでした。例えばgitでタグをv0.1としていたならpxt.json内のversionもv0.1という具合にしないといけなかったようです。

変更内容をMasterブランチにマージ

最後は変更内容をマスターブランチにマージします。これは正しく検証ができてないのでマスターでなくてもデフォルトのブランチに変更内容が反映されていれば問題ないのかもしれません。

実際のプログラムがこちら

最後に

ルークス初の技術ブログ(?)はいかがだったでしょうか?普段プログラミングに触れてない人にとっては取っ付きにくい内容だったかもしれません。(編集者の文才がアレというのは棚に上げさせてもらいます)

ルークスでは今後も不定期でこのような技術ネタをブログにアップしていく予定です。皆さまの問題解決の一助になれれば幸いです。最後までお読みいただきありがとうございました!

第1回アソビIoTワークショップを開催しました

どんなことをやったか

今回のワークショップの内容は以下の3つでした。

  • マイクロビットの基本的な使い方を知る
  • スクラッチでオリジナルの物語を作る
  • ルークスの事業内容紹介とQ&A(保護者の方向け)

このワークショップ には2家族・合計7名の方々に参加していただきました。当初の予定では主にマイクロビットを使っていく予定でしたが子供たちがスクラッチに熱中したため会場内のみんなでオリジナルのアニメーション作りに取り組むという流れになりました。これは運営としては非常に喜ばしいことで、このように子供たちが自発的にやりたいことを探求していける場づくりを今後も心がけていきたいと思っています。

学び・発見

今回参加してくれた子供たちから強く感じたのは大人にはない「創発性」でした。例えば今回のスクラッチを使ったオリジナルのアニメ作りでは誰一人として同じ世界観を持った子はいませんでした。それゆえに、子供たち同士が互いの作品に刺激し合い「あの子がこうやるなら、私もこうやってみよう」と臆することなくアイディアを取り入れそれぞれの作品を作り上げていく光景に感動を覚えました。やはり大人は子供たちに「教える」のではなく彼らが前に進みやすいように「サポートするだけ」で良いのだと改めて認識することができました。今回運営として得られた課題・改善点はより良い子供たちの「遊びと学び」の場作りに活かしていきたいと考えています。

今後の予定

今後の予定ですが、ひとまずこのワークショップを最低でも月1回開催の継続的なイベントとして続けていこうと思います。具体的な日時についてはイベントをご覧ください。ただこのワークショップだけでは今までの学校教育の延長線上でしかないと思っています。ルークスの名に相応しい活動ができるよう理事やこの活動を支援していただく保護者の皆さまとともに今後も楽しい活動を企画中です。これからも一般社団法人ルークスの活動にご理解とご協力を頂けますと幸いです。

当日のPRスライド

第1回アソビIoTワークショップを開催します

マイクロビットの使い方を勉強しながらオリジナルの遊びを楽しく考えるワークショップを開催します。

マイクロビットは片手サイズの小さなコンピューターで、自分でプログラムを書いて音を出したり光らせたりすることができます。

開催日時

2019年12月15日 午前10:00 – 11:30

開催場所

宇都宮市東生涯学習センター 第一会議室

主催

一般社団法人ルークス

参加資格

小学生以上かつルークス事務局から事前に参加登録の連絡を受けている方

注意事項

会場内の飲食は原則禁止(水分補給はOK)

その他

会場には小さなキッズスペースを用意します

当日参加される方の持ち物は不要です

不明な点があればルークス事務局までご連絡ください。

※本投稿はイベント開催を通知するものであり不特定多数に向けた参加募集を募るものではありません