Skip to content

Commit d89d6aa

Browse files
authored
Merge pull request #131 from MixeroTN/master
Added Polish, Belarusian, Persian, and Indonesian translation support
2 parents b6dfd95 + 9ce5de0 commit d89d6aa

File tree

11 files changed

+33
-15
lines changed

11 files changed

+33
-15
lines changed

.github/workflows/PR.check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
1212
env:
1313
Solution_Name: Translumo.sln
14-
SkipBinariesExtract: true # Skip download additional binaries, those are setted in cproj as prebuild step
14+
SkipBinariesExtract: true # Skip download additional binaries, those are set in cproj as a prebuilt step
1515

1616
steps:
1717
- name: Checkout

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
# large artifacts
77
ext_components/
8+
components.zip
89

910
# User-specific files
1011
*.rsuser
@@ -41,6 +42,9 @@ bld/
4142
# Uncomment if you have tasks that create the project's static files in wwwroot
4243
#wwwroot/
4344

45+
# JetBrains IDEs files
46+
.idea/
47+
4448
# Visual Studio 2017 auto generated files
4549
Generated\ Files/
4650

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
</p>
77
<p align="center"><b>EN</b> | <a href="docs/README-RU.md"><b>RU</b></a></p>
88
<p align="center">Advanced screen translator. <b>Translumo</b> is able to detect and translate appearing in the selected area text in real-time (e.g. subtitles).</p>
9+
<p align="center"><b>Enchanted version including more languages due to the abandonment of the original project.</b></p>
10+
911
<h1>Main features</h1>
1012
<ul>
1113
<li><b>High text recognition precision</b></li>
12-
<p>Translumo allows to combine the usage of several OCR engines simultaneously. It uses machine learning training model for scoring each recognized result by OCR and chooses the best one.</p>
14+
<p>Translumo allows combining the usage of several OCR engines simultaneously. It uses a machine learning training model for scoring each recognized result by OCR and chooses the best one.</p>
1315
<p align="center">
1416
<img width="740" src="https://github.com/Danily07/Translumo/assets/29047281/649e5fab-a5de-4c54-a3d8-f7ea95b8f218">
1517
</p>
@@ -20,7 +22,7 @@
2022
<li><b>Integrated modern OCR engines:</b> Tesseract 5.2, WindowsOCR, EasyOCR</li>
2123
<li><b>Available translators:</b> Google Translate, Yandex translate, Naver Papago, DeepL</li>
2224
<li><b>Available recognition languages:</b> English, Russian, Japanese, Chinese (simplified), Korean</li>
23-
<li><b>Available translation languages:</b> English, Russian, Japanese, Chinese (simplified), Korean, French, Spanish, German, Portuguese, Italian, Vietnamese, Thai, Turkish, Arabic</li>
25+
<li><b>Available translation languages:</b> English, Russian, Japanese, Chinese (simplified), Korean, French, Spanish, German, Portuguese, Italian, Vietnamese, Thai, Turkish, Arabic, Greek, Brazilian Portuguese, Polish, Belarusian, Persian, Indonesian</li>
2426
</ul>
2527
<h1>System requirements</h1>
2628
<ul>

docs/README-RU.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<li><b>Доступные OCR движки:</b> Tesseract 5.0, WindowsOCR, EasyOCR.</li>
1818
<li><b>Доступные переводчики:</b> Google Translate, Yandex translate, Naver Papago, DeepL.</li>
1919
<li><b>Доступные языки для распознавания:</b> русский, английский, японский, китайский (упрощенный), корейский.</li>
20-
<li><b>Доступные языки для перевода:</b> русский, английский, японский, китайский (упрощенный), корейский, французский, испанский, немецкий, португальский, итальянский, вьетнамский, тайский, турецкий.</li>
20+
<li><b>Доступные языки для перевода:</b> английский, русский, японский, китайский (упрощенный), корейский, французский, испанский, немецкий, португальский, итальянский, вьетнамский, тайский, турецкий, арабский, греческий, португальский (бразильский), польский, белорусский, персидский, индонезийский</li>
2121
</ul>
2222
<h1>Системные требования</h1>
2323
<ul>

src/Translumo.Infrastructure/Language/LanguageDescriptorFactory.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@ public IEnumerable<LanguageDescriptor> GetAll()
5252
new LanguageDescriptor() { Language = Languages.Arabic, Code = "ar-SA", IsoCode = "ar", TranslationOnly = true },
5353
new LanguageDescriptor() { Language = Languages.Greek, Code = "el-GR", IsoCode = "el", TranslationOnly = true },
5454
new LanguageDescriptor() { Language = Languages.PortugueseBrazil, Code = "pt-BR", IsoCode = "pt", TranslationOnly = true, RegionalVariant = true },
55-
new LanguageDescriptor() { Language = Languages.Indonesian, Code = "id-ID", IsoCode = "id", TranslationOnly = true },
55+
new LanguageDescriptor() { Language = Languages.Polish, Code = "pl-PL", IsoCode = "pl", TranslationOnly = true },
56+
new LanguageDescriptor() { Language = Languages.Belarusian, Code = "be-BY", IsoCode = "be", TranslationOnly = true },
5657
new LanguageDescriptor() { Language = Languages.Persian, Code = "fa-IR", IsoCode = "fa", TranslationOnly = true, Asian = true },
58+
new LanguageDescriptor() { Language = Languages.Indonesian, Code = "id-ID", IsoCode = "id", TranslationOnly = true }
5759
};
5860
}
5961
}

