XamarinでContentPage.Iconを共通のファイルに変更

XamarinでContentPage.Iconを共通プロジェクトからのファイルに変更する方法がわかったよ
Imageのほうは先人の知恵にしたがってね
www.project-respite.com

残念ながらContentPage.Iconは同じ方法が使えないので一工夫いるよ
まず共通プロジェクトの適当な場所に「埋め込みリソース」で元画像ファイルを追加してね
そこから、「Andoroid iOS」それぞれのプロジェクトに「追加」-「既存の項目」で元画像ファイルを「リンクとして追加」すると、元画像ひとつでそれぞれのアイコンとして使えるよ
くわしくは
matatabi-ux.hateblo.jp
を参考にしてね。たぶんImageでも使えるよ。

Transifex でリソースを翻訳しよう

Transifex https://www.transifex.com/ でリソース翻訳できるんだってー 「マジで?」というようなのでやってみました

1.Transifexのアカウントをとろう
grabacr.net
を参考にアカウントをとってリソースファイルを上げておきましょう

2.Transifexで機械翻訳を使うためにMicrosoft Translator APIを使えるようにしよう
MicrosoftGetting Started with Microsoft Translatorという解説ページを作ってくれているのでありがたく参考にしてAPIキーを参照できるようにしましょう
身元確認のために無料プランでもクレジットカード情報が必要です。カードがない人はあきらめてください。

3.Transifexで機械翻訳を使えるようにしよう
Transifexの組織名のところをクリックしてそこから出てくる「組織の設定」をクリックして左側のメニューに出てくる「機械翻訳」をクリックしよう
機械翻訳サービス 」から「Microsoft Translator Text API」を選択して下のテキストボックスにAPIキーを入力し、「変更を保存」ボタンを押しましょう

4.翻訳してみよう
ダッシュボードをクリックして左側メニューの「言語」をクリックして「言語の編集」ボタンを押して翻訳する言語を追加しましょう
f:id:reniris:20180215002019p:plain
追加したら翻訳するファイルをクリックして「翻訳」ボタンをクリックして翻訳ページへ遷移しましょう
f:id:reniris:20180214233221p:plain
真ん中辺りにあるチェックボックスをチェックして「機械翻訳」ボタンを押すと、チェックされた語が機械翻訳されます
言語が機械翻訳に対応してないとボタンが押せないので気をつけてください(zhは対応していませんでした。zh_CNは対応していました。)
f:id:reniris:20180215002726p:plain

3.ファイルをダウンロードしよう
f:id:reniris:20180214233221p:plain
翻訳ファイル名をクリックして出てくるポップアップメニューから「利用のためにダウンロード」をクリックすればダウンロードできます。
f:id:reniris:20180215003549p:plain
そのままだとプログラムでは使いにくいので、いい感じにファイル名を変更しましょう。

Xamarinで文字列リソース使うよ

Xamarinで文字列リソース使おうとして地獄を垣間見たのでメモ

最初に
grabacr.net
を元に Resource.resxとResourceService.csを作成
しかし表示できない

悩んだ末に
blog.pieeatingninjas.be
を参考に

public string this[string key]
    {
        get
        {
            return ResourceManager.GetString(key, CurrentCultureInfo);
        }
    }

をResourceService.csに追加

XAML

<Label Text = "{Binding Source={x:Static m:ResourceService.Current}, Path=[Result], Mode=OneWay}" />

ソースコードでは

 var str = ResourceService.Current["Result"];

でキー「Result」が使えます。

最終的に使ったResourceService.csをGistに貼りました。(2018/5/14 そのままだと多言語切り替えが動かない部分を修正)

提督業も忙しい!プラグイン更新してみた

提督業も忙しい!プラグインをユーザー定義レシピも表示できるようにしました
プラグインと同じ場所にあるUserRecipe.xamlを編集すればいいです
バイナリもGitHubで公開しています
github.com

参考サイト
GitHub - ruhiel/ImprovementArsenalPlugin: KanColleViewer用の改修工廠装備一覧を表示するプラグイン

提督業も忙しい!プラグイン作ってみた

急に作りたくなったのでやった

艦これWikiの開発レシピのページをパースして表示してます
いらない部分は手動で飛ばしたりしてます
他のレシピは入れてません

ソースとバイナリはGitHubで公開しています
github.com

参考サイト
KanColleViewer プラグインの作り方とか – CAT EARS
neue cc - C#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法
GitHub - Grabacr07/KanColleViewer: 艦これブラウザーのようなもの

プログラムTips

プログラムに使えそうなサイトいろいろ列挙します

MITライセンスの使い方
http://www.catch.jp/oss-license/2013/09/27/mit_license/自作ソースコードに、MITライセンスを適用する3つのやり方 | オープンソース・ライセンスの談話室

メールライブラリ
github.com

配列を一つの値で初期化
challengeandresponse.blogspot.jp

torokonbu.blogspot.jp

sourcechord.hatenablog.com

devlights.hatenablog.com

neue cc - Reactive Extensions入門 + メソッド早見解説表

[Unity] ネットワークの接続状態を取得する | ftvlog

PCLの暗号化ライブラリ
www.nuget.org

Unity 〜 バックグラウンドへの移行と復帰を検知する方法 〜

Windowsサービスを楽に開発~TopShelf~Windowsサービスを楽に開発~TopShelf~ | 84zume Works