Browse Source

Localization of Chinese, which is not completed, will continue to translate.

pull/1299/head
MysticBoy 8 years ago
parent
commit
3fd999a42b
  1. 19
      ILSpy/AboutPage.cs
  2. 3
      ILSpy/Commands/BrowseBackCommand.cs
  3. 3
      ILSpy/Commands/BrowseForwardCommand.cs
  4. 4
      ILSpy/Commands/CheckForUpdatesCommand.cs
  5. 5
      ILSpy/Commands/DecompileAllCommand.cs
  6. 4
      ILSpy/Commands/DisassembleAllCommand.cs
  7. 4
      ILSpy/Commands/ExitCommand.cs
  8. 2
      ILSpy/Commands/ExportCommandAttribute.cs
  9. 4
      ILSpy/Commands/GeneratePdbContextMenuEntry.cs
  10. 5
      ILSpy/Commands/OpenCommand.cs
  11. 4
      ILSpy/Commands/OpenFromGacCommand.cs
  12. 4
      ILSpy/Commands/OpenListCommand.cs
  13. 5
      ILSpy/Commands/RefreshCommand.cs
  14. 3
      ILSpy/Commands/RemoveAssembliesWithLoadErrors.cs
  15. 3
      ILSpy/Commands/SaveCommand.cs
  16. 4
      ILSpy/Commands/ShowDebugSteps.cs
  17. 9
      ILSpy/Commands/SortAssemblyListCommand.cs
  18. 7
      ILSpy/Controls/ResourceObjectTable.xaml
  19. 7
      ILSpy/Controls/ResourceStringTable.xaml
  20. 10
      ILSpy/ILSpy.csproj
  21. 17
      ILSpy/MainWindow.xaml
  22. 38
      ILSpy/MainWindow.xaml.cs
  23. 17
      ILSpy/Options/DecompilerSettingsPanel.xaml
  24. 17
      ILSpy/Options/DisplaySettingsPanel.xaml
  25. 3
      ILSpy/Options/MiscSettingsPanel.xaml
  26. 5
      ILSpy/Options/OptionsDialog.xaml
  27. 882
      ILSpy/Properties/Resources.Designer.cs
  28. 393
      ILSpy/Properties/Resources.resx
  29. 315
      ILSpy/Properties/Resources.zh-Hans.resx
  30. 11
      ILSpy/Search/SearchPane.xaml
  31. 5
      ILSpy/TextView/DecompilerTextView.xaml
  32. 4
      ILSpy/TextView/EditorCommands.cs
  33. 3
      ILSpy/TextView/FoldingCommands.cs
  34. 13
      ILSpy/TreeNodes/AssemblyTreeNode.cs
  35. 3
      ILSpy/TreeNodes/CopyFullyQualifiedNameContextMenuEntry.cs
  36. 4
      ILSpy/TreeNodes/DerivedTypesTreeNode.cs
  37. 3
      ILSpy/TreeNodes/ReferenceFolderTreeNode.cs
  38. 3
      ILSpy/TreeNodes/ResourceListTreeNode.cs
  39. 3
      ILSpy/TreeNodes/ResourceNodes/CursorResourceEntryNode.cs
  40. 3
      ILSpy/TreeNodes/ResourceNodes/IconResourceEntryNode.cs
  41. 3
      ILSpy/TreeNodes/ResourceNodes/ImageResourceEntryNode.cs
  42. 3
      ILSpy/TreeNodes/ResourceNodes/ResourceTreeNode.cs
  43. 3
      ILSpy/TreeNodes/ResourceNodes/ResourcesFileTreeNode.cs
  44. 5
      ILSpy/TreeNodes/ThreadingSupport.cs

19
ILSpy/AboutPage.cs

@ -33,11 +33,12 @@ using System.Xml.Linq; @@ -33,11 +33,12 @@ using System.Xml.Linq;
using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.Decompiler;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_Help", Header = "_About", MenuOrder = 99999)]
[ExportMainMenuCommand(Menu = nameof(Resources._Help), Header = nameof(Resources._About), MenuOrder = 99999)]
sealed class AboutPage : SimpleCommand
{
[Import]
@ -57,7 +58,7 @@ namespace ICSharpCode.ILSpy @@ -57,7 +58,7 @@ namespace ICSharpCode.ILSpy
public static void Display(DecompilerTextView textView)
{
AvalonEditTextOutput output = new AvalonEditTextOutput();
output.WriteLine("ILSpy version " + RevisionClass.FullVersion);
output.WriteLine(Resources.ILSpyVersion + RevisionClass.FullVersion);
output.AddUIElement(
delegate {
StackPanel stackPanel = new StackPanel();
@ -71,7 +72,7 @@ namespace ICSharpCode.ILSpy @@ -71,7 +72,7 @@ namespace ICSharpCode.ILSpy
}
CheckBox checkBox = new CheckBox();
checkBox.Margin = new Thickness(4);
checkBox.Content = "Automatically check for updates every week";
checkBox.Content = Resources.AutomaticallyCheckUpdatesEveryWeek;
UpdateSettings settings = new UpdateSettings(ILSpySettings.Load());
checkBox.SetBinding(CheckBox.IsCheckedProperty, new Binding("AutomaticUpdateCheckEnabled") { Source = settings });
return new StackPanel {
@ -118,12 +119,12 @@ namespace ICSharpCode.ILSpy @@ -118,12 +119,12 @@ namespace ICSharpCode.ILSpy
static void AddUpdateCheckButton(StackPanel stackPanel, DecompilerTextView textView)
{
Button button = new Button();
button.Content = "Check for updates";
button.Content = Resources.CheckUpdates;
button.Cursor = Cursors.Arrow;
stackPanel.Children.Add(button);
button.Click += delegate {
button.Content = "Checking...";
button.Content = Resources.Checking;
button.IsEnabled = false;
GetLatestVersionAsync().ContinueWith(
delegate (Task<AvailableVersionInfo> task) {
@ -152,19 +153,19 @@ namespace ICSharpCode.ILSpy @@ -152,19 +153,19 @@ namespace ICSharpCode.ILSpy
});
stackPanel.Children.Add(
new TextBlock {
Text = "You are using the latest release.",
Text = Resources.UsingLatestRelease,
VerticalAlignment = VerticalAlignment.Bottom
});
} else if (currentVersion < availableVersion.Version) {
stackPanel.Children.Add(
new TextBlock {
Text = "Version " + availableVersion.Version + " is available.",
Text = string.Format(Resources.VersionAvailable, availableVersion.Version ),
Margin = new Thickness(0,0,8,0),
VerticalAlignment = VerticalAlignment.Bottom
});
if (availableVersion.DownloadUrl != null) {
Button button = new Button();
button.Content = "Download";
button.Content = Resources.Download;
button.Cursor = Cursors.Arrow;
button.Click += delegate {
MainWindow.OpenLink(availableVersion.DownloadUrl);
@ -172,7 +173,7 @@ namespace ICSharpCode.ILSpy @@ -172,7 +173,7 @@ namespace ICSharpCode.ILSpy
stackPanel.Children.Add(button);
}
} else {
stackPanel.Children.Add(new TextBlock { Text = "You are using a nightly build newer than the latest release." });
stackPanel.Children.Add(new TextBlock { Text = Resources.UsingNightlyBuildNewerThanLatestRelease });
}
}

3
ILSpy/Commands/BrowseBackCommand.cs

@ -17,10 +17,11 @@ @@ -17,10 +17,11 @@
// DEALINGS IN THE SOFTWARE.
using System.Windows.Input;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportToolbarCommand(ToolTip = "Back", ToolbarIcon = "Images/Back.png", ToolbarCategory = "Navigation", ToolbarOrder = 0)]
[ExportToolbarCommand(ToolTip = nameof(Resources.Back), ToolbarIcon = "Images/Back.png", ToolbarCategory = nameof(Resources.Navigation), ToolbarOrder = 0)]
sealed class BrowseBackCommand : CommandWrapper
{
public BrowseBackCommand()

3
ILSpy/Commands/BrowseForwardCommand.cs

@ -17,10 +17,11 @@ @@ -17,10 +17,11 @@
// DEALINGS IN THE SOFTWARE.
using System.Windows.Input;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportToolbarCommand(ToolTip = "Forward", ToolbarIcon = "Images/Forward.png", ToolbarCategory = "Navigation", ToolbarOrder = 1)]
[ExportToolbarCommand(ToolTip = nameof(Resources.Forward), ToolbarIcon = "Images/Forward.png", ToolbarCategory = nameof(Resources.Navigation), ToolbarOrder = 1)]
sealed class BrowseForwardCommand : CommandWrapper
{
public BrowseForwardCommand()

4
ILSpy/Commands/CheckForUpdatesCommand.cs

@ -17,9 +17,11 @@ @@ -17,9 +17,11 @@
// DEALINGS IN THE SOFTWARE.
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_Help", Header = "_Check for Updates", MenuOrder = 5000)]
[ExportMainMenuCommand(Menu = nameof(Resources._Help), Header = nameof(Resources._CheckUpdates), MenuOrder = 5000)]
sealed class CheckForUpdatesCommand : SimpleCommand
{
public override void Execute(object parameter)

5
ILSpy/Commands/DecompileAllCommand.cs

@ -23,11 +23,12 @@ using System.Diagnostics; @@ -23,11 +23,12 @@ using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using ICSharpCode.Decompiler;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "DEBUG -- Decompile All", MenuCategory = "Open", MenuOrder = 2.5)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.DEBUGDecompile), MenuCategory = nameof(Resources.Open), MenuOrder = 2.5)]
sealed class DecompileAllCommand : SimpleCommand
{
public override bool CanExecute(object parameter)
@ -67,7 +68,7 @@ namespace ICSharpCode.ILSpy @@ -67,7 +68,7 @@ namespace ICSharpCode.ILSpy
}
}
[ExportMainMenuCommand(Menu = "_File", Header = "DEBUG -- Decompile 100x", MenuCategory = "Open", MenuOrder = 2.6)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.DEBUGDecompile100x), MenuCategory = nameof(Resources.Open), MenuOrder = 2.6)]
sealed class Decompile100TimesCommand : SimpleCommand
{
public override void Execute(object parameter)

4
ILSpy/Commands/DisassembleAllCommand.cs

@ -22,10 +22,10 @@ using System; @@ -22,10 +22,10 @@ using System;
using System.Diagnostics;
using System.Threading.Tasks;
using ICSharpCode.ILSpy.TextView;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "DEBUG -- Disassemble All", MenuCategory = "Open", MenuOrder = 2.5)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.DEBUGDisassemble), MenuCategory = nameof(Resources.Open), MenuOrder = 2.5)]
sealed class DisassembleAllCommand : SimpleCommand
{
public override bool CanExecute(object parameter)

4
ILSpy/Commands/ExitCommand.cs

@ -15,11 +15,11 @@ @@ -15,11 +15,11 @@
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "E_xit", MenuOrder = 99999, MenuCategory = "Exit")]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.E_xit), MenuOrder = 99999, MenuCategory = nameof(Resources.Exit))]
sealed class ExitCommand : SimpleCommand
{
public override void Execute(object parameter)

2
ILSpy/Commands/ExportCommandAttribute.cs

@ -30,6 +30,7 @@ namespace ICSharpCode.ILSpy @@ -30,6 +30,7 @@ namespace ICSharpCode.ILSpy
string ToolbarCategory { get; }
object Tag { get; }
double ToolbarOrder { get; }
}
[MetadataAttribute]
@ -58,7 +59,6 @@ namespace ICSharpCode.ILSpy @@ -58,7 +59,6 @@ namespace ICSharpCode.ILSpy
string MenuCategory { get; }
string InputGestureText { get; }
bool IsEnabled { get; }
double MenuOrder { get; }
}