src/Translumo.Infrastructure/Language/Languages.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ public enum Languages : byte
2121
Arabic = 13,
2222
Greek = 14,
2323
PortugueseBrazil = 15,
24-
Indonesian= 16,
25-
Persian = 17
24+
Polish = 16,
25+
Belarusian = 17,
26+
Persian = 18,
27+
Indonesian = 19,
2628
}
2729
}

src/Translumo.Translation/Deepl/DeeplTranslator.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ namespace Translumo.Translation.Deepl
1818
public sealed class DeepLTranslator : BaseTranslator<DeeplContainer>
1919
{
2020
private const string DEEPL_API_URL = "https://www2.deepl.com/jsonrpc";
21+
22+
private readonly HashSet<Languages> _unsupportedLanguages = new(new[]
23+
{
24+
Languages.Vietnamese, Languages.Thai, Languages.Arabic, Languages.Belarusian, Languages.Persian
25+
});
2126

2227
public DeepLTranslator(TranslationConfiguration translationConfiguration, LanguageService languageService, ILogger logger)
2328
: base(translationConfiguration, languageService, logger)
@@ -27,10 +32,9 @@ public DeepLTranslator(TranslationConfiguration translationConfiguration, Langua
2732
public override Task<string> TranslateTextAsync(string sourceText)
2833
{
2934
//TODO: Temp implementation for specific lang
30-
if (TargetLangDescriptor.Language == Languages.Vietnamese
31-
|| TargetLangDescriptor.Language == Languages.Thai || TargetLangDescriptor.Language == Languages.Arabic)
35+
if (_unsupportedLanguages.Contains(TargetLangDescriptor.Language))
3236
{
33-
throw new TransactionException("DeepL translator for this language is unavailable");
37+
throw new TransactionException("DeepL translator is unavailable for this language");
3438
}
3539

3640
return base.TranslateTextAsync(sourceText);

src/Translumo.Translation/Papago/PapagoTranslator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public sealed class PapagoTranslator : BaseTranslator<PapagoContainer>
1616
private readonly AutoResetEvent _sync;
1717
private readonly HashSet<Languages> _unsupportedLanguages = new(new[]
1818
{
19-
Languages.Turkish, Languages.Arabic, Languages.PortugueseBrazil, Languages.Greek
19+
Languages.Turkish, Languages.Arabic, Languages.PortugueseBrazil, Languages.Greek, Languages.Belarusian, Languages.Polish, Languages.Persian
2020
});
2121

2222
public PapagoTranslator(TranslationConfiguration translationConfiguration, LanguageService languageService, ILogger logger) :

src/Translumo/Resources/Localization/lang.en-US.xaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,10 @@
111111
<system:String x:Key="Str.Languages.Arabic">Arabic</system:String>
112112
<system:String x:Key="Str.Languages.Greek">Greek</system:String>
113113
<system:String x:Key="Str.Languages.PortugueseBrazil">Portuguese (BR)</system:String>
114-
<system:String x:Key="Str.Languages.Indonesian">Indonesian</system:String>
114+
<system:String x:Key="Str.Languages.Polish">Polish</system:String>
115+
<system:String x:Key="Str.Languages.Belarusian">Belarusian</system:String>
115116
<system:String x:Key="Str.Languages.Persian">Persian</system:String>
117+
<system:String x:Key="Str.Languages.Indonesian">Indonesian</system:String>
116118

117119
<!--Dialog stages-->
118120
<system:String x:Key="Str.Stages.CheckPyModules">Checking installed modules...</system:String>

src/Translumo/Resources/Localization/lang.ru-RU.xaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@
110110
<system:String x:Key="Str.Languages.Arabic">Арабский</system:String>
111111
<system:String x:Key="Str.Languages.Greek">Греческий</system:String>
112112
<system:String x:Key="Str.Languages.PortugueseBrazil">Португальский (бразильский)</system:String>
113-
<system:String x:Key="Str.Languages.Indonesian">индонезийский</system:String>
114-
<system:String x:Key="Str.Languages.Persian">персидский</system:String>
113+
<system:String x:Key="Str.Languages.Polish">Польский</system:String>
114+
<system:String x:Key="Str.Languages.Belarusian">Белорусский</system:String>
115+
<system:String x:Key="Str.Languages.Persian">Персидский</system:String>
116+
<system:String x:Key="Str.Languages.Indonesian">Индонезийский</system:String>
115117

116118
<!--Dialog stages-->
117119
<system:String x:Key="Str.Stages.CheckPyModules">Проверка установленных модулей...</system:String>

0 commit comments

Comments
 (0)