From 9306c8aa4c9bed1657758e2453a3af25966a70c6 Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Sun, 15 Jan 2023 17:38:27 +0800 Subject: [PATCH] sync i18n --- developer-notes.md | 2 +- public/locales/en/translation.json | 58 ++++++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 7 deletions(-) diff --git a/developer-notes.md b/developer-notes.md index 1688be79..5e148ad9 100644 --- a/developer-notes.md +++ b/developer-notes.md @@ -88,6 +88,6 @@ npx license-checker --summary ``` npm run generate-licenses -#cp licenses.txt losslesscut.mifi.no/public// +#cp licenses.txt losslesscut.mifi.no/public/ ``` Then deploy. diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 8858b3d7..0d5b1774 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -3,6 +3,7 @@ "(detected)": "(detected)", "<0> <2> or <4>I <6>O to set cutpoints": "<0> <2> or <4>I <6>O to set cutpoints", "A mismatch was detected in at least one file. You may proceed, but the resulting file might not be playable.": "A mismatch was detected in at least one file. You may proceed, but the resulting file might not be playable.", + "Abort": "Abort", "About LosslessCut": "About LosslessCut", "Accurate time but could leave an empty portion at the beginning of the video. Equiv to": "Accurate time but could leave an empty portion at the beginning of the video. Equiv to", "Add cut segment": "Add cut segment", @@ -47,9 +48,14 @@ "CUE files": "CUE files", "CUE sheet file": "CUE sheet file", "Cancel": "Cancel", + "Capture every single frame as an image": "Capture every single frame as an image", + "Capture exactly one image every nth frame": "Capture exactly one image every nth frame", + "Capture exactly one image every nth second": "Capture exactly one image every nth second", "Capture frame": "Capture frame", "Capture frame format": "Capture frame format", + "Capture frames that differ the most from the previous frame": "Capture frames that differ the most from the previous frame", "Capture snapshot": "Capture snapshot", + "Capture the best image every nth second": "Capture the best image every nth second", "Change order of segment": "Change order of segment", "Change output <1>Format from <3>MP4 to <5>MOV": "Change output <1>Format from <3>MP4 to <5>MOV", "Change rotation": "Change rotation", @@ -58,6 +64,8 @@ "Chapters": "Chapters", "Chapters only": "Chapters only", "Check compatibility": "Check compatibility", + "Check for updates": "Check for updates", + "Check for updates on startup?": "Check for updates on startup?", "Check to hide notifications": "Check to hide notifications", "Choose cutting mode: Remove or keep selected segments from video when exporting?": "Choose cutting mode: Remove or keep selected segments from video when exporting?", "Cleaning up": "Cleaning up", @@ -74,6 +82,7 @@ "Close sidebar": "Close sidebar", "Codec": "Codec", "Combination is invalid": "Combination is invalid", + "Combine overlapping segments": "Combine overlapping segments", "Common formats:": "Common formats:", "Confirm": "Confirm", "Confirm quit": "Confirm quit", @@ -88,6 +97,7 @@ "Create fixed duration segments": "Create fixed duration segments", "Create num segments": "Create num segments", "Create random segments": "Create random segments", + "Create segments from keyframes": "Create segments from keyframes", "Current frame has been set as cover art": "Current frame has been set as cover art", "Current setting": "Current setting", "Current time": "Current time", @@ -109,7 +119,11 @@ "Depending on your specific file/player, you may have to try different options for best results.": "Depending on your specific file/player, you may have to try different options for best results.", "Deselect all segments": "Deselect all segments", "Detect black scenes": "Detect black scenes", + "Detect scene changes": "Detect scene changes", + "Detect silent scenes": "Detect silent scenes", "Detecting black scenes": "Detecting black scenes", + "Detecting scene changes": "Detecting scene changes", + "Detecting silent scenes": "Detecting silent scenes", "Disable unnecessary <1>Tracks": "Disable unnecessary <1>Tracks", "Disables shifting of timestamp.": "Disables shifting of timestamp.", "Discard": "Discard", @@ -129,7 +143,6 @@ "Don't modify": "Don't modify", "Don't show dialog again until restarting app": "Don't show dialog again until restarting app", "Done": "Done", - "Done! Note: cutpoints may be inaccurate. Make sure you test the output files in your desired player/editor before you delete the source. If output does not look right, see the HELP page.": "Done! Note: cutpoints may be inaccurate. Make sure you test the output files in your desired player/editor before you delete the source. If output does not look right, see the HELP page.", "Download {{version}}": "Download {{version}}", "Duration": "Duration", "Duration has been fixed": "Duration has been fixed", @@ -139,18 +152,26 @@ "Edit track metadata": "Edit track metadata", "Edit track {{trackNum}} metadata": "Edit track {{trackNum}} metadata", "Edit tracks / metadata tags": "Edit tracks / metadata tags", + "Enable HEVC / H265 hardware decoding (you may need to turn this off if you have problems with HEVC files)": "Enable HEVC / H265 hardware decoding (you may need to turn this off if you have problems with HEVC files)", + "Enable HEVC hardware decoding": "Enable HEVC hardware decoding", "Enable MOV Faststart?": "Enable MOV Faststart?", "Enable experimental ffmpeg features flag?": "Enable experimental ffmpeg features flag?", "Enable this to allow faster playback of the resulting file. This may cause processing to take a little longer": "Enable this to allow faster playback of the resulting file. This may cause processing to take a little longer", "Enables shifting when required by the target format.": "Enables shifting when required by the target format.", "End": "End", "End current segment at current time": "End current segment at current time", + "Enter a decimal number between 0 and 1 (sane values are 0.3 - 0.5)": "Enter a decimal number between 0 and 1 (sane values are 0.3 - 0.5)", "Enter metadata key": "Enter metadata key", + "Enter parameters": "Enter parameters", + "Enter the max number of seconds between each image (decimal)": "Enter the max number of seconds between each image (decimal)", + "Enter the number of frames between each image (integer)": "Enter the number of frames between each image (integer)", + "Enter the number of seconds between each image (decimal)": "Enter the number of seconds between each image (decimal)", "Enter value": "Enter value", "Exit": "Exit", "Experimental flag": "Experimental flag", "Export": "Export", "Export each track as individual files": "Export each track as individual files", + "Export is done!": "Export is done!", "Export options": "Export options", "Export project": "Export project", "Export project (LLC)...": "Export project (LLC)...", @@ -161,10 +182,10 @@ "Export+merge": "Export+merge", "Exporting": "Exporting", "Extract": "Extract", - "Extract all frames": "Extract all frames", - "Extract all frames as images": "Extract all frames as images", - "Extract all frames in segment as images": "Extract all frames in segment as images", "Extract all tracks": "Extract all tracks", + "Extract frames as image files": "Extract frames as image files", + "Extract frames from segment as image files": "Extract frames from segment as image files", + "Extract frames of the selected segment as images?": "Extract frames of the selected segment as images?", "Extract this track as file": "Extract this track as file", "Extract unprocessable tracks to separate files or discard them?": "Extract unprocessable tracks to separate files or discard them?", "Extracting all streams": "Extracting all streams", @@ -173,11 +194,14 @@ "Extraneous track {{index}}": "Extraneous track {{index}}", "FAQ": "FAQ", "FCPXML files": "FCPXML files", + "FFmpeg": "FFmpeg", "Failed to batch convert to supported format": "Failed to batch convert to supported format", "Failed to capture frame": "Failed to capture frame", "Failed to convert file. Try a different conversion": "Failed to convert file. Try a different conversion", "Failed to convert files:": "Failed to convert files:", "Failed to detect black scenes": "Failed to detect black scenes", + "Failed to detect scene changes": "Failed to detect scene changes", + "Failed to detect silent scenes": "Failed to detect silent scenes", "Failed to export project": "Failed to export project", "Failed to extract all streams": "Failed to extract all streams", "Failed to extract track": "Failed to extract track", @@ -197,7 +221,9 @@ "File": "File", "File compatibility check is not enabled, so the merge operation might not produce a valid output. Enable \"Check compatibility\" below to check file compatibility before merging.": "File compatibility check is not enabled, so the merge operation might not produce a valid output. Enable \"Check compatibility\" below to check file compatibility before merging.", "File info": "File info", + "File names of extracted video frames": "File names of extracted video frames", "File not natively supported. Preview may have no audio or low quality. The final export will however be lossless with audio. You may convert it from the menu for a better preview with audio.": "File not natively supported. Preview may have no audio or low quality. The final export will however be lossless with audio. You may convert it from the menu for a better preview with audio.", + "File number": "File number", "Files merged!": "Files merged!", "Fill gaps between segments": "Fill gaps between segments", "Final Cut Pro FCPX / FCPXML": "Final Cut Pro FCPX / FCPXML", @@ -209,12 +235,15 @@ "Frame counts": "Frame counts", "Frame fractions": "Frame fractions", "Frame numbers (CSV)": "Frame numbers (CSV)", + "Frame timestamp": "Frame timestamp", "Frames extracted to: {{path}}": "Frames extracted to: {{path}}", + "HTML video tag": "HTML video tag", "Help": "Help", "Hide informational notifications?": "Hide informational notifications?", "Hover mouse over buttons in the main interface to see which function they have": "Hover mouse over buttons in the main interface to see which function they have", "How to use": "How to use", "If nothing helps, you can send an <1>Error report": "If nothing helps, you can send an <1>Error report", + "If output does not look right, see the Help menu.": "If output does not look right, see the Help menu.", "If this is checked, all audio/video/subtitle/data tracks will be included. This may not always work for all file types. If not checked, only default streams will be included.": "If this is checked, all audio/video/subtitle/data tracks will be included. This may not always work for all file types. If not checked, only default streams will be included.", "Ignore chapters": "Ignore chapters", "Import chapters": "Import chapters", @@ -256,6 +285,7 @@ "Keep?": "Keep?", "Key frames will show on the timeline. You need to zoom in to view them": "Key frames will show on the timeline. You need to zoom in to view them", "Keyboard & mouse shortcuts": "Keyboard & mouse shortcuts", + "Keyboard, mouse and input": "Keyboard, mouse and input", "Keyframe cut": "Keyframe cut", "Keyframe cut disabled": "Keyframe cut disabled", "Keyframe cut enabled": "Keyframe cut enabled", @@ -290,6 +320,7 @@ "Merging": "Merging", "Millisecond fractions": "Millisecond fractions", "Minimize": "Minimize", + "Minimum change between two frames to be considered a new scene. A value between 0.3 and 0.5 is generally a sane choice.": "Minimum change between two frames to be considered a new scene. A value between 0.3 and 0.5 is generally a sane choice.", "Mismatches detected": "Mismatches detected", "Mouse scroll/wheel left/right": "Mouse scroll/wheel left/right", "Mouse scroll/wheel up/down": "Mouse scroll/wheel up/down", @@ -308,8 +339,10 @@ "Normal cut": "Normal cut", "Not all formats support all track types, and LosslessCut is unable to properly cut some track types, so you may have to sacrifice some tracks by disabling them in order to get correct result.": "Not all formats support all track types, and LosslessCut is unable to properly cut some track types, so you may have to sacrifice some tracks by disabling them in order to get correct result.", "Note that also other settings from the normal export dialog apply to this merge function. For more information about all options, see the export dialog.": "Note that also other settings from the normal export dialog apply to this merge function. For more information about all options, see the export dialog.", + "Note that depending on input parameters, up to {{estimatedMaxNumFiles}} files may be produced!": "Note that depending on input parameters, up to {{estimatedMaxNumFiles}} files may be produced!", "Note: Cutting and including external tracks at the same time does not yet work. If you want to do both, it must be done as separate operations. See github issue #896.": "Note: Cutting and including external tracks at the same time does not yet work. If you want to do both, it must be done as separate operations. See github issue #896.", "Note: Keyframe cut is recommended for most common files": "Note: Keyframe cut is recommended for most common files", + "Note: cutpoints may be inaccurate. Please test the output files in your desired player/editor before you delete the source file.": "Note: cutpoints may be inaccurate. Please test the output files in your desired player/editor before you delete the source file.", "OK": "OK", "One frame back": "One frame back", "One frame forward": "One frame forward", @@ -319,6 +352,7 @@ "Open the file": "Open the file", "Open the file instead of the current one": "Open the file instead of the current one", "Options": "Options", + "Options affecting exported files": "Options affecting exported files", "Other operations": "Other operations", "Output actions": "Output actions", "Output container format:": "Output container format:", @@ -326,6 +360,7 @@ "Output file name": "Output file name", "Output file name template results in duplicate file names (you are trying to export multiple files with the same name.)": "Output file name template results in duplicate file names (you are trying to export multiple files with the same name.)", "Output file name will not be sanitized, and any special characters will be preserved. This may cause the export to fail and can cause other funny issues. Use at your own risk!": "Output file name will not be sanitized, and any special characters will be preserved. This may cause the export to fail and can cause other funny issues. Use at your own risk!", + "Output file names are not sanitized. Try to enable sanitazion or check your segment labels for invalid characters.": "Output file names are not sanitized. Try to enable sanitazion or check your segment labels for invalid characters.", "Output format": "Output format", "Output name(s):": "Output name(s):", "Overwrite existing files": "Overwrite existing files", @@ -343,7 +378,6 @@ "Playback rate:": "Playback rate:", "Please confirm folder": "Please confirm folder", "Please confirm that you want to extract all tracks as separate files": "Please confirm that you want to extract all tracks as separate files", - "Please confirm that you want to extract all {{numFrames}} frames as separate images": "Please confirm that you want to extract all {{numFrames}} frames as separate images", "Please create an issue at <1>https://github.com/mifi/lossless-cut/issues where you describe what you were doing.": "Please create an issue at <1>https://github.com/mifi/lossless-cut/issues where you describe what you were doing.", "Please input a valid duration. Example: {{example}}": "Please input a valid duration. Example: {{example}}", "Please input a valid format.": "Please input a valid format.", @@ -357,6 +391,7 @@ "Press confirm to grant LosslessCut permissions to write the project file (This is due to App Sandbox restrictions)": "Press confirm to grant LosslessCut permissions to write the project file (This is due to App Sandbox restrictions)", "Preview": "Preview", "Previous file": "Previous file", + "Prompts and dialogs": "Prompts and dialogs", "Redo": "Redo", "Remove": "Remove", "Remove current segment": "Remove current segment", @@ -406,7 +441,12 @@ "Set custom start offset/timecode": "Set custom start offset/timecode", "Set custom start time offset": "Set custom start time offset", "Set file modification date/time of output files to:": "Set file modification date/time of output files to:", + "Set minimum silence duration that will be converted into a segment.": "Set minimum silence duration that will be converted into a segment.", + "Set noise tolerance. Can be specified in dB (in case \"dB\" is appended to the specified value) or amplitude ratio. Default is -60dB, or 0.001.": "Set noise tolerance. Can be specified in dB (in case \"dB\" is appended to the specified value) or amplitude ratio. Default is -60dB, or 0.001.", "Set output rotation. Current: ": "Set output rotation. Current: ", + "Set the minimum detected black duration expressed in seconds. It must be a non-negative floating point number.": "Set the minimum detected black duration expressed in seconds. It must be a non-negative floating point number.", + "Set the threshold for considering a picture \"black\".": "Set the threshold for considering a picture \"black\".", + "Set the threshold for considering a pixel \"black\".": "Set the threshold for considering a pixel \"black\".", "Settings": "Settings", "Shift all segments on the timeline by this amount. Negative values will be shifted back, while positive value will be shifted forward in time.": "Shift all segments on the timeline by this amount. Negative values will be shifted back, while positive value will be shifted forward in time.", "Shift all segments on timeline": "Shift all segments on timeline", @@ -429,6 +469,9 @@ "Slowest: High quality encode": "Slowest: High quality encode", "Smart cut (experimental):": "Smart cut (experimental):", "Snapshot capture format": "Snapshot capture format", + "Snapshot capture method": "Snapshot capture method", + "Snapshot capture quality": "Snapshot capture quality", + "Snapshots and frame extraction": "Snapshots and frame extraction", "Something went wrong": "Something went wrong", "Sort items": "Sort items", "Source file's time": "Source file's time", @@ -456,6 +499,7 @@ "The video inside segments will be discarded, while the video surrounding them will be kept.": "The video inside segments will be discarded, while the video surrounding them will be kept.", "The video inside segments will be kept, while the video outside will be discarded.": "The video inside segments will be kept, while the video outside will be discarded.", "There is a known issue with cutting iPhone HEVC videos. The output file may not work in all players.": "There is a known issue with cutting iPhone HEVC videos. The output file may not work in all players.", + "There is a known problem with this file type, and the output might not be playable. You can work around this problem by enabling the \"Experimental flag\" under Settings.": "There is a known problem with this file type, and the output might not be playable. You can work around this problem by enabling the \"Experimental flag\" under Settings.", "There is an error in the file name template:": "There is an error in the file name template:", "These options will let you convert files to a format that is supported by the player. You can try different options and see which works with your file. Note that the conversion is for preview only. When you run an export, the output will still be lossless with full quality": "These options will let you convert files to a format that is supported by the player. You can try different options and see which works with your file. Note that the conversion is for preview only. When you run an export, the output will still be lossless with full quality", "This allows you to specify custom FFmpeg and FFprobe binaries to use. Make sure the \"ffmpeg\" and \"ffprobe\" executables exist in the same directory, and then select the directory.": "This allows you to specify custom FFmpeg and FFprobe binaries to use. Make sure the \"ffmpeg\" and \"ffprobe\" executables exist in the same directory, and then select the directory.", @@ -484,6 +528,7 @@ "Trash auto-generated files": "Trash auto-generated files", "Trash original source file": "Trash original source file", "Trash project LLC file": "Trash project LLC file", + "Tried to create too many segments (max {{maxSegmentsAllowed}}.)": "Tried to create too many segments (max {{maxSegmentsAllowed}}.)", "Troubleshooting": "Troubleshooting", "Try both <1>Normal cut and <3>Keyframe cut": "Try both <1>Normal cut and <3>Keyframe cut", "Try one of the following before exporting again:": "Try one of the following before exporting again:", @@ -492,6 +537,7 @@ "Unable to change playback rate right now": "Unable to change playback rate right now", "Unable to delete file: {{message}}": "Unable to delete file: {{message}}", "Unable to export this file": "Unable to export this file", + "Unable to export unprocessable streams.": "Unable to export unprocessable streams.", "Unable to move file to trash. Do you want to permanently delete it?": "Unable to move file to trash. Do you want to permanently delete it?", "Unable to playback this file. Try to convert to supported format from the menu": "Unable to playback this file. Try to convert to supported format from the menu", "Unable to save project file": "Unable to save project file", @@ -531,7 +577,7 @@ "You are running version {{version}}": "You are running version {{version}}", "You can customize the file name of the output segment(s) using special variables.": "You can customize the file name of the output segment(s) using special variables.", "You do not have permission to access this file": "You do not have permission to access this file", - "You have enabled the \"invert segments\" mode <1> which will cut away selected segments instead of keeping them. But there is no space between any segments, or at least two segments are overlapping. This would not produce any output. Either make room between segments or click the Yinyang <3> symbol below to disable this mode.": "You have enabled the \"invert segments\" mode <1> which will cut away selected segments instead of keeping them. But there is no space between any segments, or at least two segments are overlapping. This would not produce any output. Either make room between segments or click the Yinyang <3> symbol below to disable this mode.", + "You have enabled the \"invert segments\" mode <1> which will cut away selected segments instead of keeping them. But there is no space between any segments, or at least two segments are overlapping. This would not produce any output. Either make room between segments or click the Yinyang <3> symbol below to disable this mode. Alternatively you may combine overlapping segments from the menu.": "You have enabled the \"invert segments\" mode <1> which will cut away selected segments instead of keeping them. But there is no space between any segments, or at least two segments are overlapping. This would not produce any output. Either make room between segments or click the Yinyang <3> symbol below to disable this mode. Alternatively you may combine overlapping segments from the menu.", "You have no write access to the directory of this file": "You have no write access to the directory of this file", "You have no write access to the directory of this file, please select a custom working dir": "You have no write access to the directory of this file, please select a custom working dir", "You need to choose something!": "You need to choose something!",