From dc57860f07e5f4b4de80f620ae900720832a5bf7 Mon Sep 17 00:00:00 2001
From: Kappa971 <62349018+Kappa971@users.noreply.github.com>
Date: Wed, 1 Mar 2023 15:06:12 +0100
Subject: [PATCH 1/2] Add Italian translation

---
 config/ConfigFormUnit.cpp            |  56 +++++++++++++++++++++++++++
 config/Resources/IT.png              | Bin 0 -> 420 bytes
 config/cnc-ddraw config.cbproj       |  10 +++++
 config/cnc-ddraw config_resources.rc |   1 +
 4 files changed, 67 insertions(+)
 create mode 100644 config/Resources/IT.png

diff --git a/config/ConfigFormUnit.cpp b/config/ConfigFormUnit.cpp
index 82f9920..4d3033a 100644
--- a/config/ConfigFormUnit.cpp
+++ b/config/ConfigFormUnit.cpp
@@ -353,6 +353,56 @@ void TConfigForm::ApplyTranslation(TIniFile *ini)
 		MaxgameticksCbx->AddItem(L"25 tics par seconde", NULL);
 		MaxgameticksCbx->AddItem(L"15 tics par seconde", NULL);
 	}
+	else if (lang == "italian" || (lang == "auto" && priID == LANG_ITALIAN)) {
+		LanguageImg->Visible = true;
+
+		/* -Italian - made by Kappa971 @ github */
+
+		ConfigForm->Caption = L"Configurazione di cnc-ddraw";
+		DisplayBtn->Caption = L"Impostazioni dello schermo";
+		AdvancedBtn->Caption = L"Impostazioni avanzate";
+		CompatibilityBtn->Caption = L"Impostazioni di compatibilità";
+		PresentationLbl->Caption = L"Presentazione";
+		MaintasLbl->Caption = L"Mantieni il rapporto d'aspetto";
+		VsyncLbl->Caption = L"Abilita VSync";
+		AdjmouseLbl->Caption = L"Regola la sensibilità del mouse";
+		DevmodeLbl->Caption = L"Cattura il cursore nella finestra / schermo";
+		RendererLbl->Caption = L"Renderer";
+		BorderLbl->Caption = L"Mostra i bordi della finestra in modalità finestra";
+		SavesettingsLbl->Caption = L"Ricorda la posizione e le dimensioni della finestra";
+		ShaderLbl->Caption = L"Shader OpenGL";
+		MaxfpsLbl->Caption = L"Limita la frequenza dei fotogrammi (FPS)";
+		BoxingLbl->Caption = L"Abilita ridimensionamento dei numeri interi";
+		MaxgameticksLbl->Caption = L"Limita la velocità di gioco";
+		NoactivateappLbl->Caption = L"Risolvi il problema con Alt+Tab";
+		HookLbl->Caption = L"Risolvi i problemi con la modalità finestra o il ridimensionamento";
+		MinfpsLbl->Caption = L"Forza FPS elevati / Risolvi i problemi di balbuzie su Freesync/G-Sync";
+		FixpitchLbl->Caption = L"Risolvi i problemi di visualizzazione mostrati in diagonale";
+		NonexclusiveLbl->Caption = L"Correggi video / elementi dell'interfaccia utente invisibili";
+
+		RendererCbx->Items->Clear();
+		RendererCbx->AddItem(L"Automatico", NULL);
+		RendererCbx->AddItem(L"Direct3D 9", NULL);
+		RendererCbx->AddItem(L"OpenGL", NULL);
+		RendererCbx->AddItem(L"GDI", NULL);
+
+		PresentationCbx->Items->Clear();
+		PresentationCbx->AddItem(L"Schermo Intero", NULL);
+		PresentationCbx->AddItem(L"Schermo Intero Ridimensionato", NULL);
+		PresentationCbx->AddItem(L"Senza Bordi", NULL);
+		PresentationCbx->AddItem(L"In Finestra", NULL);
+
+		MaxgameticksCbx->Items->Clear();
+		MaxgameticksCbx->AddItem(L"Senza Limiti", NULL);
+		MaxgameticksCbx->AddItem(L"Sincronizza con la frequenza di aggiornamento dello schermo", NULL);
+		MaxgameticksCbx->AddItem(L"Emula uno schermo a 60Hz", NULL);
+		MaxgameticksCbx->AddItem(L"1000 tick al secondo", NULL);
+		MaxgameticksCbx->AddItem(L"500 tick al secondo", NULL);
+		MaxgameticksCbx->AddItem(L"60 tick al secondo", NULL);
+		MaxgameticksCbx->AddItem(L"30 tick al secondo", NULL);
+		MaxgameticksCbx->AddItem(L"25 tick al secondo", NULL);
+		MaxgameticksCbx->AddItem(L"15 tick al secondo", NULL);
+	}
 	else {
 		IsEnglish = true;
 
@@ -393,6 +443,12 @@ void TConfigForm::ApplyTranslation(TIniFile *ini)
 				LanguageImg->Picture->Graphic = png;
 				LanguageImg->Visible = true;
 			}
