From 7f8f4006e67c557ce63f71659b5d44cb855fa4bf Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 7 Mar 2022 10:19:38 +0900 Subject: [PATCH] l10n: ja --- CHANGELOG.md | 1 + README.md | 2 +- .../app/src/main/res/values-ja/strings.xml | 10 + lib/l10n/app_de.arb | 3 +- lib/l10n/app_en.arb | 15 +- lib/l10n/app_es.arb | 3 +- lib/l10n/app_fr.arb | 3 +- lib/l10n/app_id.arb | 3 +- lib/l10n/app_ja.arb | 575 ++++++++++++++++++ lib/l10n/app_ko.arb | 3 +- lib/l10n/app_pt.arb | 3 +- lib/l10n/app_ru.arb | 3 +- lib/widgets/about/credits.dart | 18 +- lib/widgets/settings/language/locales.dart | 1 + 14 files changed, 605 insertions(+), 38 deletions(-) create mode 100644 android/app/src/main/res/values-ja/strings.xml create mode 100644 lib/l10n/app_ja.arb diff --git a/CHANGELOG.md b/CHANGELOG.md index d2b5d14f9..b0ff37121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file. - Viewer: optional thumbnail preview - Video: optional gestures to play/seek - Video: mute action +- Japanese translation (thanks Maki) ### Changed diff --git a/README.md b/README.md index 4f17a28bb..3c6d54aa9 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ At this stage this project does *not* accept PRs, except for translations. ### Translations -If you want to translate this app in your language and share the result, [there is a guide](https://github.com/deckerst/aves/wiki/Contributing-to-Translations). English, Korean and French are already handled by me. Russian, German, Spanish, Portuguese & Indonesian are handled by generous volunteers. +If you want to translate this app in your language and share the result, [there is a guide](https://github.com/deckerst/aves/wiki/Contributing-to-Translations). English, Korean and French are already handled by me. Russian, German, Spanish, Portuguese, Indonesian & Japanese are handled by generous volunteers. ### Donations diff --git a/android/app/src/main/res/values-ja/strings.xml b/android/app/src/main/res/values-ja/strings.xml new file mode 100644 index 000000000..3c2f5d93e --- /dev/null +++ b/android/app/src/main/res/values-ja/strings.xml @@ -0,0 +1,10 @@ + + +アヴェス +検索 +動画 +メディアスキャン +画像と動画をスキャン +メディアをスキャン中 +停止 + \ No newline at end of file diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 0370d0d6a..633b13c3b 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -264,8 +264,7 @@ "aboutCredits": "Credits", "aboutCreditsWorldAtlas1": "Diese Anwendung verwendet eine TopoJSON-Datei von", "aboutCreditsWorldAtlas2": "unter ISC-Lizenz.", - "aboutCreditsTranslators": "Übersetzer:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "Übersetzer", "aboutLicenses": "Open-Source-Lizenzen", "aboutLicensesBanner": "Diese Anwendung verwendet die folgenden Open-Source-Pakete und -Bibliotheken.", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 032c04226..bfcd0e5f5 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -394,20 +394,7 @@ "aboutCredits": "Credits", "aboutCreditsWorldAtlas1": "This app uses a TopoJSON file from", "aboutCreditsWorldAtlas2": "under ISC License.", - "aboutCreditsTranslators": "Translators:", - "aboutCreditsTranslatorLine": "{language}: {names}", - "@aboutCreditsTranslatorLine": { - "placeholders": { - "language": { - "type": "String", - "example": "Sumerian" - }, - "names": { - "type": "String", - "example": "Reggie Lampert" - } - } - }, + "aboutCreditsTranslators": "Translators", "aboutLicenses": "Open-Source Licenses", "aboutLicensesBanner": "This app uses the following open-source packages and libraries.", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 4a554fc0d..fce109f26 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -259,8 +259,7 @@ "aboutCredits": "Créditos", "aboutCreditsWorldAtlas1": "Esta aplicación usa un archivo TopoJSON de", "aboutCreditsWorldAtlas2": "bajo licencia ISC.", - "aboutCreditsTranslators": "Traductores:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "Traductores", "aboutLicenses": "Licencias de código abierto", "aboutLicensesBanner": "Esta aplicación usa los siguientes paquetes y librerías de código abierto.", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index e507f20cc..1c9be0f58 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -264,8 +264,7 @@ "aboutCredits": "Remerciements", "aboutCreditsWorldAtlas1": "Cette app utilise un fichier TopoJSON de ", "aboutCreditsWorldAtlas2": "sous licence ISC.", - "aboutCreditsTranslators": "Traducteurs :", - "aboutCreditsTranslatorLine": "{language} : {names}", + "aboutCreditsTranslators": "Traducteurs", "aboutLicenses": "Licences open-source", "aboutLicensesBanner": "Cette app utilise ces librairies et packages open-source.", diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 133e2b96b..93a384738 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -257,8 +257,7 @@ "aboutCredits": "Kredit", "aboutCreditsWorldAtlas1": "Aplikasi ini menggunakan file TopoJSON dari", "aboutCreditsWorldAtlas2": "dibawah Lisensi ISC.", - "aboutCreditsTranslators": "Penerjemah:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "Penerjemah", "aboutLicenses": "Lisensi Sumber Terbuka", "aboutLicensesBanner": "Aplikasi ini menggunakan paket dan perpustakaan sumber terbuka berikut.", diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb new file mode 100644 index 000000000..acc36340d --- /dev/null +++ b/lib/l10n/app_ja.arb @@ -0,0 +1,575 @@ +{ + "appName": "アヴェス", + "welcomeMessage": "アヴェスへようこそ", + "welcomeOptional": "オプション", + "welcomeTermsToggle": "利用規約に同意する", + "itemCount": "{count, plural, other{{count} 件のアイテム}}", + + "timeSeconds": "{seconds, plural, other{{seconds} 秒}}", + "timeMinutes": "{minutes, plural, other{{minutes} 分}}", + "timeDays": "{days, plural, other{{days} 日}}", + "focalLength": "{length} mm", + + "applyButtonLabel": "適用", + "deleteButtonLabel": "削除", + "nextButtonLabel": "次へ", + "showButtonLabel": "表示", + "hideButtonLabel": "非表示", + "continueButtonLabel": "続ける", + + "cancelTooltip": "キャンセル", + "changeTooltip": "変更", + "clearTooltip": "クリア", + "previousTooltip": "前へ", + "nextTooltip": "次へ", + "showTooltip": "表示する", + "hideTooltip": "非表示にする", + "actionRemove": "削除", + "resetButtonTooltip": "リセット", + + "doubleBackExitMessage": "終了するには「戻る」をもう一度タップしてください。", + "doNotAskAgain": "今後このメッセージを表示しない", + + "sourceStateLoading": "読み込み中", + "sourceStateCataloguing": "分類中", + "sourceStateLocatingCountries": "国、地域を確認中", + "sourceStateLocatingPlaces": "場所を確認中", + + "chipActionDelete": "削除", + "chipActionGoToAlbumPage": "アルバム別に表示", + "chipActionGoToCountryPage": "国地域別に表示", + "chipActionGoToTagPage": "タグ別に表示", + "chipActionHide": "非表示", + "chipActionPin": "一番上に固定", + "chipActionUnpin": "一番上への固定を解除", + "chipActionRename": "名前を変更", + "chipActionSetCover": "カバーを設定", + "chipActionCreateAlbum": "アルバムを作成", + + "entryActionCopyToClipboard": "クリップボードにコピー", + "entryActionDelete": "削除", + "entryActionConvert": "変換", + "entryActionExport": "エクスポート", + "entryActionRename": "名前を変更", + "entryActionRestore": "元に戻す", + "entryActionRotateCCW": "反時計回りに回転", + "entryActionRotateCW": "時計回りに回転", + "entryActionFlip": "水平方向に反転", + "entryActionPrint": "印刷", + "entryActionShare": "共有", + "entryActionViewSource": "ソースを表示", + "entryActionViewMotionPhotoVideo": "モーションフォトを開く", + "entryActionEdit": "編集", + "entryActionOpen": "アプリで開く", + "entryActionSetAs": "登録", + "entryActionOpenMap": "地図アプリで表示", + "entryActionRotateScreen": "画面を回転", + "entryActionAddFavourite": "お気に入りに追加", + "entryActionRemoveFavourite": "お気に入りから削除", + + "videoActionCaptureFrame": "フレームをキャプチャ", + "videoActionMute": "ミュート", + "videoActionUnmute": "ミュート解除", + "videoActionPause": "一時停止", + "videoActionPlay": "再生", + "videoActionReplay10": "10 秒前に戻る", + "videoActionSkip10": "10 秒前に進む", + "videoActionSelectStreams": "トラックを選択", + "videoActionSetSpeed": "再生速度", + "videoActionSettings": "設定", + + "entryInfoActionEditDate": "日時を編集", + "entryInfoActionEditLocation": "位置情報を編集", + "entryInfoActionEditRating": "評価を編集", + "entryInfoActionEditTags": "タグを編集", + "entryInfoActionRemoveMetadata": "メタデータを削除", + + "filterBinLabel": "ごみ箱", + "filterFavouriteLabel": "お気に入り", + "filterLocationEmptyLabel": "位置情報なし", + "filterTagEmptyLabel": "タグ情報なし", + "filterRatingUnratedLabel": "評価情報なし", + "filterRatingRejectedLabel": "拒否されました", + "filterTypeAnimatedLabel": "アニメーション", + "filterTypeMotionPhotoLabel": "モーションフォト", + "filterTypePanoramaLabel": "パノラマ", + "filterTypeRawLabel": "Raw", + "filterTypeSphericalVideoLabel": "360° 動画", + "filterTypeGeotiffLabel": "GeoTIFF", + "filterMimeImageLabel": "画像", + "filterMimeVideoLabel": "動画", + + "coordinateFormatDms": "度分秒", + "coordinateFormatDecimal": "十進角", + "coordinateDms": "{direction}{coordinate}", + "coordinateDmsNorth": "北緯", + "coordinateDmsSouth": "南緯", + "coordinateDmsEast": "東経", + "coordinateDmsWest": "西経", + + "unitSystemMetric": "メートル法", + "unitSystemImperial": "ヤード・ポンド法", + + "videoLoopModeNever": "ループ再生しない", + "videoLoopModeShortOnly": "短い動画のみループ再生", + "videoLoopModeAlways": "常にループ再生", + + "videoControlsPlay": "再生", + "videoControlsPlaySeek": "再生&早送り/早戻し", + "videoControlsPlayOutside": "他のプレイヤーで開く", + "videoControlsNone": "なし", + + "mapStyleGoogleNormal": "Google マップ", + "mapStyleGoogleHybrid": "Google マップ(ハイブリッド)", + "mapStyleGoogleTerrain": "Google マップ(地形)", + "mapStyleOsmHot": "人道支援 OSM", + "mapStyleStamenToner": "Stamen Toner", + "mapStyleStamenWatercolor": "Stamen Watercolor", + + "nameConflictStrategyRename": "名前を変更", + "nameConflictStrategyReplace": "置換", + "nameConflictStrategySkip": "スキップ", + + "keepScreenOnNever": "自動オフ", + "keepScreenOnViewerOnly": "ビューアー使用時のみオン", + "keepScreenOnAlways": "常にオン", + + "accessibilityAnimationsRemove": "画面エフェクトを利用しない", + "accessibilityAnimationsKeep": "画面エフェクトを利用", + + "albumTierNew": "新規", + "albumTierPinned": "固定", + "albumTierSpecial": "全体", + "albumTierApps": "アプリ", + "albumTierRegular": "その他", + + "storageVolumeDescriptionFallbackPrimary": "内蔵ストレージ", + "storageVolumeDescriptionFallbackNonPrimary": "SD カード", + "rootDirectoryDescription": "ルート ディレクトリ", + "otherDirectoryDescription": "“{name}” ディレクトリ", + "storageAccessDialogTitle": "ストレージ アクセス", + "storageAccessDialogMessage": "このアプリにアクセスを許可するために次の画面で {directory} の “{volume}” を選択してください。", + "restrictedAccessDialogTitle": "アクセス制限", + "restrictedAccessDialogMessage": "このアプリは {directory} の “{volume}” にあるファイルを変更できません。\n\nプリインストールされているファイル マネージャまたはギャラリー アプリを使用して他のディレクトリに移動してください。", + "notEnoughSpaceDialogTitle": "容量不足", + "notEnoughSpaceDialogMessage": "この操作には “{volume}” に {neededSize} の容量が必要ですが、 残り {freeSize} のみ利用可能です。", + "missingSystemFilePickerDialogTitle": "システム ファイル ピッカーが見つかりません", + "missingSystemFilePickerDialogMessage": "システム ファイル ピッカーが見つからないか、利用できません。利用可能にしてから再度お試しください。", + + "unsupportedTypeDialogTitle": "対応していないタイプ", + "unsupportedTypeDialogMessage": "{count, plural, other{この操作は次のタイプのアイテムには対応していません: {types}.}}", + + "nameConflictDialogSingleSourceMessage": "目的フォルダに同じ名前のファイルが存在しています。", + "nameConflictDialogMultipleSourceMessage": "同じ名前のファイルが存在しています。", + + "addShortcutDialogLabel": "ショートカット ラベル", + "addShortcutButtonLabel": "追加", + + "noMatchingAppDialogTitle": "一致するアプリなし", + "noMatchingAppDialogMessage": "処理できるアプリが見つかりません。", + + "binEntriesConfirmationDialogMessage": "{count, plural, =1{このアイテムをごみ箱に移動しますか?} other{{count} 件のアイテムをごみ箱に移動しますか?}}", + "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{このアイテムを削除しますか?} other{{count} 件のアイテムを削除しますか?}}", + + "videoResumeDialogMessage": " {time} の時点から再生を再開しますか?", + "videoStartOverButtonLabel": "最初から再生", + "videoResumeButtonLabel": "再開", + + "setCoverDialogTitle": "カバーを設定", + "setCoverDialogLatest": "最新のアイテム", + "setCoverDialogCustom": "カスタム", + + "hideFilterConfirmationDialogMessage": "一致する写真と動画はコレクションに表示されなくなります。「プライバシー」設定からいつでもアイテムを表示できます。\n\nこれらのアイテムを非表示にしますか?", + + "newAlbumDialogTitle": "新規アルバム", + "newAlbumDialogNameLabel": "アルバム名", + "newAlbumDialogNameLabelAlreadyExistsHelper": "ディレクトリが既に存在します", + "newAlbumDialogStorageLabel": "ストレージ:", + + "renameAlbumDialogLabel": "新しい名前", + "renameAlbumDialogLabelAlreadyExistsHelper": "ディレクトリが既に存在します", + + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{このアルバムとアルバム内のアイテムを削除しますか?} other{このアルバムとアルバム内の {count} 件のアイテムを削除しますか?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{これらのアルバムとアルバム内のアイテムを削除しますか?} other{これらのアルバムとアルバム内の {count} 件のアイテムを削除しますか?}}", + + "exportEntryDialogFormat": "形式:", + "exportEntryDialogWidth": "幅", + "exportEntryDialogHeight": "高さ", + + "renameEntryDialogLabel": "新しい名前", + + "editEntryDateDialogTitle": "日時", + "editEntryDateDialogSetCustom": "日を設定する", + "editEntryDateDialogCopyField": "他の日からコピーする", + "editEntryDateDialogExtractFromTitle": "タイトルから抽出する", + "editEntryDateDialogShift": "シフト", + "editEntryDateDialogSourceFileModifiedDate": "ファイル更新日", + "editEntryDateDialogTargetFieldsHeader": "更新するフィールド", + "editEntryDateDialogHours": "時", + "editEntryDateDialogMinutes": "分", + + "editEntryLocationDialogTitle": "位置情報", + "editEntryLocationDialogChooseOnMapTooltip": "地図上で選択", + "editEntryLocationDialogLatitude": "緯度", + "editEntryLocationDialogLongitude": "経度", + + "locationPickerUseThisLocationButton": "この位置情報を使用", + + "editEntryRatingDialogTitle": "評価", + + "removeEntryMetadataDialogTitle": "メタデータの削除", + "removeEntryMetadataDialogMore": "もっと見る", + + "removeEntryMetadataMotionPhotoXmpWarningDialogMessage": "モーションフォト内の動画を再生するには XMP が必要です。\n\n削除しますか?", + + "videoSpeedDialogLabel": "再生速度", + + "videoStreamSelectionDialogVideo": "動画", + "videoStreamSelectionDialogAudio": "音声", + "videoStreamSelectionDialogText": "字幕", + "videoStreamSelectionDialogOff": "オフ", + "videoStreamSelectionDialogTrack": "トラック", + "videoStreamSelectionDialogNoSelection": "他にトラックはありません。", + + "genericSuccessFeedback": "完了しました!", + "genericFailureFeedback": "エラー", + + "menuActionConfigureView": "表示", + "menuActionSelect": "選択", + "menuActionSelectAll": "すべて選択", + "menuActionSelectNone": "選択を解除", + "menuActionMap": "地図", + "menuActionStats": "統計", + + "viewDialogTabSort": "並べ替え", + "viewDialogTabGroup": "グループ", + "viewDialogTabLayout": "レイアウト", + + "tileLayoutGrid": "グリッド表示", + "tileLayoutList": "リスト表示", + + "aboutPageTitle": "アプリについて", + "aboutLinkSources": "ソース", + "aboutLinkLicense": "ライセンス", + "aboutLinkPolicy": "プライバシー ポリシー", + + "aboutBug": "バグの報告", + "aboutBugSaveLogInstruction": "アプリのログをファイルに保存", + "aboutBugSaveLogButton": "保存", + "aboutBugCopyInfoInstruction": "システム情報をコピー", + "aboutBugCopyInfoButton": "コピー", + "aboutBugReportInstruction": "ログとシステム情報とともに GitHub で報告", + "aboutBugReportButton": "報告", + + "aboutCredits": "クレジット", + "aboutCreditsWorldAtlas1": "このアプリは TopoJSON ファイルを", + "aboutCreditsWorldAtlas2": "ISC License の下使用しています。", + "aboutCreditsTranslators": "翻訳", + + "aboutLicenses": "オープンソース ライセンス", + "aboutLicensesBanner": "このアプリは下記のオープンソース パッケージおよびライブラリを使用しています。", + "aboutLicensesAndroidLibraries": "Android ライブラリ", + "aboutLicensesFlutterPlugins": "Flutter プラグイン", + "aboutLicensesFlutterPackages": "Flutter パッケージ", + "aboutLicensesDartPackages": "Dart パッケージ", + "aboutLicensesShowAllButtonLabel": "すべてのライセンスを表示", + + "policyPageTitle": "プライバシー ポリシー", + + "collectionPageTitle": "コレクション", + "collectionPickPageTitle": "ピック", + "collectionSelectPageTitle": "アイテムを選択", + + "collectionActionShowTitleSearch": "タイトル名フィルターを表示", + "collectionActionHideTitleSearch": "タイトル名フィルターを非表示", + "collectionActionAddShortcut": "ショートカットを追加", + "collectionActionEmptyBin": "ごみ箱を空にする", + "collectionActionCopy": "アルバムにコピー", + "collectionActionMove": "アルバムに移動", + "collectionActionRescan": "再スキャン", + "collectionActionEdit": "編集", + + "collectionSearchTitlesHintText": "タイトルを検索", + + "collectionSortDate": "日付", + "collectionSortSize": "サイズ", + "collectionSortName": "アルバムとファイル名", + "collectionSortRating": "評価", + + "collectionGroupAlbum": "アルバム別", + "collectionGroupMonth": "月別", + "collectionGroupDay": "日別", + "collectionGroupNone": "グループ化しない", + + "sectionUnknown": "不明", + "dateToday": "今日", + "dateYesterday": "昨日", + "dateThisMonth": "今月", + "collectionDeleteFailureFeedback": "{count, plural, other{{count} 件のアイテムを削除できませんでした}}", + "collectionCopyFailureFeedback": "{count, plural, other{{count} 件のアイテムをコピーできませんでした}}", + "collectionMoveFailureFeedback": "{count, plural, other{{count} 件のアイテムを移動できませんでした}}", + "collectionEditFailureFeedback": "{count, plural, other{{count} 件のアイテムを編集できませんでした}}", + "collectionExportFailureFeedback": "{count, plural, other{{count} ページをエクスポートできませんでした}}", + "collectionCopySuccessFeedback": "{count, plural, other{{count} 件のアイテムをコピーしました}}", + "collectionMoveSuccessFeedback": "{count, plural, other{{count} 件のアイテムを移動しました}}", + "collectionEditSuccessFeedback": "{count, plural, other{{count} 件のアイテムを編集しました}}", + + "collectionEmptyFavourites": "お気に入りはありません", + "collectionEmptyVideos": "動画はありません", + "collectionEmptyImages": "画像はありません", + + "collectionSelectSectionTooltip": "セクションを選択", + "collectionDeselectSectionTooltip": "セクションの選択を解除", + + "drawerCollectionAll": "すべてのコレクション", + "drawerCollectionFavourites": "お気に入り", + "drawerCollectionImages": "画像", + "drawerCollectionVideos": "動画", + "drawerCollectionAnimated": "アニメーション", + "drawerCollectionMotionPhotos": "モーションフォト", + "drawerCollectionPanoramas": "パノラマ", + "drawerCollectionRaws": "Raw 写真", + "drawerCollectionSphericalVideos": "360° 動画", + + "chipSortDate": "日付", + "chipSortName": "名前", + "chipSortCount": "アイテム件数", + + "albumGroupTier": "階層別", + "albumGroupVolume": "ストレージ ボリューム別", + "albumGroupNone": "グループ化しない", + + "albumPickPageTitleCopy": "アルバムにコピー", + "albumPickPageTitleExport": "アルバムにエクスポート", + "albumPickPageTitleMove": "アルバムに移動", + "albumPickPageTitlePick": "アルバムを選択", + + "albumCamera": "カメラ", + "albumDownload": "ダウンロード", + "albumScreenshots": "スクリーンショット", + "albumScreenRecordings": "画面録画", + "albumVideoCaptures": "動画キャプチャ", + + "albumPageTitle": "アルバム", + "albumEmpty": "アルバムはありません", + "createAlbumTooltip": "アルバムを作成", + "createAlbumButtonLabel": "作成", + "newFilterBanner": "新規", + + "countryPageTitle": "国", + "countryEmpty": "国はありません", + + "tagPageTitle": "タグ", + "tagEmpty": "タグはありません", + + "binPageTitle": "ごみ箱", + + "searchCollectionFieldHint": "コレクションを検索", + "searchSectionRecent": "最近", + "searchSectionAlbums": "アルバム", + "searchSectionCountries": "国", + "searchSectionPlaces": "場所", + "searchSectionTags": "タグ", + "searchSectionRating": "評価", + + "settingsPageTitle": "設定", + "settingsSystemDefault": "システム", + "settingsDefault": "デフォルト", + + "settingsActionExport": "エクスポート", + "settingsActionImport": "インポート", + + "appExportCovers": "カバー", + "appExportFavourites": "お気に入り", + "appExportSettings": "設定", + + "settingsSectionNavigation": "ナビゲーション", + "settingsHome": "ホーム", + "settingsKeepScreenOnTile": "画面表示をオンのままにする", + "settingsKeepScreenOnTitle": "画面表示をオンのままにする", + "settingsDoubleBackExit": "「戻る」を2回タップして終了", + + "settingsConfirmationDialogTile": "確認メッセージ", + "settingsConfirmationDialogTitle": "確認メッセージ", + "settingsConfirmationDialogDeleteItems": "アイテムを完全に削除する前に確認", + "settingsConfirmationDialogMoveToBinItems": "アイテムをごみ箱に移動する前に確認", + + "settingsNavigationDrawerTile": "ナビゲーション メニュー", + "settingsNavigationDrawerEditorTitle": "ナビゲーション メニュー", + "settingsNavigationDrawerBanner": "メニュー項目を長押しして、移動および並べ替え", + "settingsNavigationDrawerTabTypes": "タイプ", + "settingsNavigationDrawerTabAlbums": "アルバム", + "settingsNavigationDrawerTabPages": "ページ", + "settingsNavigationDrawerAddAlbum": "アルバムを追加", + + "settingsSectionThumbnails": "サムネイル", + "settingsThumbnailShowFavouriteIcon": "お気に入りアイコンを表示", + "settingsThumbnailShowLocationIcon": "位置情報アイコンを表示", + "settingsThumbnailShowMotionPhotoIcon": "モーションフォトアイコンを表示", + "settingsThumbnailShowRating": "評価情報を表示", + "settingsThumbnailShowRawIcon": "Raw アイコンを表示", + "settingsThumbnailShowVideoDuration": "動画の再生時間を表示", + + "settingsCollectionQuickActionsTile": "クイック アクション", + "settingsCollectionQuickActionEditorTitle": "クイック アクション", + "settingsCollectionQuickActionTabBrowsing": "ブラウズ中", + "settingsCollectionQuickActionTabSelecting": "選択中", + "settingsCollectionBrowsingQuickActionEditorBanner": "長押ししてボタンを移動しアイテムを閲覧中に表示されるアクションを選択します。", + "settingsCollectionSelectionQuickActionEditorBanner": "長押ししてボタンを移動しアイテムを選択中に表示されるアクションを選択します。", + + "settingsSectionViewer": "ビューアー", + "settingsViewerUseCutout": "切り取り領域を使用", + "settingsViewerMaximumBrightness": "明るさ最大", + "settingsMotionPhotoAutoPlay": "モーションフォト自動再生", + "settingsImageBackground": "画像背景", + + "settingsViewerQuickActionsTile": "クイックアクション", + "settingsViewerQuickActionEditorTitle": "クイックアクション", + "settingsViewerQuickActionEditorBanner": "長押ししてボタンを移動しビューアーで表示されるアクションを選択します。", + "settingsViewerQuickActionEditorDisplayedButtons": "表示ボタン", + "settingsViewerQuickActionEditorAvailableButtons": "利用可能なボタン", + "settingsViewerQuickActionEmpty": "ボタンなし", + + "settingsViewerOverlayTile": "オーバーレイ", + "settingsViewerOverlayTitle": "オーバーレイ", + "settingsViewerShowOverlayOnOpening": "最初に表示", + "settingsViewerShowMinimap": "小さな地図を表示", + "settingsViewerShowInformation": "情報を表示", + "settingsViewerShowInformationSubtitle": "タイトル、日付、位置情報、その他を表示", + "settingsViewerShowShootingDetails": "撮影詳細を表示", + "settingsViewerShowOverlayThumbnails": "サムネイルを表示", + "settingsViewerEnableOverlayBlurEffect": "ぼかし効果", + + "settingsVideoPageTitle": "動画設定", + "settingsSectionVideo": "動画", + "settingsVideoShowVideos": "動画を表示", + "settingsVideoEnableHardwareAcceleration": "ハードウェア アクセラレーション", + "settingsVideoEnableAutoPlay": "自動再生", + "settingsVideoLoopModeTile": "ループ モード", + "settingsVideoLoopModeTitle": "ループ モード", + + "settingsVideoQuickActionsTile": "動画のクイック アクション", + "settingsVideoQuickActionEditorTitle": "クイック アクション", + "settingsSubtitleThemeTile": "字幕", + "settingsSubtitleThemeTitle": "字幕", + "settingsSubtitleThemeSample": "これはサンプルです。", + "settingsSubtitleThemeTextAlignmentTile": "テキストの配置", + "settingsSubtitleThemeTextAlignmentTitle": "テキストの配置", + "settingsSubtitleThemeTextSize": "テキストのサイズ", + "settingsSubtitleThemeShowOutline": "アウトラインと影を表示", + "settingsSubtitleThemeTextColor": "テキストの色", + "settingsSubtitleThemeTextOpacity": "テキストの不透明度", + "settingsSubtitleThemeBackgroundColor": "背景色", + "settingsSubtitleThemeBackgroundOpacity": "背景の不透明度", + "settingsSubtitleThemeTextAlignmentLeft": "左揃え", + "settingsSubtitleThemeTextAlignmentCenter": "中央揃え", + "settingsSubtitleThemeTextAlignmentRight": "右揃え", + + "settingsVideoControlsTile": "操作", + "settingsVideoControlsTitle": "操作", + "settingsVideoButtonsTile": "ボタン", + "settingsVideoButtonsTitle": "ボタン", + "settingsVideoGestureDoubleTapTogglePlay": "2回タップして再生/一時停止", + "settingsVideoGestureSideDoubleTapSeek": "画面の角を2回タップして早送り/早戻し", + + "settingsSectionPrivacy": "プライバシー", + "settingsAllowInstalledAppAccess": "アプリのインベントリへのアクセスを許可する", + "settingsAllowInstalledAppAccessSubtitle": "アルバム表示の改善に使用されます", + "settingsAllowErrorReporting": "匿名でのエラー報告を許可する", + "settingsSaveSearchHistory": "検索履歴を保存", + "settingsEnableBin": "ごみ箱を使用", + "settingsEnableBinSubtitle": "削除したアイテムを30日間保持します", + + "settingsHiddenItemsTile": "非表示アイテム", + "settingsHiddenItemsTitle": "非表示アイテム", + + "settingsHiddenFiltersTitle": "非表示フィルター", + "settingsHiddenFiltersBanner": "非表示のフィルターに一致する写真と動画は、コレクションに表示されません。", + "settingsHiddenFiltersEmpty": "非表示フィルターがありません", + + "settingsHiddenPathsTitle": "非表示パス", + "settingsHiddenPathsBanner": "これらのフォルダまたはそのサブフォルダにある写真と動画は、コレクションに表示されません。", + "addPathTooltip": "パスを追加", + + "settingsStorageAccessTile": "ストレージへのアクセス", + "settingsStorageAccessTitle": "ストレージへのアクセス", + "settingsStorageAccessBanner": "ディレクトリによっては保存されているファイルの編集のためにアクセスを許可する必要があります。これまでにアクセスを許可したディレクトりはこちらで確認できます。", + "settingsStorageAccessEmpty": "許可したアクセスはありません", + "settingsStorageAccessRevokeTooltip": "許可を取り消し", + + "settingsSectionAccessibility": "アクセシビリティ", + "settingsRemoveAnimationsTile": "アニメーションの削除", + "settingsRemoveAnimationsTitle": "アニメーションの削除", + "settingsTimeToTakeActionTile": "操作までの時間", + "settingsTimeToTakeActionTitle": "操作までの時間", + + "settingsSectionLanguage": "言語と形式", + "settingsLanguage": "言語", + "settingsCoordinateFormatTile": "座標形式", + "settingsCoordinateFormatTitle": "座標形式", + "settingsUnitSystemTile": "単位", + "settingsUnitSystemTitle": "単位", + + "statsPageTitle": "統計", + "statsWithGps": "{count, plural, other{位置情報のあるアイテム {count} 件}}", + "statsTopCountries": "上位の国", + "statsTopPlaces": "上位の場所", + "statsTopTags": "上位のタグ", + + "viewerOpenPanoramaButtonLabel": "パノラマを開く", + "viewerErrorUnknown": "エラー", + "viewerErrorDoesNotExist": "ファイルが存在しません。", + + "viewerInfoPageTitle": "情報", + "viewerInfoBackToViewerTooltip": "ビューアーに戻る", + + "viewerInfoUnknown": "不明", + "viewerInfoLabelTitle": "タイトル", + "viewerInfoLabelDate": "日付", + "viewerInfoLabelResolution": "解像度", + "viewerInfoLabelSize": "サイズ", + "viewerInfoLabelUri": "URI", + "viewerInfoLabelPath": "パス", + "viewerInfoLabelDuration": "再生時間", + "viewerInfoLabelOwner": "所有者", + "viewerInfoLabelCoordinates": "座標", + "viewerInfoLabelAddress": "アドレス", + + "mapStyleTitle": "地図のスタイル", + "mapStyleTooltip": "地図のスタイルを選択", + "mapZoomInTooltip": "ズームイン", + "mapZoomOutTooltip": "ズームアウト", + "mapPointNorthUpTooltip": "北が上になるように表示", + "mapAttributionOsmHot": "地図データ © [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors • Tiles by [HOT](https://www.hotosm.org/) • Hosted by [OSM France](https://openstreetmap.fr/)", + "mapAttributionStamen": "地図データ © [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors • Tiles by [Stamen Design](http://stamen.com), [CC BY 3.0](http://creativecommons.org/licenses/by/3.0)", + "openMapPageTooltip": "地図ページで表示", + "mapEmptyRegion": "この地域の画像はありません", + + "viewerInfoOpenEmbeddedFailureFeedback": "埋め込みデータを抽出できませんでした", + "viewerInfoOpenLinkText": "開く", + "viewerInfoViewXmlLinkText": "XML を表示", + + "viewerInfoSearchFieldLabel": "メタデータを検索", + "viewerInfoSearchEmpty": "一致するキーはありません", + "viewerInfoSearchSuggestionDate": "日時", + "viewerInfoSearchSuggestionDescription": "説明", + "viewerInfoSearchSuggestionDimensions": "寸法", + "viewerInfoSearchSuggestionResolution": "解像度", + "viewerInfoSearchSuggestionRights": "権限", + + "tagEditorPageTitle": "タグの編集", + "tagEditorPageNewTagFieldLabel": "新しいタグ", + "tagEditorPageAddTagTooltip": "タグを追加", + "tagEditorSectionRecent": "最近", + + "panoramaEnableSensorControl": "センサー制御を有効にする", + "panoramaDisableSensorControl": "センサー制御を無効にする", + + "sourceViewerPageTitle": "ソース", + + "filePickerShowHiddenFiles": "非表示のファイルを表示する", + "filePickerDoNotShowHiddenFiles": "非表示のファイルを表示しない", + "filePickerOpenFrom": "次から開く", + "filePickerNoItems": "アイテムはありません", + "filePickerUseThisFolder": "このフォルダを使用" +} diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index cde3cdb25..b5a4fd993 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -264,8 +264,7 @@ "aboutCredits": "크레딧", "aboutCreditsWorldAtlas1": "이 앱은", "aboutCreditsWorldAtlas2": "의 TopoJSON 파일(ISC 라이선스)을 이용합니다.", - "aboutCreditsTranslators": "번역가:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "번역가", "aboutLicenses": "오픈 소스 라이선스", "aboutLicensesBanner": "이 앱은 다음의 오픈 소스 패키지와 라이브러리를 이용합니다.", diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index b99ae0a8c..55b03d590 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -264,8 +264,7 @@ "aboutCredits": "Créditos", "aboutCreditsWorldAtlas1": "Este aplicativo usa um arquivo de TopoJSON", "aboutCreditsWorldAtlas2": "sob licença ISC.", - "aboutCreditsTranslators": "Tradutores:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "Tradutores", "aboutLicenses": "Licenças de código aberto", "aboutLicensesBanner": "Este aplicativo usa os seguintes pacotes e bibliotecas de código aberto.", diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 0c0f8e7d8..633ca3a4e 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -264,8 +264,7 @@ "aboutCredits": "Благодарности", "aboutCreditsWorldAtlas1": "Это приложение использует файл TopoJSON из", "aboutCreditsWorldAtlas2": "под лицензией ISC.", - "aboutCreditsTranslators": "Переводчики:", - "aboutCreditsTranslatorLine": "{language}: {names}", + "aboutCreditsTranslators": "Переводчики", "aboutLicenses": "Лицензии с открытым исходным кодом", "aboutLicensesBanner": "Это приложение использует следующие пакеты и библиотеки с открытым исходным кодом.", diff --git a/lib/widgets/about/credits.dart b/lib/widgets/about/credits.dart index 83b89e9a2..9008c2fd1 100644 --- a/lib/widgets/about/credits.dart +++ b/lib/widgets/about/credits.dart @@ -1,6 +1,7 @@ import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/common/basic/link_chip.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; +import 'package:aves/widgets/viewer/info/common.dart'; import 'package:flutter/material.dart'; class AboutCredits extends StatelessWidget { @@ -12,6 +13,7 @@ class AboutCredits extends StatelessWidget { 'Español (México)': 'n-berenice', 'Português (Brasil)': 'Jonatas De Almeida Barros', 'Русский': 'D3ZOXY', + '日本語': 'Maki', }; @override @@ -45,16 +47,14 @@ class AboutCredits extends StatelessWidget { ], ), ), - const SizedBox(height: 16), - Text(l10n.aboutCreditsTranslators), - ...translators.entries.map( - (kv) { - return Padding( - padding: const EdgeInsetsDirectional.only(start: 8, top: 8), - child: Text(l10n.aboutCreditsTranslatorLine(kv.key, kv.value)), - ); - }, + ConstrainedBox( + constraints: const BoxConstraints(minHeight: 48), + child: Align( + alignment: AlignmentDirectional.centerStart, + child: Text(l10n.aboutCreditsTranslators, style: Constants.titleTextStyle), + ), ), + const InfoRowGroup(info: translators), const SizedBox(height: 16), ], ), diff --git a/lib/widgets/settings/language/locales.dart b/lib/widgets/settings/language/locales.dart index 29d60600a..9018db893 100644 --- a/lib/widgets/settings/language/locales.dart +++ b/lib/widgets/settings/language/locales.dart @@ -7,6 +7,7 @@ class SupportedLocales { 'es': 'Español (México)', 'fr': 'Français', 'id': 'Bahasa Indonesia', + 'ja': '日本語', 'ko': '한국어', 'pt': 'Português (Brasil)', 'ru': 'Русский',