4
ILSpy/Commands/GeneratePdbContextMenuEntry.cs

@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.DebugInfo; @@ -28,7 +28,7 @@ using ICSharpCode.Decompiler.DebugInfo;
using ICSharpCode.ILSpy.TextView;
using ICSharpCode.ILSpy.TreeNodes;
using Microsoft.Win32;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportContextMenuEntry(Header = "Generate portable PDB")]
@ -86,7 +86,7 @@ namespace ICSharpCode.ILSpy @@ -86,7 +86,7 @@ namespace ICSharpCode.ILSpy
}
}
[ExportMainMenuCommand(Menu = "_File", Header = "Generate portable PDB", MenuCategory = "Save")]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.GeneratePortable), MenuCategory = "Save")]
class GeneratePdbMainMenuEntry : SimpleCommand
{
public override bool CanExecute(object parameter)

5
ILSpy/Commands/OpenCommand.cs

@ -17,11 +17,12 @@ @@ -17,11 +17,12 @@
// DEALINGS IN THE SOFTWARE.
using System.Windows.Input;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportToolbarCommand(ToolTip = "Open", ToolbarIcon = "Images/Open.png", ToolbarCategory = "Open", ToolbarOrder = 0)]
[ExportMainMenuCommand(Menu = "_File", Header = "_Open...", MenuIcon = "Images/Open.png", MenuCategory = "Open", MenuOrder = 0)]
[ExportToolbarCommand(ToolTip = nameof(Resources.Open), ToolbarIcon = "Images/Open.png", ToolbarCategory = nameof(Resources.Open), ToolbarOrder = 0)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources._Open), MenuIcon = "Images/Open.png", MenuCategory = nameof(Resources.Open), MenuOrder = 0)]
sealed class OpenCommand : CommandWrapper
{
public OpenCommand()

4
ILSpy/Commands/OpenFromGacCommand.cs

@ -16,10 +16,10 @@ @@ -16,10 +16,10 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "Open from _GAC...", MenuIcon = "Images/AssemblyListGAC.png", MenuCategory = "Open", MenuOrder = 1)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.OpenFrom_GAC), MenuIcon = "Images/AssemblyListGAC.png", MenuCategory = nameof(Resources.Open), MenuOrder = 1)]
sealed class OpenFromGacCommand : SimpleCommand
{
public override void Execute(object parameter)

4
ILSpy/Commands/OpenListCommand.cs

@ -17,9 +17,11 @@ @@ -17,9 +17,11 @@
// DEALINGS IN THE SOFTWARE.
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "Open _List...", MenuIcon = "Images/AssemblyList.png", MenuCategory = "Open", MenuOrder = 1.7)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources.Open_List), MenuIcon = "Images/AssemblyList.png", MenuCategory = nameof(Resources.Open), MenuOrder = 1.7)]
sealed class OpenListCommand : SimpleCommand
{
public override void Execute(object parameter)

5
ILSpy/Commands/RefreshCommand.cs

@ -17,11 +17,12 @@ @@ -17,11 +17,12 @@
// DEALINGS IN THE SOFTWARE.
using System.Windows.Input;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportToolbarCommand(ToolTip = "Reload all assemblies", ToolbarIcon = "Images/Refresh.png", ToolbarCategory = "Open", ToolbarOrder = 2)]
[ExportMainMenuCommand(Menu = "_File", Header = "_Reload", MenuIcon = "Images/Refresh.png", MenuCategory = "Open", MenuOrder = 2)]
[ExportToolbarCommand(ToolTip = nameof(Resources.RefreshCommand_ReloadAssemblies), ToolbarIcon = "Images/Refresh.png", ToolbarCategory = nameof(Resources.Open), ToolbarOrder = 2)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources._Reload), MenuIcon = "Images/Refresh.png", MenuCategory = nameof(Resources.Open), MenuOrder = 2)]
sealed class RefreshCommand : CommandWrapper
{
public RefreshCommand()

3
ILSpy/Commands/RemoveAssembliesWithLoadErrors.cs

@ -19,10 +19,11 @@ @@ -19,10 +19,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "_Remove Assemblies with load errors", MenuCategory = "Remove", MenuOrder = 2.6)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources._RemoveAssembliesWithLoadErrors), MenuCategory = nameof(Resources.Remove), MenuOrder = 2.6)]
class RemoveAssembliesWithLoadErrors : SimpleCommand
{
public override bool CanExecute(object parameter)

3
ILSpy/Commands/SaveCommand.cs

@ -17,10 +17,11 @@ @@ -17,10 +17,11 @@
// DEALINGS IN THE SOFTWARE.
using System.Windows.Input;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_File", Header = "_Save Code...", MenuIcon = "Images/SaveFile.png", MenuCategory = "Save", MenuOrder = 0)]
[ExportMainMenuCommand(Menu = nameof(Resources._File), Header = nameof(Resources._SaveCode), MenuIcon = "Images/SaveFile.png", MenuCategory = nameof(Resources.Save), MenuOrder = 0)]
sealed class SaveCommand : CommandWrapper
{
public SaveCommand()

4
ILSpy/Commands/ShowDebugSteps.cs

@ -1,8 +1,10 @@ @@ -1,8 +1,10 @@
#if DEBUG
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.Commands
{
[ExportMainMenuCommand(Menu = "_View", Header = "_Show debug steps", MenuOrder = 5000)]
[ExportMainMenuCommand(Menu = nameof(Resources._View), Header = nameof(Resources._ShowDebugSteps), MenuOrder = 5000)]
class ShowDebugSteps : SimpleCommand
{
public override void Execute(object parameter)

9
ILSpy/Commands/SortAssemblyListCommand.cs

@ -18,12 +18,13 @@ @@ -18,12 +18,13 @@
using System;
using System.Collections.Generic;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.TreeView;
namespace ICSharpCode.ILSpy
{
[ExportMainMenuCommand(Menu = "_View", Header = "Sort assembly _list by name", MenuIcon = "Images/Sort.png", MenuCategory = "View")]
[ExportToolbarCommand(ToolTip = "Sort assembly list by name", ToolbarIcon = "Images/Sort.png", ToolbarCategory = "View")]
[ExportMainMenuCommand(Menu = nameof(Resources._View), Header = nameof(Resources.SortAssembly_listName), MenuIcon = "Images/Sort.png", MenuCategory = nameof(Resources.View))]
[ExportToolbarCommand(ToolTip = nameof(Resources.SortAssemblyListName), ToolbarIcon = "Images/Sort.png", ToolbarCategory = nameof(Resources.View))]
sealed class SortAssemblyListCommand : SimpleCommand, IComparer<LoadedAssembly>
{
public override void Execute(object parameter)
@ -38,8 +39,8 @@ namespace ICSharpCode.ILSpy @@ -38,8 +39,8 @@ namespace ICSharpCode.ILSpy
}
}
[ExportMainMenuCommand(Menu = "_View", Header = "_Collapse all tree nodes", MenuIcon = "Images/CollapseAll.png", MenuCategory = "View")]
[ExportToolbarCommand(ToolTip = "Collapse all tree nodes", ToolbarIcon = "Images/CollapseAll.png", ToolbarCategory = "View")]
[ExportMainMenuCommand(Menu = nameof(Resources._View), Header = nameof(Resources._CollapseTreeNodes), MenuIcon = "Images/CollapseAll.png", MenuCategory = nameof(Resources.View))]
[ExportToolbarCommand(ToolTip = nameof(Resources.CollapseTreeNodes), ToolbarIcon = "Images/CollapseAll.png", ToolbarCategory = nameof(Resources.View))]
sealed class CollapseAllCommand : SimpleCommand
{
public override void Execute(object parameter)

7
ILSpy/Controls/ResourceObjectTable.xaml

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
<UserControl x:Class="ICSharpCode.ILSpy.Controls.ResourceObjectTable"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
Cursor="Arrow">
<UserControl.CommandBindings>
<CommandBinding Command="ApplicationCommands.Copy"
@ -41,17 +42,17 @@ @@ -41,17 +42,17 @@
<GridView AllowsColumnReorder="False">
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding Key}">
<GridViewColumnHeader Content="Name"
<GridViewColumnHeader Content="{x:Static properties:Resources.Name}"
HorizontalContentAlignment="Left"
FontWeight="Bold" />
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Value}">
<GridViewColumnHeader Content="Value (as string)"
<GridViewColumnHeader Content="{x:Static properties:Resources.ValueString}"
HorizontalContentAlignment="Left"
FontWeight="Bold" />
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Type}">
<GridViewColumnHeader Content="Type"
<GridViewColumnHeader Content="{x:Static properties:Resources.Type}"
HorizontalContentAlignment="Left"
FontWeight="Bold" />
</GridViewColumn>

7
ILSpy/Controls/ResourceStringTable.xaml

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
<UserControl x:Class="ICSharpCode.ILSpy.Controls.ResourceStringTable"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
Cursor="Arrow">
<UserControl.CommandBindings>
<CommandBinding Command="ApplicationCommands.Copy"
@ -26,7 +27,7 @@ @@ -26,7 +27,7 @@
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Label Content="String Table"
<Label Content="{x:Static properties:Resources.StringTable}"
FontFamily="Segoe UI"
FontWeight="Bold"
FontSize="12pt" />
@ -41,12 +42,12 @@ @@ -41,12 +42,12 @@
<GridView AllowsColumnReorder="False">
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding Key}">
<GridViewColumnHeader Content="Name"
<GridViewColumnHeader Content="{x:Static properties:Resources.Name}"
HorizontalContentAlignment="Left"
FontWeight="Bold" />
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Value}">
<GridViewColumnHeader Content="Value"
<GridViewColumnHeader Content="{x:Static properties:Resources.Value}"
HorizontalContentAlignment="Left"
FontWeight="Bold" />
</GridViewColumn>

