forked from upstream-mirrors/OpenTracks
Add support for singular/plural.
This commit is contained in:
@@ -197,20 +197,9 @@ limitations under the License.
|
||||
<string name="track_record_error">No es pot iniciar l\'enregistrament. Proveu de nou.</string>
|
||||
<string name="track_record_notification">S\'està enregistrant la ruta...</string>
|
||||
<string name="track_record_success">Ara s\'està enregistrant una ruta nova.</string>
|
||||
<string name="voice_hour">hora</string>
|
||||
<string name="voice_hours">hores</string>
|
||||
<string name="voice_kilometer_per_hour">kilòmetres per hora</string>
|
||||
<string name="voice_kilometers">kilòmetres</string>
|
||||
<string name="voice_mile_per_hour">milles per hora</string>
|
||||
<string name="voice_miles">milles</string>
|
||||
<string name="voice_minute">minut</string>
|
||||
<string name="voice_minutes">minuts</string>
|
||||
<string name="voice_no_distance">Sense distància My Tracks</string>
|
||||
<string name="voice_total_distance_zero">Sense distància My Tracks</string>
|
||||
<string name="voice_per_kilometer">per kilòmetre</string>
|
||||
<string name="voice_per_mile">per milla</string>
|
||||
<string name="voice_second">segon</string>
|
||||
<string name="voice_seconds">segons</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s en %3$s at %4$s %5$s</string>
|
||||
<string name="welcome_about">Quant a My Tracks</string>
|
||||
<string name="welcome_title">Benvingut</string>
|
||||
</resources>
|
||||
|
||||
@@ -208,20 +208,9 @@ limitations under the License.
|
||||
<string name="unit_feet">Fuß</string>
|
||||
<string name="unit_hour">Std</string>
|
||||
<string name="unit_minute">Min</string>
|
||||
<string name="voice_hour">Stunde</string>
|
||||
<string name="voice_hours">Stunden</string>
|
||||
<string name="voice_kilometer_per_hour">Kilometer pro Stunde</string>
|
||||
<string name="voice_kilometers">Kilometer</string>
|
||||
<string name="voice_mile_per_hour">Meilen pro Stunde</string>
|
||||
<string name="voice_miles">Meilen</string>
|
||||
<string name="voice_minute">Minute</string>
|
||||
<string name="voice_minutes">Minuten</string>
|
||||
<string name="voice_no_distance">My Tracks keine Entfernung</string>
|
||||
<string name="voice_total_distance_zero">My Tracks keine Entfernung</string>
|
||||
<string name="voice_per_kilometer">pro Kilometer</string>
|
||||
<string name="voice_per_mile">pro Meile</string>
|
||||
<string name="voice_second">Sekunde</string>
|
||||
<string name="voice_seconds">Sekunden</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s in %3$s mit %4$s %5$s</string>
|
||||
<string name="welcome_about">Über My Tracks</string>
|
||||
<string name="welcome_title">Willkommen</string>
|
||||
</resources>
|
||||
|
||||
@@ -41,7 +41,6 @@ limitations under the License.
|
||||
<string name="gps_wait_for_fix">Esperando una ubicación mas exacta del GPS. Asegúrese que el cielo sea visible.</string>
|
||||
<string name="import_error">Error importando el archivo %s</string>
|
||||
<string name="import_no_file">No se encontraron archivos GPX en %s. Es posible que la tarjeta SD no sea accesible o que el directorio no contenga archivos GPX.</string>
|
||||
<string name="import_success">Importados %1$d de %2$d archivos GPX de %3$s</string>
|
||||
<string name="marker_detail_marker_description">Descripción de señal</string>
|
||||
<string name="marker_detail_marker_name">Nombre de señal</string>
|
||||
<string name="marker_detail_marker_type">Tipo de señal (por ejemplo, edificio, bache, atracción...)</string>
|
||||
@@ -250,20 +249,9 @@ limitations under the License.
|
||||
<string name="track_record_notification">Grabando su recorrido...</string>
|
||||
<string name="track_record_success">Grabando un nuevo recorrido.</string>
|
||||
<string name="unit_feet">pies</string>
|
||||
<string name="voice_hour">hora</string>
|
||||
<string name="voice_hours">horas</string>
|
||||
<string name="voice_kilometer_per_hour">kilómetros por hora</string>
|
||||
<string name="voice_kilometers">kilómetros</string>
|
||||
<string name="voice_mile_per_hour">millas por hora</string>
|
||||
<string name="voice_miles">millas</string>
|
||||
<string name="voice_minute">minuto</string>
|
||||
<string name="voice_minutes">minutos</string>
|
||||
<string name="voice_no_distance">My Tracks sin distancia</string>
|
||||
<string name="voice_total_distance_zero">My Tracks sin distancia</string>
|
||||
<string name="voice_per_kilometer">por kilómetro</string>
|
||||
<string name="voice_per_mile">por milla</string>
|
||||
<string name="voice_second">segundo</string>
|
||||
<string name="voice_seconds">segundos</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s en %3$s a %4$s %5$s</string>
|
||||
<string name="welcome_about">Sobre My Tracks</string>
|
||||
<string name="welcome_title">Bienvenido</string>
|
||||
</resources>
|
||||
|
||||
@@ -44,7 +44,6 @@ limitations under the License.
|
||||
<string name="gps_wait_for_fix">Odotetaan parempaa GPS-yhteyttä. Varmista että taivas on näkyvissä.</string>
|
||||
<string name="import_error">Virhe tuotaessa tiedostoa %s</string>
|
||||
<string name="import_no_file">Lähteestä %s ei löytynyt GPX-tiedostoja. SD-kortti saattaa olla lukukelvoton tai hakemistossa ei ole GPX-tiedostoja.</string>
|
||||
<string name="import_success">Tuotu %1$d GPX-tiedostoa %2$d:sta lähteestä %3$s</string>
|
||||
<string name="marker_detail_marker_description">Merkinnän kuvaus</string>
|
||||
<string name="marker_detail_marker_name">Merkinnän nimi</string>
|
||||
<string name="marker_detail_marker_type">Merkinnän tyyppi (esim. rakennus, kuoppa, nähtävyys...)</string>
|
||||
@@ -250,20 +249,9 @@ limitations under the License.
|
||||
<string name="unit_minute_per_mile">min/mi</string>
|
||||
<string name="unit_revolution_per_minute">rpm</string>
|
||||
<string name="unit_watt">W</string>
|
||||
<string name="voice_hour">tunti</string>
|
||||
<string name="voice_hours">tuntia</string>
|
||||
<string name="voice_kilometer_per_hour">kilometriä tunnissa</string>
|
||||
<string name="voice_kilometers">kilometriä</string>
|
||||
<string name="voice_mile_per_hour">mailia tunnissa</string>
|
||||
<string name="voice_miles">mailia</string>
|
||||
<string name="voice_minute">minuutti</string>
|
||||
<string name="voice_minutes">minuuttia</string>
|
||||
<string name="voice_no_distance">My Tracks ei etäisyyttä</string>
|
||||
<string name="voice_total_distance_zero">My Tracks ei etäisyyttä</string>
|
||||
<string name="voice_per_kilometer">per kilometri</string>
|
||||
<string name="voice_per_mile">per maili</string>
|
||||
<string name="voice_second">sekunti</string>
|
||||
<string name="voice_seconds">sekuntia</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s ajassa %3$s nopeudella %4$s %5$s</string>
|
||||
<string name="welcome_about">Tietoa My Tracksista</string>
|
||||
<string name="welcome_title">Tervetuloa</string>
|
||||
</resources>
|
||||
|
||||
@@ -198,18 +198,9 @@ limitations under the License.
|
||||
<string name="unit_feet">pied</string>
|
||||
<string name="unit_kilometer_per_hour">km/h</string>
|
||||
<string name="unit_mile_per_hour">mi/h</string>
|
||||
<string name="voice_hour">heure</string>
|
||||
<string name="voice_hours">heures</string>
|
||||
<string name="voice_kilometer_per_hour">kilomètres/heure</string>
|
||||
<string name="voice_kilometers">kilomètres</string>
|
||||
<string name="voice_mile_per_hour">miles/heure</string>
|
||||
<string name="voice_miles">milles</string>
|
||||
<string name="voice_no_distance">My Tracks pas de distance disponible</string>
|
||||
<string name="voice_total_distance_zero">My Tracks pas de distance disponible</string>
|
||||
<string name="voice_per_kilometer">par kilomètre</string>
|
||||
<string name="voice_per_mile">per mile</string>
|
||||
<string name="voice_second">seconde</string>
|
||||
<string name="voice_seconds">secondes</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s en %3$s at %4$s %5$s</string>
|
||||
<string name="welcome_about">À propos de My Tracks</string>
|
||||
<string name="welcome_title">Bienvenue</string>
|
||||
</resources>
|
||||
|
||||
@@ -170,20 +170,9 @@ limitations under the License.
|
||||
<string name="unit_minute">min</string>
|
||||
<string name="unit_minute_per_kilometer">min/km</string>
|
||||
<string name="unit_minute_per_mile">min/mi</string>
|
||||
<string name="voice_hour">ora</string>
|
||||
<string name="voice_hours">ore</string>
|
||||
<string name="voice_kilometer_per_hour">chilometri orari</string>
|
||||
<string name="voice_kilometers">chilometri</string>
|
||||
<string name="voice_mile_per_hour">miglia orarie</string>
|
||||
<string name="voice_miles">miglia</string>
|
||||
<string name="voice_minute">minuto</string>
|
||||
<string name="voice_minutes">minuti</string>
|
||||
<string name="voice_no_distance">Mai Tracks Distanza non disponibile</string>
|
||||
<string name="voice_total_distance_zero">Mai Tracks Distanza non disponibile</string>
|
||||
<string name="voice_per_kilometer">per chilometro</string>
|
||||
<string name="voice_per_mile">per miglio</string>
|
||||
<string name="voice_second">secondo</string>
|
||||
<string name="voice_seconds">secondi</string>
|
||||
<string name="voice_template">Mai Tracks %1$.2f %2$s in %3$s a %4$s %5$s</string>
|
||||
<string name="welcome_about">Informazioni su My Tracks</string>
|
||||
<string name="welcome_title">Benvenuto</string>
|
||||
</resources>
|
||||
|
||||
@@ -42,7 +42,6 @@ limitations under the License.
|
||||
<string name="gps_wait_for_fix">GPS位置精度がよくなるまで待機しています.空が見えるところにいて下さい.</string>
|
||||
<string name="import_error">ファイル %s のインポートエラー</string>
|
||||
<string name="import_no_file">%s ではGPXファイルがありません.SDカードを読み込めないかディレクトリにGPXファイルが無いかも知れません.</string>
|
||||
<string name="import_success">%3$s からGPXファイル %2$d件のうち %1$d件をインポートしました</string>
|
||||
<string name="marker_detail_marker_description">マーカー説明</string>
|
||||
<string name="marker_detail_marker_name">マーカー名</string>
|
||||
<string name="marker_detail_marker_type">マーカータイプ(建物、洞穴、名所...)</string>
|
||||
@@ -226,20 +225,9 @@ limitations under the License.
|
||||
<string name="track_record_success">新しいトラックを記録中です.</string>
|
||||
<string name="unit_hour">時</string>
|
||||
<string name="unit_minute">分</string>
|
||||
<string name="voice_hour">時</string>
|
||||
<string name="voice_hours">時</string>
|
||||
<string name="voice_kilometer_per_hour">キロメータ毎時</string>
|
||||
<string name="voice_kilometers">キロメータ</string>
|
||||
<string name="voice_mile_per_hour">マイル毎時</string>
|
||||
<string name="voice_miles">マイル</string>
|
||||
<string name="voice_minute">分</string>
|
||||
<string name="voice_minutes">分</string>
|
||||
<string name="voice_no_distance">My Tracks 移動していません</string>
|
||||
<string name="voice_total_distance_zero">My Tracks 移動していません</string>
|
||||
<string name="voice_per_kilometer">毎キロメータ</string>
|
||||
<string name="voice_per_mile">毎マイル</string>
|
||||
<string name="voice_second">秒</string>
|
||||
<string name="voice_seconds">秒</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s 時間 %3$s 速度/ペース %4$s %5$s</string>
|
||||
<string name="welcome_about">My Tracksについて</string>
|
||||
<string name="welcome_title">ようこそ</string>
|
||||
</resources>
|
||||
|
||||
@@ -199,20 +199,9 @@ limitations under the License.
|
||||
<string name="unit_minute">min</string>
|
||||
<string name="unit_minute_per_kilometer">min/km</string>
|
||||
<string name="unit_minute_per_mile">min/mi</string>
|
||||
<string name="voice_hour">godzina</string>
|
||||
<string name="voice_hours">godziny</string>
|
||||
<string name="voice_kilometer_per_hour">kilometry na godzinę</string>
|
||||
<string name="voice_kilometers">kilometerów</string>
|
||||
<string name="voice_mile_per_hour">mile na godzinę</string>
|
||||
<string name="voice_miles">mil</string>
|
||||
<string name="voice_minute">minuta</string>
|
||||
<string name="voice_minutes">minuty</string>
|
||||
<string name="voice_no_distance">My Tracks brak odległości</string>
|
||||
<string name="voice_total_distance_zero">My Tracks brak odległości</string>
|
||||
<string name="voice_per_kilometer">na kilometr</string>
|
||||
<string name="voice_per_mile">na milę</string>
|
||||
<string name="voice_second">sekunda</string>
|
||||
<string name="voice_seconds">sekundy</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s w %3$s w tempie %4$s %5$s</string>
|
||||
<string name="welcome_about">O My Tracks</string>
|
||||
<string name="welcome_title">Witamy</string>
|
||||
</resources>
|
||||
|
||||
@@ -159,20 +159,9 @@ limitations under the License.
|
||||
<string name="track_record_success">Gravando um novo caminho.</string>
|
||||
<string name="unit_feet">pés</string>
|
||||
<string name="unit_hour">h</string>
|
||||
<string name="voice_hour">hora</string>
|
||||
<string name="voice_hours">horas</string>
|
||||
<string name="voice_kilometer_per_hour">kilômetros por hora</string>
|
||||
<string name="voice_kilometers">kilômetros</string>
|
||||
<string name="voice_mile_per_hour">milhas por hora</string>
|
||||
<string name="voice_miles">milhas</string>
|
||||
<string name="voice_minute">minuto</string>
|
||||
<string name="voice_minutes">minutos</string>
|
||||
<string name="voice_no_distance">My Tracks sem distância</string>
|
||||
<string name="voice_total_distance_zero">My Tracks sem distância</string>
|
||||
<string name="voice_per_kilometer">por kilômetro</string>
|
||||
<string name="voice_per_mile">por milha</string>
|
||||
<string name="voice_second">segundo</string>
|
||||
<string name="voice_seconds">segundos</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s em %3$s a %4$s %5$s</string>
|
||||
<string name="welcome_about">Sobre My Tracks</string>
|
||||
<string name="welcome_title">Bem-vindo</string>
|
||||
</resources>
|
||||
|
||||
@@ -43,7 +43,6 @@ limitations under the License.
|
||||
<string name="gps_wait_for_fix">Ожидание сигнала GPS. Убедитесь в том, что вы находитесь под открытым небом.</string>
|
||||
<string name="import_error">Ошибка импорта файла %s</string>
|
||||
<string name="import_no_file">GPX файлы не найденны в %s. Возможно не читается SD-карта или каталог не содержит GPX файлы.</string>
|
||||
<string name="import_success">Импортировано %1$d из %2$d GPX файлов с %3$s</string>
|
||||
<string name="marker_detail_marker_description">Описание маркера</string>
|
||||
<string name="marker_detail_marker_name">Имя маркера</string>
|
||||
<string name="marker_detail_marker_type">Тип маркера (например: здание, выбоина, достопримечательность...)</string>
|
||||
@@ -246,20 +245,9 @@ limitations under the License.
|
||||
<string name="unit_minute_per_mile">мин/миля</string>
|
||||
<string name="unit_revolution_per_minute">об/мин</string>
|
||||
<string name="unit_watt">Вт</string>
|
||||
<string name="voice_hour">час</string>
|
||||
<string name="voice_hours">часов</string>
|
||||
<string name="voice_kilometer_per_hour">километров в час</string>
|
||||
<string name="voice_kilometers">километров</string>
|
||||
<string name="voice_mile_per_hour">миль в час</string>
|
||||
<string name="voice_miles">мили</string>
|
||||
<string name="voice_minute">минута</string>
|
||||
<string name="voice_minutes">минут</string>
|
||||
<string name="voice_no_distance">My Tracks нет расстояния</string>
|
||||
<string name="voice_total_distance_zero">My Tracks нет расстояния</string>
|
||||
<string name="voice_per_kilometer">за километр</string>
|
||||
<string name="voice_per_mile">за милю</string>
|
||||
<string name="voice_second">секунда</string>
|
||||
<string name="voice_seconds">секунд</string>
|
||||
<string name="voice_template">Мои треки %1$.2f %2$s в %3$s на %4$s %5$s</string>
|
||||
<string name="welcome_about">О My Tracks</string>
|
||||
<string name="welcome_title">Добро пожаловать</string>
|
||||
</resources>
|
||||
|
||||
@@ -169,20 +169,9 @@ limitations under the License.
|
||||
<string name="unit_minute">min</string>
|
||||
<string name="unit_minute_per_kilometer">min/km</string>
|
||||
<string name="unit_minute_per_mile">min/mi</string>
|
||||
<string name="voice_hour">timme</string>
|
||||
<string name="voice_hours">timmar</string>
|
||||
<string name="voice_kilometer_per_hour">kilometer i timmen</string>
|
||||
<string name="voice_kilometers">kilometer</string>
|
||||
<string name="voice_mile_per_hour">miles i timmen</string>
|
||||
<string name="voice_miles">miles</string>
|
||||
<string name="voice_minute">minut</string>
|
||||
<string name="voice_minutes">minuter</string>
|
||||
<string name="voice_no_distance">My Tracks ingen distans</string>
|
||||
<string name="voice_total_distance_zero">My Tracks ingen distans</string>
|
||||
<string name="voice_per_kilometer">per kilometer</string>
|
||||
<string name="voice_per_mile">per mile</string>
|
||||
<string name="voice_second">sekund</string>
|
||||
<string name="voice_seconds">sekunder</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s på %3$s i %4$s %5$s</string>
|
||||
<string name="welcome_about">Om My Tracks</string>
|
||||
<string name="welcome_title">Välkommen</string>
|
||||
</resources>
|
||||
|
||||
@@ -44,7 +44,6 @@ limitations under the License.
|
||||
<string name="gps_wait_for_fix">等待更准确的 GPS 定位. 请确定可以看见天空.</string>
|
||||
<string name="import_error">导入文件 %s 出错.</string>
|
||||
<string name="import_no_file">在 %s 中未找到 GPX 文件. SD 存储卡不可用或者目录中没有 GPX 文件.</string>
|
||||
<string name="import_success">已从 %3$s 导入 %1$d 个 GPX 文件, 共 %2$d 个.</string>
|
||||
<string name="marker_detail_marker_description">标记描述</string>
|
||||
<string name="marker_detail_marker_name">标记名称</string>
|
||||
<string name="marker_detail_marker_type">标记类型 (例如: 建筑, 陷坑, 景点...)</string>
|
||||
@@ -227,20 +226,9 @@ limitations under the License.
|
||||
<string name="track_record_success">现在开始记录新的轨迹.</string>
|
||||
<string name="unit_hour">时</string>
|
||||
<string name="unit_minute">分</string>
|
||||
<string name="voice_hour">小时</string>
|
||||
<string name="voice_hours">小时</string>
|
||||
<string name="voice_kilometer_per_hour">千米每小时</string>
|
||||
<string name="voice_kilometers">千米</string>
|
||||
<string name="voice_mile_per_hour">英里每小时</string>
|
||||
<string name="voice_miles">英里</string>
|
||||
<string name="voice_minute">分钟</string>
|
||||
<string name="voice_minutes">分钟</string>
|
||||
<string name="voice_no_distance">My Tracks 无距离</string>
|
||||
<string name="voice_total_distance_zero">My Tracks 无距离</string>
|
||||
<string name="voice_per_kilometer">每千米</string>
|
||||
<string name="voice_per_mile">每英里</string>
|
||||
<string name="voice_second">秒</string>
|
||||
<string name="voice_seconds">秒</string>
|
||||
<string name="voice_template">My Tracks %1$.2f %2$s 用时 %3$s 速度 %4$s %5$s</string>
|
||||
<string name="welcome_about">关于 My Tracks</string>
|
||||
<string name="welcome_title">欢迎</string>
|
||||
</resources>
|
||||
|
||||
+253
-57
@@ -348,14 +348,14 @@ limitations under the License.
|
||||
My Tracks is run by volunteers and Googlers in their 20% time. If you would like to contribute,
|
||||
please visit:\n
|
||||
\n
|
||||
http://mytracks.googlecode.com\n
|
||||
http://mytracks.googlecode.com\n
|
||||
</string>
|
||||
<string name="android_market_promo_text"
|
||||
translation_description="For the Android Market (not used in the app), the promotion text. 80
|
||||
characters limit.">
|
||||
My Tracks allows you to record and share your GPS tracks, including statistics.
|
||||
</string>
|
||||
|
||||
|
||||
<!-- Chart Settings -->
|
||||
<string name="chart_settings_by_distance"
|
||||
translation_description="In the Chart Settings, under the 'X axis' section, the radio option
|
||||
@@ -603,14 +603,44 @@ limitations under the License.
|
||||
translation_description="When importing all the tracks, a toast message indicating import error
|
||||
for one of the tracks.
|
||||
|
||||
%1$s: the track's file path. E.g., '/mnt/sdcard/MyTacks/gpx/1.gpx'.">
|
||||
%1$s: the track's file path on the SD card. E.g., '/mnt/sdcard/MyTacks/gpx/1.gpx'.">
|
||||
Import error for file %1$s.
|
||||
</string>
|
||||
<string name="import_gpx_files_few"
|
||||
translation_description="When importing all the tracks, phrase for 'few' GPX files.
|
||||
|
||||
%1$d an integer number. The number is a small number.">
|
||||
%1$d GPX files
|
||||
</string>
|
||||
<string name="import_gpx_files_many"
|
||||
translation_description="When importing all the tracks, phrase for 'many' GPX files.
|
||||
|
||||
%1$d an integer number. The number is a large number.">
|
||||
%1$d GPX files
|
||||
</string>
|
||||
<string name="import_gpx_files_one"
|
||||
translation_description="When importing all the tracks, phrase for 1 GPX file.">
|
||||
1 GPX file
|
||||
</string>
|
||||
<string name="import_gpx_files_other"
|
||||
translation_description="When importing all the tracks, phrase for 'other' GPX files.
|
||||
|
||||
%1$d an integer number. The number doesn't require special treatment.">
|
||||
%1$d GPX files
|
||||
</string>
|
||||
<string name="import_gpx_files_two"
|
||||
translation_description="When importing all the tracks, phrase for 2 GPX files.">
|
||||
2 GPX files
|
||||
</string>
|
||||
<string name="import_gpx_files_zero"
|
||||
translation_description="When importing all the tracks, phrase for 0 GPX files.">
|
||||
0 GPX files
|
||||
</string>
|
||||
<string name="import_no_file"
|
||||
translation_description="After importing all the tracks from the SD card, the alert message
|
||||
indicating that no track is imported.
|
||||
|
||||
%1$s: the directory path. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
|
||||
%1$s: the SD card directory path. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
|
||||
No GPX file found in %1$s. The SD card may be unreadable or the directory may not contain any
|
||||
GPX file.
|
||||
</string>
|
||||
@@ -618,10 +648,10 @@ limitations under the License.
|
||||
translation_description="After importing all the tracks from the SD card, the alert message
|
||||
indicating success.
|
||||
|
||||
%1$d the number of successfully imported tracks. E.g., '5'.
|
||||
%2$d the number of total tracks to be imported. E.g., '6'.
|
||||
%3$s the directory path. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
|
||||
Imported to My Tracks %1$d of %2$d GPX files from %3$s.
|
||||
%1$d the number of successfully imported tracks. E.g., '1'.
|
||||
%2$s the number of GPX files in the SD card. E.g., '1 GPX file' or '2 GPX files'.
|
||||
%3$s the SD card directory path. E.g., '/mnt/sdcard/MyTracks/gpx/'.">
|
||||
My Tracks: Imported %1$d of %2$s from %3$s.
|
||||
</string>
|
||||
|
||||
<!-- Marker -->
|
||||
@@ -1995,73 +2025,239 @@ limitations under the License.
|
||||
</string>
|
||||
|
||||
<!-- Voice -->
|
||||
<string name="voice_hour"
|
||||
translation_description="For voice announcement, to say hour like 'one hour'.">
|
||||
hour
|
||||
<string name="voice_hours_few"
|
||||
translation_description="For voice announcement, to say 'few' hours.
|
||||
|
||||
%1$d an integer number. The number is a small number.">
|
||||
%1$d hours
|
||||
</string>
|
||||
<string name="voice_hours"
|
||||
translation_description="For voice announcement, to say hours like 'two hours'.">
|
||||
hours
|
||||
<string name="voice_hours_many"
|
||||
translation_description="For voice announcement, to say 'many' hours.
|
||||
|
||||
%1$d an integer number. The number is a large number.">
|
||||
%1$d hours
|
||||
</string>
|
||||
<string name="voice_kilometer_per_hour"
|
||||
translation_description="For voice announcement, to say 'kilometers per hour' for speed like
|
||||
'two kilometers per hour'.">
|
||||
kilometers per hour
|
||||
<string name="voice_hours_one"
|
||||
translation_description="For voice announcement, to say 1 hour.">
|
||||
1 hour
|
||||
</string>
|
||||
<string name="voice_kilometers"
|
||||
translation_description="For voice announcement, to say kilometers like 'two kilometers'.">
|
||||
kilometers
|
||||
<string name="voice_hours_other"
|
||||
translation_description="For voice announcement, to say 'other' hours.
|
||||
|
||||
%1$d an integer number. The number doesn't require special treatment.">
|
||||
%1$d hours
|
||||
</string>
|
||||
<string name="voice_mile_per_hour"
|
||||
translation_description="For voice announcement, to say 'miles per hour' for speed like 'two
|
||||
miles per hour'.">
|
||||
miles per hour
|
||||
<string name="voice_hours_two"
|
||||
translation_description="For voice announcement, to say 2 hours.">
|
||||
2 hours
|
||||
</string>
|
||||
<string name="voice_miles"
|
||||
translation_description="For voice announcement, to say miles like 'two miles'.">
|
||||
miles
|
||||
<string name="voice_hours_zero"
|
||||
translation_description="For voice announcement, to say 0 hours.">
|
||||
0 hours
|
||||
</string>
|
||||
<string name="voice_minute"
|
||||
translation_description="For voice announcement, to say minute like 'one minute'.">
|
||||
minute
|
||||
<string name="voice_minutes_few"
|
||||
translation_description="For voice announcement, to say 'few' minutes.
|
||||
|
||||
%1$d an integer number. The number is a small number.">
|
||||
%1$d minutes
|
||||
</string>
|
||||
<string name="voice_minutes"
|
||||
translation_description="For voice announcement, to say minutes like 'two minutes'.">
|
||||
minutes
|
||||
<string name="voice_minutes_many"
|
||||
translation_description="For voice announcement, to say 'many' minutes.
|
||||
|
||||
%1$d an integer number. The number is a large number.">
|
||||
%1$d minutes
|
||||
</string>
|
||||
<string name="voice_no_distance"
|
||||
translation_description="For the voice announcement, the announcement when the current track's
|
||||
total distance is zero.">
|
||||
My Tracks no distance.
|
||||
<string name="voice_minutes_one"
|
||||
translation_description="For voice announcement, to say 1 minute.">
|
||||
1 minute
|
||||
</string>
|
||||
<string name="voice_minutes_other"
|
||||
translation_description="For voice announcement, to say 'other' minutes.
|
||||
|
||||
%1$d an integer number. The number doesn't require special treatment.">
|
||||
%1$d minutes
|
||||
</string>
|
||||
<string name="voice_minutes_two"
|
||||
translation_description="For voice announcement, to say 2 minutes.">
|
||||
2 minutes
|
||||
</string>
|
||||
<string name="voice_minutes_zero"
|
||||
translation_description="For voice announcement, to say 0 minutes.">
|
||||
0 minutes
|
||||
</string>
|
||||
<string name="voice_per_kilometer"
|
||||
translation_description="For voice announcement, to say 'per kilometer' for pace like 'two
|
||||
minutes per kilometer'.">
|
||||
hours 2 minutes per kilometer'.">
|
||||
per kilometer
|
||||
</string>
|
||||
<string name="voice_per_mile"
|
||||
translation_description="For voice announcement, to say 'per mile' for pace like 'two minutes
|
||||
per mile'.">
|
||||
translation_description="For voice announcement, to say 'per mile' for pace like 'two hours 2
|
||||
minutes per mile'.">
|
||||
per mile
|
||||
</string>
|
||||
<string name="voice_second"
|
||||
translation_description="For voice announcement, to say second like 'one second'.">
|
||||
second
|
||||
<string name="voice_seconds_few"
|
||||
translation_description="For voice announcement, to say 'few' seconds.
|
||||
|
||||
%1$d an integer number. The number is a small number.">
|
||||
%1$d seconds
|
||||
</string>
|
||||
<string name="voice_seconds"
|
||||
translation_description="For voice announcement, to say seconds like 'two seconds'.">
|
||||
seconds
|
||||
<string name="voice_seconds_many"
|
||||
translation_description="For voice announcement, to say 'many' seconds.
|
||||
|
||||
%1$d an integer number. The number is a large number.">
|
||||
%1$d seconds
|
||||
</string>
|
||||
<string name="voice_seconds_one"
|
||||
translation_description="For voice announcement, to say 1 second.">
|
||||
1 second
|
||||
</string>
|
||||
<string name="voice_seconds_other"
|
||||
translation_description="For voice announcement, to say 'other' seconds.
|
||||
|
||||
%1$d an integer number. The number doesn't require special treatment.">
|
||||
%1$d seconds
|
||||
</string>
|
||||
<string name="voice_seconds_two"
|
||||
translation_description="For voice announcement, to say 2 seconds.">
|
||||
2 seconds
|
||||
</string>
|
||||
<string name="voice_seconds_zero"
|
||||
translation_description="For voice announcement, to say 0 seconds.">
|
||||
0 seconds
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_few"
|
||||
translation_description="For voice announcement, to say 'few' kilometers per hour.
|
||||
|
||||
%1$.1f a float number. The number is a small number.">
|
||||
%1$.1f kilometers per hour
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_many"
|
||||
translation_description="For voice announcement, to say 'many' kilometers per hour.
|
||||
|
||||
%1$.1f a float number. The number is a large number.">
|
||||
%1$.1f kilometers per hour
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_one"
|
||||
translation_description="For voice announcement, to say 1 kilometer per hour.">
|
||||
1 kilometer per hour
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_other"
|
||||
translation_description="For voice announcement, to say 'other' kilometers per hour.
|
||||
|
||||
%1$.1f a float number. The number doesn't require special treatment.">
|
||||
%1$.1f kilometers per hour
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_two"
|
||||
translation_description="For voice announcement, to say 2 kilometers per hour.">
|
||||
2 kilometers per hour
|
||||
</string>
|
||||
<string name="voice_speed_kilometers_per_hour_zero"
|
||||
translation_description="For voice announcement, to say 0 kilometers per hour.">
|
||||
0 kilometers per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_few"
|
||||
translation_description="For voice announcement, to say 'few' miles per hour.
|
||||
|
||||
%1$.1f a float number. The number is a small number.">
|
||||
%1$.1f miles per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_many"
|
||||
translation_description="For voice announcement, to say 'many' miles per hour.
|
||||
|
||||
%1$.1f a float number. The number is a large number.">
|
||||
%1$.1f miles per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_one"
|
||||
translation_description="For voice announcement, to say 1 mile per hour.">
|
||||
1 mile per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_other"
|
||||
translation_description="For voice announcement, to say 'other' miles per hour.
|
||||
|
||||
%1$.1f a float number. The number doesn't require special treatment.">
|
||||
%1$.1f miles per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_two"
|
||||
translation_description="For voice announcement, to say 2 miles per hour.">
|
||||
2 miles per hour
|
||||
</string>
|
||||
<string name="voice_speed_miles_per_hour_zero"
|
||||
translation_description="For voice announcement, to say 0 miles per hour.">
|
||||
0 miles per hour
|
||||
</string>
|
||||
<string name="voice_template"
|
||||
translation_description="For the voice announcement, the template to make an announcement.
|
||||
|
||||
%1$.2f: distance value. E.g., '5.2'.
|
||||
%2$s: distance unit. 'miles' or 'kilometers'
|
||||
%3$s: time value. E.g., '1 hour and 30 minutes' or '20 minutes and 1 second'
|
||||
%4$s: speed/pace value. For speed, e.g., '2.2'. For pace, e.g., '2 hours and 1 minute'.
|
||||
%5$s: speed/pace unit. For speed, 'miles per hour' or 'kilometers per hour'. For pace, 'per
|
||||
mile' or 'per kilometer'.">
|
||||
My Tracks total distance %1$.2f %2$s in %3$s at %4$s %5$s.
|
||||
%1$s: distance string. E.g., '1 mile' or '1.2 miles', '1 kilometer', '2.2 kilometers'
|
||||
%2$s: time string. E.g., '1 hour and 30 minutes' or '20 minutes 1 second'
|
||||
%3$s: speed/pace string. For speed, e.g., '2.2 miles per hour', '1 kilometer per hour'. For
|
||||
pace, e.g., '2 hours 1 minute per mile', '30 minutes 1 second per kilometer'.">
|
||||
My Tracks total distance %1$s in %2$s at %3$s.
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_few"
|
||||
translation_description="For voice announcement, to say total distance 'few' kilometers.
|
||||
|
||||
%1$.2f a float number. The number is a small number.">
|
||||
total distance %1$.2f kilometers
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_many"
|
||||
translation_description="For voice announcement, to say total distance 'many' kilometers.
|
||||
|
||||
%1$.2f a float number. The number is a large number.">
|
||||
total distance %1$.2f kilometers
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_one"
|
||||
translation_description="For voice announcement, to say total distance 1 kilometer.">
|
||||
total distance 1 kilometer
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_other"
|
||||
translation_description="For voice announcement, to say total distance 'other' kilometers.
|
||||
|
||||
%1$.2f a float number. The number doesn't require special treatment.">
|
||||
total distance %1$.2f kilometers
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_two"
|
||||
translation_description="For voice announcement, to say total distance 2 kilometers.">
|
||||
total distance 2 kilometers
|
||||
</string>
|
||||
<string name="voice_total_distance_kilometers_zero"
|
||||
translation_description="For voice announcement, to say total distance 0 kilometers.">
|
||||
total distance 0 kilometers
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_few"
|
||||
translation_description="For voice announcement, to say total distance 'few' miles.
|
||||
|
||||
%1$.2f a float number. The number is a small number.">
|
||||
total distance %1$.2f miles
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_many"
|
||||
translation_description="For voice announcement, to say total distance 'many' miles.
|
||||
|
||||
%1$.2f a float number. The number is a large number.">
|
||||
total distance %1$.2f miles
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_one"
|
||||
translation_description="For voice announcement, to say total distance 1 mile.">
|
||||
total distance 1 mile
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_other"
|
||||
translation_description="For voice announcement, to say total distance 'other' miles.
|
||||
|
||||
%1$.2f a float number. The number doesn't require special treatment.">
|
||||
total distance %1$.2f miles
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_two"
|
||||
translation_description="For voice announcement, to say total distance 2 miles.">
|
||||
total distance 2 miles
|
||||
</string>
|
||||
<string name="voice_total_distance_miles_zero"
|
||||
translation_description="For voice announcement, to say total distance 0 miles.">
|
||||
total distance 0 miles
|
||||
</string>
|
||||
<string name="voice_total_distance_zero"
|
||||
translation_description="For the voice announcement, the announcement when the current track's
|
||||
total distance is zero.">
|
||||
My Tracks total distance zero.
|
||||
</string>
|
||||
|
||||
<!-- Waypoint Type -->
|
||||
@@ -2292,7 +2488,7 @@ limitations under the License.
|
||||
statistics, and graphs view.
|
||||
</string>
|
||||
<string name="welcome_app_navigation_question"
|
||||
translation_description="In the 'Welcome' page, the help content question on app navigatation.">
|
||||
translation_description="In the 'Welcome' page, the help content question on app navigation.">
|
||||
How do I see the map, statistics, and graphs view?
|
||||
</string>
|
||||
<string name="welcome_battery_life_answer"
|
||||
@@ -2372,7 +2568,7 @@ limitations under the License.
|
||||
depends on the quality of the GPS signal. The blue circle around the orange location arrow
|
||||
indicates estimated precision. (You may need to zoom in or out to see the circle.) You can
|
||||
change the GPS precision at Settings -> Recording -> GPS accuracy. If the precision is too low,
|
||||
at the top of the screen, you will see the message \"Waiting for a better GPS fix.\".
|
||||
at the top of the screen, you will see the message \"Waiting for a better GPS fix.\".
|
||||
</string>
|
||||
<string name="welcome_location_precision_question"
|
||||
translation_description="In the 'Welcome' page, the help content question on location
|
||||
@@ -2435,7 +2631,7 @@ limitations under the License.
|
||||
How do I share tracks with friends and the rest of the world?
|
||||
</string>
|
||||
<string name="welcome_split_track_answer"
|
||||
translation_description="In the 'Welcome' page, the help content answer on splitted long
|
||||
translation_description="In the 'Welcome' page, the help content answer on splitting long
|
||||
tracks.">
|
||||
Tracks on Google My Maps and Google Fusion Tables are limited to certain sizes.
|
||||
</string>
|
||||
|
||||
@@ -128,8 +128,10 @@ public class ImportAllTracks {
|
||||
if (gpxFileCount == 0) {
|
||||
builder.setMessage(activity.getString(R.string.import_no_file, gpxPath));
|
||||
} else {
|
||||
String totalFiles = activity.getResources().getQuantityString(
|
||||
R.plurals.importGpxFiles, gpxFileCount, gpxFileCount);
|
||||
builder.setMessage(
|
||||
activity.getString(R.string.import_success, importSuccessCount, gpxFileCount, gpxPath));
|
||||
activity.getString(R.string.import_success, importSuccessCount, totalFiles, gpxPath));
|
||||
}
|
||||
builder.setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
|
||||
+61
-63
@@ -150,66 +150,72 @@ public class StatusAnnouncerTask implements PeriodicTask {
|
||||
*/
|
||||
// @VisibleForTesting
|
||||
protected String getAnnouncement(TripStatistics stats) {
|
||||
SharedPreferences preferences =
|
||||
context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
|
||||
boolean metricUnits = true;
|
||||
boolean reportSpeed = true;
|
||||
SharedPreferences preferences = context.getSharedPreferences(Constants.SETTINGS_NAME, 0);
|
||||
if (preferences != null) {
|
||||
metricUnits =
|
||||
preferences.getBoolean(context.getString(R.string.metric_units_key),
|
||||
true);
|
||||
reportSpeed =
|
||||
preferences.getBoolean(context.getString(R.string.report_speed_key),
|
||||
true);
|
||||
metricUnits = preferences.getBoolean(context.getString(R.string.metric_units_key), true);
|
||||
reportSpeed = preferences.getBoolean(context.getString(R.string.report_speed_key), true);
|
||||
}
|
||||
|
||||
double d = stats.getTotalDistance() / 1000;
|
||||
double s = stats.getAverageMovingSpeed() * 3.6;
|
||||
double d = stats.getTotalDistance() / 1000; // d is in kilometers
|
||||
double s = stats.getAverageMovingSpeed() * 3.6; // s is in kilometers per hour
|
||||
|
||||
if (d == 0) {
|
||||
return context.getString(R.string.voice_no_distance);
|
||||
return context.getString(R.string.voice_total_distance_zero);
|
||||
}
|
||||
|
||||
int speedLabel;
|
||||
if (metricUnits) {
|
||||
if (reportSpeed) {
|
||||
speedLabel = R.string.voice_kilometer_per_hour;
|
||||
} else {
|
||||
speedLabel = R.string.voice_per_kilometer;
|
||||
}
|
||||
} else {
|
||||
s *= UnitConversions.KMH_TO_MPH;
|
||||
if (!metricUnits) {
|
||||
d *= UnitConversions.KM_TO_MI;
|
||||
if (reportSpeed) {
|
||||
speedLabel = R.string.voice_mile_per_hour;
|
||||
} else {
|
||||
speedLabel = R.string.voice_per_mile;
|
||||
}
|
||||
s *= UnitConversions.KMH_TO_MPH;
|
||||
}
|
||||
|
||||
String speed = null;
|
||||
if ((s == 0) || Double.isNaN(s)) {
|
||||
speed = context.getString(R.string.value_unknown);
|
||||
if (!reportSpeed) {
|
||||
s = 3600000.0 / s; // converts from speed to pace
|
||||
}
|
||||
|
||||
// Makes sure s is not NaN.
|
||||
if (Double.isNaN(s)) {
|
||||
s = 0;
|
||||
}
|
||||
|
||||
String speed;
|
||||
if (reportSpeed) {
|
||||
int speedId = metricUnits ? R.plurals.voiceSpeedKilometersPerHour
|
||||
: R.plurals.voiceSpeedMilesPerHour;
|
||||
speed = context.getResources().getQuantityString(speedId, getQuantityCount(s), s);
|
||||
} else {
|
||||
if (reportSpeed) {
|
||||
speed = String.format("%.1f", s);
|
||||
} else {
|
||||
double pace = 3600000.0 / s;
|
||||
Log.w(Constants.TAG,
|
||||
"Converted speed: " + s + " to pace: " + pace);
|
||||
speed = getAnnounceTime((long) pace);
|
||||
}
|
||||
int perDistancelId = metricUnits ? R.string.voice_per_kilometer : R.string.voice_per_mile;
|
||||
speed = getAnnounceTime((long) s) + " " + context.getString(perDistancelId);
|
||||
}
|
||||
|
||||
return context.getString(R.string.voice_template,
|
||||
d,
|
||||
context.getString(metricUnits
|
||||
? R.string.voice_kilometers
|
||||
: R.string.voice_miles),
|
||||
getAnnounceTime(stats.getMovingTime()),
|
||||
speed,
|
||||
context.getString(speedLabel));
|
||||
}
|
||||
int totalDistanceId = metricUnits ? R.plurals.voiceTotalDistanceKilometers
|
||||
: R.plurals.voiceTotalDistanceMiles;
|
||||
String totalDistance = context.getResources().getQuantityString(
|
||||
totalDistanceId, getQuantityCount(d), d);
|
||||
|
||||
return context.getString(
|
||||
R.string.voice_template, totalDistance, getAnnounceTime(stats.getMovingTime()), speed);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the plural count to be used by getQuantityString.
|
||||
*
|
||||
* @param d the double value
|
||||
*/
|
||||
private int getQuantityCount(double d) {
|
||||
if (d == 0) {
|
||||
return 0;
|
||||
} else if (d == 1) {
|
||||
return 1;
|
||||
} else if (d == 2) {
|
||||
return 2;
|
||||
} else {
|
||||
int count = (int) d;
|
||||
return count < 3 ? 3 : count;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
Log.i(Constants.TAG, "Starting TTS");
|
||||
@@ -331,30 +337,22 @@ public class StatusAnnouncerTask implements PeriodicTask {
|
||||
@VisibleForTesting
|
||||
String getAnnounceTime(long time) {
|
||||
int[] parts = StringUtils.getTimeParts(time);
|
||||
String secLabel =
|
||||
context.getString(parts[0] == 1 ? R.string.voice_second : R.string.voice_seconds);
|
||||
String minLabel =
|
||||
context.getString(parts[1] == 1 ? R.string.voice_minute : R.string.voice_minutes);
|
||||
String hourLabel =
|
||||
context.getString(parts[2] == 1 ? R.string.voice_hour : R.string.voice_hours);
|
||||
String seconds = context.getResources().getQuantityString(
|
||||
R.plurals.voiceSeconds, parts[0], parts[0]);
|
||||
String minutes = context.getResources().getQuantityString(
|
||||
R.plurals.voiceMinutes, parts[1], parts[1]);
|
||||
String hours = context.getResources().getQuantityString(
|
||||
R.plurals.voiceHours, parts[2], parts[2]);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (parts[2] != 0) {
|
||||
sb.append(parts[2]);
|
||||
sb.append(hours);
|
||||
sb.append(" ");
|
||||
sb.append(hourLabel);
|
||||
sb.append(" ");
|
||||
sb.append(parts[1]);
|
||||
sb.append(" ");
|
||||
sb.append(minLabel);
|
||||
sb.append(minutes);
|
||||
} else {
|
||||
sb.append(parts[1]);
|
||||
sb.append(minutes);
|
||||
sb.append(" ");
|
||||
sb.append(minLabel);
|
||||
sb.append(" ");
|
||||
sb.append(parts[0]);
|
||||
sb.append(" ");
|
||||
sb.append(secLabel);
|
||||
sb.append(seconds);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user