From c95e4571af35aa633b54f55cfe7bf23b26266bb9 Mon Sep 17 00:00:00 2001 From: sr55 <sr55.hb@outlook.com> Date: Tue, 20 Dec 2016 21:55:34 +0000 Subject: [PATCH] WinGui: Improve many tooltips for 1.0 #426 --- .../Controls/SourceSelection.xaml | 5 +- .../Properties/ResourcesTooltips.Designer.cs | 256 ++++++++++++++++-- .../Properties/ResourcesTooltips.resx | 148 ++++++++-- win/CS/HandBrakeWPF/Views/FiltersView.xaml | 24 +- win/CS/HandBrakeWPF/Views/MainView.xaml | 17 +- .../Views/PictureSettingsView.xaml | 2 +- 6 files changed, 392 insertions(+), 60 deletions(-) diff --git a/win/CS/HandBrakeWPF/Controls/SourceSelection.xaml b/win/CS/HandBrakeWPF/Controls/SourceSelection.xaml index b719957e6..3722724e0 100644 --- a/win/CS/HandBrakeWPF/Controls/SourceSelection.xaml +++ b/win/CS/HandBrakeWPF/Controls/SourceSelection.xaml @@ -3,7 +3,8 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:cal="http://www.caliburnproject.org" xmlns:controls="clr-namespace:HandBrakeWPF.Controls" - xmlns:Properties="clr-namespace:HandBrakeWPF.Properties" x:Name="sourcePanel"> + xmlns:Properties="clr-namespace:HandBrakeWPF.Properties" x:Name="sourcePanel" + > <Grid Height="{Binding ElementName=sourcePanel, Path=ActualHeight}"> @@ -39,7 +40,7 @@ <StackPanel Orientation="Horizontal"> <TextBlock Text="{x:Static Properties:ResourcesUI.SourceSelection_ChooseSpecificTitle}" /> - <controls:NumberBox Width="60" Height="24" Margin="10,0,0,0" + <controls:NumberBox Width="60" Height="24" Margin="10,0,0,0" ToolTip="{x:Static Properties:ResourcesTooltips.SourceSelection_TitleSpecific}" Minimum="0" Maximum="5000" Number="{Binding TitleSpecificScan, Mode=TwoWay}" /> </StackPanel> diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs index 21211eaf2..ca1faa57d 100644 --- a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs +++ b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.Designer.cs @@ -61,8 +61,22 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to The deblocking filter removes a common type of compression artifact. - ///If your source exhibits 'blockiness', this filter may help clean it up.. + /// Looks up a localized string similar to Custom Denoise parameters. + /// + ///NLMeans syntax: y-strength=y:y-origin-tune=y:y-patch-size=y:y-range=y:y-frame-count=y:y-prefilter=y:cb-strength=c:cb-origin-tune=c:cb-patch-size=c:cb-range=c:cb-frame-count=c:cb-prefilter=c:cr-strength=c:cr-origin-tune=c:cr-patch-size=c:cr-range=c:cr-frame-count=c:cr-prefilter=c + /// + ///NLMeans default: y-strength=6:y-origin-tune=1:y-patch-size=7:y-range=3:y-frame-count=2:y-prefilter=0:cb-strength=6:cb-origin-tune=1:cb-patch-size=7:cb-range=3:cb-frame-count=2:cb-prefilter=0 + /// + ///HQDN [rest of string was truncated]";. + /// </summary> + public static string FilterView_CustomDenoiseParams { + get { + return ResourceManager.GetString("FilterView_CustomDenoiseParams", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Deblock reduces blocky artifacts caused by low quality video compression.. /// </summary> public static string FilterView_Deblock { get { @@ -86,9 +100,59 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Denoise filtering reduces or removes the appearance of noise and grain. - ///Film grain and other types of high frequency noise are difficult to compress. - ///Using this filter on such sources can result in smaller file sizes.. + /// Looks up a localized string similar to Deinterlace removes comb artifacts from the picture. + /// + ///Yadif is a popular and fast deinterlacer. + /// + ///Decomb switches between multiple interpolation algorithms for speed and quality.. + /// </summary> + public static string FilterView_Deinterlace { + get { + return ResourceManager.GetString("FilterView_Deinterlace", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Custom Deinterlace parameters. + /// + /// Yadif syntax: mode=m:parity=p + /// + /// Yadif default: mode=3 + /// + /// Decomb syntax: mode=m:magnitude-thresh=m:variance-thresh=v:laplacian-thresh=l:dilation-thresh=d:erosion-thresh=e:noise-thresh=n:search-distance=s:postproc=p:parity=p + /// + /// Decomb default: mode=7. + /// </summary> + public static string FilterView_DeinterlaceCustom { + get { + return ResourceManager.GetString("FilterView_DeinterlaceCustom", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Deinterlace filter preset. + /// + ///Default is well balanced for speed and quality. + /// + ///Skip Spatial Check lets Yadif skip correcting certain avoidable artifacts for a slight speed boost. + /// + ///EEDI2 uses a slower, higher quality interpolation algorithm for Decomb. Useful for the most difficult sources. + /// + ///Bob attempts to better preserve motion for a slight penalty to perceived resolution.. + /// </summary> + public static string FilterView_DeinterlacePreset { + get { + return ResourceManager.GetString("FilterView_DeinterlacePreset", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Denoise reduces or removes the appearance of noise and grain. This can improve compression efficiency and create higher quality video at smaller file sizes. + ///Overly strong Denoise settings may damage picture quality by discarding detail. + /// + ///NLMeans is a high quality denoise filter with a cost to speed. Use where quality is more important than speed. + /// + ///HQDN3D is an adaptive low-pass filter, faster than NLMeans but less effective at preserving fine detail.. /// </summary> public static string FilterView_Denoise { get { @@ -96,6 +160,34 @@ namespace HandBrakeWPF.Properties { } } + /// <summary> + /// Looks up a localized string similar to Denoise filter preset. Sets the strength of the filter.. + /// </summary> + public static string FilterView_DenoisePreset { + get { + return ResourceManager.GetString("FilterView_DenoisePreset", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Denoise tune. Further adjusts the Denoise preset to optimize settings for specific scenarios. + /// + ///- None uses the default preset settings. + /// + ///- Film refines settings for use with most live action content. + /// + ///- Grain only processes color channels. Useful for preserving the film-like look of luminance grain while reducing or removing color noise. + /// + ///- High Motion reduces color smearing in high motion scenes by avoiding temporal processing for color channels. Useful for sports and action videos. + /// + ///- Animati [rest of string was truncated]";. + /// </summary> + public static string FilterView_DenoiseTune { + get { + return ResourceManager.GetString("FilterView_DenoiseTune", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to This filter removes 'combing' artifacts that are the result of telecining. /// @@ -108,7 +200,16 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to If enabled, filter colour components out of video.. + /// Looks up a localized string similar to Flips (mirrors) the picture on the horizontal axis.. + /// </summary> + public static string FilterView_Flip { + get { + return ResourceManager.GetString("FilterView_Flip", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Grayscale removes the color component of the video. Often referred to as Black &amp; White video.. /// </summary> public static string FilterView_Grayscale { get { @@ -117,7 +218,65 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to This is the location and filename where your encoded file will be saved.. + /// Looks up a localized string similar to Interlace Detection, when enabled, allows the Deinterlace filter to only process interlaced video frames.. + /// </summary> + public static string FilterView_InterlaceDetection { + get { + return ResourceManager.GetString("FilterView_InterlaceDetection", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Custom Interlace Detection parameters. + /// + /// Syntax: mode=m:spatial-metric=s:motion-thresh=m:spatial-thresh=s:filter-mode=f:block-thresh=b:block-width=b:block-height=b:disable=d + /// + /// Default: mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16. + /// </summary> + public static string FilterView_InterlaceDetectionCustom { + get { + return ResourceManager.GetString("FilterView_InterlaceDetectionCustom", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Rotate the picture clockwise in 90 degree increments.. + /// </summary> + public static string FilterView_Rotate { + get { + return ResourceManager.GetString("FilterView_Rotate", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Add a new preset.. + /// </summary> + public static string MainView_AddPreset { + get { + return ResourceManager.GetString("MainView_AddPreset", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Video angle to encode. Only applicable to multi-angle DVD and Blu-ray.. + /// </summary> + public static string MainView_Angle { + get { + return ResourceManager.GetString("MainView_Angle", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Browse to select a new destination path and file name for your encode.. + /// </summary> + public static string MainView_Browse { + get { + return ResourceManager.GetString("MainView_Browse", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Destination path, including directory and file name. This is where your new video will be created, and what it will be named.. /// </summary> public static string MainView_Destination { get { @@ -126,7 +285,16 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Add iPod Atom needed by some older iPods.. + /// Looks up a localized string similar to Duration of the selected source range in Hours:Minutes:Seconds. + /// </summary> + public static string MainView_Duration { + get { + return ResourceManager.GetString("MainView_Duration", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Add a special MP4 marker to allow playback on vintage iPod 5th Generation devices circa 2006. Other settings may affect compatibility.. /// </summary> public static string MainView_IpodAtom { get { @@ -135,7 +303,7 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Format to mux encoded tracks to.. + /// Looks up a localized string similar to Container format. Video, audio, and other tracks are combined into a single file of this type. Affects compatibility.. /// </summary> public static string MainView_Mux { get { @@ -144,8 +312,7 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Optimise the layout of the MP4 file for progressive download. - ///This allows a player to initiate playback before downloading the entire file.. + /// Looks up a localized string similar to Optimize MP4 for progressive download. After encoding, data is reorganized and rewritten to allow immediate playback over a network, without needing to download the entire file.. /// </summary> public static string MainView_Optimise { get { @@ -154,7 +321,27 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Choose a start and end point of the source title to encode. This can be in chapters, seconds or frames.. + /// Looks up a localized string similar to Additional Preset Options.. + /// </summary> + public static string MainView_PresetAdditionalOptions { + get { + return ResourceManager.GetString("MainView_PresetAdditionalOptions", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Presets are groups of encode settings tailored for specific scenarios. Select the one closest matching your intent. + /// + /// Overrides all encode settings. Settings may be further adjusted after selecting a preset.. + /// </summary> + public static string MainView_Presets { + get { + return ResourceManager.GetString("MainView_Presets", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Source range selection. By default, all chapters are selected and the entire source is encoded.. /// </summary> public static string MainView_Range { get { @@ -163,8 +350,17 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to Set the title to encode. - ///By default, HandBrake will try and select the main title, or the longest if one isn't found.. + /// Looks up a localized string similar to Remove the selected preset.. + /// </summary> + public static string MainView_RemovePreset { + get { + return ResourceManager.GetString("MainView_RemovePreset", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to Title, or video clip, to encode. + ///Blu-ray and DVD sources often have multiple titles, the longest of which is typically the main feature. /// </summary> public static string MainView_Title { get { @@ -182,11 +378,15 @@ namespace HandBrakeWPF.Properties { } /// <summary> - /// Looks up a localized string similar to None - Force pixel aspect ratio to 1:1. - ///Loose - Use a pixel aspect ratio that is as close as possible to the source video pixel - /// aspect ratio while preserving the original display aspect ratio - ///Automatic - Use a pixel aspect ratio that maximizes storage resolution while preserving the - /// original display aspect ratio.. + /// Looks up a localized string similar to Anamorphic allows arbitrary storage dimensions while preserving the original aspect during playback. + /// + ///Off disables anamorphic. Video storage dimensions and display dimensions will be identical. Only useful for compatibility with certain legacy devices. + /// + ///Auto maximizes storage resolution while preserving the original display aspect ratio. Recommended. + /// + ///Loose is similar to Auto, but attempts to preserve the storage aspect ratio. This can result in a slight storage resolution loss compared to Auto. + /// + ///Cu [rest of string was truncated]";. /// </summary> public static string PictureSettingsView_Anamorphic { get { @@ -249,6 +449,15 @@ namespace HandBrakeWPF.Properties { } } + /// <summary> + /// Looks up a localized string similar to Keep Aspect Ratio maintains the original display aspect of the source. Disabling this may result in a stretched or squeezed picture.. + /// </summary> + public static string PictureSettingsView_KeepAR { + get { + return ResourceManager.GetString("PictureSettingsView_KeepAR", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Manually crop the video.. /// </summary> @@ -318,6 +527,15 @@ namespace HandBrakeWPF.Properties { } } + /// <summary> + /// Looks up a localized string similar to Scan only the specified title instead of all titles.. + /// </summary> + public static string SourceSelection_TitleSpecific { + get { + return ResourceManager.GetString("SourceSelection_TitleSpecific", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Use advanced options Tab for x264 settings.. /// </summary> diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx index 717097ab7..fe02d4fa0 100644 --- a/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx +++ b/win/CS/HandBrakeWPF/Properties/ResourcesTooltips.resx @@ -118,8 +118,7 @@ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <data name="FilterView_Deblock" xml:space="preserve"> - <value>The deblocking filter removes a common type of compression artifact. -If your source exhibits 'blockiness', this filter may help clean it up.</value> + <value>Deblock reduces blocky artifacts caused by low quality video compression.</value> </data> <data name="FilterView_DecombDeinterlace" xml:space="preserve"> <value>Choose decomb or deinterlace filter options. @@ -131,9 +130,12 @@ The classic deinterlace filter is applied to all frames. Frames that are not interlaced will suffer some quality degradation.</value> </data> <data name="FilterView_Denoise" xml:space="preserve"> - <value>Denoise filtering reduces or removes the appearance of noise and grain. -Film grain and other types of high frequency noise are difficult to compress. -Using this filter on such sources can result in smaller file sizes.</value> + <value>Denoise reduces or removes the appearance of noise and grain. This can improve compression efficiency and create higher quality video at smaller file sizes. +Overly strong Denoise settings may damage picture quality by discarding detail. + +NLMeans is a high quality denoise filter with a cost to speed. Use where quality is more important than speed. + +HQDN3D is an adaptive low-pass filter, faster than NLMeans but less effective at preserving fine detail.</value> </data> <data name="FilterView_Detelecine" xml:space="preserve"> <value>This filter removes 'combing' artifacts that are the result of telecining. @@ -141,34 +143,37 @@ Using this filter on such sources can result in smaller file sizes.</value> Telecining is a process that adjusts film framerates that are 24fps to NTSC video frame rates which are 30fps.</value> </data> <data name="FilterView_Grayscale" xml:space="preserve"> - <value>If enabled, filter colour components out of video.</value> + <value>Grayscale removes the color component of the video. Often referred to as Black &amp; White video.</value> </data> <data name="MainView_Destination" xml:space="preserve"> - <value>This is the location and filename where your encoded file will be saved.</value> + <value>Destination path, including directory and file name. This is where your new video will be created, and what it will be named.</value> </data> <data name="MainView_IpodAtom" xml:space="preserve"> - <value>Add iPod Atom needed by some older iPods.</value> + <value>Add a special MP4 marker to allow playback on vintage iPod 5th Generation devices circa 2006. Other settings may affect compatibility.</value> </data> <data name="MainView_Mux" xml:space="preserve"> - <value>Format to mux encoded tracks to.</value> + <value>Container format. Video, audio, and other tracks are combined into a single file of this type. Affects compatibility.</value> </data> <data name="MainView_Optimise" xml:space="preserve"> - <value>Optimise the layout of the MP4 file for progressive download. -This allows a player to initiate playback before downloading the entire file.</value> + <value>Optimize MP4 for progressive download. After encoding, data is reorganized and rewritten to allow immediate playback over a network, without needing to download the entire file.</value> </data> <data name="MainView_Range" xml:space="preserve"> - <value>Choose a start and end point of the source title to encode. This can be in chapters, seconds or frames.</value> + <value>Source range selection. By default, all chapters are selected and the entire source is encoded.</value> </data> <data name="MainView_Title" xml:space="preserve"> - <value>Set the title to encode. -By default, HandBrake will try and select the main title, or the longest if one isn't found.</value> + <value>Title, or video clip, to encode. +Blu-ray and DVD sources often have multiple titles, the longest of which is typically the main feature</value> </data> <data name="PictureSettingsView_Anamorphic" xml:space="preserve"> - <value>None - Force pixel aspect ratio to 1:1. -Loose - Use a pixel aspect ratio that is as close as possible to the source video pixel - aspect ratio while preserving the original display aspect ratio -Automatic - Use a pixel aspect ratio that maximizes storage resolution while preserving the - original display aspect ratio.</value> + <value>Anamorphic allows arbitrary storage dimensions while preserving the original aspect during playback. + +Off disables anamorphic. Video storage dimensions and display dimensions will be identical. Only useful for compatibility with certain legacy devices. + +Auto maximizes storage resolution while preserving the original display aspect ratio. Recommended. + +Loose is similar to Auto, but attempts to preserve the storage aspect ratio. This can result in a slight storage resolution loss compared to Auto. + +Custom allows manually setting all parameters. Useful for correcting an incorrect source display aspect and for professionals needing advanced control in post-production.</value> </data> <data name="PictureSettingsView_AutoCrop" xml:space="preserve"> <value>Automatically crop black borders around edges of the video.</value> @@ -308,4 +313,109 @@ VFR is not compatible with some players.</value> <data name="MainView_WhenDone" xml:space="preserve"> <value>When HandBrake has finished the current queue or encode it will perform this action.</value> </data> + <data name="MainView_Browse" xml:space="preserve"> + <value>Browse to select a new destination path and file name for your encode.</value> + </data> + <data name="MainView_Angle" xml:space="preserve"> + <value>Video angle to encode. Only applicable to multi-angle DVD and Blu-ray.</value> + </data> + <data name="MainView_AddPreset" xml:space="preserve"> + <value>Add a new preset.</value> + </data> + <data name="MainView_PresetAdditionalOptions" xml:space="preserve"> + <value>Additional Preset Options.</value> + </data> + <data name="MainView_Presets" xml:space="preserve"> + <value>Presets are groups of encode settings tailored for specific scenarios. Select the one closest matching your intent. + + Overrides all encode settings. Settings may be further adjusted after selecting a preset.</value> + </data> + <data name="MainView_RemovePreset" xml:space="preserve"> + <value>Remove the selected preset.</value> + </data> + <data name="SourceSelection_TitleSpecific" xml:space="preserve"> + <value>Scan only the specified title instead of all titles.</value> + </data> + <data name="FilterView_CustomDenoiseParams" xml:space="preserve"> + <value>Custom Denoise parameters. + +NLMeans syntax: y-strength=y:y-origin-tune=y:y-patch-size=y:y-range=y:y-frame-count=y:y-prefilter=y:cb-strength=c:cb-origin-tune=c:cb-patch-size=c:cb-range=c:cb-frame-count=c:cb-prefilter=c:cr-strength=c:cr-origin-tune=c:cr-patch-size=c:cr-range=c:cr-frame-count=c:cr-prefilter=c + +NLMeans default: y-strength=6:y-origin-tune=1:y-patch-size=7:y-range=3:y-frame-count=2:y-prefilter=0:cb-strength=6:cb-origin-tune=1:cb-patch-size=7:cb-range=3:cb-frame-count=2:cb-prefilter=0 + +HQDN3D syntax: y-spatial=y:cb-spatial=c:cr-spatial=c:y-temporal=y:cb-temporal=c:cr-temporal=c + +HQDN3D default: y-spatial=3:cb-spatial=2:cr-spatial=2:y-temporal=2:cb-temporal=3:cr-temporal=3</value> + </data> + <data name="FilterView_DenoisePreset" xml:space="preserve"> + <value>Denoise filter preset. Sets the strength of the filter.</value> + </data> + <data name="FilterView_DenoiseTune" xml:space="preserve"> + <value>Denoise tune. Further adjusts the Denoise preset to optimize settings for specific scenarios. + +- None uses the default preset settings. + +- Film refines settings for use with most live action content. + +- Grain only processes color channels. Useful for preserving the film-like look of luminance grain while reducing or removing color noise. + +- High Motion reduces color smearing in high motion scenes by avoiding temporal processing for color channels. Useful for sports and action videos. + +- Animation is useful for cel animation such as anime and cartoons. + +- Tape is useful for low-detail analog tape sources such as VHS, where Film does not produce a desirable result. + +- Sprite is useful for 1-/4-/8-/16-bit 2-dimensional games. Sprite is not designed for high definition video.</value> + </data> + <data name="FilterView_Deinterlace" xml:space="preserve"> + <value>Deinterlace removes comb artifacts from the picture. + +Yadif is a popular and fast deinterlacer. + +Decomb switches between multiple interpolation algorithms for speed and quality.</value> + </data> + <data name="FilterView_DeinterlaceCustom" xml:space="preserve"> + <value>Custom Deinterlace parameters. + + Yadif syntax: mode=m:parity=p + + Yadif default: mode=3 + + Decomb syntax: mode=m:magnitude-thresh=m:variance-thresh=v:laplacian-thresh=l:dilation-thresh=d:erosion-thresh=e:noise-thresh=n:search-distance=s:postproc=p:parity=p + + Decomb default: mode=7</value> + </data> + <data name="FilterView_DeinterlacePreset" xml:space="preserve"> + <value>Deinterlace filter preset. + +Default is well balanced for speed and quality. + +Skip Spatial Check lets Yadif skip correcting certain avoidable artifacts for a slight speed boost. + +EEDI2 uses a slower, higher quality interpolation algorithm for Decomb. Useful for the most difficult sources. + +Bob attempts to better preserve motion for a slight penalty to perceived resolution.</value> + </data> + <data name="FilterView_Flip" xml:space="preserve"> + <value>Flips (mirrors) the picture on the horizontal axis.</value> + </data> + <data name="FilterView_InterlaceDetection" xml:space="preserve"> + <value>Interlace Detection, when enabled, allows the Deinterlace filter to only process interlaced video frames.</value> + </data> + <data name="FilterView_InterlaceDetectionCustom" xml:space="preserve"> + <value>Custom Interlace Detection parameters. + + Syntax: mode=m:spatial-metric=s:motion-thresh=m:spatial-thresh=s:filter-mode=f:block-thresh=b:block-width=b:block-height=b:disable=d + + Default: mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16</value> + </data> + <data name="FilterView_Rotate" xml:space="preserve"> + <value>Rotate the picture clockwise in 90 degree increments.</value> + </data> + <data name="MainView_Duration" xml:space="preserve"> + <value>Duration of the selected source range in Hours:Minutes:Seconds</value> + </data> + <data name="PictureSettingsView_KeepAR" xml:space="preserve"> + <value>Keep Aspect Ratio maintains the original display aspect of the source. Disabling this may result in a stretched or squeezed picture.</value> + </data> </root> \ No newline at end of file diff --git a/win/CS/HandBrakeWPF/Views/FiltersView.xaml b/win/CS/HandBrakeWPF/Views/FiltersView.xaml index d40567fcc..14ce4b75d 100644 --- a/win/CS/HandBrakeWPF/Views/FiltersView.xaml +++ b/win/CS/HandBrakeWPF/Views/FiltersView.xaml @@ -59,7 +59,7 @@ <StackPanel Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="0,0,0,10"> <ComboBox Width="120" ItemsSource="{Binding DeinterlaceFilterOptions, Converter={StaticResource boolComboConverter}}" HorizontalAlignment="Left" - SelectedItem="{Binding SelectedDeinterlaceFilter, Converter={StaticResource boolComboConverter}}" /> + SelectedItem="{Binding SelectedDeinterlaceFilter, Converter={StaticResource boolComboConverter}}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_Deinterlace}" /> </StackPanel> @@ -86,26 +86,26 @@ <ComboBox Width="120" ItemsSource="{Binding DeInterlaceOptions, Converter={StaticResource boolComboConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" SelectedItem="{Binding SelectedDeInterlace, Converter={StaticResource boolComboConverter}}" - Visibility="{Binding IsDeinterlaceMode, Converter={StaticResource boolToVisConverter}}" /> + Visibility="{Binding IsDeinterlaceMode, Converter={StaticResource boolToVisConverter}}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_DeinterlacePreset}" /> </StackPanel> <TextBlock Text="Custom:" VerticalAlignment="Center" Margin="0,0,5,0" Grid.Column="0" Grid.Row="1" Visibility="{Binding ShowDeinterlaceDecombCustom, Converter={StaticResource boolToVisConverter}}" /> <StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal"> <TextBox Width="120" Text="{Binding CustomDecomb, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Left" - Visibility="{Binding ShowDecombCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" /> + Visibility="{Binding ShowDecombCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_DeinterlaceCustom}" /> <TextBox Width="120" Text="{Binding CustomDeinterlace, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Left" - Visibility="{Binding ShowDeinterlaceCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" /> + Visibility="{Binding ShowDeinterlaceCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_DeinterlaceCustom}" /> </StackPanel> <TextBlock Text="Interlace Detection:" VerticalAlignment="Center" Margin="0,0,5,0" Grid.Column="3" Grid.Row="0" Visibility="{Binding IsDeinterlaceDecomb, Converter={StaticResource boolToVisConverter}}" /> <TextBlock Text="Custom:" VerticalAlignment="Center" Margin="0,0,5,0" Grid.Column="3" Grid.Row="1" Visibility="{Binding ShowCombDetectCustom, Converter={StaticResource boolToVisConverter}}" /> <ComboBox Width="120" Grid.Row="0" Grid.Column="4" ItemsSource="{Binding CombDetectPresets, Converter={StaticResource boolComboConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" - SelectedItem="{Binding SelectedCombDetectPreset, Converter={StaticResource boolComboConverter}}" + SelectedItem="{Binding SelectedCombDetectPreset, Converter={StaticResource boolComboConverter}}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_InterlaceDetection}" Visibility="{Binding IsDeinterlaceDecomb, Converter={StaticResource boolToVisConverter}}"/> <TextBox Width="120" Grid.Row="1" Grid.Column="4" Text="{Binding CustomCombDetect, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" HorizontalAlignment="Left" - Visibility="{Binding ShowCombDetectCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" /> + Visibility="{Binding ShowCombDetectCustom, Converter={StaticResource boolToVisConverter}}" Margin="0,5,0,0" MinHeight="22" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_InterlaceDetectionCustom}" /> </Grid> @@ -120,7 +120,7 @@ <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2" Margin="0,0,0,10" Visibility="{Binding ShowDenoiseOptions, Converter={StaticResource boolToVisConverter}}"> <TextBlock Text="{x:Static Properties:ResourcesUI.FiltersView_Preset}" Margin="0,0,5,0" /> - <ComboBox SelectedItem="{Binding SelectedDenoisePreset}" + <ComboBox SelectedItem="{Binding SelectedDenoisePreset}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_DenoisePreset}" MinWidth="100" HorizontalAlignment="Center" VerticalAlignment="Center"> <ComboBox.ItemsSource> <MultiBinding Converter="{StaticResource DenoisePresetConverter}"> @@ -132,13 +132,14 @@ <StackPanel Orientation="Horizontal" Visibility="{Binding ShowDenoiseTune, Converter={StaticResource boolToVisConverter}}"> <TextBlock Text="{x:Static Properties:ResourcesUI.FiltersView_Tune}" Margin="5,0,5,0" /> - <ComboBox ItemsSource="{Binding DenoiseTunes}" SelectedItem="{Binding SelectedDenoiseTune}" MinWidth="100" + <ComboBox ItemsSource="{Binding DenoiseTunes}" SelectedItem="{Binding SelectedDenoiseTune}" MinWidth="100" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_DenoiseTune}" Visibility="{Binding ShowDenoiseTune, Converter={StaticResource boolToVisConverter}}" VerticalAlignment="Center" /> </StackPanel> <StackPanel Orientation="Horizontal" Visibility="{Binding ShowDenoiseCustom, Converter={StaticResource boolToVisConverter}}"> <TextBlock Text="{x:Static Properties:ResourcesUI.FiltersView_Custom}" Margin="5,0,5,0" /> - <TextBox Width="120" Margin="0" Text="{Binding CustomDenoise, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" MinHeight="22" /> + <TextBox Width="120" Margin="0" Text="{Binding CustomDenoise, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" MinHeight="22" + ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_CustomDenoiseParams}" /> </StackPanel> </StackPanel> @@ -154,10 +155,11 @@ <!-- Rotation --> <TextBlock Text="{x:Static Properties:ResourcesUI.FiltersView_Rotate}" Grid.Row="6" Grid.Column="0" Margin="0,0,0,0"/> <ComboBox Width="120" ItemsSource="{Binding RotationOptions}" Grid.Row="6" Grid.Column="1" - SelectedItem="{Binding SelectedRotation}" + SelectedItem="{Binding SelectedRotation}" ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_Rotate}" HorizontalAlignment="Left" VerticalAlignment="Center" /> - <CheckBox Content="{x:Static Properties:ResourcesUI.FiltersView_FlipVideo}" Margin="5,0,0,0" VerticalAlignment="Center" Grid.Row="6" Grid.Column="2" IsChecked="{Binding FlipVideo, UpdateSourceTrigger=PropertyChanged}" /> + <CheckBox Content="{x:Static Properties:ResourcesUI.FiltersView_FlipVideo}" Margin="5,0,0,0" VerticalAlignment="Center" Grid.Row="6" Grid.Column="2" IsChecked="{Binding FlipVideo, UpdateSourceTrigger=PropertyChanged}" + ToolTip="{x:Static Properties:ResourcesTooltips.FilterView_Flip}"/> </Grid> </StackPanel> diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml index c08ece4d6..cac30d9e5 100644 --- a/win/CS/HandBrakeWPF/Views/MainView.xaml +++ b/win/CS/HandBrakeWPF/Views/MainView.xaml @@ -131,7 +131,7 @@ </MenuItem> <MenuItem Header="_Help"> - <MenuItem Header="_HandBrake User Guide (HTTP)" cal:Message.Attach="[Event Click] = [Action LaunchHelp]" InputGestureText="F1"> + <MenuItem Header="_HandBrake Documentation (HTTP)" cal:Message.Attach="[Event Click] = [Action LaunchHelp]" InputGestureText="F1"> <MenuItem.Icon> <Image Width="16" Height="16" Source="Images/information.png" /> </MenuItem.Icon> @@ -333,7 +333,7 @@ Margin="8,0,0,0" ItemsSource="{Binding Angles}" SelectedItem="{Binding SelectedAngle}" - /> + ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Angle}" /> <ComboBox Name="PointToPointMode" MinWidth="80" Margin="8,0,0,0" @@ -373,8 +373,8 @@ ConverterParameter=false}" /> - <Label Margin="4,0,0,0" Content="{x:Static Properties:ResourcesUI.MainView_Duration}" /> - <Label Margin="4,0,0,0" Content="{Binding Duration}" /> + <Label Margin="4,0,0,0" Content="{x:Static Properties:ResourcesUI.MainView_Duration}" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Duration}" /> + <Label Margin="4,0,0,0" Content="{Binding Duration}" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Duration}" /> </StackPanel> </StackPanel> @@ -410,6 +410,7 @@ Grid.Column="2" Margin="8,0,0,0" FontWeight="Bold" Content="Browse" + ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Browse}" cal:Message.Attach="[Event Click] = [Action BrowseDestination]" /> </Grid> @@ -513,7 +514,7 @@ <RowDefinition Height="Auto" /> </Grid.RowDefinitions> - <ListBox HorizontalAlignment="Stretch" AutomationProperties.Name="Presets List" + <ListBox HorizontalAlignment="Stretch" AutomationProperties.Name="Presets List" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Presets}" VerticalAlignment="Stretch" ItemsSource="{Binding Source={StaticResource presetsCvs}}" SelectedItem="{Binding SelectedPreset, Mode=TwoWay}" BorderThickness="0,0,0,1" BorderBrush="LightGray" @@ -611,7 +612,7 @@ </ToolBar.Resources> <ToolBarOverflowPanel> - <Button cal:Message.Attach="[Event Click] = [Action PresetAdd]" AutomationProperties.Name="Add Preset"> + <Button cal:Message.Attach="[Event Click] = [Action PresetAdd]" AutomationProperties.Name="Add Preset" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_AddPreset}"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image Width="20" @@ -627,7 +628,7 @@ </Button.Content> </Button> - <Button Background="Transparent" cal:Message.Attach="[Event Click] = [Action PresetRemove]" AutomationProperties.Name="Remove Preset"> + <Button Background="Transparent" cal:Message.Attach="[Event Click] = [Action PresetRemove]" AutomationProperties.Name="Remove Preset" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_RemovePreset}"> <Button.Content> <StackPanel Orientation="Horizontal"> <Image Width="20" @@ -644,7 +645,7 @@ </Button.Content> </Button> - <Menu Background="Transparent" AutomationProperties.Name="Preset Options Dropdown" MinHeight="22"> + <Menu Background="Transparent" AutomationProperties.Name="Preset Options Dropdown" MinHeight="22" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_PresetAdditionalOptions}"> <MenuItem ToolBar.OverflowMode="Never"> <MenuItem.Header> <StackPanel Orientation="Horizontal"> diff --git a/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml b/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml index eb9d9eee6..b0ed03da9 100644 --- a/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml +++ b/win/CS/HandBrakeWPF/Views/PictureSettingsView.xaml @@ -49,7 +49,7 @@ Modulus="{Binding SelectedModulus, Mode=OneWay}" ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_Height}" Minimum="0" Width="60" /> <CheckBox Content="{x:Static Properties:ResourcesUI.PictureSettingsView_KeepAR}" IsChecked="{Binding MaintainAspectRatio}" - Visibility="{Binding ShowKeepAR, Converter={StaticResource boolToVisHiddenConverter}}" + Visibility="{Binding ShowKeepAR, Converter={StaticResource boolToVisHiddenConverter}}" ToolTip="{x:Static Properties:ResourcesTooltips.PictureSettingsView_KeepAR}" VerticalAlignment="Center" Margin="5,0,0,0" /> </StackPanel> -- 2.40.0