10
ILSpy/ILSpy.csproj

@ -156,6 +156,11 @@ @@ -156,6 +156,11 @@
<Compile Include="Languages\IResourceFileHandler.cs" />
<Compile Include="Languages\Language.cs" />
<Compile Include="Languages\Languages.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Search\LiteralSearchStrategy.cs" />
<Compile Include="LoadedAssembly.cs" />
<Compile Include="LoadedAssemblyExtensions.cs" />
@ -247,6 +252,11 @@ @@ -247,6 +252,11 @@
<EmbeddedResource Include="..\doc\MS-PL.txt">
<Link>MS-PL.txt</Link>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.zh-Hans.resx" />
<Resource Include="Images\AssemblyList.png" />
<Resource Include="Images\AssemblyListGAC.png" />
<Resource Include="Images\AssemblyWarning.png" />

17
ILSpy/MainWindow.xaml

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:tv="clr-namespace:ICSharpCode.TreeView;assembly=ICSharpCode.TreeView"
xmlns:local="clr-namespace:ICSharpCode.ILSpy" xmlns:textView="clr-namespace:ICSharpCode.ILSpy.TextView"
xmlns:controls="clr-namespace:ICSharpCode.ILSpy.Controls"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
Title="ILSpy"
MinWidth="250"
MinHeight="200"
@ -48,9 +49,9 @@ @@ -48,9 +49,9 @@
<DockPanel>
<!-- Main menu -->
<Menu DockPanel.Dock="Top" Name="mainMenu" Height="23" KeyboardNavigation.TabNavigation="None">
<MenuItem Header="_File" /> <!-- contents of file menu are added using MEF -->
<MenuItem Header="_View">
<MenuItem Header="Show _internal types and members" IsCheckable="True" IsChecked="{Binding FilterSettings.ShowInternalApi}">
<MenuItem Header="{x:Static properties:Resources._File}" /> <!-- contents of file menu are added using MEF -->
<MenuItem Header="{x:Static properties:Resources._View}">
<MenuItem Header="{x:Static properties:Resources.Show_internalTypesMembers}" IsCheckable="True" IsChecked="{Binding FilterSettings.ShowInternalApi}">
<MenuItem.Icon>
<Image Width="16" Height="16" Source="Images/PrivateInternal.png" />
</MenuItem.Icon>
@ -77,7 +78,7 @@ @@ -77,7 +78,7 @@
<Separator />
<!-- 'Open' toolbar category is inserted here -->
<Separator />
<CheckBox IsChecked="{Binding FilterSettings.ShowInternalApi}" ToolTip="Show internal types and members">
<CheckBox IsChecked="{Binding FilterSettings.ShowInternalApi}" ToolTip="{x:Static properties:Resources.ShowInternalTypesMembers}">
<Image Width="16" Height="16" Source="Images/PrivateInternal.png" />
</CheckBox>
<Separator />
@ -95,8 +96,8 @@ @@ -95,8 +96,8 @@
<TextBlock VerticalAlignment="Center"
HorizontalAlignment="Right"
x:Name="StatusLabel"
ToolTip="Status"
Text="Stand by..."/>
ToolTip="{x:Static properties:Resources.Status}"
Text="{x:Static properties:Resources.StandBy}"/>
</StatusBarItem>
</StatusBar>
<!-- Main grid separating left pane (treeView) from main pane (textEditor) -->
@ -153,8 +154,8 @@ @@ -153,8 +154,8 @@
<DockPanel KeyboardNavigation.TabNavigation="Contained">
<Button DockPanel.Dock="Right" Click="updatePanelCloseButtonClick" MinWidth="0">X</Button>
<StackPanel Orientation="Horizontal">
<TextBlock Name="updatePanelMessage" Margin="4,0" VerticalAlignment="Center">A new ILSpy version is available.</TextBlock>
<Button Name="downloadOrCheckUpdateButton" Click="downloadOrCheckUpdateButtonClick">Download</Button>
<TextBlock Name="updatePanelMessage" Margin="4,0" VerticalAlignment="Center" Text="{x:Static properties:Resources.ILSpyVersionAvailable}" />
<Button Name="downloadOrCheckUpdateButton" Click="downloadOrCheckUpdateButtonClick" Content="{x:Static properties:Resources.Download}"/>
</StackPanel>
</DockPanel>
</Border>

38
ILSpy/MainWindow.xaml.cs