+			else if (priID == LANG_ITALIAN) {
+				TPngImage *png = new TPngImage();
+				png->LoadFromResourceName((int)HInstance, "PngImage_IT");
+				LanguageImg->Picture->Graphic = png;
+				LanguageImg->Visible = true;
+			}
 		} catch (...) {
 		}
 
diff --git a/config/Resources/IT.png b/config/Resources/IT.png
new file mode 100644
index 0000000000000000000000000000000000000000..89692f74f051cd43503744c3dab65c8ba773b7e2
GIT binary patch
literal 420
zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2~3KHq6QcQY`6?zK#qG>ra@ocD)4hB}-f*
zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFq(O~IEGZ*N=lh=;=qSyMwWku
z27eMOW_|f0uQeek^e_9g7KH|eq{JVG0^UaP2Jy4}|L^JL_3uCblfVD@mnS9t`~UCn
z|MT(+KT|KOfz%~1cG~~^_2vEk{SFNQ?Cjg~|NsBWy<%2im{<n01H(p!wT!cPLjJOM
z{QKt?&dcI(HG!9Be?7A)1B<|kKl^#=|1+%p!|wFokZ}^*f+V1Mj8!5T-++ew|D(Eu
zQRDmp1_1{J-ui=S|9^ewUcuha=C)xn15*d*iih9--{1eQDdhjZ-`u;|Hhgpl|DTw^
zz@e~VvV&K>vp^YdeS=hk-Cyo6U`Hgs{l4FR(w#{P`G0<L_c^h-xw)}f1Ozc@vMMhC
znKyCal*Wg`8hwr*|299&xf;3P>;a3G2@YSmzI~fu(Z<lgz|5c*R^AeLsAxVgm>E1>
L{an^LB{Ts58L6#6

literal 0
HcmV?d00001

diff --git a/config/cnc-ddraw config.cbproj b/config/cnc-ddraw config.cbproj
index 3ac67c6..3174063 100644
--- a/config/cnc-ddraw config.cbproj	
+++ b/config/cnc-ddraw config.cbproj	
@@ -151,6 +151,10 @@
             <ResourceType>RCDATA</ResourceType>
             <ResourceId>PngImage_HU</ResourceId>
         </RcItem>
+        <RcItem Include="Resources\IT.png">
+            <ResourceType>RCDATA</ResourceType>
+            <ResourceId>PngImage_IT</ResourceId>
+        </RcItem>
         <RcItem Include="Resources\RU.png">
             <ResourceType>RCDATA</ResourceType>
             <ResourceId>PngImage_RU</ResourceId>
@@ -305,6 +309,12 @@
                         <RemoteDir>.\</RemoteDir>
                         <Overwrite>true</Overwrite>
                     </Platform>
+                <DeployFile LocalName="Resources\IT.png" Configuration="Release" Class="ProjectFile">
+                    <Platform Name="Win32">
+                        <RemoteDir>.\</RemoteDir>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
                 </DeployFile>
                 <DeployClass Name="AdditionalDebugSymbols">
                     <Platform Name="iOSSimulator">
diff --git a/config/cnc-ddraw config_resources.rc b/config/cnc-ddraw config_resources.rc
index 15a55fd..a2ed1e5 100644
--- a/config/cnc-ddraw config_resources.rc	
+++ b/config/cnc-ddraw config_resources.rc	
@@ -3,5 +3,6 @@ PngImage_DE RCDATA "Resources\\DE.png"
 PngImage_ES RCDATA "Resources\\ES.png"
 PngImage_FR RCDATA "Resources\\fr.png"
 PngImage_HU RCDATA "Resources\\hu.png"
+PngImage_IT RCDATA "Resources\\IT.png"
 PngImage_RU RCDATA "Resources\\RU.png"
 PngImage_US RCDATA "Resources\\US.png"

From 9c270ee64f085366d2fb4b7908f9ec5176930e03 Mon Sep 17 00:00:00 2001
From: Kappa971 <62349018+Kappa971@users.noreply.github.com>
Date: Wed, 1 Mar 2023 16:19:17 +0100
Subject: [PATCH 2/2] Minor fixes

---
 config/ConfigFormUnit.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/config/ConfigFormUnit.cpp b/config/ConfigFormUnit.cpp
index 4d3033a..257b98a 100644
--- a/config/ConfigFormUnit.cpp
+++ b/config/ConfigFormUnit.cpp
@@ -364,7 +364,7 @@ void TConfigForm::ApplyTranslation(TIniFile *ini)
 		CompatibilityBtn->Caption = L"Impostazioni di compatibilità";
 		PresentationLbl->Caption = L"Presentazione";
 		MaintasLbl->Caption = L"Mantieni il rapporto d'aspetto";
-		VsyncLbl->Caption = L"Abilita VSync";
+		VsyncLbl->Caption = L"Abilita la sincronizzazione verticale (VSync)";
 		AdjmouseLbl->Caption = L"Regola la sensibilità del mouse";
 		DevmodeLbl->Caption = L"Cattura il cursore nella finestra / schermo";
 		RendererLbl->Caption = L"Renderer";
@@ -372,12 +372,12 @@ void TConfigForm::ApplyTranslation(TIniFile *ini)
 		SavesettingsLbl->Caption = L"Ricorda la posizione e le dimensioni della finestra";
 		ShaderLbl->Caption = L"Shader OpenGL";
 		MaxfpsLbl->Caption = L"Limita la frequenza dei fotogrammi (FPS)";
-		BoxingLbl->Caption = L"Abilita ridimensionamento dei numeri interi";
+		BoxingLbl->Caption = L"Abilita il ridimensionamento dei numeri interi";
 		MaxgameticksLbl->Caption = L"Limita la velocità di gioco";
-		NoactivateappLbl->Caption = L"Risolvi il problema con Alt+Tab";
+		NoactivateappLbl->Caption = L"Correggi il funzionamento di Alt+Tab";
 		HookLbl->Caption = L"Risolvi i problemi con la modalità finestra o il ridimensionamento";
-		MinfpsLbl->Caption = L"Forza FPS elevati / Risolvi i problemi di balbuzie su Freesync/G-Sync";
-		FixpitchLbl->Caption = L"Risolvi i problemi di visualizzazione mostrati in diagonale";
+		MinfpsLbl->Caption = L"Forza FPS elevati / Correggi balbuzie su Freesync/G-Sync";
+		FixpitchLbl->Caption = L"Correggi artefatti mostrati in diagonale";
 		NonexclusiveLbl->Caption = L"Correggi video / elementi dell'interfaccia utente invisibili";
 
 		RendererCbx->Items->Clear();
@@ -394,7 +394,7 @@ void TConfigForm::ApplyTranslation(TIniFile *ini)
 
 		MaxgameticksCbx->Items->Clear();
 		MaxgameticksCbx->AddItem(L"Senza Limiti", NULL);
-		MaxgameticksCbx->AddItem(L"Sincronizza con la frequenza di aggiornamento dello schermo", NULL);
+		MaxgameticksCbx->AddItem(L"Sincronizza con la frequenza dello schermo", NULL);
 		MaxgameticksCbx->AddItem(L"Emula uno schermo a 60Hz", NULL);
 		MaxgameticksCbx->AddItem(L"1000 tick al secondo", NULL);
 		MaxgameticksCbx->AddItem(L"500 tick al secondo", NULL);