diff --git a/.hgignore b/.hgignore
index b82e105b7..8372fdde3 100644
--- a/.hgignore
+++ b/.hgignore
@@ -2,3 +2,4 @@ syntax:glob
*/bin
*/gen/**
+.metadata
diff --git a/MyTracks/.settings/org.eclipse.jdt.core.prefs b/MyTracks/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..dec15e80b
--- /dev/null
+++ b/MyTracks/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Thu Aug 12 18:54:52 BRT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/MyTracks/res/values-ja/arrays.xml b/MyTracks/res/values-ja/arrays.xml
new file mode 100644
index 000000000..3b469da0b
--- /dev/null
+++ b/MyTracks/res/values-ja/arrays.xml
@@ -0,0 +1,282 @@
+
+
+
+
+
+ - 不使用
+ - 1 分
+ - 2 分
+ - 5 分
+ - 10 分
+ - 15 分
+ - 30 分
+ - 60 分
+
+
+
+
+ - 1 m
+ - 2 m
+ - 3 m
+ - 4 m
+ - 5 m (推奨)
+ - 10 m
+ - 100 m
+
+
+
+ - 3 ft
+ - 6 ft
+ - 10 ft
+ - 13 ft
+ - 16 ft (推奨)
+ - 33 ft
+ - 328 ft
+
+
+
+
+
+ - 50 m
+ - 100 m
+ - 200 m (推奨)
+ - 500 m
+ - 1000 m
+ - 5000 m
+
+
+
+ - 164 ft
+ - 328 ft
+ - 656 ft (推奨)
+ - 1640 ft
+ - 0.6 mi
+ - 3.1 mi
+
+
+
+
+
+ - 電源節約 (動的制御)
+ - 高精度 (動的制御)
+ - 最高 (推奨)
+ - 2 秒
+ - 3 秒
+ - 4 秒
+ - 5 秒
+ - 10 秒
+ - 20 秒
+ - 30 秒
+ - 1 分
+ - 2 分
+ - 5 分
+ - 10 分
+ - 15 分
+ - 30 分
+
+
+
+
+
+ - 10 m (GPS信号強度良好)
+ - 20 m
+ - 50 m
+ - 100 m
+ - 200 m (推奨)
+ - 500 m
+ - 1000 m
+ - 2000 m
+ - 5000 m (GPS信号強度不良)
+
+
+
+ - 33 ft (GPS信号強度良好)
+ - 66 ft
+ - 165 ft
+ - 328 ft
+ - 656 ft (推奨)
+ - 1640 ft
+ - 0.6 mi
+ - 1.2 mi
+ - 3.1 mi (GPS信号強度不良)
+
+
+
+
+
+ - 分割なし
+ - 100 km
+ - 50 km
+ - 25 km
+ - 10 km
+ - 5 km
+ - 1 km
+ - 60 分
+ - 30 分
+ - 15 分
+ - 10 分
+ - 5 分
+ - 2 分
+ - 1 分
+
+
+
+ - 分割なし
+ - 100 mi
+ - 50 mi
+ - 25 mi
+ - 10 mi
+ - 5 mi
+ - 1 mi
+ - 60 分
+ - 30 分
+ - 15 分
+ - 10 分
+ - 5 分
+ - 2 分
+ - 1 分
+
+
+
+
+
+ - 不明
+ - 混合タイプ
+ - その他
+
+ - 実行中
+ - 市街地ランニング
+ - トラックランニング
+ - 山道ランニング
+ - 徒歩
+ - 早歩き
+ - ハイキング
+ - 山道ハイキング
+ - 原野ハイキング
+ - 登山
+
+ - サイクリング
+ - ロードバイク
+ - マウンテンバイク
+ - トラック自転車
+
+ - スケート
+ - インラインスケート
+ - スケートボード
+
+ - スノーシュー
+ - スキー
+ - スノーボード
+ - ソリ
+ - アイスセーリング
+
+ - 帆走
+ - パドリング
+ - カヤック
+ - 漕艇
+ - モーターボート
+ - フェリー
+ - ラジコンボート
+ - サーフィン
+ - ウィンドサーフィン
+ - カイトサーフィン
+ - 水上スキー
+ - ウェークボード
+
+ - 飛行機
+ - 水上機
+ - 商用航空機
+ - ヘリコプター
+ - 熱気球
+ - 飛行船
+ - ラジコン飛行機
+ - ラジコンヘリコプター
+ - スカイダイビング
+ - グライダー
+ - ハンググライダー
+ - パラグライダー
+
+ - 騎乗
+ - 乗馬
+ - ロバ騎乗
+
+ - 自動車運転
+ - バス運転
+ - 鉄道
+ - オートバイ
+ - オフロードバイク
+ - 四輪バギー
+
+ - ランドセーリング
+ - フリスビー
+ - アルティメットフリスビー
+
+
+
+ - ATM
+ - 銀行
+ - 飲み屋
+ - バーベキュー
+ - 建物
+ - バス停
+ - カフェ
+ - キャンプファイアー
+ - キャンプ場
+ - 教会
+ - コーヒーハウス
+ - コンビニ
+ - 水飲み場
+ - がけ崩れ
+ - フェリー
+ - 火事場
+ - 消防署
+ - 釣り場
+ - ガソリンスタンド
+ - ゴルフ場
+ - 雑貨店
+ - 美容室
+ - 散髪屋
+ - ハイキング道
+ - ホテル
+ - 家
+ - 情報
+ - 交差
+ - メールボックス
+ - 市場
+ - 集合場所
+ - 歌劇場
+ - 駐車場
+ - 郵便局
+ - 洞穴
+ - 警察署
+ - 踏切
+ - レストラン
+ - ショッピング
+ - 名所
+ - 店
+ - プール
+ - 電話
+ - 劇場
+ - トイレ
+ - 観光案内
+ - トンネル
+ - 樹木
+ - 滝
+ - 噴水
+ - ウェイポイント
+
+
diff --git a/MyTracks/res/values-ja/strings.xml b/MyTracks/res/values-ja/strings.xml
new file mode 100644
index 000000000..447a48540
--- /dev/null
+++ b/MyTracks/res/values-ja/strings.xml
@@ -0,0 +1,395 @@
+
+
+
+
+ トラック記録
+ 記録停止
+ 衛星モード
+ 地図モード
+ 現在地
+ トラック
+ マーカ
+ 全トラック消去
+ 設定
+ 標高
+ 表示するトラックを選択して下さい
+ 現在のトラック
+ 最終セグメント
+
+
+ この端末でロケーションマネージャを発見できませんでした
+ この端末でGPSロケーションプロバイダを発見できました
+ Googleマイマップへのトラック送信でエラーが発生しました.しばらく待って試して下さい.
+ Google Docsへのトラック送信でエラーが発生しました.しばらく待って試して下さい.
+ 記録作成開始できません.もう一度試して下さい.
+ 記録停止できません.もう一度試して下さい.
+ ファイルからの読み込みができません.
+ ファイルは正しいGPX書式ではありませんでした.
+ エラーが発生しました.もう一度試して下さい.
+ トラックが存在しません.
+ 大きなファイルです(500KB未満でなければなりません).終了します.
+ マーカの挿入ができません.位置決定ができません.
+
+
+ GPS位置精度がよくなるまで待機しています.空が見えるところにいて下さい.
+ 新しいトラックを記録中です.
+ トラック記録を停止しました.
+ 新しいGoogleマイマップを maps.google.com に作成しました.
+ トラックを maps.google.com に送信しました.
+ トラックを docs.google.com の新しいスプレッドシートに送信しました.
+ トラックを docs.google.com に送信しました.
+ 新しいトラックが見えるようになるまで数分程度かかります.
+ ここをタップして,セキュリティ &位置情報 を開いて,「GPS機能をONにする」にチェックして下さい.バックボタンで戻ってください.
+ ご注意: 携帯電話中継局とWi-Fiネットワークから大まかな位置を特定します.
+ 現在位置決定ができません.位置取得源を増やし(セキュリティ&位置情報をご覧ください),空が見えるようにして下さい.もう一度試して下さい.
+ ウェイポイントマーカを挿入しました.
+ 統計マーカを挿入しました.
+
+
+ お待ちください...
+ トラックをGoogleに送信しました.
+ トラックを読んでいます...
+ トラックを準備しています...
+ Googleマップの認証しています...
+ Google Docsへの認証を行っています...
+ トラックをGoogle Docsに送信しています...
+ トラックをGoogleマップに送信しています...
+ 新しいマイマップを生成しています...
+ GPSトラックをインポートしています.若干時間がかかります.
+ SDカードにデータを書き込んでいます.若干時間がかかります.
+ トラック統計情報を更新しています...
+
+
+ よろしいですか?
+ 全てのトラックとマーカをこの端末から削除しました.
+ トラックとマーカをこの端末から完全に削除しました.
+ マーカをこの端末から完全に削除しました.
+
+
+ Android用My Tracksで作成
+ Android用<a href=\'http://mytracks.appspot.com\'>My Tracks</a>で作成しました.
+ 新規マップ
+
+
+ ポイント
+ 記録
+ 活動タイプ
+ マーカタイプ
+ (Part %d)
+
+
+ トラックを保存中...
+ トラック %d
+
+
+ いいえ
+ はい
+ OK
+ エラー
+ 成功
+ ウェイポイント
+
+
+ (開始)
+ (終了)
+
+
+ 表示
+ Google My Mapsへ送信
+ 新規Googleマイマップへ送信
+ Google Docsへ送信
+ Googleへ送信...
+ 端末から削除...
+ 詳細編集
+ SDへの書き込み...
+ GPXファイルの保存
+ KMLファイルの保存
+ CVSファイルの保存
+ Googleマイマップへの送信
+ 全てのトラックの削除
+
+ 全てのトラックのエクスポート
+ エクスポート終了
+ トラックを選択します.オプションを表示するには長押しして下さい.
+ 全てのトラック:
+ このトラック
+ 共有...
+ Googleマイマップへのリンク
+ GPXファイル
+ KMLファイル
+ CSVファイル
+ マップの消去
+
+
+ 全てのマーカの削除
+ このマーカ
+ 削除
+ 詳細編集
+ マップに表示
+ ウェイポイントの挿入
+ 統計情報の挿入
+ マーカを選択します.オプションを表示するには長押しして下さい.
+
+
+ トラック詳細
+ トラック名
+ トラック説明
+ 活動タイプ(ハイキング, サイクリング, ランニング, 登山...)
+
+
+ マーカ詳細
+ マーカ名
+ マーカ説明
+ マーカタイプ(建物, 洞穴, 名所...)
+
+
+ My Tracks設定
+ 表示
+ 記録
+ 共有
+
+ 定期通知
+ 音声通知間隔の最小時間
+ お使いのAndroidの版では音声読み上げ機能がありません
+
+ ポイント間の最短距離
+ 位置記録間の最短距離
+
+ ポイント間の最長距離
+ これより間隔が長い場合はトラックは分割されます
+
+ ポイント間の最小時間間隔
+ 位置記録の最短インターバル
+
+ 最低精度
+ この精度以上でないと記録を休止します
+
+ メートル法を使用
+ 全ての距離をメートル法で表示します
+ 全ての距離をヤード・ポンド法で表示します
+
+ マップの公開
+ アップロードされたマップはmaps.google.comで誰でも閲覧できます
+ アップロードされたマップはmaps.google.comのリストに公開されません.
+
+ 速度表示
+ 速度が表示されます
+ ペースが表示されます
+
+ URLのみ共有
+ 共有時にマップのURLのみ送信します
+ 共有時にトラックのコンテントが含まれます
+
+ 信号サンプリング周波数
+ 端末の信号強度記録の時間間隔
+
+ 分割頻度
+ 分割マーカを挿入する時間または距離の間隔
+ ペース
+
+
+ GPS衛星
+
+
+ ご使用のアカウントからのマップ選択:
+ 新規マップ...
+ Googleマイマップへの送信
+ マップの読み込み中...
+ マップを読み込めませんでした!
+ このマップを選択
+ マップ詳細の編集
+ マップの共有
+ トラックの共有
+ アカウントからマップの削除
+ マップタイトル:
+ マップ説明:
+
+
+ このマップとコンテンツを検索結果に表示させる
+ このマップとコンテンツはどちらも検索結果に表示させない(直接URLで他の方が見ることは可能)
+ このマップとコンテンツは検索結果に表示されます
+ このマップとコンテンツはどちらも検索結果に表示されませんが,直接リンクで他の方が見ることができます.
+ 閉じる
+ 編集
+ キャンセル
+ 保存
+
+
+ マップを共有したいと思います
+ このマップに興味を持って頂けると思います:
+
+ %s
+ トラックを共有したいと思います
+ このトラックに興味を持って頂けると思います.
+
+ このトラックを閲覧するには,Google Earthまたは他のマッピングソフトウェアが必要です.
+
+
+ 公開
+ リストに出さない
+ まだ地図がありません.
+
+
+
+ 平均移動速度
+ 平均移動ペース
+
+
+ 平均速度
+ 平均ペース
+
+ 標高チャート
+ 標高差
+ 標高
+ 緯度
+ 経度
+
+
+ 最小標高
+ 最小勾配
+ 最小ペース
+
+
+ 最大標高
+ 最大勾配
+ 最大速度
+
+ トラックの読み込み中...
+
+
+ チャート設定
+
+ X軸
+ 距離ベース
+ 時間ベース
+
+
+ Y軸
+
+
+
+ 時
+ 時
+ 時
+ 分
+ 分
+ 分
+ 秒
+ 秒
+
+
+ m
+ km
+ キロメータ
+ ft
+ mi
+ マイル
+
+
+ km/h
+ キロメータ毎時
+ min/km
+ 毎キロメータ
+ mi/h
+ マイル毎時
+ min/mi
+ 毎マイル
+
+
+ 移動時間
+ 合計時間
+ 時間
+ SD が発見できません
+ 速度
+ 移動して下さい.
+ 統計
+ 合計距離
+ 距離
+ -
+ 待機中...
+
+
+ エンドユーザライセンス契約書
+ 同意する
+ 拒否する
+
+
+ このアプリケーションについて
+ ヘルプ
+ チーム:
+ バージョン:
+ サポート
+ サポート:
+
+
+ 送信...
+ Googleマイマップ
+ Google Docs
+ 今すぐ送信
+ 新規マップ作成
+ 既存マップ選択
+ トラック統計情報送信
+ 統計情報とポイント送信
+
+
+ アカウントを発見できませんでした.
+ トラックをアップロードするためのアカウントを発見できませんでした.
+ アカウント選択
+
+
+ 外部ストレージを発見できませんでした.SDカードが刺さっているか,端末がコンピュータにマウントされているか確認してください.
+ ファイルへの書き込みができません.
+ SDカードにディレクトリを作成できません.
+ SDカードへの書き込み終了.
+
+
+ アップグレードチェック
+ 今すぐアップデート
+ アップグレードせずに続行
+ お使いの版では,確実には動作せず,サポートもされません.ご使用を続けるには %1$s のアップグレードしてください.
+ お使いの版では,確実には動作しません.すぐにアップグレードすることをお勧めします.アップグレードされない場合は問題発生の可能性があることをご認識ください. サーバ同期するような機能の中には,アップグレードされるまで機能しないものがあります.
+ %1$s の新しい版が出ています.現版で問題なくご使用になれますが,アップグレードするまで最新の機能をお使いになれません.
+
+
+ ようこそ
+ Ok
+ My Tracksについて
+
+
+ My Tracks 移動していません
+
+ My Tracks %1$s %2$.2f %3$s 時間 %4$s 速度/ペース %5$s %6$s
+
+
+ 計測単位についてのご注意
+ デフォルトの単位はメートルです.設定を変更しますか?
+
+
+ 誤り率: %1$d
+ S/N比: %1$d
+ Ec/Io比: %1$.1f dB
+ GSM 強度: %1$d
+ CDMA 強度: %1$d dBm
+ EVDO 強度: %1$d dBm
+
diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
index 142c74de4..27fda84eb 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java
@@ -24,7 +24,7 @@ import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.AuthManager;
import com.google.android.apps.mytracks.io.AuthManagerFactory;
-import com.google.android.apps.mytracks.io.GpxImport;
+import com.google.android.apps.mytracks.io.GpxImporter;
import com.google.android.apps.mytracks.io.SendToDocs;
import com.google.android.apps.mytracks.io.SendToMyMaps;
import com.google.android.apps.mytracks.io.TrackWriter;
@@ -62,24 +62,25 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
+import android.view.Window;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
-import android.view.Window;
import android.view.WindowManager.BadTokenException;
import android.widget.RelativeLayout;
import android.widget.TabHost;
import android.widget.Toast;
-import org.xml.sax.SAXException;
-
import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
-import java.util.ArrayList;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Random;
import javax.xml.parsers.ParserConfigurationException;
+import org.xml.sax.SAXException;
+
/**
* The super activity that embeds our sub activities.
*
@@ -895,13 +896,14 @@ public class MyTracks extends TabActivity implements OnTouchListener,
Thread t = new Thread() {
@Override
public void run() {
- boolean success = false;
- ArrayList