@ -111,13 +111,13 @@ namespace ICSharpCode.ILSpy @@ -111,13 +111,13 @@ namespace ICSharpCode.ILSpy
int navigationPos = 0;
int openPos = 1;
var toolbarCommands = App.ExportProvider.GetExports<ICommand, IToolbarCommandMetadata>("ToolbarCommand");
foreach (var commandGroup in toolbarCommands.OrderBy(c => c.Metadata.ToolbarOrder).GroupBy(c => c.Metadata.ToolbarCategory)) {
if (commandGroup.Key == "Navigation") {
foreach (var commandGroup in toolbarCommands.OrderBy(c => c.Metadata.ToolbarOrder).GroupBy(c => Properties.Resources.ResourceManager.GetString(c.Metadata.ToolbarCategory))) {
if (commandGroup.Key == Properties.Resources.ResourceManager.GetString("Navigation")) {
foreach (var command in commandGroup) {
toolBar.Items.Insert(navigationPos++, MakeToolbarItem(command));
openPos++;
}
} else if (commandGroup.Key == "Open") {
} else if (commandGroup.Key == Properties.Resources.ResourceManager.GetString("Open")) {
foreach (var command in commandGroup) {
toolBar.Items.Insert(openPos++, MakeToolbarItem(command));
}
@ -135,7 +135,7 @@ namespace ICSharpCode.ILSpy @@ -135,7 +135,7 @@ namespace ICSharpCode.ILSpy
{
return new Button {
Command = CommandWrapper.Unwrap(command.Value),
ToolTip = command.Metadata.ToolTip,
ToolTip =Properties.Resources.ResourceManager.GetString( command.Metadata.ToolTip),
Tag = command.Metadata.Tag,
Content = new Image {
Width = 16,
@ -151,12 +151,12 @@ namespace ICSharpCode.ILSpy @@ -151,12 +151,12 @@ namespace ICSharpCode.ILSpy
void InitMainMenu()
{
var mainMenuCommands = App.ExportProvider.GetExports<ICommand, IMainMenuCommandMetadata>("MainMenuCommand");
foreach (var topLevelMenu in mainMenuCommands.OrderBy(c => c.Metadata.MenuOrder).GroupBy(c => c.Metadata.Menu)) {
var topLevelMenuItem = mainMenu.Items.OfType<MenuItem>().FirstOrDefault(m => (m.Header as string) == topLevelMenu.Key);
foreach (var category in topLevelMenu.GroupBy(c => c.Metadata.MenuCategory)) {
foreach (var topLevelMenu in mainMenuCommands.OrderBy(c => c.Metadata.MenuOrder).GroupBy(c => GetResourceString(c.Metadata.Menu))) {
var topLevelMenuItem = mainMenu.Items.OfType<MenuItem>().FirstOrDefault(m => (GetResourceString(m.Header as string)) == topLevelMenu.Key);
foreach (var category in topLevelMenu.GroupBy(c => GetResourceString(c.Metadata.MenuCategory))) {
if (topLevelMenuItem == null) {
topLevelMenuItem = new MenuItem();
topLevelMenuItem.Header = topLevelMenu.Key;
topLevelMenuItem.Header = GetResourceString(topLevelMenu.Key);
mainMenu.Items.Add(topLevelMenuItem);
} else if (topLevelMenuItem.Items.Count > 0) {
topLevelMenuItem.Items.Add(new Separator());
@ -164,8 +164,8 @@ namespace ICSharpCode.ILSpy @@ -164,8 +164,8 @@ namespace ICSharpCode.ILSpy
foreach (var entry in category) {
MenuItem menuItem = new MenuItem();
menuItem.Command = CommandWrapper.Unwrap(entry.Value);
if (!string.IsNullOrEmpty(entry.Metadata.Header))
menuItem.Header = entry.Metadata.Header;
if (!string.IsNullOrEmpty(GetResourceString(entry.Metadata.Header)))
menuItem.Header = GetResourceString(entry.Metadata.Header);
if (!string.IsNullOrEmpty(entry.Metadata.MenuIcon)) {
menuItem.Icon = new Image {
Width = 16,
@ -173,7 +173,7 @@ namespace ICSharpCode.ILSpy @@ -173,7 +173,7 @@ namespace ICSharpCode.ILSpy
Source = Images.LoadImage(entry.Value, entry.Metadata.MenuIcon)
};
}
menuItem.IsEnabled = entry.Metadata.IsEnabled;
menuItem.InputGestureText = entry.Metadata.InputGestureText;
topLevelMenuItem.Items.Add(menuItem);
@ -181,8 +181,14 @@ namespace ICSharpCode.ILSpy @@ -181,8 +181,14 @@ namespace ICSharpCode.ILSpy
}
}
}
private static string GetResourceString(string key)
{
var str = !string.IsNullOrEmpty(key)? Properties.Resources.ResourceManager.GetString(key):null;
return string.IsNullOrEmpty(key)|| string.IsNullOrEmpty(str) ? key : str;
}
#endregion
#region Message Hook
protected override void OnSourceInitialized(EventArgs e)
{
@ -432,11 +438,11 @@ namespace ICSharpCode.ILSpy @@ -432,11 +438,11 @@ namespace ICSharpCode.ILSpy
updateAvailableDownloadUrl = task.Result;
updatePanel.Visibility = displayMessage ? Visibility.Visible : Visibility.Collapsed;
if (task.Result != null) {
updatePanelMessage.Text = "A new ILSpy version is available.";
downloadOrCheckUpdateButton.Content = "Download";
updatePanelMessage.Text = Properties.Resources.ILSpyVersionAvailable;
downloadOrCheckUpdateButton.Content = Properties.Resources.Download;
} else {
updatePanelMessage.Text = "No update for ILSpy found.";
downloadOrCheckUpdateButton.Content = "Check again";
updatePanelMessage.Text = Properties.Resources.UpdateILSpyFound;
downloadOrCheckUpdateButton.Content = Properties.Resources.CheckAgain;
}
}
#endregion

17
ILSpy/Options/DecompilerSettingsPanel.xaml

@ -3,18 +3,19 @@ @@ -3,18 +3,19 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:options="clr-namespace:ICSharpCode.ILSpy.Options"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
xmlns:controls="clr-namespace:ICSharpCode.ILSpy.Controls">
<UserControl.Resources>
<controls:BoolToVisibilityConverter x:Key="boolConv" />
</UserControl.Resources>
<StackPanel Margin="10">
<CheckBox IsChecked="{Binding UseDebugSymbols}">Use variable names from debug symbols, if available</CheckBox>
<CheckBox IsChecked="{Binding ShowDebugInfo}">Show info from debug symbols, if available</CheckBox>
<CheckBox IsChecked="{Binding ShowXmlDocumentation}">Show XML documentation in decompiled code</CheckBox>
<CheckBox IsChecked="{Binding FoldBraces}">Enable folding on all blocks in braces</CheckBox>
<CheckBox IsChecked="{Binding RemoveDeadCode}">Remove dead and side effect free code</CheckBox>
<CheckBox IsChecked="{Binding UsingDeclarations}">Insert using declarations</CheckBox>
<CheckBox IsChecked="{Binding AlwaysUseBraces}">Always use braces</CheckBox>
<CheckBox IsChecked="{Binding ExpandMemberDefinitions}">Expand member definitions after decompilation</CheckBox>
<CheckBox IsChecked="{Binding UseDebugSymbols}" Content="{x:Static properties:Resources.VariableNamesFromDebugSymbolsAvailable}" />
<CheckBox IsChecked="{Binding ShowDebugInfo}" Content="{x:Static properties:Resources.ShowInfoFromDebugSymbolsAvailable}"/>
<CheckBox IsChecked="{Binding ShowXmlDocumentation}" Content="{x:Static properties:Resources.ShowDocumentationDecompiledCode}" />
<CheckBox IsChecked="{Binding FoldBraces}" Content="{x:Static properties:Resources.EnableFoldingBlocksBraces}" />
<CheckBox IsChecked="{Binding RemoveDeadCode}" Content="{x:Static properties:Resources.RemoveDeadSideEffectFreeCode}"/>
<CheckBox IsChecked="{Binding UsingDeclarations}" Content="{x:Static properties:Resources.InsertUsingDeclarations}"/>
<CheckBox IsChecked="{Binding AlwaysUseBraces}" Content="{x:Static properties:Resources.AlwaysBraces}"/>
<CheckBox IsChecked="{Binding ExpandMemberDefinitions}" Content="{x:Static properties:Resources.ExpandMemberDefinitionsAfterDecompilation}"/>
</StackPanel>
</UserControl>

17
ILSpy/Options/DisplaySettingsPanel.xaml

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
<UserControl x:Class="ICSharpCode.ILSpy.Options.DisplaySettingsPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
xmlns:local="clr-namespace:ICSharpCode.ILSpy.Options">
<UserControl.Resources>
<local:FontSizeConverter x:Key="fontSizeConv" />
@ -10,7 +11,7 @@ @@ -10,7 +11,7 @@
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<GroupBox Header="Font">
<GroupBox Header="{x:Static properties:Resources.Font}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@ -22,7 +23,7 @@ @@ -22,7 +23,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Label Margin="3,0">Font:</Label>
<Label Margin="3,0" Content="Font:"/>
<ComboBox x:Name="fontSelector" VerticalContentAlignment="Center" SelectedItem="{Binding SelectedFont}" Grid.Column="1">
<ComboBox.ItemTemplate>
<DataTemplate>
@ -30,7 +31,7 @@ @@ -30,7 +31,7 @@
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Label Grid.Column="2" Margin="3,0">Size:</Label>
<Label Grid.Column="2" Margin="3,0" Content="Size:"/>
<ComboBox Grid.Column="3" Text="{Binding SelectedFontSize, Converter={StaticResource fontSizeConv}}" IsEditable="True" Margin="3,0">
<ComboBoxItem>6</ComboBoxItem>
<ComboBoxItem>7</ComboBoxItem>
@ -57,12 +58,12 @@ @@ -57,12 +58,12 @@
</Border>
</Grid>
</GroupBox>
<GroupBox Header="Other options" Grid.Row="1">
<GroupBox Header="{x:Static properties:Resources.OtherOptions}" Grid.Row="1">
<StackPanel Margin="3">
<CheckBox IsChecked="{Binding ShowLineNumbers}">Show line numbers</CheckBox>
<CheckBox IsChecked="{Binding ShowMetadataTokens}">Show metadata tokens</CheckBox>
<CheckBox IsChecked="{Binding EnableWordWrap}">Enable word wrap</CheckBox>
<CheckBox IsChecked="{Binding SortResults}">Sort results by fitness</CheckBox>
<CheckBox IsChecked="{Binding ShowLineNumbers}" Content="{x:Static properties:Resources.ShowLineNumbers}"/>
<CheckBox IsChecked="{Binding ShowMetadataTokens}" Content="{x:Static properties:Resources.ShowMetadataTokens}"/>
<CheckBox IsChecked="{Binding EnableWordWrap}" Content="{x:Static properties:Resources.EnableWordWrap}"/>
<CheckBox IsChecked="{Binding SortResults}" Content="{x:Static properties:Resources.SortResultsFitness}"/>
</StackPanel>
</GroupBox>
</Grid>

3
ILSpy/Options/MiscSettingsPanel.xaml

@ -3,9 +3,10 @@ @@ -3,9 +3,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<StackPanel Margin="10">
<CheckBox IsChecked="{Binding AllowMultipleInstances}">Allow multiple instances</CheckBox>
<CheckBox IsChecked="{Binding AllowMultipleInstances}" Content="{x:Static properties:Resources.AllowMultipleInstances}"/>
</StackPanel>
</UserControl>

5
ILSpy/Options/OptionsDialog.xaml

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
<Window x:Class="ICSharpCode.ILSpy.Options.OptionsDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
Style="{DynamicResource DialogWindow}"
WindowStartupLocation="CenterOwner"
ResizeMode="CanResizeWithGrip"
@ -14,8 +15,8 @@ @@ -14,8 +15,8 @@
</Grid.RowDefinitions>
<TabControl Name="tabControl" />
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="12,8">
<Button IsDefault="True" Margin="2,0" Name="okButton" Click="OKButton_Click">OK</Button>
<Button IsCancel="True" Margin="2,0">Cancel</Button>
<Button IsDefault="True" Margin="2,0" Name="okButton" Click="OKButton_Click" Content="{x:Static properties:Resources.OK}"/>
<Button IsCancel="True" Margin="2,0" Content="{x:Static properties:Resources.Cancel}"/>
</StackPanel>
</Grid>
</Window>

882
ILSpy/Properties/Resources.Designer.cs generated

@ -0,0 +1,882 @@ @@ -0,0 +1,882 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace ICSharpCode.ILSpy.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ICSharpCode.ILSpy.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找类似 _About 的本地化字符串。
/// </summary>
public static string _About {
get {
return ResourceManager.GetString("_About", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Add To Main List 的本地化字符串。
/// </summary>
public static string _AddMainList {
get {
return ResourceManager.GetString("_AddMainList", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Check for Updates 的本地化字符串。
/// </summary>
public static string _CheckUpdates {
get {
return ResourceManager.GetString("_CheckUpdates", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Collapse all tree nodes 的本地化字符串。
/// </summary>
public static string _CollapseTreeNodes {
get {
return ResourceManager.GetString("_CollapseTreeNodes", resourceCulture);
}
}
/// <summary>
/// 查找类似 _File 的本地化字符串。
/// </summary>
public static string _File {
get {
return ResourceManager.GetString("_File", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Help 的本地化字符串。
/// </summary>
public static string _Help {
get {
return ResourceManager.GetString("_Help", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Load Dependencies 的本地化字符串。
/// </summary>
public static string _LoadDependencies {
get {
return ResourceManager.GetString("_LoadDependencies", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Open... 的本地化字符串。
/// </summary>
public static string _Open {
get {
return ResourceManager.GetString("_Open", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Open Command Line Here 的本地化字符串。
/// </summary>
public static string _OpenCommandLineHere {
get {
return ResourceManager.GetString("_OpenCommandLineHere", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Open Containing Folder 的本地化字符串。
/// </summary>
public static string _OpenContainingFolder {
get {
return ResourceManager.GetString("_OpenContainingFolder", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Reload 的本地化字符串。
/// </summary>
public static string _Reload {
get {
return ResourceManager.GetString("_Reload", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Remove 的本地化字符串。
/// </summary>
public static string _Remove {
get {
return ResourceManager.GetString("_Remove", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Remove Assemblies with load errors 的本地化字符串。
/// </summary>
public static string _RemoveAssembliesWithLoadErrors {
get {
return ResourceManager.GetString("_RemoveAssembliesWithLoadErrors", resourceCulture);
}
}
/// <summary>
/// 查找类似 Resources 的本地化字符串。
/// </summary>
public static string _Resources {
get {
return ResourceManager.GetString("_Resources", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Save Code... 的本地化字符串。
/// </summary>
public static string _SaveCode {
get {
return ResourceManager.GetString("_SaveCode", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Search for: 的本地化字符串。
/// </summary>
public static string _SearchFor {
get {
return ResourceManager.GetString("_SearchFor", resourceCulture);
}
}
/// <summary>
/// 查找类似 _Show debug steps 的本地化字符串。
/// </summary>
public static string _ShowDebugSteps {
get {
return ResourceManager.GetString("_ShowDebugSteps", resourceCulture);
}
}
/// <summary>
/// 查找类似 _View 的本地化字符串。
/// </summary>
public static string _View {
get {
return ResourceManager.GetString("_View", resourceCulture);
}
}
/// <summary>
/// 查找类似 Allow multiple instances 的本地化字符串。
/// </summary>
public static string AllowMultipleInstances {
get {
return ResourceManager.GetString("AllowMultipleInstances", resourceCulture);
}
}
/// <summary>
/// 查找类似 Always use braces 的本地化字符串。
/// </summary>
public static string AlwaysBraces {
get {
return ResourceManager.GetString("AlwaysBraces", resourceCulture);
}
}
/// <summary>
/// 查找类似 Automatically check for updates every week 的本地化字符串。
/// </summary>
public static string AutomaticallyCheckUpdatesEveryWeek {
get {
return ResourceManager.GetString("AutomaticallyCheckUpdatesEveryWeek", resourceCulture);
}
}
/// <summary>
/// 查找类似 Back 的本地化字符串。
/// </summary>
public static string Back {
get {
return ResourceManager.GetString("Back", resourceCulture);
}
}
/// <summary>
/// 查找类似 Cancel 的本地化字符串。
/// </summary>
public static string Cancel {
get {
return ResourceManager.GetString("Cancel", resourceCulture);
}
}
/// <summary>
/// 查找类似 Check again 的本地化字符串。
/// </summary>
public static string CheckAgain {
get {
return ResourceManager.GetString("CheckAgain", resourceCulture);
}
}
/// <summary>
/// 查找类似 Checking... 的本地化字符串。
/// </summary>
public static string Checking {
get {
return ResourceManager.GetString("Checking", resourceCulture);
}
}
/// <summary>
/// 查找类似 Check for updates 的本地化字符串。
/// </summary>
public static string CheckUpdates {
get {
return ResourceManager.GetString("CheckUpdates", resourceCulture);
}
}
/// <summary>
/// 查找类似 Collapse all tree nodes 的本地化字符串。
/// </summary>
public static string CollapseTreeNodes {
get {
return ResourceManager.GetString("CollapseTreeNodes", resourceCulture);
}
}
/// <summary>
/// 查找类似 Copy 的本地化字符串。
/// </summary>
public static string Copy {
get {
return ResourceManager.GetString("Copy", resourceCulture);
}
}
/// <summary>
/// 查找类似 Copy error message 的本地化字符串。
/// </summary>
public static string CopyErrorMessage {
get {
return ResourceManager.GetString("CopyErrorMessage", resourceCulture);
}
}
/// <summary>
/// 查找类似 Copy FQ Name 的本地化字符串。
/// </summary>
public static string CopyName {
get {
return ResourceManager.GetString("CopyName", resourceCulture);
}
}
/// <summary>
/// 查找类似 DEBUG -- Decompile All 的本地化字符串。
/// </summary>
public static string DEBUGDecompile {
get {
return ResourceManager.GetString("DEBUGDecompile", resourceCulture);
}
}
/// <summary>
/// 查找类似 DEBUG -- Decompile 100x 的本地化字符串。
/// </summary>
public static string DEBUGDecompile100x {
get {
return ResourceManager.GetString("DEBUGDecompile100x", resourceCulture);
}
}
/// <summary>
/// 查找类似 DEBUG -- Disassemble All 的本地化字符串。
/// </summary>
public static string DEBUGDisassemble {
get {
return ResourceManager.GetString("DEBUGDisassemble", resourceCulture);
}
}
/// <summary>
/// 查找类似 Decompiling... 的本地化字符串。
/// </summary>
public static string Decompiling {
get {
return ResourceManager.GetString("Decompiling", resourceCulture);
}
}
/// <summary>
/// 查找类似 Dependencies 的本地化字符串。
/// </summary>
public static string Dependencies {
get {
return ResourceManager.GetString("Dependencies", resourceCulture);
}
}
/// <summary>
/// 查找类似 Derived Types 的本地化字符串。
/// </summary>
public static string DerivedTypes {
get {
return ResourceManager.GetString("DerivedTypes", resourceCulture);
}
}
/// <summary>
/// 查找类似 Download 的本地化字符串。
/// </summary>
public static string Download {
get {
return ResourceManager.GetString("Download", resourceCulture);
}
}
/// <summary>
/// 查找类似 E_xit 的本地化字符串。
/// </summary>
public static string E_xit {
get {
return ResourceManager.GetString("E_xit", resourceCulture);
}
}
/// <summary>
/// 查找类似 Editor 的本地化字符串。
/// </summary>
public static string Editor {
get {
return ResourceManager.GetString("Editor", resourceCulture);
}
}
/// <summary>
/// 查找类似 Enable folding on all blocks in braces 的本地化字符串。
/// </summary>
public static string EnableFoldingBlocksBraces {
get {
return ResourceManager.GetString("EnableFoldingBlocksBraces", resourceCulture);
}
}
/// <summary>
/// 查找类似 Enable word wrap 的本地化字符串。
/// </summary>
public static string EnableWordWrap {
get {
return ResourceManager.GetString("EnableWordWrap", resourceCulture);
}
}
/// <summary>
/// 查找类似 Exit 的本地化字符串。
/// </summary>
public static string Exit {
get {
return ResourceManager.GetString("Exit", resourceCulture);
}
}
/// <summary>
/// 查找类似 Expand member definitions after decompilation 的本地化字符串。
/// </summary>
public static string ExpandMemberDefinitionsAfterDecompilation {
get {
return ResourceManager.GetString("ExpandMemberDefinitionsAfterDecompilation", resourceCulture);
}
}
/// <summary>
/// 查找类似 Folding 的本地化字符串。
/// </summary>
public static string Folding {
get {
return ResourceManager.GetString("Folding", resourceCulture);
}
}
/// <summary>
/// 查找类似 Font 的本地化字符串。
/// </summary>
public static string Font {
get {
return ResourceManager.GetString("Font", resourceCulture);
}
}
/// <summary>
/// 查找类似 Forward 的本地化字符串。
/// </summary>
public static string Forward {
get {
return ResourceManager.GetString("Forward", resourceCulture);
}
}
/// <summary>
/// 查找类似 Generate portable PDB 的本地化字符串。
/// </summary>
public static string GeneratePortable {
get {
return ResourceManager.GetString("GeneratePortable", resourceCulture);
}
}
/// <summary>
/// 查找类似 ILSpy version 的本地化字符串。
/// </summary>
public static string ILSpyVersion {
get {
return ResourceManager.GetString("ILSpyVersion", resourceCulture);
}
}
/// <summary>
/// 查找类似 A new ILSpy version is available. 的本地化字符串。
/// </summary>
public static string ILSpyVersionAvailable {
get {
return ResourceManager.GetString("ILSpyVersionAvailable", resourceCulture);
}
}
/// <summary>
/// 查找类似 Insert using declarations 的本地化字符串。
/// </summary>
public static string InsertUsingDeclarations {
get {
return ResourceManager.GetString("InsertUsingDeclarations", resourceCulture);
}
}
/// <summary>
/// 查找类似 Loading... 的本地化字符串。
/// </summary>
public static string Loading {
get {
return ResourceManager.GetString("Loading", resourceCulture);
}
}
/// <summary>
/// 查找类似 Location 的本地化字符串。
/// </summary>
public static string Location {
get {
return ResourceManager.GetString("Location", resourceCulture);
}
}
/// <summary>
/// 查找类似 Name 的本地化字符串。
/// </summary>
public static string Name {
get {
return ResourceManager.GetString("Name", resourceCulture);
}
}
/// <summary>
/// 查找类似 Navigation 的本地化字符串。
/// </summary>
public static string Navigation {
get {
return ResourceManager.GetString("Navigation", resourceCulture);
}
}
/// <summary>
/// 查找类似 OK 的本地化字符串。
/// </summary>
public static string OK {
get {
return ResourceManager.GetString("OK", resourceCulture);
}
}
/// <summary>
/// 查找类似 Open 的本地化字符串。
/// </summary>
public static string Open {
get {
return ResourceManager.GetString("Open", resourceCulture);
}
}
/// <summary>
/// 查找类似 Open _List... 的本地化字符串。
/// </summary>
public static string Open_List {
get {
return ResourceManager.GetString("Open_List", resourceCulture);
}
}
/// <summary>
/// 查找类似 Open from _GAC... 的本地化字符串。
/// </summary>
public static string OpenFrom_GAC {
get {
return ResourceManager.GetString("OpenFrom_GAC", resourceCulture);
}
}
/// <summary>
/// 查找类似 Other options 的本地化字符串。
/// </summary>
public static string OtherOptions {
get {
return ResourceManager.GetString("OtherOptions", resourceCulture);
}
}
/// <summary>
/// 查找类似 References 的本地化字符串。
/// </summary>
public static string References {
get {
return ResourceManager.GetString("References", resourceCulture);
}
}
/// <summary>
/// 查找类似 ReloadAssemblies 的本地化字符串。
/// </summary>
public static string RefreshCommand_ReloadAssemblies {
get {
return ResourceManager.GetString("RefreshCommand_ReloadAssemblies", resourceCulture);
}
}
/// <summary>
/// 查找类似 Reload all assemblies 的本地化字符串。
/// </summary>
public static string ReloadAssemblies {
get {
return ResourceManager.GetString("ReloadAssemblies", resourceCulture);
}
}
/// <summary>
/// 查找类似 Remove 的本地化字符串。
/// </summary>
public static string Remove {
get {
return ResourceManager.GetString("Remove", resourceCulture);
}
}
/// <summary>
/// 查找类似 Remove dead and side effect free code 的本地化字符串。
/// </summary>
public static string RemoveDeadSideEffectFreeCode {
get {
return ResourceManager.GetString("RemoveDeadSideEffectFreeCode", resourceCulture);
}
}
/// <summary>
/// 查找类似 Resources file (*.resources)|*.resources|Resource XML file|*.resx 的本地化字符串。
/// </summary>
public static string ResourcesFileFilter {
get {
return ResourceManager.GetString("ResourcesFileFilter", resourceCulture);
}
}
/// <summary>
/// 查找类似 Save 的本地化字符串。
/// </summary>
public static string Save {
get {
return ResourceManager.GetString("Save", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search 的本地化字符串。
/// </summary>
public static string SearchPane_Search {
get {
return ResourceManager.GetString("SearchPane_Search", resourceCulture);
}
}
/// <summary>
/// 查找类似 Shell 的本地化字符串。
/// </summary>
public static string Shell {
get {
return ResourceManager.GetString("Shell", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show _internal types and members 的本地化字符串。
/// </summary>
public static string Show_internalTypesMembers {
get {
return ResourceManager.GetString("Show_internalTypesMembers", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show XML documentation in decompiled code 的本地化字符串。
/// </summary>
public static string ShowDocumentationDecompiledCode {
get {
return ResourceManager.GetString("ShowDocumentationDecompiledCode", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show info from debug symbols, if available 的本地化字符串。
/// </summary>
public static string ShowInfoFromDebugSymbolsAvailable {
get {
return ResourceManager.GetString("ShowInfoFromDebugSymbolsAvailable", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show internal types and members 的本地化字符串。
/// </summary>
public static string ShowInternalTypesMembers {
get {
return ResourceManager.GetString("ShowInternalTypesMembers", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show line numbers 的本地化字符串。
/// </summary>
public static string ShowLineNumbers {
get {
return ResourceManager.GetString("ShowLineNumbers", resourceCulture);
}
}
/// <summary>
/// 查找类似 Show metadata tokens 的本地化字符串。
/// </summary>
public static string ShowMetadataTokens {
get {
return ResourceManager.GetString("ShowMetadataTokens", resourceCulture);
}
}
/// <summary>
/// 查找类似 Sort assembly _list by name 的本地化字符串。
/// </summary>
public static string SortAssembly_listName {
get {
return ResourceManager.GetString("SortAssembly_listName", resourceCulture);
}
}
/// <summary>
/// 查找类似 Sort assembly list by name 的本地化字符串。
/// </summary>
public static string SortAssemblyListName {
get {
return ResourceManager.GetString("SortAssemblyListName", resourceCulture);
}
}
/// <summary>
/// 查找类似 Sort results by fitness 的本地化字符串。
/// </summary>
public static string SortResultsFitness {
get {
return ResourceManager.GetString("SortResultsFitness", resourceCulture);
}
}
/// <summary>
/// 查找类似 Stand by... 的本地化字符串。
/// </summary>
public static string StandBy {
get {
return ResourceManager.GetString("StandBy", resourceCulture);
}
}
/// <summary>
/// 查找类似 Status 的本地化字符串。
/// </summary>
public static string Status {
get {
return ResourceManager.GetString("Status", resourceCulture);
}
}
/// <summary>
/// 查找类似 String Table 的本地化字符串。
/// </summary>
public static string StringTable {
get {
return ResourceManager.GetString("StringTable", resourceCulture);
}
}
/// <summary>
/// 查找类似 Toggle All Folding 的本地化字符串。
/// </summary>
public static string ToggleFolding {
get {
return ResourceManager.GetString("ToggleFolding", resourceCulture);
}
}
/// <summary>
/// 查找类似 Type 的本地化字符串。
/// </summary>
public static string Type {
get {
return ResourceManager.GetString("Type", resourceCulture);
}
}
/// <summary>
/// 查找类似 No update for ILSpy found. 的本地化字符串。
/// </summary>
public static string UpdateILSpyFound {
get {
return ResourceManager.GetString("UpdateILSpyFound", resourceCulture);
}
}
/// <summary>
/// 查找类似 You are using the latest release. 的本地化字符串。
/// </summary>
public static string UsingLatestRelease {
get {
return ResourceManager.GetString("UsingLatestRelease", resourceCulture);
}
}
/// <summary>
/// 查找类似 You are using a nightly build newer than the latest release. 的本地化字符串。
/// </summary>
public static string UsingNightlyBuildNewerThanLatestRelease {
get {
return ResourceManager.GetString("UsingNightlyBuildNewerThanLatestRelease", resourceCulture);
}
}
/// <summary>
/// 查找类似 Value 的本地化字符串。
/// </summary>
public static string Value {
get {
return ResourceManager.GetString("Value", resourceCulture);
}
}
/// <summary>
/// 查找类似 Value (as string) 的本地化字符串。
/// </summary>
public static string ValueString {
get {
return ResourceManager.GetString("ValueString", resourceCulture);
}
}
/// <summary>
/// 查找类似 Use variable names from debug symbols, if available 的本地化字符串。
/// </summary>
public static string VariableNamesFromDebugSymbolsAvailable {
get {
return ResourceManager.GetString("VariableNamesFromDebugSymbolsAvailable", resourceCulture);
}
}
/// <summary>
/// 查找类似 Version {0} is available. 的本地化字符串。
/// </summary>
public static string VersionAvailable {
get {
return ResourceManager.GetString("VersionAvailable", resourceCulture);
}
}
/// <summary>
/// 查找类似 View 的本地化字符串。
/// </summary>
public static string View {
get {
return ResourceManager.GetString("View", resourceCulture);
}
}
/// <summary>
/// 查找类似 Search for t:TypeName, m:Member or c:Constant; use exact match (=term), &apos;should not contain&apos; (-term) or &apos;must contain&apos; (+term); use /reg(ular)?Ex(pressions)?/ or both - t:/Type(Name)?/... 的本地化字符串。
/// </summary>
public static string WatermarkText {
get {
return ResourceManager.GetString("WatermarkText", resourceCulture);
}
}
}
}

393
ILSpy/Properties/Resources.resx

@ -0,0 +1,393 @@ @@ -0,0 +1,393 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Navigation" xml:space="preserve">
<value>Navigation</value>
</data>
<data name="Back" xml:space="preserve">
<value>Back</value>
</data>
<data name="Forward" xml:space="preserve">
<value>Forward</value>
</data>
<data name="_CheckUpdates" xml:space="preserve">
<value>_Check for Updates</value>
</data>
<data name="_Help" xml:space="preserve">
<value>_Help</value>
</data>
<data name="_File" xml:space="preserve">
<value>_File</value>
</data>
<data name="Open" xml:space="preserve">
<value>Open</value>
</data>
<data name="DEBUGDisassemble" xml:space="preserve">
<value>DEBUG -- Disassemble All</value>
</data>
<data name="E_xit" xml:space="preserve">
<value>E_xit</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Exit</value>
</data>
<data name="Save" xml:space="preserve">
<value>Save</value>
</data>
<data name="_Open" xml:space="preserve">
<value>_Open...</value>
</data>
<data name="OpenFrom_GAC" xml:space="preserve">
<value>Open from _GAC...</value>
</data>
<data name="Open_List" xml:space="preserve">
<value>Open _List...</value>
</data>
<data name="ReloadAssemblies" xml:space="preserve">
<value>Reload all assemblies</value>
</data>
<data name="DEBUGDecompile" xml:space="preserve">
<value>DEBUG -- Decompile All</value>
</data>
<data name="DEBUGDecompile100x" xml:space="preserve">
<value>DEBUG -- Decompile 100x</value>
</data>
<data name="GeneratePortable" xml:space="preserve">
<value>Generate portable PDB</value>
</data>
<data name="RefreshCommand_ReloadAssemblies" xml:space="preserve">
<value>ReloadAssemblies</value>
</data>
<data name="_Reload" xml:space="preserve">
<value>_Reload</value>
</data>
<data name="_RemoveAssembliesWithLoadErrors" xml:space="preserve">
<value>_Remove Assemblies with load errors</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Remove</value>
</data>
<data name="_SaveCode" xml:space="preserve">
<value>_Save Code...</value>
</data>
<data name="_ShowDebugSteps" xml:space="preserve">
<value>_Show debug steps</value>
</data>
<data name="_View" xml:space="preserve">
<value>_View</value>
</data>
<data name="SortAssembly_listName" xml:space="preserve">
<value>Sort assembly _list by name</value>
</data>
<data name="View" xml:space="preserve">
<value>View</value>
</data>
<data name="SortAssemblyListName" xml:space="preserve">
<value>Sort assembly list by name</value>
</data>
<data name="_CollapseTreeNodes" xml:space="preserve">
<value>_Collapse all tree nodes</value>
</data>
<data name="CollapseTreeNodes" xml:space="preserve">
<value>Collapse all tree nodes</value>
</data>
<data name="Name" xml:space="preserve">
<value>Name</value>
</data>
<data name="ValueString" xml:space="preserve">
<value>Value (as string)</value>
</data>
<data name="Type" xml:space="preserve">
<value>Type</value>
</data>
<data name="StringTable" xml:space="preserve">
<value>String Table</value>
</data>
<data name="Value" xml:space="preserve">
<value>Value</value>
</data>
<data name="VariableNamesFromDebugSymbolsAvailable" xml:space="preserve">
<value>Use variable names from debug symbols, if available</value>
</data>
<data name="ShowInfoFromDebugSymbolsAvailable" xml:space="preserve">
<value>Show info from debug symbols, if available</value>
</data>
<data name="ShowDocumentationDecompiledCode" xml:space="preserve">
<value>Show XML documentation in decompiled code</value>
</data>
<data name="EnableFoldingBlocksBraces" xml:space="preserve">
<value>Enable folding on all blocks in braces</value>
</data>
<data name="RemoveDeadSideEffectFreeCode" xml:space="preserve">
<value>Remove dead and side effect free code</value>
</data>
<data name="InsertUsingDeclarations" xml:space="preserve">
<value>Insert using declarations</value>
</data>
<data name="AlwaysBraces" xml:space="preserve">
<value>Always use braces</value>
</data>
<data name="ExpandMemberDefinitionsAfterDecompilation" xml:space="preserve">
<value>Expand member definitions after decompilation</value>
</data>
<data name="Font" xml:space="preserve">
<value>Font</value>
</data>
<data name="OtherOptions" xml:space="preserve">
<value>Other options</value>
</data>
<data name="ShowLineNumbers" xml:space="preserve">
<value>Show line numbers</value>
</data>
<data name="ShowMetadataTokens" xml:space="preserve">
<value>Show metadata tokens</value>
</data>
<data name="EnableWordWrap" xml:space="preserve">
<value>Enable word wrap</value>
</data>
<data name="SortResultsFitness" xml:space="preserve">
<value>Sort results by fitness</value>
</data>
<data name="AllowMultipleInstances" xml:space="preserve">
<value>Allow multiple instances</value>
</data>
<data name="Cancel" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="OK" xml:space="preserve">
<value>OK</value>
</data>
<data name="SearchPane_Search" xml:space="preserve">
<value>Search</value>
</data>
<data name="WatermarkText" xml:space="preserve">
<value>Search for t:TypeName, m:Member or c:Constant; use exact match (=term), 'should not contain' (-term) or 'must contain' (+term); use /reg(ular)?Ex(pressions)?/ or both - t:/Type(Name)?/...</value>
</data>
<data name="_SearchFor" xml:space="preserve">
<value>_Search for:</value>
</data>
<data name="Location" xml:space="preserve">
<value>Location</value>
</data>
<data name="Decompiling" xml:space="preserve">
<value>Decompiling...</value>
</data>
<data name="Copy" xml:space="preserve">
<value>Copy</value>
</data>
<data name="Editor" xml:space="preserve">
<value>Editor</value>
</data>
<data name="ToggleFolding" xml:space="preserve">
<value>Toggle All Folding</value>
</data>
<data name="Folding" xml:space="preserve">
<value>Folding</value>
</data>
<data name="ResourcesFileFilter" xml:space="preserve">
<value>Resources file (*.resources)|*.resources|Resource XML file|*.resx</value>
</data>
<data name="_Remove" xml:space="preserve">
<value>_Remove</value>
</data>
<data name="_LoadDependencies" xml:space="preserve">
<value>_Load Dependencies</value>
</data>
<data name="Dependencies" xml:space="preserve">
<value>Dependencies</value>
</data>
<data name="_AddMainList" xml:space="preserve">
<value>_Add To Main List</value>
</data>
<data name="_OpenContainingFolder" xml:space="preserve">
<value>_Open Containing Folder</value>
</data>
<data name="Shell" xml:space="preserve">
<value>Shell</value>
</data>
<data name="_OpenCommandLineHere" xml:space="preserve">
<value>_Open Command Line Here</value>
</data>
<data name="CopyName" xml:space="preserve">
<value>Copy FQ Name</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Loading...</value>
</data>
<data name="CopyErrorMessage" xml:space="preserve">
<value>Copy error message</value>
</data>
<data name="DerivedTypes" xml:space="preserve">
<value>Derived Types</value>
</data>
<data name="References" xml:space="preserve">
<value>References</value>
</data>
<data name="_Resources" xml:space="preserve">
<value>Resources</value>
</data>
<data name="_About" xml:space="preserve">
<value>_About</value>
</data>
<data name="ILSpyVersion" xml:space="preserve">
<value>ILSpy version </value>
</data>
<data name="AutomaticallyCheckUpdatesEveryWeek" xml:space="preserve">
<value>Automatically check for updates every week</value>
</data>
<data name="CheckUpdates" xml:space="preserve">
<value>Check for updates</value>
</data>
<data name="Checking" xml:space="preserve">
<value>Checking...</value>
</data>
<data name="UsingLatestRelease" xml:space="preserve">
<value>You are using the latest release.</value>
</data>
<data name="VersionAvailable" xml:space="preserve">
<value>Version {0} is available.</value>
</data>
<data name="Download" xml:space="preserve">
<value>Download</value>
</data>
<data name="UsingNightlyBuildNewerThanLatestRelease" xml:space="preserve">
<value>You are using a nightly build newer than the latest release.</value>
</data>
<data name="Show_internalTypesMembers" xml:space="preserve">
<value>Show _internal types and members</value>
</data>
<data name="ShowInternalTypesMembers" xml:space="preserve">
<value>Show internal types and members</value>
</data>
<data name="StandBy" xml:space="preserve">
<value>Stand by...</value>
</data>
<data name="Status" xml:space="preserve">
<value>Status</value>
</data>
<data name="ILSpyVersionAvailable" xml:space="preserve">
<value>A new ILSpy version is available.</value>
</data>
<data name="UpdateILSpyFound" xml:space="preserve">
<value>No update for ILSpy found.</value>
</data>
<data name="CheckAgain" xml:space="preserve">
<value>Check again</value>
</data>
</root>

315
ILSpy/Properties/Resources.zh-Hans.resx

@ -0,0 +1,315 @@ @@ -0,0 +1,315 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Navigation" xml:space="preserve">
<value>导航</value>
</data>
<data name="Back" xml:space="preserve">
<value>后退</value>
</data>
<data name="Forward" xml:space="preserve">
<value>前进</value>
</data>
<data name="_CheckUpdates" xml:space="preserve">
<value>检查更新(_C)</value>
</data>
<data name="_Help" xml:space="preserve">
<value>帮助(_H)</value>
</data>
<data name="_File" xml:space="preserve">
<value>文件(_F)</value>
</data>
<data name="Open" xml:space="preserve">
<value>打开</value>
</data>
<data name="DEBUGDisassemble" xml:space="preserve">
<value>DEBUG -- 反编译全部</value>
</data>
<data name="E_xit" xml:space="preserve">
<value>退出(_X)</value>
</data>
<data name="Exit" xml:space="preserve">
<value>退出</value>
</data>
<data name="Save" xml:space="preserve">
<value>保存</value>
</data>
<data name="_Open" xml:space="preserve">
<value>打开(_O)...</value>
</data>
<data name="OpenFrom_GAC" xml:space="preserve">
<value>从_GAC中打开......</value>
</data>
<data name="Open_List" xml:space="preserve">
<value>打开列表(_L)</value>
</data>
<data name="ReloadAssemblies" xml:space="preserve">
<value>重新加载全部程序集</value>
</data>
<data name="DEBUGDecompile" xml:space="preserve">
<value>DEBUG - 全部反编译</value>
</data>
<data name="DEBUGDecompile100x" xml:space="preserve">
<value>DEBUG - 反编译100x</value>
</data>
<data name="GeneratePortable" xml:space="preserve">
<value>生成可携带PDB</value>
</data>
<data name="RefreshCommand_ReloadAssemblies" xml:space="preserve">
<value>重新加载程序集</value>
</data>
<data name="_Reload" xml:space="preserve">
<value>重新加载(_R)</value>
</data>
<data name="_RemoveAssembliesWithLoadErrors" xml:space="preserve">
<value>移除程序集及其加载错误(_R)</value>
</data>
<data name="Remove" xml:space="preserve">
<value>移除</value>
</data>
<data name="_SaveCode" xml:space="preserve">
<value>保存代码(_S)</value>
</data>
<data name="_ShowDebugSteps" xml:space="preserve">
<value>显示调试步骤(_S)</value>
</data>
<data name="_View" xml:space="preserve">
<value>视图(_V)</value>
</data>
<data name="SortAssembly_listName" xml:space="preserve">
<value>按名称排列程序集列表(_L)</value>
</data>
<data name="View" xml:space="preserve">
<value>视图</value>
</data>
<data name="SortAssemblyListName" xml:space="preserve">
<value>按名称排列程序集列表</value>
</data>
<data name="_CollapseTreeNodes" xml:space="preserve">
<value>折叠所有树节点(_C)</value>
</data>
<data name="CollapseTreeNodes" xml:space="preserve">
<value>折叠所有树节点</value>
</data>
<data name="Name" xml:space="preserve">
<value>名称</value>
</data>
<data name="ValueString" xml:space="preserve">
<value>值(为字符串)</value>
</data>
<data name="Type" xml:space="preserve">
<value>类型</value>
</data>
<data name="StringTable" xml:space="preserve">
<value>字符串表</value>
</data>
<data name="Value" xml:space="preserve">
<value>值</value>
</data>
<data name="_Resources" xml:space="preserve">
<value>资源</value>
</data>
<data name="Download" xml:space="preserve">
<value>下载</value>
</data>
<data name="Checking" xml:space="preserve">
<value>检查...</value>
</data>
<data name="CheckUpdates" xml:space="preserve">
<value>检查更新</value>
</data>
<data name="_About" xml:space="preserve">
<value>关于(_A)</value>
</data>
<data name="Loading" xml:space="preserve">
<value>加载中...</value>
</data>
<data name="References" xml:space="preserve">
<value>引用</value>
</data>
<data name="ILSpyVersion" xml:space="preserve">
<value>ILSpy版本</value>
</data>
<data name="Decompiling" xml:space="preserve">
<value>正在反编译...</value>
</data>
<data name="Copy" xml:space="preserve">
<value>复制</value>
</data>
<data name="Editor" xml:space="preserve">
<value>编辑器</value>
</data>
<data name="Location" xml:space="preserve">
<value>位置</value>
</data>
<data name="_SearchFor" xml:space="preserve">
<value>搜索(_S):</value>
</data>
<data name="_Remove" xml:space="preserve">
<value>移除(_R)</value>
</data>
<data name="_LoadDependencies" xml:space="preserve">
<value>加载依赖(_L)</value>
</data>
<data name="Dependencies" xml:space="preserve">
<value>依赖(_L)</value>
</data>
<data name="OK" xml:space="preserve">
<value>确定</value>
</data>
<data name="SearchPane_Search" xml:space="preserve">
<value>搜索</value>
</data>
<data name="Status" xml:space="preserve">
<value>状态</value>
</data>
<data name="Font" xml:space="preserve">
<value>字体</value>
</data>
<data name="OtherOptions" xml:space="preserve">
<value>其他选项</value>
</data>
<data name="ShowLineNumbers" xml:space="preserve">
<value>显示行号</value>
</data>
<data name="Cancel" xml:space="preserve">
<value>取消</value>
</data>
<data name="Folding" xml:space="preserve">
<value>折叠</value>
</data>
<data name="_AddMainList" xml:space="preserve">
<value>添加到主列表(_A)</value>
</data>
<data name="_OpenContainingFolder" xml:space="preserve">
<value>打开包含文件夹(_O)</value>
</data>
<data name="Shell" xml:space="preserve">
<value>Shell</value>
</data>
<data name="_OpenCommandLineHere" xml:space="preserve">
<value>在这里打开命令行(_O)</value>
</data>
<data name="CopyName" xml:space="preserve">
<value>复制FQ名称</value>
</data>
<data name="CopyErrorMessage" xml:space="preserve">
<value>复制错误信息</value>
</data>
</root>

11
ILSpy/Search/SearchPane.xaml

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:ICSharpCode.ILSpy.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Name="self" mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
@ -17,10 +18,10 @@ @@ -17,10 +18,10 @@
</Grid.ColumnDefinitions>
<controls:SearchBox x:Name="searchBox" DockPanel.Dock="Top" Grid.Column="0" Grid.Row="0" Margin="1"
PreviewKeyDown="SearchBox_PreviewKeyDown"
Text="{Binding SearchTerm, ElementName=self}" ToolTip="Search" UpdateDelay="0:0:0.1"
WatermarkColor="Gray" WatermarkText="Search for t:TypeName, m:Member or c:Constant; use exact match (=term), 'should not contain' (-term) or 'must contain' (+term); use /reg(ular)?Ex(pressions)?/ or both - t:/Type(Name)?/..." />
Text="{Binding SearchTerm, ElementName=self}" ToolTip="{x:Static properties:Resources.SearchPane_Search}" UpdateDelay="0:0:0.1"
WatermarkColor="Gray" WatermarkText="{x:Static properties:Resources.WatermarkText}" />
<StackPanel Grid.Column="1" Grid.Row="0" Orientation="Horizontal">
<Label Margin="0,-1" Target="searchModeComboBox">_Search for:</Label>
<Label Margin="0,-1" Target="searchModeComboBox" Content="{x:Static properties:Resources._SearchFor}"/>
<ComboBox Width="100" Name="searchModeComboBox" Margin="1"
TextSearch.TextPath="Name"
SelectionChanged="SearchModeComboBox_SelectionChanged">
@ -40,7 +41,7 @@ @@ -40,7 +41,7 @@
MouseDoubleClick="ListBox_MouseDoubleClick" Name="listBox" SelectionMode="Single" controls:SortableGridViewColumn.SortMode="Automatic" controls:GridViewColumnAutoSize.AutoWidth="50%;50%">
<ListView.View>
<GridView AllowsColumnReorder="False">
<controls:SortableGridViewColumn Header="Name" SortBy="Name">
<controls:SortableGridViewColumn Header="{x:Static properties:Resources.Name}" SortBy="Name">
<controls:SortableGridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
@ -50,7 +51,7 @@ @@ -50,7 +51,7 @@
</DataTemplate>
</controls:SortableGridViewColumn.CellTemplate>
</controls:SortableGridViewColumn>
<controls:SortableGridViewColumn Header="Location" SortBy="Location">
<controls:SortableGridViewColumn Header="{x:Static properties:Resources.Location}" SortBy="Location">
<controls:SortableGridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">

5
ILSpy/TextView/DecompilerTextView.xaml

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
<UserControl x:Class="ICSharpCode.ILSpy.TextView.DecompilerTextView" x:ClassModifier="public" x:Name="self"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
xmlns:ae="clr-namespace:ICSharpCode.AvalonEdit;assembly=ICSharpCode.AvalonEdit">
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="boolToVisibility" />
@ -18,9 +19,9 @@ @@ -18,9 +19,9 @@
</ae:TextEditor>
<Border Name="waitAdorner" Background="#C0FFFFFF" Visibility="Collapsed">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock FontSize="14pt">Decompiling...</TextBlock>
<TextBlock FontSize="14pt" Text="{x:Static properties:Resources.Decompiling}"/>
<ProgressBar Name="progressBar" Height="16" Margin="0, 4" />
<Button Click="cancelButton_Click" HorizontalAlignment="Center">Cancel</Button>
<Button Click="cancelButton_Click" HorizontalAlignment="Center" Content="{x:Static properties:Resources.Cancel}"/>
</StackPanel>
</Border>
</Grid>

4
ILSpy/TextView/EditorCommands.cs

@ -16,9 +16,11 @@ @@ -16,9 +16,11 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TextView
{
[ExportContextMenuEntry(Header = "Copy", Category = "Editor")]
[ExportContextMenuEntry(Header = nameof(Resources.Copy), Category = nameof(Resources.Editor))]
sealed class CopyContextMenuEntry : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)

3
ILSpy/TextView/FoldingCommands.cs

@ -20,10 +20,11 @@ using System.Linq; @@ -20,10 +20,11 @@ using System.Linq;
using ICSharpCode.AvalonEdit;
using ICSharpCode.AvalonEdit.Folding;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TextView
{
[ExportContextMenuEntryAttribute(Header = "Toggle All Folding", Category = "Folding")]
[ExportContextMenuEntryAttribute(Header = nameof(Resources.ToggleFolding), Category = nameof(Resources.Folding))]
internal sealed class ToggleAllContextMenuEntry : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)

13
ILSpy/TreeNodes/AssemblyTreeNode.cs

@ -31,6 +31,7 @@ using ICSharpCode.TreeView; @@ -31,6 +31,7 @@ using ICSharpCode.TreeView;
using Microsoft.Win32;
using ICSharpCode.Decompiler.TypeSystem;
using TypeDefinitionHandle = System.Reflection.Metadata.TypeDefinitionHandle;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TreeNodes
{
@ -313,7 +314,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -313,7 +314,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Remove", Icon = "images/Delete.png")]
[ExportContextMenuEntry(Header = nameof(Resources._Remove), Icon = "images/Delete.png")]
sealed class RemoveAssembly : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)
@ -338,7 +339,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -338,7 +339,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Reload", Icon = "images/Refresh.png")]
[ExportContextMenuEntry(Header = nameof(Resources._Reload), Icon = "images/Refresh.png")]
sealed class ReloadAssembly : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)
@ -370,7 +371,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -370,7 +371,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Load Dependencies", Category = "Dependencies")]
[ExportContextMenuEntry(Header = nameof(Resources._LoadDependencies), Category = nameof(Resources.Dependencies))]
sealed class LoadDependencies : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)
@ -403,7 +404,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -403,7 +404,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Add To Main List", Category = "Dependencies")]
[ExportContextMenuEntry(Header = nameof(Resources._AddMainList), Category = nameof(Resources.Dependencies))]
sealed class AddToMainList : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)
@ -435,7 +436,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -435,7 +436,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Open Containing Folder", Category = "Shell")]
[ExportContextMenuEntry(Header = nameof(Resources._OpenContainingFolder), Category = nameof(Resources.Shell))]
sealed class OpenContainingFolder : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)
@ -484,7 +485,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -484,7 +485,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "_Open Command Line Here", Category = "Shell")]
[ExportContextMenuEntry(Header = nameof(Resources._OpenCommandLineHere), Category = nameof(Resources.Shell))]
sealed class OpenCmdHere : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)

3
ILSpy/TreeNodes/CopyFullyQualifiedNameContextMenuEntry.cs

@ -3,10 +3,11 @@ using System.Windows; @@ -3,10 +3,11 @@ using System.Windows;
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.Decompiler.TypeSystem;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TreeNodes
{
[ExportContextMenuEntry(Header = "Copy FQ Name", Icon = "images/Copy.png", Order = 9999)]
[ExportContextMenuEntry(Header = nameof(Resources.CopyName), Icon = "images/Copy.png", Order = 9999)]
public class CopyFullyQualifiedNameContextMenuEntry : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)

4
ILSpy/TreeNodes/DerivedTypesTreeNode.cs

@ -22,7 +22,7 @@ using System.Threading; @@ -22,7 +22,7 @@ using System.Threading;
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.Decompiler.TypeSystem;
using ICSharpCode.ILSpy.Properties;
using SRM = System.Reflection.Metadata;
namespace ICSharpCode.ILSpy.TreeNodes
@ -44,7 +44,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -44,7 +44,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
this.threading = new ThreadingSupport();
}
public override object Text => "Derived Types";
public override object Text => Resources.DerivedTypes;
public override object Icon => Images.SubTypes;

3
ILSpy/TreeNodes/ReferenceFolderTreeNode.cs

@ -22,6 +22,7 @@ using SRM = System.Reflection.Metadata; @@ -22,6 +22,7 @@ using SRM = System.Reflection.Metadata;
using System.Windows.Threading;
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TreeNodes
{
@ -41,7 +42,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -41,7 +42,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
public override object Text {
get { return "References"; }
get { return Resources.References; }
}
public override object Icon {

3
ILSpy/TreeNodes/ResourceListTreeNode.cs

@ -21,6 +21,7 @@ using System.Linq; @@ -21,6 +21,7 @@ using System.Linq;
using System.Windows.Threading;
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TreeNodes
{
@ -38,7 +39,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -38,7 +39,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
public override object Text {
get { return "Resources"; }
get { return Resources._Resources; }
}
public override object Icon {

3
ILSpy/TreeNodes/ResourceNodes/CursorResourceEntryNode.cs

@ -22,6 +22,7 @@ using System.IO; @@ -22,6 +22,7 @@ using System.IO;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
namespace ICSharpCode.ILSpy.TreeNodes
@ -89,7 +90,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -89,7 +90,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
output.AddUIElement(() => new Image { Source = image });
output.WriteLine();
output.AddButton(Images.Save, "Save", delegate {
output.AddButton(Images.Save, Resources.Save, delegate {
Save(null);
});
textView.ShowNode(output, this);

3
ILSpy/TreeNodes/ResourceNodes/IconResourceEntryNode.cs

@ -22,6 +22,7 @@ using System.IO; @@ -22,6 +22,7 @@ using System.IO;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
namespace ICSharpCode.ILSpy.TreeNodes
@ -73,7 +74,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -73,7 +74,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
AddIcon(output, frame);
output.WriteLine();
}
output.AddButton(Images.Save, "Save", delegate {
output.AddButton(Images.Save, Resources.Save, delegate {
Save(null);
});
textView.ShowNode(output, this);

3
ILSpy/TreeNodes/ResourceNodes/ImageResourceEntryNode.cs

@ -22,6 +22,7 @@ using System.IO; @@ -22,6 +22,7 @@ using System.IO;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
namespace ICSharpCode.ILSpy.TreeNodes
@ -80,7 +81,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -80,7 +81,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
image.EndInit();
output.AddUIElement(() => new Image { Source = image });
output.WriteLine();
output.AddButton(Images.Save, "Save", delegate {
output.AddButton(Images.Save, Resources.Save, delegate {
Save(null);
});
textView.ShowNode(output, this);

3
ILSpy/TreeNodes/ResourceNodes/ResourceTreeNode.cs

@ -24,6 +24,7 @@ using ICSharpCode.AvalonEdit.Highlighting; @@ -24,6 +24,7 @@ using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Utils;
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.ILSpy.TextView;
using Microsoft.Win32;
@ -72,7 +73,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -72,7 +73,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
ISmartTextOutput smartOutput = output as ISmartTextOutput;
if (smartOutput != null) {
smartOutput.AddButton(Images.Save, "Save", delegate { Save(null); });
smartOutput.AddButton(Images.Save, Resources.Save, delegate { Save(null); });
output.WriteLine();
}
}

3
ILSpy/TreeNodes/ResourceNodes/ResourcesFileTreeNode.cs

@ -28,6 +28,7 @@ using ICSharpCode.Decompiler.Metadata; @@ -28,6 +28,7 @@ using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.ILSpy.Controls;
using ICSharpCode.ILSpy.TextView;
using Microsoft.Win32;
using ICSharpCode.ILSpy.Properties;
namespace ICSharpCode.ILSpy.TreeNodes
{
@ -110,7 +111,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -110,7 +111,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
if (s == null) return false;
SaveFileDialog dlg = new SaveFileDialog();
dlg.FileName = DecompilerTextView.CleanUpName(Resource.Name);
dlg.Filter = "Resources file (*.resources)|*.resources|Resource XML file|*.resx";
dlg.Filter = Resources.ResourcesFileFilter;
if (dlg.ShowDialog() == true) {
s.Position = 0;
switch (dlg.FilterIndex) {

5
ILSpy/TreeNodes/ThreadingSupport.cs

@ -26,6 +26,7 @@ using System.Windows; @@ -26,6 +26,7 @@ using System.Windows;
using System.Windows.Threading;
using ICSharpCode.Decompiler;
using ICSharpCode.ILSpy.Analyzers;
using ICSharpCode.ILSpy.Properties;
using ICSharpCode.TreeView;
namespace ICSharpCode.ILSpy.TreeNodes
@ -119,7 +120,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -119,7 +120,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
sealed class LoadingTreeNode : ILSpyTreeNode
{
public override object Text {
get { return "Loading..."; }
get { return Resources.Loading; }
}
public override FilterResult Filter(FilterSettings settings)
@ -155,7 +156,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -155,7 +156,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
[ExportContextMenuEntry(Header = "Copy error message")]
[ExportContextMenuEntry(Header = nameof(Resources.CopyErrorMessage))]
sealed class CopyErrorMessageContextMenu : IContextMenuEntry
{
public bool IsVisible(TextViewContext context)

Loading…
Cancel
Save