diff --git a/frontend/locales/en-US.json b/frontend/locales/en-US.json
index 19163d9e9ed..58111ae065e 100644
--- a/frontend/locales/en-US.json
+++ b/frontend/locales/en-US.json
@@ -1,5 +1,4 @@
{
- "auto": "Automatic",
"3DFormat": "3D format",
"NoMediaSourcesAvailable": "No media sources available",
"actor": "Actor",
@@ -25,6 +24,7 @@
"aspectRatio": "Aspect ratio",
"audio": "Audio",
"audioCodecNotSupported": "The audio codec is not supported",
+ "auto": "Automatic",
"badRequest": "Bad request. Try again",
"books": "Books",
"browserNotSupported": "Your browser is not supported for playing this file.",
@@ -34,6 +34,9 @@
"byArtist": "By {artist}",
"cancel": "Cancel",
"castAndCrew": "Cast & crew",
+ "clipboardFail": "Failed to copy to clipboard",
+ "clipboardSuccess": "Copied to clipboard",
+ "close": "Close",
"collectionEmpty": "This collection is empty",
"collections": "Collections",
"communityRating": "Community rating",
@@ -58,6 +61,12 @@
"disabled": "Disabled",
"discNumber": "Disc {discNumber}",
"dislikes": "Dislikes",
+ "download": {
+ "copyStreamUrl": "Copy Stream URL",
+ "download": "Download",
+ "downloadAll": "Download all",
+ "failureToGetURL": "Failed to get URL for selected item"
+ },
"edit": "Edit",
"editMetadata": "Edit metadata",
"editPerson": "Edit person",
@@ -198,20 +207,66 @@
"name": "Audio channels:"
},
"audioCodec": {
- "name": "Audio codec:"
- },
- "bitrate": {
- "name": "Bitrate:"
- },
- "container": {
- "name": "Container:"
+ "channels": "Channels:",
+ "layout": "Layout:",
+ "name": "Audio codec:",
+ "sampleRate": "Sample rate:",
+ "titles": "Audio | Audio {0}"
+ },
+ "embeddedImageCodec": {
+ "name": "Image codec:",
+ "titles": "Image | Image {0}"
+ },
+ "generic": {
+ "bitrate": "Bitrate:",
+ "codec": "Codec:",
+ "codecTag": "Codec tag:",
+ "container": "Container:",
+ "default": "Default:",
+ "external": "External:",
+ "forced": "Forced:",
+ "language": "Language:",
+ "path": "Path:",
+ "profile": "Profile:",
+ "size": "Size:",
+ "title": "Title:"
},
"name": "Media",
"subtitleCodec": {
- "name": "Subtitle codec:"
+ "name": "Subtitle codec:",
+ "titles": "Subtitle | Subtitle {0}"
},
+ "title": "Media Info",
"videoCodec": {
- "name": "Video codec:"
+ "DoVi": {
+ "blPresent": "DV bl preset flag:",
+ "blSignalCompatibilityId": "DV bl signal compatibility ID:",
+ "elPresent": "DV el preset flag:",
+ "level": "DV level:",
+ "majorVersion": "DV version major:",
+ "minorVersion": "DV version minor:",
+ "profile": "DV profile:",
+ "rpuPresent": "DV rpu preset flag:",
+ "title": "DV title:"
+ },
+ "aspectRatio": "Aspect ratio:",
+ "bitdepth": "Bit depth:",
+ "colorPrimaries": "Color primaries:",
+ "colorRange": "Color range:",
+ "colorSpace": "Color space:",
+ "colorTransfer": "Color transfer:",
+ "frameRate": "Framerate:",
+ "isAnamorphic": "Anamorphic:",
+ "isAvc": "AVC:",
+ "isInterlaced": "Interlaced:",
+ "level": "Level:",
+ "name": "Video codec:",
+ "pixelFormat": "Pixel format:",
+ "refFrames": "Ref frames:",
+ "resolution": "Resolution:",
+ "titles": "Video | Video {0}",
+ "videoRange": "Video range:",
+ "videoRangeType": "Video range type:"
}
},
"menu": "Menu",
@@ -337,9 +392,9 @@
"refreshKeysFailure": "Error refreshing API keys",
"revoke": "Revoke",
"revokeAll": "Revoke all API keys",
- "revokeConfirm": "Confirm API key revocation",
"revokeAllFailure": "Error revoking all API keys",
"revokeAllSuccess": "Successfully revoked all API keys",
+ "revokeConfirm": "Confirm API key revocation",
"revokeFailure": "Error revoking API key",
"revokeSuccess": "Successfully revoked API key"
},
@@ -348,9 +403,9 @@
"appVersion": "App version",
"delete": "Delete",
"deleteAll": "Delete all",
- "deleteConfirm": "Confirm device deletion",
"deleteAllDevicesError": "Error deleting all devices",
"deleteAllDevicesSuccess": "All devices deleted successfully",
+ "deleteConfirm": "Confirm device deletion",
"deleteDeviceError": "Error deleting device",
"deleteDeviceSuccess": "Device deleted successfully",
"deviceName": "Device name",
@@ -465,9 +520,9 @@
"themeVideo": "Theme Video",
"tooltips": {
"changeLanguage": "Language",
+ "switchToAuto": "Follow system theme",
"switchToDarkMode": "Switch to dark mode",
- "switchToLightMode": "Switch to light mode",
- "switchToAuto": "Follow system theme"
+ "switchToLightMode": "Switch to light mode"
},
"trailer": "Trailer",
"transcodingInfo": {
@@ -512,7 +567,6 @@
"undefined": "Undefined",
"unexpectedError": "Unexpected error",
"unhandledException": "Unhandled exception",
- "unknown": "Unknown",
"units": {
"bitrate": {
"kbps": "{value} kbps",
@@ -522,6 +576,7 @@
"seconds": "{count} second | {count} seconds"
}
},
+ "unknown": "Unknown",
"unliked": "Unliked",
"unplayed": "Unplayed",
"upNext": "Up next",
diff --git a/frontend/src/components/Item/ItemMenu.vue b/frontend/src/components/Item/ItemMenu.vue
index fbe2a8e8ea0..dd3fb8f0ec7 100644
--- a/frontend/src/components/Item/ItemMenu.vue
+++ b/frontend/src/components/Item/ItemMenu.vue
@@ -36,6 +36,10 @@
v-if="item.Id"
v-model:dialog="metadataDialog"
:item-id="item.Id" />
+
+ {{ displayName }}
+
+
+
+ {{ t('mediaInfo.videoCodec.titles', [idx + 1], videoStreams.length) }}
+
+
+
+
+ {{ t('mediaInfo.audioCodec.titles', [idx + 1], audioStreams.length) }}
+
+
+
+
+ {{
+ t('mediaInfo.subtitleCodec.titles', [idx + 1], subsStreams.length)
+ }}
+
+
+
+
+ {{
+ t(
+ 'mediaInfo.embeddedImageCodec.titles',
+ [idx + 1],
+ embeddedStreams.length
+ )
+ }}
+
+
+