Локализация VintaSoft .NET-сборки
В этом разделе
Все VintaSoft .NET-сбоки имеют англоязычную локализацию.
Также VintaSoft Imaging .NET SDK предоставляет возможность локализовать следующие VintaSoft .NET-сборки (с использованием вспомогательных сборок ресурсов) на любой язык:
- Vintasoft.Imaging.dll
- Vintasoft.Imaging.UI.dll
- Vintasoft.Imaging.Annotation.Dicom.dll
- Vintasoft.Imaging.Annotation.Dicom.UI.dll
- Vintasoft.Imaging.Annotation.Dicom.Wpf.UI.dll
- Vintasoft.Imaging.Dicom.dll
- Vintasoft.Imaging.Dicom.Mpr.dll
- Vintasoft.Imaging.Dicom.Mpr.UI.dll
- Vintasoft.Imaging.Dicom.Mpr.Wpf.UI.dll
- Vintasoft.Imaging.Dicom.UI.dll
- Vintasoft.Imaging.Dicom.Wpf.UI.dll
- Vintasoft.Imaging.Pdf.dll
- Vintasoft.Imaging.Pdf.JavaScript.dll
- Vintasoft.Imaging.Pdf.UI.dll
- Vintasoft.Imaging.Pdf.Wpf.UI.dll
Если вы хотите локализовать Vintasoft .NET-сборку, которой нет в списке выше, сообщите нам об этом и мы предоставим Вам возможность локализовать необходимую Vintasoft .NET-сборку.
Инсталлятор VintaSoft Imaging .NET SDK предоставляет вспомогательные .NET-сборки на немецком языке. Вспомогательные .NET-сборки на немецком языке можно найти в папке "{SdkInstallPath}\Imaging .NET 14.0\Bin\DotNetX\AnyCPU\de".
Если вы хотите локализовать VintaSoft .NET-сборку из списка выше, например Vintasoft.Imaging.Pdf.dll, вам необходимо выполнить следующие действия:
-
Извлечь файл ресурсов Vintasoft.Imaging.Pdf.Localization.Strings.resources с константаными строками из Vintasoft.Imaging.Pdf.dll.
Вот C# код консольного приложения, которое позволяет извлечь файл ресурсов "Vintasoft.Imaging.Pdf.Localization.Strings.resources" из .NET-сборки Vintasoft.Imaging.Pdf.dll:
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
string dotNetAssemblyFileName = @"D:\VintaSoft\Imaging .NET v12.2\Bin\DotNet7\AnyCPU\Vintasoft.Imaging.Pdf.dll";
string resourceFileName = "Vintasoft.Imaging.Pdf.Localization.Strings.resources";
ExtractBinaryResourceFromDotNetAssembly(dotNetAssemblyFileName, resourceFileName);
}
static void ExtractBinaryResourceFromDotNetAssembly(string dotNetAssemblyFileName, string resourceFileName)
{
System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFile(dotNetAssemblyFileName);
System.IO.Stream resourceStream = assembly.GetManifestResourceStream(resourceFileName);
byte[] resourceStreamBytes = new byte[resourceStream.Length];
resourceStream.Read(resourceStreamBytes, 0, resourceStreamBytes.Length);
System.IO.File.WriteAllBytes(resourceFileName, resourceStreamBytes);
}
}
}
Namespace ConsoleApp1
Friend Class Program
Friend Shared Sub Main(args As String())
Dim dotNetAssemblyFileName As String = "D:\VintaSoft\Imaging .NET v12.2\Bin\DotNet7\AnyCPU\Vintasoft.Imaging.Pdf.dll"
Dim resourceFileName As String = "Vintasoft.Imaging.Pdf.Localization.Strings.resources"
ExtractBinaryResourceFromDotNetAssembly(dotNetAssemblyFileName, resourceFileName)
End Sub
Private Shared Sub ExtractBinaryResourceFromDotNetAssembly(dotNetAssemblyFileName As String, resourceFileName As String)
Dim assembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile(dotNetAssemblyFileName)
Dim resourceStream As System.IO.Stream = assembly.GetManifestResourceStream(resourceFileName)
Dim resourceStreamBytes As Byte() = New Byte(resourceStream.Length - 1) {}
resourceStream.Read(resourceStreamBytes, 0, resourceStreamBytes.Length)
System.IO.File.WriteAllBytes(resourceFileName, resourceStreamBytes)
End Sub
End Class
End Namespace
-
Преобразовать файл ресурсов "Vintasoft.Imaging.Pdf.Localization.Strings.resources" в файл .resx. Это можно сделать с помощью утилиты ResGen.
Вот командная строка, которая позволяет преобразовать .resources-файл в файл .resx:
"{Path_to_ResGen.exe_file}\ResGen.exe" Vintasoft.Imaging.Pdf.Localization.Strings.resources Strings.resx
-
Создать файл Strings.resx с константными строками, которые переведены на необходимый язык, например испанский:
- Переименовать файл String.resx в файл Strings.es.resx.
- Открыть файл Strings.es.resx в любом текстовом редакторе и перевести константные строки (строки в тегах "value") с английского языка на испанский.
-
Создать вспомогательную сборку, содержащую переведенные константные строки:
- Создать папку "Vintasoft.Imaging.Pdf.es.resources" и перейти в нее.
-
Создаит файл "Vintasoft.Imaging.Pdf.csproj" с помощью любого текстового редактора и добавить в созданный файл следующий текст:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
- Создать папку "Localization" и перейти в папку.
- Скопировать файл Strings.es.resx в папку "Localization".
- Перейти в папку "Vintasoft.Imaging.Pdf.es.resources".
-
Скомпилировать проект с помощью следующей команды:
dotnet build Vintasoft.Imaging.Pdf.csproj
- Вспомогательная .NET-сборка "Vintasoft.Imaging.Pdf.resources.dll" будет создан в папке "bin\Debug\net8.0\es".
-
Использовать вспомогательную .NET-сборку с .NET-сборкой Vintasoft.Imaging.Pdf.dll:
- Создать папку "es" в папке, где находится .NET-сборка Vintasoft.Imaging.Pdf.dll.
- Скопировать созданную вспомогательную .NET-сборку "Vintasoft.Imaging.Pdf.resources.dll" в папку "es".
- Запустить приложение, использующее .NET-сборку Vintasoft.Imaging.Pdf.dll, и вы увидите текст на испанском языке, если ваш компьютер использует испанскую локаль.
-
Кроме того, вы можете установить локаль для .NET-приложения на Испанскую локаль, если хотите видеть текст на испанском языке на компьютере, который использует не испанскую локаль.
Вот код C#, который показывает, как установить Испанскую локаль для .NET-приложения:
System.Globalization.CultureInfo.CurrentCulture = new System.Globalization.CultureInfo("es");
System.Globalization.CultureInfo.CurrentUICulture = new System.Globalization.CultureInfo("es");
System.Globalization.CultureInfo.CurrentCulture = New System.Globalization.CultureInfo("es")
System.Globalization.CultureInfo.CurrentUICulture = New System.Globalization.CultureInfo("es")