diff --git a/OpenGpxTracker-Watch Extension/ja.lproj/InfoPlist.strings b/OpenGpxTracker-Watch Extension/ja.lproj/InfoPlist.strings new file mode 100644 index 00000000..f0879f7a --- /dev/null +++ b/OpenGpxTracker-Watch Extension/ja.lproj/InfoPlist.strings @@ -0,0 +1,11 @@ +/* + InfoPlist.strings + OpenGpxTracker + + Japanese Translation created on 2026.03.27. +*/ + +NSLocationAlwaysAndWhenInUseUsageDescription = "位置情報は地図上にあなたの現在地を表示するためにのみ使用されます。アプリがバックグラウンドでも位置情報を記録するには「常に許可」を選択してください。"; +NSLocationAlwaysUsageDescription = "アプリがバックグラウンドでもGPXトラックを作成するために、位置情報が必要です。"; +NSLocationUsageDescription = "GPXの作成とPOIの追加に位置情報が必要です。"; +NSLocationWhenInUseUsageDescription = "地図上であなたの現在地と移動履歴を表示するために位置情報を使用します。"; diff --git a/OpenGpxTracker-Watch/ja.lproj/Interface.strings b/OpenGpxTracker-Watch/ja.lproj/Interface.strings new file mode 100644 index 00000000..61f914d0 --- /dev/null +++ b/OpenGpxTracker-Watch/ja.lproj/Interface.strings @@ -0,0 +1,54 @@ + +/* Class = "WKInterfaceLabel"; text = "signal"; ObjectID = "036-aK-7ie"; */ +"036-aK-7ie.text" = "信号"; + +/* Class = "WKInterfaceLabel"; text = "File Name"; ObjectID = "19n-8m-sC5"; */ +"19n-8m-sC5.text" = "ファイル名"; + +/* Class = "WKInterfaceButton"; title = "View files"; ObjectID = "3QZ-4r-aMl"; */ +"3QZ-4r-aMl.title" = "ファイル一覧"; + +/* Class = "WKInterfaceLabel"; text = "speedValue"; ObjectID = "9yb-Lf-Jav"; */ +"9yb-Lf-Jav.text" = "speedValue"; + +/* Class = "WKInterfaceLabel"; text = "Sending"; ObjectID = "AyV-DL-c4U"; */ +"AyV-DL-c4U.text" = "送信中"; + +/* Class = "WKInterfaceLabel"; text = "SPEED"; ObjectID = "HGe-sg-FuE"; */ +"HGe-sg-FuE.text" = "速度"; + +/* Class = "WKInterfaceLabel"; text = "Alert Label"; ObjectID = "IdU-wH-bcW"; */ +"IdU-wH-bcW.text" = "Alert Label"; + +/* Class = "WKInterfaceLabel"; text = "File Name"; ObjectID = "Nkq-Do-muS"; */ +"Nkq-Do-muS.text" = "ファイル名"; + +/* Class = "WKInterfaceButton"; title = "Save"; ObjectID = "Yfa-t6-5Sk"; */ +"Yfa-t6-5Sk.title" = "保存"; + +/* Class = "WKInterfaceButton"; title = "Start Tracking"; ObjectID = "exN-t4-It8"; */ +"exN-t4-It8.title" = "記録開始"; + +/* Class = "WKInterfaceLabel"; text = "altValue"; ObjectID = "fLq-xh-Kj9"; */ +"fLq-xh-Kj9.text" = "altValue"; + +/* Class = "WKInterfaceButton"; title = "Reset"; ObjectID = "g9l-MU-PFV"; */ +"g9l-MU-PFV.title" = "リセット"; + +/* Class = "WKInterfaceLabel"; text = "0m"; ObjectID = "jLD-vq-fZz"; */ +"jLD-vq-fZz.text" = "0m"; + +/* Class = "WKInterfaceButton"; title = "📍"; ObjectID = "juk-oB-3vV"; */ +"juk-oB-3vV.title" = "📍"; + +/* Class = "WKInterfaceLabel"; text = "COORDINATES"; ObjectID = "oWE-ge-dGJ"; */ +"oWE-ge-dGJ.text" = "座標"; + +/* Class = "WKInterfaceLabel"; text = "ALTITUDE"; ObjectID = "sOz-Cs-O7T"; */ +"sOz-Cs-O7T.text" = "高度"; + +/* Class = "WKInterfaceLabel"; text = "coordinatesLabel"; ObjectID = "wh4-cP-QA2"; */ +"wh4-cP-QA2.text" = "coordinatesLabel"; + +/* Class = "WKInterfaceLabel"; text = "00:00"; ObjectID = "xum-IR-If6"; */ +"xum-IR-If6.text" = "00:00"; diff --git a/OpenGpxTracker.xcodeproj/project.pbxproj b/OpenGpxTracker.xcodeproj/project.pbxproj index 921723b1..a9b4bcb3 100644 --- a/OpenGpxTracker.xcodeproj/project.pbxproj +++ b/OpenGpxTracker.xcodeproj/project.pbxproj @@ -183,6 +183,12 @@ 836B1BAC2E7DC69900285130 /* ViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewControllerTests.swift; sourceTree = ""; }; 836B1BAE2E7DC7D500285130 /* MapCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MapCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 836B1BB22E7DC7E900285130 /* CoreGPX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CoreGPX.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 83AA000100000000000000A1 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/LaunchScreen.strings; sourceTree = ""; }; + 83AA000100000000000000A2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; + 83AA000100000000000000A3 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Interface.strings; sourceTree = ""; }; + 83AA000100000000000000A4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + 83AA000100000000000000A5 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; + 83AA000100000000000000A6 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; 84DE40602499509900ED7D6D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; 84DE40612499509900ED7D6D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Interface.strings; sourceTree = ""; }; 84DE40622499509900ED7D6D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; @@ -648,6 +654,7 @@ nl, "pt-BR", it, + ja, ); mainGroup = 898EECCC19C49B5800B4B207; packageReferences = ( @@ -847,6 +854,7 @@ 0175AC0523F01519003323C3 /* de */, 0175AC0723F01523003323C3 /* es */, 12A804A92656CE8200CA77C6 /* pt-BR */, + 83AA000100000000000000A1 /* ja */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -865,6 +873,7 @@ 1262DD9824F9568F00B5C2EA /* nl */, 12A804AD2656CE8300CA77C6 /* pt-BR */, 892A57402838A865003FE8C5 /* it */, + 83AA000100000000000000A5 /* ja */, ); name = InfoPlist.strings; sourceTree = ""; @@ -882,6 +891,7 @@ 12D4905724C448540065D995 /* fr */, 1262DD9924F9568F00B5C2EA /* nl */, 12A804AE2656CE8300CA77C6 /* pt-BR */, + 83AA000100000000000000A6 /* ja */, ); name = InfoPlist.strings; sourceTree = ""; @@ -900,6 +910,7 @@ 12D4905424C448540065D995 /* fr */, 1262DD9624F9568F00B5C2EA /* nl */, 12A804AB2656CE8300CA77C6 /* pt-BR */, + 83AA000100000000000000A3 /* ja */, ); name = Interface.storyboard; sourceTree = ""; @@ -912,6 +923,7 @@ 898E2BDD23129FE000DC4E3F /* es */, BFF3047A2312D8A00012D263 /* zh-Hans */, 12A804AA2656CE8200CA77C6 /* pt-BR */, + 83AA000100000000000000A2 /* ja */, ); name = Main.storyboard; sourceTree = ""; @@ -930,6 +942,7 @@ 1262DD9724F9568F00B5C2EA /* nl */, 12A804AC2656CE8300CA77C6 /* pt-BR */, 892A573F2838A81C003FE8C5 /* it */, + 83AA000100000000000000A4 /* ja */, ); name = Localizable.strings; sourceTree = ""; diff --git a/OpenGpxTracker/ja.lproj/InfoPlist.strings b/OpenGpxTracker/ja.lproj/InfoPlist.strings new file mode 100644 index 00000000..f0879f7a --- /dev/null +++ b/OpenGpxTracker/ja.lproj/InfoPlist.strings @@ -0,0 +1,11 @@ +/* + InfoPlist.strings + OpenGpxTracker + + Japanese Translation created on 2026.03.27. +*/ + +NSLocationAlwaysAndWhenInUseUsageDescription = "位置情報は地図上にあなたの現在地を表示するためにのみ使用されます。アプリがバックグラウンドでも位置情報を記録するには「常に許可」を選択してください。"; +NSLocationAlwaysUsageDescription = "アプリがバックグラウンドでもGPXトラックを作成するために、位置情報が必要です。"; +NSLocationUsageDescription = "GPXの作成とPOIの追加に位置情報が必要です。"; +NSLocationWhenInUseUsageDescription = "地図上であなたの現在地と移動履歴を表示するために位置情報を使用します。"; diff --git a/OpenGpxTracker/ja.lproj/LaunchScreen.strings b/OpenGpxTracker/ja.lproj/LaunchScreen.strings new file mode 100644 index 00000000..7d6ed34e --- /dev/null +++ b/OpenGpxTracker/ja.lproj/LaunchScreen.strings @@ -0,0 +1,6 @@ + +/* Class = "UILabel"; text = "OPEN GPX TRACKER"; ObjectID = "GJd-Yh-RWb"; */ +"GJd-Yh-RWb.text" = "OPEN GPX TRACKER"; + +/* Class = "UILabel"; text = "Things"; ObjectID = "WFR-OC-9dl"; */ +"WFR-OC-9dl.text" = "Things"; diff --git a/OpenGpxTracker/ja.lproj/Localizable.strings b/OpenGpxTracker/ja.lproj/Localizable.strings new file mode 100644 index 00000000..8f3e3cc6 --- /dev/null +++ b/OpenGpxTracker/ja.lproj/Localizable.strings @@ -0,0 +1,163 @@ +/* + Localizable.strings + OpenGpxTracker + + Japanese Translation created on 2026.03.27. + */ + +// App +"NO_LOCATION" = "位置情報を取得できません"; +"START_TRACKING" = "記録開始"; +"PAUSE" = "一時停止"; +"RESUME" = "再開"; +"SAVE" = "保存"; +"RESET" = "リセット"; +"DONE" = "完了"; +"CANCEL" = "キャンセル"; +"WATCH_FILE_RECEIVED_TITLE" = "Apple Watchからファイルを受信しました"; +"WATCH_FILE_RECEIVED_MESSAGE" = "受信したファイル: \"%@\""; +"SAVE_AS" = "名前を付けて保存"; +"ENTER_SESSION_NAME" = "GPXセッション名を入力"; +"LOCATION_SERVICES_DISABLED" = "位置情報サービスが無効です"; +"ENABLE_LOCATION_SERVICES" = "設定アプリを開き、位置情報サービスを有効にしてください。"; +"SETTINGS" = "設定"; +"ACCESS_TO_LOCATION_DENIED" = "位置情報へのアクセスが拒否されました"; +"ALLOW_LOCATION" = "設定アプリの位置情報で、GPX Trackerに「常に許可」を選択してください。"; +"COORDS_LABEL" = "(%@, %@) · 高度: %@"; +"NO_FILES" = "GPXファイルがありません"; +"YOUR_FILES" = "GPXファイル一覧"; +"LAST_SAVED" = "最終保存 %@ (%@)"; +"DELETE" = "削除"; +"SELECT_OPTION" = "オプションを選択"; +"LOAD_IN_MAP" = "地図に表示"; +"SHARE" = "共有"; +"LOADING_FILE" = "GPXファイルを読み込み中..."; +"ABOUT" = "このアプリについて"; + +// Preferences +"PREFERENCES" = "設定"; +"UNITS" = "単位"; +"SCREEN" = "画面"; +"KEEP_SCREEN_ALWAYS_ON" = "画面を常にオンにしますか?"; +"SHOW_SCALE_BAR" = "スケールバーを表示しますか?"; +"CACHE" = "キャッシュ"; +"CALCULATING" = "計算中..."; +"MAP_SOURCE" = "地図ソース"; +"ACTIVITY_TYPE" = "アクティビティタイプ"; +"USE_IMPERIAL_UNITS" = "ヤード・ポンド法を使用しますか?"; +"OFFLINE_CACHE" = "オフラインキャッシュ"; +"CLEAR_CACHE" = "キャッシュを消去"; +"CACHE_IS_EMPTY" = "キャッシュは空です"; +"EDIT_WAYPOINT_NAME_TITLE" = "ウェイポイント名を編集"; +"EDIT_WAYPOINT_NAME_MESSAGE" = "ヒント: ウェイポイントの位置を変更するには、ピンをドラッグ&ドロップしてください"; +"GPX_FILES_FOLDER" = "GPXファイルフォルダ"; +"USING_DEFAULT_FOLDER" = "デフォルトフォルダを使用中"; +"LAST_SESSION_LOADED" = "前回のセッションを読み込みました"; + +// Watch +"SENDING" = "送信中:"; +"X_FILES" = "%d件のファイル"; +"SUCCESSFULLY_SENT" = "送信完了:"; +"FAILED_TO_SEND" = "送信失敗:"; +"SEND_TO_IOS" = "iOSアプリに送信"; +"FILE_SELECTED_TITLE" = "GPXファイルを選択しました"; +"FILE_SELECTED_MESSAGE" = "どのように処理しますか?"; +"ERROR_OCCURED_TITLE" = "エラーが発生しました"; +"ERROR_OCCURED_MESSAGE" = "GPXファイルをiOSアプリに送信できませんでした。原因: %s "; +"GPX_TRACKER" = "GPX Tracker"; +"FILE_SAVED_TITLE" = "GPXファイルを保存しました"; +"FILE_SAVED_MESSAGE" = "現在のセッションを %s.gpx として保存しました"; + +// Activities +"AT_AUTOMATIC" = "自動"; +"AT_AUTOMOTIVE" = "自動車ナビ"; +"AT_FITNESS" = "フィットネス"; +"AT_OTHER" = "その他のナビ"; +"AT_FLIGHT" = "フライト"; + +"AT_AUTOMATIC_DESC" = "システムデフォルト。モードを自動選択します"; +"AT_AUTOMOTIVE_DESC" = "自動車、バイク、トラック..."; +"AT_FITNESS_DESC" = "ランニング、ハイキング、サイクリング..."; +"AT_OTHER_DESC" = "自動車以外のナビゲーション"; +"AT_FLIGHT_DESC" = "航空アクティビティ"; + +// Dates +"T_YEARS_AGO" = "%d年前"; +"T_YEAR_AGO" = "1年前"; +"T_LAST_YEAR" = "昨年"; + +"T_MONTHS_AGO" = "%dか月前"; +"T_MONTH_AGO" = "1か月前"; +"T_LAST_MONTH" = "先月"; + +"T_WEEKS_AGO" = "%d週間前"; +"T_WEEK_AGO" = "1週間前"; +"T_LAST_WEEK" = "先週"; + +"T_DAYS_AGO" = "%d日前"; +"T_DAY_AGO" = "1日前"; +"T_YESTERDAY" = "昨日"; + +"T_HOURS_AGO" = "%d時間前"; +"T_HOUR_AGO" = "1時間前"; +"T_LAST_HOUR" = "1時間以内"; + +"T_MINUTES_AGO" = "%d分前"; +"T_MINUTE_AGO" = "1分前"; +"T_MINUTE_HOUR" = "1分前"; + +"T_SECONDS_AGO" = "%d秒前"; + +"T_JUST_NOW" = "たった今"; + +// CoreDataHelper + +"CONTINUE_SESSION_TITLE" = "前回のセッションを続けますか?"; +"CONTINUE_SESSION_MESSAGE" = "前回のセッションから復元されたデータをどのように処理しますか?"; + +"CONTINUE_SESSION" = "セッションを続ける"; +"SAVE_START_NEW" = "保存して新規開始"; + +// Default File Name + +// in preferences section +"DEFAULT_NAME_SECTION" = "デフォルトファイル名の設定"; + +// in default name editor view +"DEFAULT_NAME_DATE_FORMAT" = "ファイル名の形式"; +"DEFAULT_NAME_SETTINGS" = "設定"; +"DEFAULT_NAME_PRESET" = "プリセット"; + +"DEFAULT_NAME_INPUT_FOOTER" = "キーボードの「完了」をタップすると、プリセットまたはカスタムに関わらず日付形式が保存されます。日付形式は { ... } で囲む必要があります。日付形式の構文の一覧については、Unicode Technical Standard (UTS) #35を参照してください。"; + +"DEFAULT_NAME_SAMPLE_OUTPUT_TITLE" = "サンプル: "; +"DEFAULT_NAME_USE_UTC" = "UTC時刻を使用しますか?"; +"DEFAULT_NAME_ENGLISH_LOCALE" = "英語の日付形式を使用しますか?"; + +// DateFieldTypeView +"YEAR" = "年"; +"MONTH" = "月"; +"DAY" = "日"; +"HOUR" = "時"; +"MINUTE" = "分"; +"SECOND" = "秒"; +"DAY_OF_THE_WEEK" = "曜日"; +"TIME_OF_DAY" = "午前/午後"; +"WEEK" = "週"; +"QUARTER" = "四半期"; +"ERA" = "時代"; +"TIME_ZONE" = "タイムゾーン"; + +"SINGLE_DIGIT" = "1桁"; +"FULL_TEXT" = "全文"; +"TEXT" = "テキスト"; + +"OF_MONTH" = "月の"; +"OF_YEAR" = "年の"; + +"ABBR_GMT" = "略称 / GMT"; +"UTC_OFFSET" = "UTCオフセット"; +"GMT_SHORT" = "GMT短縮"; +"GMT_FULL" = "GMT完全"; +"LOCATION" = "地域"; +"LOCATION_TIME" = "地域の時刻"; diff --git a/OpenGpxTracker/ja.lproj/Main.strings b/OpenGpxTracker/ja.lproj/Main.strings new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/OpenGpxTracker/ja.lproj/Main.strings @@ -0,0 +1 @@ + diff --git a/README.md b/README.md index 8ee75131..0d7bb371 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ You can use Open GPX tracker for: - Clear cache - Select the map server - Darkmode - - Multi-language support (thanks to volunteers): German, English, Spanish, Finnish, French, Italian, Dutch, Portuguese (Brazil), Russian, Ukranian and Chinese (simplified) + - Multi-language support (thanks to volunteers): German, English, Spanish, Finnish, French, Italian, Japanese, Dutch, Portuguese (Brazil), Russian, Ukranian and Chinese (simplified) ### Apple Watch Features (since 1.6.0) - Create GPX Files on your Apple Watch