答え:日本語化
res/values/strings.xml を res/values-ja/strings.xml にコピーして以下を追加
<string name="year">年</string>
<string name="month">月</string>
<string name="day">日</string>
とりあえずこれで起動するようになります。なんとなく日本語化したファイルはここにあります。
もうちょっとちょいちょい弄ると年月の表記などもちゃんとできます。
ざっくり言うと layout から layout-ja 、 layout-land から layout-ja-land をコピーしてそれぞれの以下のファイルを改変します。
- fiveweek.xml
- sixweek.xml
<TextView android:textSize="38.0px" android:textColor="#ffb4b4b4" android:layout_gravity="center" android:id="@id/timeArea" android:paddingLeft="10.0px" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textSize="38.0px" android:textStyle="bold" android:textColor="@color/RED" android:layout_gravity="center" android:id="@id/monthyearArea" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5.0px" />
折り返してますが本当は2行で、この monthyearArea が「月」で timeArea が「年」なので上下をひっくり返せばOK(上はひっくり返した状態)。ja を作らずに入れ替えてもいいんですが、英語で逆になると気持ち悪いので ja の時だけするようにしてます。
落ちる理由を詳しく言うと、ko_KR と ja_JP 用に特殊な処理(「年」とか「月」の文字を追加する処理)が入っているのに標準のリソースに「year」とかの値がないからエラーで落ちるようになっていました。
今回はまったポイントはなぜか apktool の出力する @layout とかが全部 \@layout みたいにバッククオートされてたので手動で置換してからビルドする必要があったことです。あんまり layout とか弄らないんでいつもこうだったのかどうかはわかりません。
以上!
コメント
[…] 2010/11/22 Digital Frameが動くようになりました […]