diff --git a/MyTracks/.classpath b/MyTracks/.classpath
index 0734acf85..636d59be6 100644
--- a/MyTracks/.classpath
+++ b/MyTracks/.classpath
@@ -4,10 +4,10 @@
+
-
diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml
index 51487fe03..688a9a9af 100755
--- a/MyTracks/AndroidManifest.xml
+++ b/MyTracks/AndroidManifest.xml
@@ -17,8 +17,8 @@ limitations under the License.
+ android:versionCode="23"
+ android:versionName="1.1.0">
diff --git a/MyTracks/default.properties b/MyTracks/default.properties
index 8a7ac55df..019a98ced 100644
--- a/MyTracks/default.properties
+++ b/MyTracks/default.properties
@@ -11,5 +11,9 @@
split.density=false
# Project target.
target=Google Inc.:Google APIs:9
-proguard.config=proguard.cfg
android.library.reference.1=../MyTracksLib/
+
+# ProGuard is turned off while we investigate the removal of code that
+# isn't actually dead from Fusion Tables. See issue 303 for an example of
+# the result of that removal.
+#proguard.config=proguard.cfg
diff --git a/MyTracks/libs/google-api-client-1.2.1-alpha.jar b/MyTracks/libs/google-api-client-1.2.2-alpha.jar
similarity index 81%
rename from MyTracks/libs/google-api-client-1.2.1-alpha.jar
rename to MyTracks/libs/google-api-client-1.2.2-alpha.jar
index cf824376b..7194648fd 100644
Binary files a/MyTracks/libs/google-api-client-1.2.1-alpha.jar and b/MyTracks/libs/google-api-client-1.2.2-alpha.jar differ
diff --git a/MyTracks/res/values-ca/strings.xml b/MyTracks/res/values-ca/strings.xml
index b7b3376b1..c00f6782c 100644
--- a/MyTracks/res/values-ca/strings.xml
+++ b/MyTracks/res/values-ca/strings.xml
@@ -35,7 +35,7 @@ limitations under the License.
No s\'ha trobat cap gestor d\'ubicacions en aquest dispositiu.
No s\'ha trobat cap proveïdor d\'ubicació GPS en aquest dispositiu.
- S\'ha produït un error quan s\'enviava la ruta a Google My Map. Proveu més tard.
+ S\'ha produït un error quan s\'enviava la ruta a Google Fusion Tables. Proveu més tard.
S\'ha prdouït un error quan s\'enviava la ruta a Google Docs. Proveu més tard.
No es pot iniciar l\'enregistrament. Proveu de nou.
No es pot aturar l\'enregistrament. Proveu de nou.
@@ -50,7 +50,7 @@ limitations under the License.
S\'està esperant per tenir una posició GPS fixa. Assegureu-vos que el cel és visible.
Ara s\'està enregistrant una ruta nova.
S\'ha aturat l\'enregistrament de la ruta.
- S\'ha creat un Google My Map nou a maps.google.com.
+ S\'ha creat un Google Fusion Table nou a google.com/fusiontables.
S\'ha enviat la ruta a maps.google.com.
S\'ha enviat la ruta a un full de càlcul a docs.google.com.
S\'ha enviat la ruta a docs.google.com.
@@ -65,11 +65,11 @@ limitations under the License.
S\'està enviant la ruta a Google.
S\'està llegint la ruta...
S\'està preparant la ruta...
- S\'està to Google Maps...
+ S\'està to Google Fusion Tables...
S\'està autenticant a Google Docs...
S\'està enviant la ruta a Google Docs...
- S\'està enviant a Google Maps...
- S\'està creant un My Map nou...
+ S\'està enviant a Google Fusion Tables...
+ S\'està creant un Fusion Table nou...
S\'està imporant una ruta GPS. Això pot trigar una estona.
S\'està escrivint a la targeta SD. Això pot trigar una estona.
S\'estan actualitzant les estadístiques de la ruta...
@@ -82,8 +82,7 @@ limitations under the License.
Creat per My Tracks a l\'Android.
- Creat per <a href=\'http://mytracks.appspot.com\'>My Tracks</a> a l\'Android.
- Mapa nou
+ Creat per <a href=\'http://mytracks.appspot.com\'>My Tracks</a> a l\'Android.
Punts
@@ -114,8 +113,8 @@ limitations under the License.
Mostra
- Envia a Google My Maps
- Envia a un Google My Map nou
+ Envia a Google Fusion Tables
+ Envia a un Google Fusion Table nou
Envia a Google Docs
Envia a Google...
Elimina del telèfon...
@@ -125,7 +124,7 @@ limitations under the License.
Anomena i desa com un fitxer KML
Anomena i desa com un fitxer CSV
Anomena i desa com un fitxer TCX
- Envia a Google My Maps
+ Envia a Google Fusion Tables
Elimina totes les rutes
Exporta totes les rutes
@@ -134,7 +133,7 @@ limitations under the License.
Totes les rutes:
Aquesta ruta
Comparteix amb amics...
- Un enllaç a Google My Map
+ Un enllaç a Google Fusion Table
Un fitxer GPX
Un fitxer KML
Un fitxer CSV
@@ -217,14 +216,9 @@ limitations under the License.
Suportat només en Android 2.0 i superior
Tipus de sensor
El tipus de sensor al qual es connecta.
- Identificador del sensor
- L\'identificador enviat als sensors.
- L\'identificador ha de ser un valor sencer.
Sensor bluetooth
El sensor bluetooth al qual es connecta.
Pantalla d\'estadístiques modulars
- La pantalla d\'estadístiques es divideix en mòduls diferents.
- Mostra totes les estadístiques en una sola pantalla.
Còpia de seguretat (BETA)
Còpia de seguretat a la targeta SD
@@ -342,14 +336,11 @@ limitations under the License.
Ajuda
Equip:
Versió:
- Assistència
Assistència:
Envia a...
Envia ara
- Crea un mapa nou
- Seleccioneu un mapa existent
Envia les estadístiques de la ruta
Envia les estadístiques i els punts
@@ -395,14 +386,6 @@ limitations under the License.
Avís de les unitats de mesura
Les unitats són mètriques per defecte. Voleu canviar aquest paràmetre?
-
- Rati d\'error: %1$d
- Relació senyal/soroll: %1$d
- Ec/lo: %1$.1f dB
- Intensistat GSM: %1$d
- Intensitat CDMA: %1$d dBm
- Intensitat EVDO: %1$d dBm
-
Opcions del Bluetooth
Associació de dispositius
diff --git a/MyTracks/res/values-de/strings.xml b/MyTracks/res/values-de/strings.xml
index 893d3d5d0..c742a76d8 100644
--- a/MyTracks/res/values-de/strings.xml
+++ b/MyTracks/res/values-de/strings.xml
@@ -15,14 +15,13 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
-
Track aufzeichnen
Aufzeichnung anhalten
Satellitenansicht
Kartenansicht
Mein Aufenthaltsort
- Wegpunkte
+ Wegpunkte
Alle Tracks löschen
Einstellungen
Höhe
@@ -82,8 +81,7 @@ limitations under the License.
Erstellt von My Tracks für Android.
- Erstellt von <a href=\'http://mytracks.appspot.com\'>My Tracks</a> für Android.
- Neue Karte
+ Erstellt von <a href=\'http://mytracks.appspot.com\'>My Tracks</a> für Android.
Punkte
@@ -93,7 +91,7 @@ limitations under the License.
(Teil %d)
- Dein Track wird aufgezeichnet…
+ Dein Track wird aufgezeichnet…
Nein
@@ -101,18 +99,19 @@ limitations under the License.
Fehler
Erfolgreich
Wegpunkt
+ Lizenz
Abbrechen
+ Schließen
Bearbeiten
Sichern
- (Beginn)
(Ende)
Anzeigen
- An eine Google MyMaps-Karte senden
- An eine neue Google MyMaps-Karte senden
+ An eine Google Fusion Tables-Karte senden
+ An eine neue Google Fusion Tables-Karte senden
An Google Docs senden
An Google senden…
Vom Gerät löschen…
@@ -122,9 +121,9 @@ limitations under the License.
KML-Datei exportieren
CSV-Datei exportieren
TCX-Datei exportieren
- An Google MyMaps senden
+ An Google Fusion Tables senden
Alle Tracks löschen
-
+
Alle Tracks exportieren
Exportieren beendet
Einen Track auswählen. Lange berühren für mehr Optionen.
@@ -213,14 +212,17 @@ limitations under the License.
Wird nur unter Android 2.0 oder höher unterstützt
Sensortyp
- Der Typ des zu verbindenden Sensors
- Sensor-Id
- Die zum Sensor zu sendende Id
- Die Id muss eine Ganzzahl sein.
+ Der Typ des zu verbindenden Sensors
+ Verbindung mit ANT Herzqrequenzmesser aufheben
+ Verbindung mit ANT Kraftmesser aufheben
+ Verbindung mit ANT srm bridge aufheben
+ ANT-Sensor nicht verbunden
+ ANT-Sensor verbunden mit: %d
Bluetooth-Sensor
Der zu verbindende Bluetoothsensor
Art der Datenanzeige
+
Datensicherung (BETA)
SD-Karten-Sicherung
Jetzt sichern
@@ -229,7 +231,6 @@ limitations under the License.
Alle Tracks und Einstellungen von der SD-Karte holen.
Während ein Track aufgezeichnet wird, kann nicht mit der Datensicherung gearbeitet werden.
-
Eine Wiederherstellung von der SD-Karte ÜBERSCHREIBT alle vorhandenen Tracks und Einstellungen. Willst Du das wirklich?
Wähle die wiederherzustellende Datensicherung aus
Keine Datensicherungen gefunden.
@@ -304,16 +305,16 @@ limitations under the License.
Sekunden
- Fuß
- Kilometer
+ Kilometer
+ Fuß
Meilen
-
- Kilometer pro Stunde
+
+ Kilometer pro Stunde
pro Kilometer
- Meilen pro Stunde
+ Meilen pro Stunde
pro Meile
-
+
Zeit in Bewegung
Gesamtzeit
@@ -324,7 +325,7 @@ limitations under the License.
Statistik
Gesamtentfernung
Entfernung
- Energie
+ Kraft
Kadenz
Herzfrequenz
Höchste Herzfrequenz
@@ -338,10 +339,12 @@ limitations under the License.
Über
Hilfe
- Unterstützung
+ Unterstützung:
+ Datenschutz:
-
- Senden an…
+
+ Senden an…
+ Google Text & Tabellen
Jetzt senden
Trackstatistik senden
Statistik und Punkte senden
@@ -369,6 +372,7 @@ limitations under the License.
Willkommen
+ OK
Über My Tracks
@@ -387,20 +391,20 @@ limitations under the License.
Einheitenbenachrichtigung
Voreingestellt sind metrische Einheiten. Willst Du diese Einstellung ändern?
-
- Bluetootheinstellungen
+
+ Bluetooth-Einstellungen
Geräteverbindung
- Öffnet Androids Bluetootheinstellungen, um Geräte zu verbinden.
- Sensoreinstellungen
+ Öffnet Androids Bluetooth-Einstellungen, um Geräte zu verbinden.
+ Sensor-Einstellungen
Verbunden mit %s
- Verbinde mit Bluetoothsensor ...
- Bluetoothsensor nicht verbunden.
+ Verbinde mit Bluetooth-Sensor ...
+ Bluetooth-Sensor nicht verbunden.
- Sensor Data Time
- Energiemessung aktiviert
+ Uhrzeit
+ Kraftmesser aktiviert
Herzfrequenzmessung aktiviert
Keine Sensoren verfügbar
Aktiviert
diff --git a/MyTracks/res/values-es/strings.xml b/MyTracks/res/values-es/strings.xml
index d371eb824..3fba9958b 100644
--- a/MyTracks/res/values-es/strings.xml
+++ b/MyTracks/res/values-es/strings.xml
@@ -32,7 +32,7 @@ limitations under the License.
Ningún administrador de ubicación fue hallado en este aparato!
Ningún proveedor GPS de ubicación fue hallado en este aparato.
- Hubo un error al mandar su recorrido a Google My Map. Por favor inténtelo de nuevo más tarde.
+ Hubo un error al mandar su recorrido a Google Fusion Tables. Por favor inténtelo de nuevo más tarde.
Hubo un error al mandar su recorrido a Google Docs. Por favor inténtelo de nuevo más tarde.
No pude empezar a grabar. Por favor inténtelo de nuevo.
No pude dejar de grabar. Por favor inténtelo de nuevo.
@@ -47,7 +47,7 @@ limitations under the License.
Esperando una ubicación mas exacta del GPS. Asegúrese que el cielo sea visible.
Grabando un nuevo recorrido.
Grabacíon interrumpida.
- Un mapa Google My Map nuevo has sido creado en maps.google.com.
+ Un mapa Google Fusion Tables nuevo has sido creado en google.com/fusiontables.
Su recorrido ha sido enviado a maps.google.com.
Su recorrido ha sido enviado a una nueva hoja de cálculo en docs.google.com.
Su recorrido ha sido enviado a docs.google.com.
@@ -62,11 +62,11 @@ limitations under the License.
Enviando su recorrido a Google.
Leyendo recorrido...
Preparando recorrido...
- Autenticando con Google Maps...
+ Autenticando con Google Fusion Tables...
Autenticando con Google Docs...
Enviando recorrido a Google Docs...
- Enviando recorrido a Google Maps...
- Creando nuevo mapa My Map...
+ Enviando recorrido a Google Fusion Tables...
+ Creando nuevo mapa Fusion Tables...
Importando un recorrido GPS. Esto puede tardar.
Escribiendo archivo a tarjeta SD. Esto puede tardar.
Actualizando estadísticas del recorrido...
@@ -321,8 +321,6 @@ limitations under the License.
Sobre
Ayuda
- Soporte técnico
-
Equipo:
Soporte técnico:
diff --git a/MyTracks/res/values-fr/arrays.xml b/MyTracks/res/values-fr/arrays.xml
index 8492157da..0c9eedf72 100644
--- a/MyTracks/res/values-fr/arrays.xml
+++ b/MyTracks/res/values-fr/arrays.xml
@@ -201,7 +201,7 @@ limitations under the License.
- kayak
- bateau à moteur
- ferry
- - boat télécommandé
+ - bateau télécommandé
- surf
- planche à voile
- kite surf
@@ -304,4 +304,11 @@ limitations under the License.
- point de passage
+
+ - Aucun
+ - Capteur ANT+
+ - Pont SRM ANT+
+ - Bluetooth Zephyr
+
+
diff --git a/MyTracks/res/values-fr/strings.xml b/MyTracks/res/values-fr/strings.xml
index bf588b041..eaabdce72 100644
--- a/MyTracks/res/values-fr/strings.xml
+++ b/MyTracks/res/values-fr/strings.xml
@@ -30,11 +30,13 @@ limitations under the License.
Sélectionnez le parcours à visualiser
Parcours actuel
Segment actuel
-
+ État du capteur
+ Statistiques consolidées
+
Aucune source de localisation n\'a été trouvée sur ce système !
Aucune source GPS de localisation n\'a été trouvée sur ce système.
- Il y a eu une erreur lors de l\'envoi de votre parcours à Google Mes cartes. Réessayez plus tard SVP.
+ Il y a eu une erreur lors de l\'envoi de votre parcours à Google Fusion Tables. Réessayez plus tard SVP.
Il y a eu une erreur lors de l\'envoi de votre parcours à Google Docs. Réessayez plus tard SVP.
Impossible de débuter l\'enregistrement. Réessayez.
Impossible de stopper l\'enregistrement. Réessayez.
@@ -49,7 +51,7 @@ limitations under the License.
Attente du signal GPS. Assurez-vous que le ciel est bien visible.
Parcours en cours d\'enregistrement.
Enregistrement du parcours terminé.
- Une nouvelle carte Google \'Mes cartes\' vient d\'être créée sur maps.google.com.
+ Une nouvelle table Google Fusion vient d\'être créée sur google.com/fusiontables.
Votre parcours a été envoyé à maps.google.com.
Votre parcours a été envoyé dans un tableur à docs.google.com.
Votre parcours a été envoyé à docs.google.com.
@@ -64,11 +66,11 @@ limitations under the License.
Envoi du parcours à Google...
Lecture du parcours...
Préparation du parcours
- Authentification à Google Mes cartes...
+ Authentification à Google Fusion Tables...
Authentification à Google Docs...
Envoi du parcours vers Google Docs...
- Envoi du parcours vers Google Mes cartes...
- Création d\'une nouvelle carte...
+ Envoi du parcours vers Google Fusion Tables...
+ Création d\'une nouvelle \'Fusion Table\'...
Importation du parcours GPS. Patientez SVP.
Enregistrement du fichier sur la carte SD. Patientez SVP.
Mise à jour des statistiques du parcours...
@@ -81,8 +83,7 @@ limitations under the License.
Créée par My Tracks sous Android.
- Créée par <a href=\'http://mytracks.appspot.com\'>My Tracks</a> sous Android.
- Nouvelle carte
+ Créée par <a href=\'http://mytracks.appspot.com\'>My Tracks</a> sous Android.
Enregistré
@@ -110,8 +111,8 @@ limitations under the License.
Afficher
- Envoyer à Google Mes cartes
- Envoyer et créer un nouvelle carte Google Mes cartes
+ Envoyer à Google Fusion Tables
+ Envoyer et créer un nouvelle table Google Fusion Tables
Envoyer à Google Docs
Envoyer à Google...
Effacer du téléphone...
@@ -119,14 +120,14 @@ limitations under the License.
Enregistrer sur la carte SD...
Enregistrer en fichier GPX
Enregistrer en fichier KML
- Envoyer à Google Mes cartes
+ Envoyer à Google Fusion Tables
Exporter tous les parcours
Tout supprimer
Choisissez un parcours. Faites un appui prolongé pour plus d\'options.
Tous les parcours:
Ce parcours
Partager...
- Lien sur Google Mes cartes
+ Lien sur Google Fusion Tables
Fichier GPX
Fichier KML
Effacer la carte
@@ -194,6 +195,34 @@ limitations under the License.
Temps ou distance minimum avant l\'insertion d\'un marqueur de séparation
Rythme
+ Nécessite au minimum Android 2.0
+ Type de capteur
+ Type du capteur à utiliser
+ Se désassocier du Cardiofréquencemètre ANT
+ Se désassocier du compteur ANT
+ Se désassocier du pont SRM ANT
+ Capteur ANT non associé
+ Capteur ANT associé: %d
+ Capteur Bluetooth
+ Capteur Bluetooth à utiliser
+ Affichage des statistiques modulaires
+
+
+ Sauvegarde (BETA)
+ Sauvegarde sur carte SD
+ Sauvegarder
+ Copier tous vos parcours et paramètres sur la carte SD
+ Restaurer
+ Restaurer tous les parcours et paramètres depuis la carte SD
+ Sauvegarde impossible lors de l\'enregistrement d\'un parcours.
+
+
+ Restaurer une sauvegarde depuis la carte SD écrasera tous vos parcours et paramètres actuels.
+ Choisissez la sauvegarde à restaurer
+ Pas de sauvegarde disponible.
+ Écriture de tous vos parcours et paramètres sur la carte SD. Veuillez patienter...
+ Lecture de tous vos parcours et paramètres depuis la carte SD. Veuillez patienter...
+
Satellites GPS
@@ -268,6 +297,9 @@ limitations under the License.
miles/heure
per mile
+
+ Waiting...
+
Durée (déplacement)
Durée totale
@@ -275,6 +307,12 @@ limitations under the License.
Carte SD indisponible
Vitesse
Vous devez commencer un parcours
+ Distance
+ Puissance
+ Cadence
+ Rythme cardiaque
+ Rythme cardiaque maximum
+ -
Statistiques
Distance totale
Patientez
@@ -293,8 +331,6 @@ limitations under the License.
Envoyer à
Envoyer maintenant
- Créer une nouvelle carte
- Choisir une carte
Envoyer les statistiques du parcours
Envoyer les statistiques et les balises
@@ -333,4 +369,42 @@ limitations under the License.
$6 : Speed units (mph) : Pace units (per mile)
-->
My Tracks %1$s %2$.2f %3$s en %4$s at %5$s %6$s
+
+
+ Note sur les unités de mesure
+ Le système métrique est utilisé par défaut. Souhaitez-vous changer ce paramètre ?
+
+
+ Bluetooth
+ Options Bluetooth
+ Association d\'un appareil
+ Visitez les paramètres Bluetooth d\'Android pour associer un nouvel appareil
+ bluetoothSensorsEnabled
+ Options du capteur
+
+
+ Connecté à %s
+ Connexion du capteur Bluetooth...
+ Capteur Bluetooth non connecté
+
+
+ Date des données du capteur
+ Compteur activé
+ Cardiofréquencemètre activé
+ Pas de gestionnaire de capteur
+ Activé
+ Connexion
+ Connecté
+ Déconnecté
+ Pas de capteur
+ Recherche
+ Envoi
+
+
+ notifications lors de l\'enregistrement de parcours
+ lecture des parcours enregistrés
+ sauvegarde de parcours, lancer/arrêter l\'enregistrement de parcours
+ Notifications lors du lancement et de l\'arrêt de l\'enregistrement de parcours.
+ Possibilité de lire les données des parcours enregistrés, telles que les marqueurs et les points de passage.
+ Possibilité d\'écrire des données de parcours, telles que les marqueurs et les points de passage..
diff --git a/MyTracks/res/values-it/strings.xml b/MyTracks/res/values-it/strings.xml
index 0deba74fe..6451b836a 100644
--- a/MyTracks/res/values-it/strings.xml
+++ b/MyTracks/res/values-it/strings.xml
@@ -15,8 +15,6 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
- My Tracks
-
Registra percorso
Fine registrazione
@@ -35,7 +33,7 @@ limitations under the License.
Nessuna fonte di posizione trovata su questo dispositivo.
Nessuna fonte di posizione GPS trovata su questo dispositivo.
- Si è verificato un errore nell\'invio del percorso a «Le mie mappe». Per favore riprova più tardi.
+ Si è verificato un errore nell\'invio del percorso a Google Fusion Tables. Per favore riprova più tardi.
Si è verificato un errore nell\'invio del percorso a Google Docs. Per favore riporva più tardi.
Impossibile iniziare la registrazione. Riprova.
Impossibile fermare la registrazione. Riprova.
@@ -50,7 +48,7 @@ limitations under the License.
Sto aspettando il fix del GPS. Accertati che il cielo sia visibile.
Sto registrando un nuovo percorso.
Registrazione del percorso terminata.
- Una nuova mappa è stata creata in «Le mie mappe» su maps.google.com.
+
Il tuo percorso è stato inviato a maps.google.com.
Il tuo percorso è stato inviato ad un nuovo foglio di calcolo su docs.google.com.
Il tuo percorso è stato inviato a docs.google.com.
@@ -65,11 +63,11 @@ limitations under the License.
Invio del percorso a Google in corso.
Lettura in corso...
Elaborazione del percorso in corso...
- Autenticazione a Google Maps in corso...
+
Autenticazione a Google Docs in corso...
Invio del percorso a Google Docs in corso...
- Invio del percorso a Google Maps in corso...
- Creazione di una nuova mappa in «Le mie mappe» in corso...
+
+
Importazione del percorso GPS in corso. Attendere prego...
Salvataggio del file sulla scheda SD in corso. Attendere prego...
Aggiornamento delle statistiche del percorso in corso...
@@ -82,8 +80,7 @@ limitations under the License.
Creato da My Tracks su Android.
- Creato da <a href=\'http://mytracks.appspot.com\'>My Tracks</a> su Android.
- Nuova mappa
+ Creato da <a href=\'http://mytracks.appspot.com\'>My Tracks</a> su Android.
Punti
@@ -114,8 +111,8 @@ limitations under the License.
Mostra
- Invia a «Le mie mappe» di Google
- Invia a nuova mappa in «Le mie mappe» di Google
+
+
Invia a Google Docs
Invia a Google...
Elimina dal telefono...
@@ -123,7 +120,7 @@ limitations under the License.
Salva su scheda SD...
Salva in un file GPX
Salva in un file KML
- Invia a «Le mie mappe» di Google
+
Elimina tutti i percorsi
Esporta tutti i percorsi
@@ -132,7 +129,7 @@ limitations under the License.
Tutti i percorsi:
Questo percorso
Condividi con amici...
- Un link alla mappa in «Le mie mappe» di Google
+
Un file GPX
Un file KML
Cancella la mappa
@@ -306,19 +303,15 @@ limitations under the License.
Informazioni
Aiuto
- Supporto
-
Team:
Versione:
Supporto:
Invia a...
- «Le mie mappe» di Google
+
Google Docs
Invia adesso
- Crea una nuova mappa
- Scegli una mappa esistente
Invia statistiche del percorso
Invia statistiche e segnaposti
diff --git a/MyTracks/res/values-ja/arrays.xml b/MyTracks/res/values-ja/arrays.xml
index 3b469da0b..a3b6e1fde 100644
--- a/MyTracks/res/values-ja/arrays.xml
+++ b/MyTracks/res/values-ja/arrays.xml
@@ -151,6 +151,14 @@ limitations under the License.
- 1 分
+
+
+ - なし
+ - 5 分
+ - 10 分
+ - 15 分
+ - 常時
+
@@ -249,12 +257,12 @@ limitations under the License.
- ゴルフ場
- 雑貨店
- 美容室
- - 散髪屋
+ - 船着き場
- ハイキング道
- ホテル
- 家
- - 情報
- - 交差
+ - 案内所
+ - 交差点
- メールボックス
- 市場
- 集合場所
diff --git a/MyTracks/res/values-ja/strings.xml b/MyTracks/res/values-ja/strings.xml
index 9f80638dc..8895c3c22 100644
--- a/MyTracks/res/values-ja/strings.xml
+++ b/MyTracks/res/values-ja/strings.xml
@@ -22,18 +22,20 @@ limitations under the License.
地図モード
現在地
トラック
- マーカ
+ マーカー
全トラック消去
設定
標高
表示するトラックを選択して下さい
現在のトラック
最終セグメント
+ センサー情報
+ 集計情報
- この端末でロケーションマネージャを発見できませんでした
- この端末でGPSロケーションプロバイダを発見できました
- Googleマイマップへのトラック送信でエラーが発生しました.しばらく待って試して下さい.
+ この端末でロケーションマネージャを発見できませんでした.
+ この端末でGPSロケーションプロバイダを発見できました.
+ Google Fusion Tablesへのトラック送信でエラーが発生しました.しばらく待って試して下さい.
Google Docsへのトラック送信でエラーが発生しました.しばらく待って試して下さい.
記録作成開始できません.もう一度試して下さい.
記録停止できません.もう一度試して下さい.
@@ -42,53 +44,52 @@ limitations under the License.
エラーが発生しました.もう一度試して下さい.
トラックが存在しません.
大きなファイルです(500KB未満でなければなりません).終了します.
- マーカの挿入ができません.位置決定ができません.
+ マーカーの挿入ができません.位置決定ができません.
GPS位置精度がよくなるまで待機しています.空が見えるところにいて下さい.
新しいトラックを記録中です.
トラック記録を停止しました.
- 新しいGoogleマイマップを maps.google.com に作成しました.
- トラックを maps.google.com に送信しました.
- トラックを docs.google.com の新しいスプレッドシートに送信しました.
- トラックを docs.google.com に送信しました.
- ここをタップして,セキュリティ &位置情報 を開いて,「GPS機能をONにする」にチェックして下さい.バックボタンで戻ってください.
+ 新しいGoogle Fusion Tableをgoogle.com/fusiontablesに作成しました.
+ トラックをmaps.google.comに送信しました.
+ トラックをdocs.google.comの新しいスプレッドシートに送信しました.
+ トラックをdocs.google.comに送信しました.
+ ここをタップして「位置情報とセキュリティの設定」を開いて「GPS機能を使用」にチェックして下さい.バックボタンで戻ってください.
ご注意: 携帯電話中継局とWi-Fiネットワークから大まかな位置を特定します.
- 現在位置決定ができません.位置取得源を増やし(セキュリティ&位置情報をご覧ください),空が見えるようにして下さい.もう一度試して下さい.
- ウェイポイントマーカを挿入しました.
- 統計マーカを挿入しました.
+ 現在位置決定ができません.位置取得源を増やし(位置情報とセキュリティの設定 をご覧ください)、空が見えるようにして下さい.もう一度試して下さい.
+ ウェイポイントマーカーを挿入しました.
+ 統計マーカーを挿入しました.
お待ちください...
トラックをGoogleに送信しました.
トラックを読んでいます...
トラックを準備しています...
- Googleマップの認証しています...
+ Google Fusion Tablesへの認証を行っています...
Google Docsへの認証を行っています...
トラックをGoogle Docsに送信しています...
- トラックをGoogleマップに送信しています...
- 新しいマイマップを生成しています...
+ トラックをFusion Tablesに送信しています...
+ 新しいFusion Tablesを生成しています...
GPSトラックをインポートしています.若干時間がかかります.
SDカードにデータを書き込んでいます.若干時間がかかります.
トラック統計情報を更新しています...
よろしいですか?
- 全てのトラックとマーカをこの端末から削除しました.
- トラックとマーカをこの端末から完全に削除しました.
- マーカをこの端末から完全に削除しました.
+ 全てのトラックとマーカーをこの端末から削除します.
+ トラックとマーカーをこの端末から完全に削除します.
+ マーカーをこの端末から完全に削除します.
-
+
Android用My Tracksで作成
- Android用<a href=\'http://mytracks.appspot.com\'>My Tracks</a>で作成しました.
- 新規マップ
+ Android用<a href=\'http://mytracks.appspot.com\'>My Tracks</a>で作成しました.
ポイント
- 記録
+ 記録日
活動タイプ
- マーカタイプ
- (Part %d)
+ マーカータイプ
+ (パート %d)
トラックを保存中...
@@ -97,10 +98,10 @@ limitations under the License.
いいえ
はい
- OK
エラー
成功
ウェイポイント
+ ライセンス
キャンセル
閉じる
編集
@@ -112,8 +113,8 @@ limitations under the License.
表示
- Google My Mapsへ送信
- 新規Googleマイマップへ送信
+ Google Fusion Tablesへ送信
+ 新規Google Fusion Tableへ送信
Google Docsへ送信
Googleへ送信...
端末から削除...
@@ -122,42 +123,44 @@ limitations under the License.
GPXファイルの保存
KMLファイルの保存
CVSファイルの保存
- Googleマイマップへの送信
- 全てのトラックの削除
+ TCXファイルの保存
+ Google Fusion Tablesへの送信
+ 全トラックの削除
- 全てのトラックのエクスポート
- エクスポート終了
+ 全トラックの出力
+ 出力終了
トラックを選択します.オプションを表示するには長押しして下さい.
全てのトラック:
このトラック
共有...
- Googleマイマップへのリンク
+ Google Fusion Tablesへのリンク
GPXファイル
KMLファイル
CSVファイル
+ TCXファイル
マップの消去
- 全てのマーカの削除
- このマーカ
+ 全てのマーカーの削除
+ このマーカー
削除
詳細編集
マップに表示
ウェイポイントの挿入
統計情報の挿入
- マーカを選択します.オプションを表示するには長押しして下さい.
+ マーカーを選択します.オプションを表示するには長押しして下さい.
トラック詳細
トラック名
トラック説明
- 活動タイプ(ハイキング, サイクリング, ランニング, 登山...)
+ 活動タイプ(ハイキング, サイクリング、ランニング、登山...)
- マーカ詳細
- マーカ名
- マーカ説明
- マーカタイプ(建物, 洞穴, 名所...)
+ マーカー詳細
+ マーカー名
+ マーカー説明
+ マーカータイプ(建物、洞穴、名所...)
My Tracks設定
@@ -165,9 +168,10 @@ limitations under the License.
記録
共有
+ このAndroidバージョンでは使用できません
+
定期通知
音声通知間隔の最小時間
-
ポイント間の最短距離
位置記録間の最短距離
@@ -198,13 +202,49 @@ limitations under the License.
共有時にトラックのコンテントが含まれます
分割頻度
- 分割マーカを挿入する時間または距離の間隔
+ 分割マーカーを挿入する時間または距離の間隔
+
+ 記録自動再開の制限時間
+ 指定時間(分単位)以内なら端末再起動時に以前のトラック記録を再開します.
+
+ 日時をトラック名にする
+ デフォルトのトラック名をトラック開始日時にします.
+ トラック名を昇順の数字にします.
+
ペース
+ Android 2.0以上でのみサポート
+ センサータイプ
+ 接続先センサーのタイプ
+ ANT心拍数センサーとのペアリング解消
+ ANT心拍強度センサーとのペアリング解消
+ ANT SRMブリッジセンサーとのペアリング解消
+ ANTセンサーとペアリングしていません
+ ANTセンサーとペアリング: %d
+ Bluetoothセンサー
+ Bluetoothセンサー接続先
+ モジュール統計表示
+
+
+ バックアップ (ベータ版)
+ SDカード バックアップ
+ 今すぐバックアップ
+ SDカードに全てのトラックと設定をバックアップします
+ 今すぐ復元
+ SDカードから全てのトラックと設定を復元します
+ トラック記録中はバックアップ操作はできません.
+
+ SDカードからの復元を実行すると、現在のトラックと設定は *全て上書き* されてしまいます.よろしいですか?
+ 復元するバックアップの選択
+ バックアップがありません.
+ SDカードに全てのトラックと設定をバックアップしています.しばらくかかることがあります...
+ SDカードから全てのトラックと設定を復元しています.しばらくかかることがあります...
+
GPS衛星
+ マップ共有
マップを共有したいと思います
このマップに興味を持って頂けると思います:
@@ -212,7 +252,7 @@ limitations under the License.
トラックを共有したいと思います
このトラックに興味を持って頂けると思います.
- このトラックを閲覧するには,Google Earthまたは他のマッピングソフトウェアが必要です.
+ このトラックを閲覧するには、Google Earthまたは他のマッピングソフトウェアが必要です.
トラックの共有
@@ -267,23 +307,16 @@ limitations under the License.
分
秒
秒
+ ミリ秒
- m
- km
キロメータ
- ft
- mi
マイル
- km/h
キロメータ毎時
- min/km
毎キロメータ
- mi/h
マイル毎時
- min/mi
毎マイル
@@ -296,6 +329,10 @@ limitations under the License.
統計
合計距離
距離
+ 心拍強度
+ ケイデンス
+ 心拍数
+ 最大心拍数
-
待機中...
@@ -309,16 +346,13 @@ limitations under the License.
ヘルプ
チーム:
バージョン:
- サポート
サポート:
+ プライバシー:
送信...
- Googleマイマップ
- Google Docs
+ Googleマイマップ
今すぐ送信
- 新規マップ作成
- 既存マップ選択
トラック統計情報送信
統計情報とポイント送信
@@ -328,22 +362,23 @@ limitations under the License.
アカウント選択
- 外部ストレージを発見できませんでした.SDカードが刺さっているか,端末がコンピュータにマウントされているか確認してください.
+ 外部ストレージを発見できませんでした.SDカードが刺さっているか、端末がコンピュータにマウントされていないか確認してください.
ファイルへの書き込みができません.
+ ファイルからの読み込みができません.
SDカードにディレクトリを作成できません.
SDカードへの書き込み終了.
+ SDカードからの読み込み終了.
アップグレードチェック
- 今すぐアップデート
+ 今すぐアップグレード
アップグレードせずに続行
- お使いの版では,確実には動作せず,サポートもされません.ご使用を続けるには %1$s のアップグレードしてください.
- お使いの版では,確実には動作しません.すぐにアップグレードすることをお勧めします.アップグレードされない場合は問題発生の可能性があることをご認識ください. サーバ同期するような機能の中には,アップグレードされるまで機能しないものがあります.
- %1$s の新しい版が出ています.現版で問題なくご使用になれますが,アップグレードするまで最新の機能をお使いになれません.
+ お使いの版では、確実には動作せず、サポートもされません.ご使用を続けるには %1$s をアップグレードしてください.
+ お使いの版では、確実には動作しません.すぐにアップグレードすることをお勧めします.アップグレードされない場合は問題発生の可能性があることをご認識ください. サーバ同期するような機能の中には、アップグレードされるまで機能しないものがあります.
+ %1$s の新しい版が出ています.現版で問題なくご使用になれますが、アップグレードするまで最新の機能をお使いになれません.
ようこそ
- Ok
My Tracksについて
@@ -361,4 +396,38 @@ limitations under the License.
計測単位についてのご注意
デフォルトの単位はメートルです.設定を変更しますか?
+
+
+
+ Bluetoothオプション
+ ペアリング
+ ペアリングを行うには「Bluetooth設定」を開いて下さい
+ bluetoothSensorsEnabled
+ センサーオプション
+
+
+ %sに接続しました
+ Bluetoothセンサー接続中...
+ Bluetoothセンサーに接続していません
+
+
+ 計測日時
+ パワーメーター有効
+ 心拍数モニタ有効
+ センサーマネージャがありません
+ 有効
+ 接続中
+ 接続
+ 解除
+ センサーサービスがありません
+ 検索中
+ 送信中
+
+
+ トラック記録通知受信
+ トラック読み込み
+ トラック書き込み トラック記録の開始・終了
+ トラック記録の開始・終了時に通知されます.
+ ポイントやウェイポイントといったトラックの読み込みを可能にします.
+ 記録開始やウェイポイント追加といったトラック記録を可能にします.
diff --git a/MyTracks/res/values-pl/strings.xml b/MyTracks/res/values-pl/strings.xml
index 8a639cbdf..264a87990 100644
--- a/MyTracks/res/values-pl/strings.xml
+++ b/MyTracks/res/values-pl/strings.xml
@@ -34,7 +34,7 @@ limitations under the License.
Brak menedżera lokalizacji na urządzeniu!
Brak dostawcy lokalizacji GPS na urządzeniu.
- Podczas przesyłania pliku do Moich Map Google pojawił się błąd. Spróbuj ponownie później.
+ Podczas przesyłania pliku do Moich Map Google pojawił się błąd. Spróbuj ponownie później.
Podczas przesyłania pliku do Dokumentów Google pojawił się błąd. Spróbuj ponownie później.
Nie można rozpocząć rejestrowania. Spróbuj ponownie.
Nie można zakończyć rejestrowania. Spróbuj ponownie.
@@ -49,7 +49,7 @@ limitations under the License.
Oczekiwanie na lepsze ustalenie pozycji GPS. Upewnij się, że niebo jest widoczne.
Rejestrowanie nowej trasy.
Zatrzymano rejestrowanie nowej trasy.
- Utworzona nową Mapę Google na maps.google.com.
+
Twoja trasa został wysłana do maps.google.com.
Twoja trasa została wysłana do nowego arkusza na docs.google.com.
Twoja trasa została wysłana do docs.google.com.
@@ -64,11 +64,11 @@ limitations under the License.
Przesyłanie trasy do Google.
Czytanie trasy...
Przygotowywanie trasy...
- Uwierzytelnianie w Mapach Google...
+
Uwierzytelnianie w Dokumentach Google...
Przesyłanie trasy do Dokumentów Google...
- Przesyłanie trasy do Map Google...
- Tworzenie nowej Mojej Mapy...
+
+
Importowanie trasy GPS. Poczekaj chwilę.
Zapisywanie pliku na kartę SD. Poczekaj chwilę.
Aktualizacja statystyk trasy...
@@ -81,8 +81,7 @@ limitations under the License.
Utworzono za pomocą My Tracks na Android.
- Utworzona przez <a href=\'http://mytracks.appspot.com\'>My Tracks</a> na Android.
- Nowa mapa
+ Utworzona przez <a href=\'http://mytracks.appspot.com\'>My Tracks</a> na Android.
Punkty
@@ -113,8 +112,8 @@ limitations under the License.
Pokaż
- Wyślij do Moich Map Google
- Wyślij do Moich Map Google jako nową mapę
+
+
Wyślij do Dokumentów Google
Wyślij do Google...
Usuń z telefonu...
@@ -123,7 +122,7 @@ limitations under the License.
Zapisz plik GPX
Zapisz plik KML
Zapisz plik CSV
- Wyślij do Moich Map Google
+
Usuń wszystkie trasy
Eksportuj wszystkie trasy
@@ -132,7 +131,7 @@ limitations under the License.
Wszystkie trasy:
Ta trasa
Podziel się z przyjaciółmi...
- Link do Moich Map Google
+
Plik GPX
PLik KML
Plik CSV
@@ -209,14 +208,9 @@ limitations under the License.
Dostępne tylko w wersji Android 2.0 lub nowszej
Typ Czujnika
Typ czujnika do podłączenia.
- Id Czujnika
- Identyfikator wysyłany do czujników.
- Identyfikator musi być liczbą całkowitą.
Czujnik bluetooth
Czujnik bluetooth do podłączenia.
Widok Statystyk Modularnych
- Ekran statystyk jest podzielony w zależności od trybu.
- Wyświetl wszystkie statystyki na jednym ekranie.
Kopia zapasowa (BETA)
Kopia zapasowa na kartę SD
@@ -341,18 +335,14 @@ limitations under the License.
Pomoc
Zespół:
Wersja:
- Wsparcie
Wsparcie:
-
Bartłomiej Niechwiej
Wyślij do...
- Moje Mapy Google
+
Dokumenty Google
Wyślij teraz
- Utwórz nową mapę
- Wybierz istniejąca mapę
Wyślij statystyki trasy
Wyślij statystyki i punkty
diff --git a/MyTracks/res/values-pt-rBR/strings.xml b/MyTracks/res/values-pt-rBR/strings.xml
index e3ecbfa89..5dfb033b3 100644
--- a/MyTracks/res/values-pt-rBR/strings.xml
+++ b/MyTracks/res/values-pt-rBR/strings.xml
@@ -33,7 +33,7 @@ limitations under the License.
Gerenciador de localização não encontrado neste dispositivo!"
"Provedor de posição de GPS não encontrado neste dispositivo."
- Ocorreu um erro ao enviar seu caminho para o Google Meu Mapa. Por favor tente novamente mais tarde."
+ Ocorreu um erro ao enviar seu caminho para o Google Fusion Tables. Por favor tente novamente mais tarde."
Ocorreu um erro ao enviar seu caminho para o Google Docs. Por favor tente novamente mais tarde."
Impossível iniciar a gravação. Tente novamente.
Impossível interromper a gravação. Tente novamente.
@@ -48,7 +48,7 @@ limitations under the License.
Esperando por um sinal melhor do GPS. Assegure-se de que o céu está visível.
Gravando um novo caminho.
Gravação interrompida.
- Um novo Meu Mapa Google foi criado em maps.google.com.
+ Uma nova Fusion Table Google foi criada em google.com/fusiontables.
Seu caminho foi enviado para maps.google.com.
Seu caminho foi enviado para uma nova planilha em docs.google.com.
Seu caminho foi enviado para docs.google.com.
@@ -63,11 +63,11 @@ limitations under the License.
Enviando seu caminho ao Google.
Lendo caminho...
Preparando caminho...
- Autenticando com o Google Maps...
+ Autenticando com o Google Fusion Tables...
Authenticando com o Google Docs...
Enviando caminho para o Google Docs...
- Enviando caminho para o Google Maps...
- Criando novo Meu Mapa...
+ Enviando caminho para o Google Fusion Tables...
+ Criando nova Fusion Table...
Importando um caminho de GPS. Isso pode demorar alguns instantes.
Salvando arquivo para o cartão SD. Isso pode demorar alguns instantes.
Atualizando estatísticas do caminho...
@@ -80,8 +80,7 @@ limitations under the License.
"Criado por My Tracks no Android."
- "Criado por <a href='http://mytracks.appspot.com'>My Tracks</a> no Android."
- Novo mapa
+ "Criado por <a href='http://mytracks.appspot.com'>My Tracks</a> no Android."
Pontos
@@ -111,8 +110,8 @@ limitations under the License.
Mostrar
- Enviar para o Google Meus Mapas
- Enviar para o novo Google Meu Mapa
+ Enviar para o Google Fusion Tables
+ Enviar para nova Google Fusion Table
Enviar para o Google Docs
Enviar para o Google...
Apagar do telefone...
@@ -120,13 +119,13 @@ limitations under the License.
Salvar no cartão SD...
Salvar arquivo GPX
Salvar arquivo KML
- Enviar para o Google Meus Mapas
+ Enviar para o Google Fusion Tables
Apagar todos os caminhos
Escolha um caminho. Pressione&segure para mais opções.
Todos os Caminhos:"
Este Caminho"
Compartilhar com amigos..."
- Um link para o Google Meu Mapa"
+ Um link para a Google Fusion Table"
Um arquivo GPX"
Um arquivo KML"
"Limpar mapa"
@@ -280,19 +279,14 @@ limitations under the License.
Sobre
Ajuda
- Suporte
-
Equipe:
Versão:
Suporte:
Enviar para...
- Google Meus Mapas
Google Docs
Enviar agora
- Criar novo mapa
- Escolher um mapa existente
Enviar estatísticas do caminho
Enviar estatísticas e pontos
diff --git a/MyTracks/res/values-sv/strings.xml b/MyTracks/res/values-sv/strings.xml
index 4cefa2706..a74ef8b99 100644
--- a/MyTracks/res/values-sv/strings.xml
+++ b/MyTracks/res/values-sv/strings.xml
@@ -34,7 +34,7 @@ limitations under the License.
Ingen platshanterare hittades på denna enhet!
Ingen GPS-positioneringstjänst hittades på denna enhet.
- Det uppstod ett fel i sändningen av ditt spår till Google Mina Kartor. Försök igen senare.
+ Det uppstod ett fel i sändningen av ditt spår till Google Fusion Tables. Försök igen senare.
Det uppstod ett fel i sändningen av ditt spår till Google Dokument. Försök igen senare.
Kan inte starta inspelningen. Försök igen.
Kan inte stoppa inspelningen. Försök igen.
@@ -49,7 +49,7 @@ limitations under the License.
Väntar på bättre GPS-position. Se till att himlen är synlig.
Spelar nu in ett nytt spår.
Stoppade inspelning av ditt spår.
- En ny Google Mina Kartor har skapats på maps.google.com.
+
Ditt spår har skickats till maps.google.com.
Ditt spår har skickats till ett nytt kalkylblad på docs.google.com.
Ditt spår har skickats till docs.google.com.
@@ -64,11 +64,11 @@ limitations under the License.
Skickar ditt spår till Google.
Läser spår...
Förbereder spår...
- Autentiserar till Google Kartor...
+
Autentiserar till Google Dokument...
Skickar spår till Google Dokument...
- Skickar spår till Google Kartor...
- Skapar en ny Min Karta...
+
+
Importerar ett GPS-spår. Detta kan ta en stund.
Skriver till SD-kortet. Detta kan ta en stund.
Uppdaterar spårstatistik...
@@ -81,8 +81,7 @@ limitations under the License.
Skapad av My Tracks på Android.
- Skapad av <a href=\'http://mytracks.appspot.com\'>My Tracks</a> på Android.
- Ny karta
+ Skapad av <a href=\'http://mytracks.appspot.com\'>My Tracks</a> på Android.
Punkter
@@ -113,8 +112,8 @@ limitations under the License.
Visa
- Skicka till Google Mina Kartor
- Skicka till ny Google Mina Kartor
+
+
Skicka till Google Dokument
Skicka till Google...
Ta bort från telefonen...
@@ -123,7 +122,7 @@ limitations under the License.
Spara en GPX-fil
Spara en KML-fil
Spara en CSV-fil
- Skicka till Google Mina Kartor
+
Ta bort alla spår
Exportera alla spår
@@ -132,7 +131,7 @@ limitations under the License.
Alla spår:
Det här spåret
Dela med vänner...
- En länk till Google Mina Kartor
+
En GPX-fil
En KML-fil
En CSV-fil
@@ -310,16 +309,13 @@ limitations under the License.
Hjälp
Team:
Version:
- Support
Support:
Skicka till...
- Google Mina Kartor
+
Google Dokument
Skicka nu
- Skapa en ny karta
- Välj en befintlig karta
Skicka spårstatistik
Skicka statistik och punkter
diff --git a/MyTracks/res/values-zh-rCN/strings.xml b/MyTracks/res/values-zh-rCN/strings.xml
index 72c2576e9..d9b27a43c 100644
--- a/MyTracks/res/values-zh-rCN/strings.xml
+++ b/MyTracks/res/values-zh-rCN/strings.xml
@@ -15,9 +15,6 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
-
-
-
记录轨迹
停止记录
@@ -37,7 +34,7 @@ limitations under the License.
此设备上没有位置管理器!
此设备上没有 GPS 定位装置.
- 发送你的轨迹到 Google My Map 时发生错误. 请稍后重试.
+ 发送你的轨迹到 Google Fusion Tables 时发生错误. 请稍后重试.
发送你的轨迹到 Google Docs 时发生错误. 请稍后重试.
无法开始记录. 请重试.
无法停止记录. 请重试.
@@ -52,7 +49,7 @@ limitations under the License.
等待更准确的 GPS 定位. 请确定可以看见天空.
现在开始记录新的轨迹.
停止记录你的轨迹.
- 已在 maps.google.com 创建新 Google My Map.
+ 已在 google.com/fusiontables 创建新 Google Fusion Table.
你的轨迹已经发送到 maps.google.com.
你的轨迹已经作为新的电子表格发送到 docs.google.com.
你的轨迹已经发送到 docs.google.com.
@@ -67,11 +64,11 @@ limitations under the License.
发送你的轨迹到 Google.
读取轨迹中...
准备轨迹中...
- 登录 Google Maps 中...
+ 登录 Google Fusion Tables 中...
登录 Google Docs 中...
发送轨迹到 Google Docs 中...
- 发送轨迹到 Google Maps 中...
- 创建新的 My Map 中...
+ 发送轨迹到 Google Fusion Tables 中...
+ 创建新的 Fusion Table 中...
导入 GPS 轨迹中. 请稍候.
写入文件到 SD 卡中. 请稍候.
更新轨迹统计信息中...
@@ -84,8 +81,7 @@ limitations under the License.
由 Android 上的 My Tracks 生成.
- 由 Android 上的 <a href=\'http://mytracks.appspot.com\'>My Tracks</a> 生成.
- 新地图
+ 由 Android 上的 <a href=\'http://mytracks.appspot.com\'>My Tracks</a> 生成.
点数
@@ -116,8 +112,8 @@ limitations under the License.
显示
- 发送到 Google My Maps
- 发送到新建 Google My Map
+ 发送到 Google Fusion Table
+ 发送到新建 Google Fusion Table
发送到 Google Docs
发送到 Google...
从手机上删除...
@@ -127,7 +123,7 @@ limitations under the License.
保存为 KML 文件
保存为 CSV 文件
保存为 TCX 文件
- 发送到 Google My Maps
+ 发送到 Google Fusion Tables
删除所有轨迹
导出所有轨迹
@@ -136,7 +132,7 @@ limitations under the License.
全部轨迹:
此轨迹
与朋友分享...
- 链接到 Google My Map
+ 链接到 Google Fusion Table
GPX 文件
KML 文件
CSV 文件
@@ -215,15 +211,9 @@ limitations under the License.
只在 Android 2.0 及以上版本支持
感应器类型
要连接到的感应器类型
- 感应器ID
- 发送到感应器的ID.
- ID必须是一个整数值.
蓝牙感应器
要连接到的蓝牙感应器
-
-
-
备份 (测试版)
SD 存储卡备份
立即备份
@@ -306,32 +296,16 @@ limitations under the License.
秒
秒
-
-
-
-
千米
-
-
英里
-
千米每小时
-
每千米
-
英里每小时
-
每英里
-
-
-
-
-
-
移动时间
总时间
@@ -346,7 +320,6 @@ limitations under the License.
节奏
心率
最大心率
-
请稍候...
@@ -359,33 +332,11 @@ limitations under the License.
帮助
开发团队:
版本:
- 技术支持
技术支持:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
发送到...
-
-
立即发送
- 创建新地图
- 选择已有地图
发送轨迹统计信息
发送统计信息和路点
@@ -435,7 +386,6 @@ limitations under the License.
蓝牙设置
设备关联
打开 Android 的蓝牙设置关联设备
-
感应器选项
@@ -447,5 +397,4 @@ limitations under the License.
感应器数据时间
电源计量器已启用
心率监视器已启用
-
diff --git a/MyTracks/res/values/strings.xml b/MyTracks/res/values/strings.xml
index fc3caca28..9b5d4a24f 100644
--- a/MyTracks/res/values/strings.xml
+++ b/MyTracks/res/values/strings.xml
@@ -64,7 +64,6 @@ limitations under the License.
Please wait...
Sending your track to Google.
Reading track...
- Preparing track...
Authenticating to Google Fusion Tables...
Authenticating to Google Docs...
Sending track to Google Docs...
diff --git a/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java b/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
index 25757e541..73f201776 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/ChartActivity.java
@@ -60,6 +60,7 @@ import java.util.ArrayList;
public class ChartActivity extends Activity implements
SharedPreferences.OnSharedPreferenceChangeListener {
+ private final static int BUFFER_SIZE = 1024;
private double profileLength = 0;
private boolean metricUnits = true;
@@ -101,7 +102,7 @@ public class ChartActivity extends Activity implements
/*
* UI elements:
*/
- private ChartView cv;
+ private ChartView chartView;
private MenuItem chartSettingsMenuItem;
private LinearLayout busyPane;
private ZoomControls zoomControls;
@@ -118,10 +119,10 @@ public class ChartActivity extends Activity implements
@Override
public void run() {
busyPane.setVisibility(View.GONE);
- zoomControls.setIsZoomInEnabled(cv.canZoomIn());
- zoomControls.setIsZoomOutEnabled(cv.canZoomOut());
- cv.setShowPointer(selectedTrackIsRecording());
- cv.invalidate();
+ zoomControls.setIsZoomInEnabled(chartView.canZoomIn());
+ zoomControls.setIsZoomOutEnabled(chartView.canZoomOut());
+ chartView.setShowPointer(selectedTrackIsRecording());
+ chartView.invalidate();
}
};
@@ -158,54 +159,12 @@ public class ChartActivity extends Activity implements
private Handler updateTrackHandler;
/**
- * A runnable that update the profile from the provider.
+ * A runnable that updates the profile from the provider.
*/
private final Runnable updateTrackRunnable = new Runnable() {
@Override
public void run() {
- Log.d(MyTracksConstants.TAG, "MyTracks: Updating chart.");
- Track track = providerUtils.getTrack(recordingTrackId);
- if (track == null) {
- Log.w(MyTracksConstants.TAG, "MyTracks: track not found");
- return;
- }
- Cursor cursor = null;
- try {
- cursor = providerUtils.getLocationsCursor(recordingTrackId,
- lastSeenLocationId + 1,
- MyTracksConstants.MAX_DISPLAYED_TRACK_POINTS - cv.getData().size(),
- true);
- if (cursor != null) {
- if (cursor.moveToLast()) {
- final int idColumnIdx =
- cursor.getColumnIndexOrThrow(TrackPointsColumns._ID);
- ArrayList data = new ArrayList();
- // Need two locations so we can keep track of the last location.
- Location location = new MyTracksLocation("");
- do {
- lastSeenLocationId = cursor.getLong(idColumnIdx);
- providerUtils.fillLocation(cursor, location);
- if (MyTracksUtils.isValidLocation(location)) {
- double[] point = new double[6];
- location = getDataPoint(location, track, point);
- data.add(point);
- }
- } while (cursor.moveToPrevious());
- cv.addDataPoints(data);
- }
- }
- } catch (RuntimeException e) {
- Log.w(MyTracksConstants.TAG, "Caught an unexpected exception.", e);
- } finally {
- if (cursor != null) {
- cursor.close();
- }
- uiHandler.post(new Runnable() {
- public void run() {
- cv.invalidate();
- }
- });
- }
+ readNewTrackPoints();
}
};
@@ -222,13 +181,13 @@ public class ChartActivity extends Activity implements
metricUnits =
sharedPreferences.getBoolean(getString(R.string.metric_units_key),
true);
- cv.setMetricUnits(metricUnits);
+ chartView.setMetricUnits(metricUnits);
readProfileAsync();
} else if (key.equals(getString(R.string.report_speed_key))) {
reportSpeed =
sharedPreferences.getBoolean(getString(R.string.report_speed_key),
true);
- cv.setReportSpeed(reportSpeed, this);
+ chartView.setReportSpeed(reportSpeed, this);
readProfileAsync();
} else if (key.equals(getString(R.string.recording_track_key))) {
recordingTrackId =
@@ -254,11 +213,11 @@ public class ChartActivity extends Activity implements
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.mytracks_charts);
ViewGroup layout = (ViewGroup) findViewById(R.id.elevation_chart);
- cv = new ChartView(this);
- cv.setMode(this.mode);
+ chartView = new ChartView(this);
+ chartView.setMode(this.mode);
LayoutParams params =
new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
- layout.addView(cv, params);
+ layout.addView(chartView, params);
SharedPreferences preferences =
getSharedPreferences(MyTracksSettings.SETTINGS_NAME, 0);
@@ -269,10 +228,10 @@ public class ChartActivity extends Activity implements
preferences.getLong(getString(R.string.recording_track_key), -1);
metricUnits = preferences.getBoolean(getString(R.string.metric_units_key),
true);
- cv.setMetricUnits(metricUnits);
+ chartView.setMetricUnits(metricUnits);
reportSpeed = preferences.getBoolean(getString(R.string.report_speed_key),
true);
- cv.setReportSpeed(reportSpeed, this);
+ chartView.setReportSpeed(reportSpeed, this);
preferences.registerOnSharedPreferenceChangeListener(this);
}
@@ -332,7 +291,7 @@ public class ChartActivity extends Activity implements
ChartActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
- cv.invalidate();
+ chartView.invalidate();
}
});
}
@@ -384,21 +343,21 @@ public class ChartActivity extends Activity implements
}
private void zoomIn() {
- cv.zoomIn();
- zoomControls.setIsZoomInEnabled(cv.canZoomIn());
- zoomControls.setIsZoomOutEnabled(cv.canZoomOut());
+ chartView.zoomIn();
+ zoomControls.setIsZoomInEnabled(chartView.canZoomIn());
+ zoomControls.setIsZoomOutEnabled(chartView.canZoomOut());
}
private void zoomOut() {
- cv.zoomOut();
- zoomControls.setIsZoomInEnabled(cv.canZoomIn());
- zoomControls.setIsZoomOutEnabled(cv.canZoomOut());
+ chartView.zoomOut();
+ zoomControls.setIsZoomInEnabled(chartView.canZoomIn());
+ zoomControls.setIsZoomOutEnabled(chartView.canZoomOut());
}
public void setMode(Mode newMode) {
if (this.mode != newMode) {
this.mode = newMode;
- cv.setMode(this.mode);
+ chartView.setMode(this.mode);
readProfileAsync();
}
}
@@ -408,12 +367,12 @@ public class ChartActivity extends Activity implements
}
public void setSeriesEnabled(int index, boolean enabled) {
- cv.getChartValueSeries(index).setEnabled(enabled);
+ chartView.getChartValueSeries(index).setEnabled(enabled);
runOnUiThread(updateChart);
}
public boolean isSeriesEnabled(int index) {
- return cv.getChartValueSeries(index).isEnabled();
+ return chartView.getChartValueSeries(index).isEnabled();
}
private void readWaypoints() {
@@ -421,7 +380,7 @@ public class ChartActivity extends Activity implements
return;
}
Cursor cursor = null;
- cv.clearWaypoints();
+ chartView.clearWaypoints();
try {
// We will silently drop extra waypoints to make the app responsive.
cursor =
@@ -431,7 +390,7 @@ public class ChartActivity extends Activity implements
if (cursor.moveToFirst()) {
do {
Waypoint wpt = providerUtils.createWaypoint(cursor);
- cv.addWaypoint(wpt);
+ chartView.addWaypoint(wpt);
} while (cursor.moveToNext());
}
}
@@ -575,7 +534,7 @@ public class ChartActivity extends Activity implements
* Sets the chart data points reading from the provider. This is non-blocking.
*/
private void readProfileAsync() {
- cv.reset();
+ chartView.reset();
updateTrackHandler.post(new Runnable() {
public void run() {
runOnUiThread(showSpinner);
@@ -594,7 +553,6 @@ public class ChartActivity extends Activity implements
profileLength = 0;
lastLocation = null;
startTime = -1;
- Cursor cursor = null;
if (selectedTrackId < 0) {
return;
}
@@ -602,26 +560,70 @@ public class ChartActivity extends Activity implements
if (track == null) {
return;
}
- long lastLocationRead = track.getStartId();
- long totalLocations = track.getStopId() - track.getStartId();
+ lastSeenLocationId = track.getStartId();
+ final ArrayList theData = readPointsToList(track);
+ runOnUiThread(new Runnable() {
+ public void run() {
+ chartView.setDataPoints(theData);
+ }
+ });
+ }
- // Limit the number of chart readings. Ideally we would want around 1024.
- int chartSamplingFrequency = Math.max(1, (int) (totalLocations / 1024.0));
- int bufferSize = 1024;
+ /**
+ * Read all new track points.
+ */
+ private void readNewTrackPoints() {
+ Log.i(MyTracksConstants.TAG, "MyTracks: Updating chart last seen: " + lastSeenLocationId);
+ Track track = providerUtils.getTrack(recordingTrackId);
+ if (track == null) {
+ Log.w(MyTracksConstants.TAG, "MyTracks: track not found");
+ return;
+ }
+ chartView.addDataPoints(readPointsToList(track));
+ uiHandler.post(new Runnable() {
+ public void run() {
+ chartView.invalidate();
+ }
+ });
+ Log.i(MyTracksConstants.TAG, "MyTracks: Updated chart last seen: " + lastSeenLocationId);
+ }
+
+ /**
+ * Get the frequency at which points should be displayed.
+ * Limit the number of chart readings. Ideally we would want around 1024.
+ * @param track The track which will be displayed.
+ * @return The inverse of the frequency of points to be displayed.
+ */
+ private int getSamplingFrequency(Track track) {
+ long totalLocations = track.getStopId() - track.getStartId();
+ return Math.max(1, (int) (totalLocations / 1024.0));
+ }
+
+ private Cursor getLocationsCursor(long lastLocationRead) {
+ return providerUtils.getLocationsCursor(selectedTrackId, lastLocationRead, BUFFER_SIZE, false);
+ }
+
+ /**
+ * Read all of the points to a list.
+ * @param track The track which will be displayed.
+ * @return
+ */
+ private ArrayList readPointsToList(Track track) {
+ Cursor cursor = null;
+ long lastLocationRead = lastSeenLocationId;
+ int points = 0;
+ int chartSamplingFrequency = getSamplingFrequency(track);
+ ArrayList result = new ArrayList();
+ // Need two locations so we can keep track of the last location.
+ Location location = new MyTracksLocation("");
try {
- final ArrayList theData = new ArrayList();
- int points = 0;
- // Need two locations so we can keep track of the last location.
- Location location = new MyTracksLocation("");
- while (lastLocationRead < track.getStopId()) {
- cursor = providerUtils.getLocationsCursor(
- selectedTrackId, lastLocationRead, bufferSize, false);
+ while (lastSeenLocationId < track.getStopId()) {
+ cursor = getLocationsCursor(lastLocationRead);
if (cursor != null) {
elevationBuffer.reset();
speedBuffer.reset();
if (cursor.moveToFirst()) {
- final int idColumnIdx =
- cursor.getColumnIndexOrThrow(TrackPointsColumns._ID);
+ final int idColumnIdx = cursor.getColumnIndexOrThrow(TrackPointsColumns._ID);
while (cursor.moveToNext()) {
points++;
providerUtils.fillLocation(cursor, location);
@@ -632,26 +634,20 @@ public class ChartActivity extends Activity implements
double[] point = new double[6];
location = getDataPoint(location, track, point);
if (points % chartSamplingFrequency == 0) {
- theData.add(point);
+ result.add(point);
}
}
}
} else {
- lastLocationRead += bufferSize;
+ lastLocationRead += BUFFER_SIZE;
}
} else {
- lastLocationRead += bufferSize;
+ lastLocationRead += BUFFER_SIZE;
}
cursor.close();
cursor = null;
}
- runOnUiThread(new Runnable() {
- public void run() {
- cv.setDataPoints(theData);
- }
- });
- } catch (RuntimeException e) {
- Log.w(MyTracksConstants.TAG, "Caught unexpected exception.", e);
+ return result;
} finally {
if (cursor != null) {
cursor.close();
diff --git a/MyTracks/src/com/google/android/apps/mytracks/ChartView.java b/MyTracks/src/com/google/android/apps/mytracks/ChartView.java
index 948b5439d..753a4a753 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/ChartView.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/ChartView.java
@@ -216,7 +216,7 @@ public class ChartView extends View {
R.color.speed_fill,
R.color.speed_border,
new ZoomSettings(MAX_INTERVALS, 0, Integer.MIN_VALUE,
- new int[] {5, 10, 20, 50}),
+ new int[] {1, 5, 10, 20, 50}),
R.string.speed);
series[POWER_SERIES] =
new ChartValueSeries(context,
@@ -610,7 +610,8 @@ public class ChartView extends View {
c.translate(getScrollX(), 0);
drawYAxis(c);
- final int spacer = 5;
+ float density = getContext().getResources().getDisplayMetrics().density;
+ final int spacer = (int) (5 * density);
int x = leftBorder - spacer;
for (ChartValueSeries cvs : series) {
if (cvs.isEnabled() && cvs.hasData()) {
@@ -726,9 +727,10 @@ public class ChartView extends View {
maxLength += cvs.getMaxLabelLength();
}
}
- leftBorder = 4 + 8 * maxLength;
- effectiveWidth = w - leftBorder - RIGHT_BORDER;
float density = getContext().getResources().getDisplayMetrics().density;
+ // TODO: This should be function of the number of variables displayed.
+ leftBorder = (int) (density * (4 + 8 * maxLength));
+ effectiveWidth = w - leftBorder - RIGHT_BORDER;
bottomBorder = (int) (density * BOTTOM_BORDER);
topBorder = (int) (density * TOP_BORDER);
effectiveHeight = h - topBorder - bottomBorder;
@@ -739,8 +741,9 @@ public class ChartView extends View {
}
private int getY(ChartValueSeries cvs, double y) {
+ int effectiveSpread = cvs.getInterval() * MAX_INTERVALS;
return topBorder + effectiveHeight
- - (int) ((y - cvs.getMin()) * effectiveHeight / cvs.getSpread());
+ - (int) ((y - cvs.getMin()) * effectiveHeight / effectiveSpread);
}
private void drawXLabels(Canvas c) {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
index 10f1a0044..1bbbf8cf0 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java
@@ -99,7 +99,7 @@ public class SendToDocs {
}
private void doUpload() {
- statusMessage = activity.getString(R.string.error_sending_to_mymap);
+ statusMessage = activity.getString(R.string.error_sending_to_fusiontables);
success = false;
try {
diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
index 0eb747877..16d096f39 100644
--- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
+++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java
@@ -84,6 +84,21 @@ public class SendToFusionTables implements Runnable {
private static final int MAX_POINTS_PER_UPLOAD = 2048;
private static final String GDATA_VERSION = "2";
+
+ // This class reports upload status to the user as a completion percentage
+ // using a progress bar. Progress is defined as follows:
+ //
+ // 0% Getting track metadata
+ // 5% Creating Fusion Table (GData to FT server)
+ // 10%-90% Uploading the track data to Fusion Tables
+ // 95% Uploading waypoints
+ // 100% Done
+ private static final int PROGRESS_INITIALIZATION = 0;
+ private static final int PROGRESS_FUSION_TABLE_CREATE = 5;
+ private static final int PROGRESS_UPLOAD_DATA_MIN = 10;
+ private static final int PROGRESS_UPLOAD_DATA_MAX = 90;
+ private static final int PROGRESS_UPLOAD_WAYPOINTS = 95;
+ private static final int PROGRESS_COMPLETE = 100;
private final Activity context;
private final AuthManager auth;
@@ -153,7 +168,7 @@ public class SendToFusionTables implements Runnable {
int statusMessageId = R.string.error_sending_to_fusiontables;
boolean success = true;
try {
- progressIndicator.setProgressValue(1);
+ progressIndicator.setProgressValue(PROGRESS_INITIALIZATION);
progressIndicator.setProgressMessage(R.string.progress_message_reading_track);
// Get the track meta-data
@@ -161,25 +176,30 @@ public class SendToFusionTables implements Runnable {
String originalDescription = track.getDescription();
// Create a new table:
+ progressIndicator.setProgressValue(PROGRESS_FUSION_TABLE_CREATE);
progressIndicator.setProgressMessage(R.string.progress_message_creating_fusiontable);
- success = createNewTable(track);
-
- if (success) {
- success = makeTableUnlisted(tableId);
+ if (!createNewTable(track) || !makeTableUnlisted(tableId)) {
+ return;
}
+ progressIndicator.setProgressValue(PROGRESS_UPLOAD_DATA_MIN);
+ progressIndicator.setProgressMessage(R.string.progress_message_sending_fusiontables);
+
// Upload all of the segments of the track plus start/end markers
- if (success) {
- success = uploadAllTrackPoints(track, originalDescription);
+ if (!uploadAllTrackPoints(track, originalDescription)) {
+ return;
}
+
+ progressIndicator.setProgressValue(PROGRESS_UPLOAD_WAYPOINTS);
// Upload all the waypoints.
- if (success) {
- success = uploadWaypoints(track);
- statusMessageId = R.string.status_new_fusiontable_has_been_created;
+ if (!uploadWaypoints(track)) {
+ return;
}
+
+ statusMessageId = R.string.status_new_fusiontable_has_been_created;
Log.d(MyTracksConstants.TAG, "SendToFusionTables: Done: " + success);
- progressIndicator.setProgressValue(100);
+ progressIndicator.setProgressValue(PROGRESS_COMPLETE);
} finally {
final boolean finalSuccess = success;
@@ -203,14 +223,14 @@ public class SendToFusionTables implements Runnable {
*/
private boolean createNewTable(Track track) {
Log.d(MyTracksConstants.TAG, "Creating a new fusion table.");
- String query = "CREATE TABLE '" + track.getName() +
+ String query = "CREATE TABLE '" + sqlEscape(track.getName()) +
"' (name:STRING,description:STRING,geometry:LOCATION,marker:STRING)";
return runUpdate(query);
}
private boolean makeTableUnlisted(String tableId) {
Log.d(MyTracksConstants.TAG, "Setting visibility to unlisted.");
- String query = "UPDATE TABLE " + tableId + " SET VISIBILITY = unlisted";
+ String query = "UPDATE TABLE " + tableId + " SET VISIBILITY = UNLISTED";
return runUpdate(query);
}
@@ -227,12 +247,16 @@ public class SendToFusionTables implements Runnable {
builder.append(',');
}
builder.append('\'');
- builder.append(values[i].replaceAll("'", "''"));
+ builder.append(sqlEscape(values[i]));
builder.append('\'');
}
builder.append(')');
return builder.toString();
}
+
+ private static String sqlEscape(String value) {
+ return value.replaceAll("'", "''");
+ }
/**
* Creates a new row representing a marker.
@@ -298,11 +322,10 @@ public class SendToFusionTables implements Runnable {
DoubleBuffer elevationBuffer = new DoubleBuffer(MyTracksConstants.ELEVATION_SMOOTHING_FACTOR);
List locations = new ArrayList(MAX_POINTS_PER_UPLOAD);
- progressIndicator.setProgressMessage(R.string.progress_message_reading_track);
Location lastLocation = null;
do {
if (totalLocationsRead % 100 == 0) {
- updateProgress();
+ updateTrackDataUploadProgress();
}
Location loc = providerUtils.createLocation(locationsCursor);
@@ -414,8 +437,7 @@ public class SendToFusionTables implements Runnable {
}
private boolean prepareAndUploadPoints(Track track, List locations) {
- progressIndicator.setProgressMessage(R.string.progress_message_preparing_track);
- updateProgress();
+ updateTrackDataUploadProgress();
int numLocations = locations.size();
if (numLocations < 2) {
@@ -428,7 +450,6 @@ public class SendToFusionTables implements Runnable {
ArrayList