Skip to content

Commit 72382ad

Browse files
committed
Using LibreTranslate
1 parent 359e677 commit 72382ad

File tree

4 files changed

+82
-1
lines changed

4 files changed

+82
-1
lines changed

TranslateXML/MainWindow.xaml.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@
88
using System.Windows.Input;
99
using System.Windows.Threading;
1010
using System.Xml;
11+
using LibreTranslate.Net;
1112

1213
namespace TranslateXML
1314
{
15+
enum eEngine { AZURE, LIBRE }
16+
1417
/// <summary>
1518
/// Interaction logic for MainWindow.xaml
1619
/// </summary>
1720
public partial class MainWindow : Window
1821
{
22+
private eEngine engine = eEngine.LIBRE;
23+
1924
public MainWindow()
2025
{
2126
InitializeComponent();
@@ -171,7 +176,16 @@ private void Parse(XmlNode node)
171176
nodeCount++;
172177
if (bTranslating)
173178
{
174-
child.Value = translator.Translate(child.Value, languages[iFrom], languages[iTo]);
179+
switch (engine)
180+
{
181+
case eEngine.AZURE:
182+
child.Value = translator.Translate(child.Value, languages[iFrom], languages[iTo]);
183+
break;
184+
case eEngine.LIBRE:
185+
child.Value = translator.Translate2(child.Value, languages[iFrom], languages[iTo]);
186+
break;
187+
}
188+
175189
Dispatcher.Invoke(() => {
176190
progress.Value = nodeCount;
177191
textBoxProgress.Text = string.Format("{0} % Complete", 100 * nodeCount / totalCount);

TranslateXML/Translate.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using System.Text.RegularExpressions;
1414
using System.Web;
1515
using System.Xml;
16+
using LibreTranslate.Net;
1617

1718
namespace TranslateXML
1819
{
@@ -144,6 +145,7 @@ class Translator2
144145
{
145146
private static Dictionary<string, string> languageList = new Dictionary<string, string>();
146147
private static Cognitive cognitive = new Cognitive();
148+
private static LibreTranslate.Net.LibreTranslate libreTranslate = new LibreTranslate.Net.LibreTranslate("http://localhost:5000");
147149

148150
private static void SetLanguages()
149151
{
@@ -305,6 +307,30 @@ public string Translate(string sourceText, string langFrom, string langTo)
305307
}
306308
}
307309

310+
public string Translate2(string sourceText, string langFrom, string langTo)
311+
{
312+
try
313+
{
314+
//var supportedLanguages = libreTranslate.GetSupportedLanguagesAsync();
315+
//supportedLanguages.Wait();
316+
//supportedLanguages.Result.Where(x => x.Code == langFrom);
317+
var translatedText = libreTranslate.TranslateAsync(new Translate()
318+
{
319+
//ApiKey = "c958b858-effa-4acc-b7ea-819dca9b3538", //120 pm
320+
ApiKey = "c7daca6b-becf-4ed7-9361-6797cd861d1b", //1000000 pm
321+
Source = LanguageCode.FromString(langFrom),
322+
Target = LanguageCode.FromString(langTo),
323+
Text = sourceText
324+
});
325+
translatedText.Wait();
326+
return translatedText.Result;
327+
}
328+
catch (Exception ex)
329+
{
330+
return null;
331+
}
332+
}
333+
308334
public List<string> GetLanguagesForTranslate()
309335
{
310336
try

TranslateXML/TranslateXML.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,20 @@
3939
<ApplicationIcon>AppIcon.ico</ApplicationIcon>
4040
</PropertyGroup>
4141
<ItemGroup>
42+
<Reference Include="LibreTranslate.Net, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
43+
<HintPath>..\packages\LibreTranslate.Net.1.0.1\lib\netstandard1.1\LibreTranslate.Net.dll</HintPath>
44+
</Reference>
4245
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
4346
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
4447
</Reference>
4548
<Reference Include="System" />
49+
<Reference Include="System.ComponentModel.Composition" />
4650
<Reference Include="System.Data" />
51+
<Reference Include="System.IO.Compression" />
52+
<Reference Include="System.Numerics" />
53+
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
54+
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
55+
</Reference>
4756
<Reference Include="System.Runtime.Serialization" />
4857
<Reference Include="System.Web" />
4958
<Reference Include="System.Xml" />

TranslateXML/packages.config

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,36 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<package id="LibreTranslate.Net" version="1.0.1" targetFramework="net45" />
4+
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net45" />
5+
<package id="NETStandard.Library" version="1.6.1" targetFramework="net45" />
36
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net45" />
7+
<package id="System.Collections" version="4.3.0" targetFramework="net45" />
8+
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net45" />
9+
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net45" />
10+
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net45" />
11+
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net45" />
12+
<package id="System.Globalization" version="4.3.0" targetFramework="net45" />
13+
<package id="System.IO" version="4.3.0" targetFramework="net45" />
14+
<package id="System.IO.Compression" version="4.3.0" targetFramework="net45" />
15+
<package id="System.Linq" version="4.3.0" targetFramework="net45" />
16+
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net45" />
17+
<package id="System.Net.Http" version="4.3.0" targetFramework="net45" />
18+
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net45" />
19+
<package id="System.ObjectModel" version="4.3.0" targetFramework="net45" />
20+
<package id="System.Reflection" version="4.3.0" targetFramework="net45" />
21+
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net45" />
22+
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net45" />
23+
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net45" />
24+
<package id="System.Runtime" version="4.3.0" targetFramework="net45" />
25+
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net45" />
26+
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net45" />
27+
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net45" />
28+
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net45" />
29+
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net45" />
30+
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net45" />
31+
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net45" />
32+
<package id="System.Threading" version="4.3.0" targetFramework="net45" />
33+
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net45" />
34+
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net45" />
35+
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net45" />
436
</packages>

0 commit comments

Comments
 (0)