From 6a7717ad74d6041c33ec95d5282953632a2470a8 Mon Sep 17 00:00:00 2001
From: Linventif <gregoire.becue@proton.me>
Date: Wed, 14 Aug 2024 16:45:22 +0000
Subject: [PATCH] add: fr, en, es, de, ru as localisations files

---
 lua/gmod_integration/client/cl_report_bug.lua | 38 +++++++++----------
 .../de/gmod_integration.properties            | 23 +++++++++++
 .../en/gmod_integration.properties            | 23 +++++++++++
 .../es/gmod_integration.properties            | 23 +++++++++++
 .../fr/gmod_integration.properties            | 23 +++++++++++
 .../ru/gmod_integration.properties            | 23 +++++++++++
 6 files changed, 132 insertions(+), 21 deletions(-)
 create mode 100644 resource/localization/de/gmod_integration.properties
 create mode 100644 resource/localization/en/gmod_integration.properties
 create mode 100644 resource/localization/es/gmod_integration.properties
 create mode 100644 resource/localization/fr/gmod_integration.properties
 create mode 100644 resource/localization/ru/gmod_integration.properties

diff --git a/lua/gmod_integration/client/cl_report_bug.lua b/lua/gmod_integration/client/cl_report_bug.lua
index 74dfd89..944bb4c 100644
--- a/lua/gmod_integration/client/cl_report_bug.lua
+++ b/lua/gmod_integration/client/cl_report_bug.lua
@@ -1,38 +1,35 @@
-// format: multiline
 local Fields = {
   {
-    ["title"] = "Screenshot",
+    ["title"] = Localize("gmod_integration.report_bug.title", "Report a bug"),
     ["type"] = "image",
   },
   {
-    ["title"] = "Description",
+    ["title"] = Localize("gmod_integration.report_bug.description", "Report a bug to the developers of this game."),
     ["type"] = "text",
+    ["dsc"] = Localize("gmod_integration.report_bug.description.dsc", "Please provide as much information as possible to help us fix the issue."),
     ["tall"] = 80,
   },
   {
-    ["title"] = "Importance Level",
+    ["title"] = Localize("gmod_integration.report_bug.importance_level", "Importance Level"),
     ["type"] = "dropdown",
-    ["options"] = {
-      "Critical - Crash or made the game unplayable.",
-      "High - Critical functionality is unusable.",
-      "Medium - Important functionality is unusable.",
-      "Low - Cosmetic issue.",
-      "Trivial - Very minor issue.",
-    },
+    ["options"] = {Localize("gmod_integration.report_bug.importance_level.critical", "Critical - Crash or made the game unplayable."), Localize("gmod_integration.report_bug.importance_level.high", "High - Critical functionality is unusable."), Localize("gmod_integration.report_bug.importance_level.medium", "Medium - Important functionality is unusable."), Localize("gmod_integration.report_bug.importance_level.low", "Low - Cosmetic issue."), Localize("gmod_integration.report_bug.importance_level.trivial", "Trivial - Very minor issue."),},
   },
   {
-    ["title"] = "Steps to Reproduce",
+    ["title"] = Localize("gmod_integration.report_bug.steps_to_reproduce", "Steps to Reproduce"),
     ["type"] = "text",
+    ["dsc"] = Localize("gmod_integration.report_bug.steps_to_reproduce.dsc", "Please provide a step-by-step guide on how to reproduce the bug."),
     ["tall"] = 80,
   },
   {
-    ["title"] = "Expected result",
+    ["title"] = Localize("gmod_integration.report_bug.expected_result", "Expected result"),
     ["type"] = "text",
+    ["dsc"] = Localize("gmod_integration.report_bug.expected_result.dsc", "What did you expect to happen?"),
     ["tall"] = 50,
   },
   {
-    ["title"] = "Actual result",
+    ["title"] = Localize("gmod_integration.report_bug.actual_result", "Actual result"),
     ["type"] = "text",
+    ["dsc"] = Localize("gmod_integration.report_bug.actual_result.dsc", "What actually happened?"),
     ["tall"] = 50,
   },
 }
@@ -52,7 +49,7 @@ function gmInte.openReportBug()
   local frame = vgui.Create("DFrame")
   frame:SetSize(500, (700 / 1080) * ScrH())
   frame:Center()
-  frame:SetTitle("Report Bug")
+  frame:SetTitle(Localize("gmod_integration.report_bug.title", "Report Bug"))
   frame:MakePopup()
   gmInte.applyPaint(frame)
   // bug report = screenshot, description, steps to reproduce, expected result, actual result
@@ -79,14 +76,14 @@ function gmInte.openReportBug()
       text:DockMargin(5, 5, 5, 5)
       text:SetMultiline(true)
       text:SetTall(field.tall || 40)
-      text:SetPlaceholderText("Explain the bug you encountered, be as precise as possible.")
+      text:SetPlaceholderText(field.dsc)
       gmInte.applyPaint(text)
       table.insert(elements, text)
     elseif field.type == "dropdown" then
       local dropdown = vgui.Create("DComboBox", dPanel)
       dropdown:Dock(TOP)
       dropdown:DockMargin(5, 5, 5, 5)
-      dropdown:SetValue("Select Importance Level")
+      dropdown:SetValue(Localize("gmod_integration.report_bug.importance_level.dsc", "How important is this bug?"))
       for i = 1, #field.options do
         dropdown:AddChoice(field.options[i])
       end
@@ -109,10 +106,9 @@ function gmInte.openReportBug()
   gmInte.applyPaint(button)
   buttonGrid:AddItem(button)
   button.DoClick = function()
-    // all fields are required and > 60 characters
     for _, element in ipairs(elements) do
       if element:GetText() == "" then
-        notification.AddLegacy("All fields are required", NOTIFY_ERROR, 5)
+        notification.AddLegacy(Localize("gmod_integration.report_bug.error.missing_fields", "All fields are required"), NOTIFY_ERROR, 5)
         return
       end
     end
@@ -137,9 +133,9 @@ function gmInte.openReportBug()
       ["expected"] = elements[4]:GetText(),
       ["actual"] = elements[5]:GetText(),
     }, function()
-      notification.AddLegacy("Bug report sent to Discord", NOTIFY_GENERIC, 5)
+      notification.AddLegacy(Localize("gmod_integration.report_bug.success", "Bug report sent successfully"), NOTIFY_GENERIC, 5)
       frame:Close()
-    end, function() notification.AddLegacy("Failed to send bug report retry later", NOTIFY_ERROR, 5) end)
+    end, function() notification.AddLegacy(Localize("gmod_integration.report_bug.error.failed", "Failed to send bug report retry later"), NOTIFY_ERROR, 5) end)
   end
 end
 
diff --git a/resource/localization/de/gmod_integration.properties b/resource/localization/de/gmod_integration.properties
new file mode 100644
index 0000000..5bf4ed4
--- /dev/null
+++ b/resource/localization/de/gmod_integration.properties
@@ -0,0 +1,23 @@
+gmod_integration.report_bug.title=Fehler melden
+gmod_integration.report_bug.description=Melden Sie einen Fehler an die Entwickler dieses Spiels.
+gmod_integration.report_bug.submit=Fehlerbericht senden
+gmod_integration.report_bug.cancel=Abbrechen
+gmod_integration.report_bug.screenshot=Bildschirmfoto
+gmod_integration.report_bug.description=Beschreibung
+gmod_integration.report_bug.importance_level=Wichtigkeitsstufe
+gmod_integration.report_bug.importance_level.dsc=Wie wichtig ist dieser Fehler?
+gmod_integration.report_bug.importance_level.critical=Kritisch - Absturz oder das Spiel ist unspielbar.
+gmod_integration.report_bug.importance_level.high=Hoch - Kritische Funktion ist nicht nutzbar.
+gmod_integration.report_bug.importance_level.medium=Mittel - Wichtige Funktion ist nicht nutzbar.
+gmod_integration.report_bug.importance_level.low=Niedrig - Kosmetisches Problem.
+gmod_integration.report_bug.importance_level.trivial=Trivial - Sehr geringfügiges Problem.
+gmod_integration.report_bug.steps_to_reproduce=Schritte zur Reproduktion
+gmod_integration.report_bug.expected_result=Erwartetes Ergebnis
+gmod_integration.report_bug.actual_result=Tatsächliches Ergebnis
+gmod_integration.report_bug.actual_result.dsc=Was ist tatsächlich passiert?
+gmod_integration.report_bug.expected_result.dsc=Was haben Sie erwartet?
+gmod_integration.report_bug.steps_to_reproduce.dsc=Bitte geben Sie eine schrittweise Anleitung zur Reproduktion des Fehlers an.
+gmod_integration.report_bug.description.dsc=Bitte geben Sie so viele Informationen wie möglich an, um uns bei der Behebung des Problems zu helfen.
+gmod_integration.report_bug.error.missing_fields=Bitte füllen Sie vor dem Absenden des Fehlerberichts alle erforderlichen Felder aus.
+gmod_integration.report_bug.success=Fehlerbericht erfolgreich gesendet
+gmod_integration.report_bug.error.failed=Senden des Fehlerberichts fehlgeschlagen. Bitte versuchen Sie es später erneut.
diff --git a/resource/localization/en/gmod_integration.properties b/resource/localization/en/gmod_integration.properties
new file mode 100644
index 0000000..af47991
--- /dev/null
+++ b/resource/localization/en/gmod_integration.properties
@@ -0,0 +1,23 @@
+gmod_integration.report_bug.title=Report a bug
+gmod_integration.report_bug.description=Report a bug to the developers of this game.
+gmod_integration.report_bug.submit=Submit Bug Report
+gmod_integration.report_bug.cancel=Cancel
+gmod_integration.report_bug.screenshot=Screenshot
+gmod_integration.report_bug.description=Description
+gmod_integration.report_bug.importance_level=Importance Level
+gmod_integration.report_bug.importance_level.dsc=How important is this bug?
+gmod_integration.report_bug.importance_level.critical=Critical - Crash or made the game unplayable.
+gmod_integration.report_bug.importance_level.high=High - Critical functionality is unusable.
+gmod_integration.report_bug.importance_level.medium=Medium - Important functionality is unusable.
+gmod_integration.report_bug.importance_level.low=Low - Cosmetic issue.
+gmod_integration.report_bug.importance_level.trivial=Trivial - Very minor issue.
+gmod_integration.report_bug.steps_to_reproduce=Steps to Reproduce
+gmod_integration.report_bug.expected_result=Expected result
+gmod_integration.report_bug.actual_result=Actual result
+gmod_integration.report_bug.actual_result.dsc=What actually happened?
+gmod_integration.report_bug.expected_result.dsc=What did you expect to happen?
+gmod_integration.report_bug.steps_to_reproduce.dsc=Please provide a step-by-step guide on how to reproduce the bug.
+gmod_integration.report_bug.description.dsc=Please provide as much information as possible to help us fix the issue.
+gmod_integration.report_bug.error.missing_fields=Before submitting the bug report, please fill in all the required fields.
+gmod_integration.report_bug.success=Bug report sent successfully
+gmod_integration.report_bug.error.failed=Failed to send bug report, please try again later.
diff --git a/resource/localization/es/gmod_integration.properties b/resource/localization/es/gmod_integration.properties
new file mode 100644
index 0000000..7dc4f49
--- /dev/null
+++ b/resource/localization/es/gmod_integration.properties
@@ -0,0 +1,23 @@
+gmod_integration.report_bug.title=Informar un error
+gmod_integration.report_bug.description=Informa un error a los desarrolladores de este juego.
+gmod_integration.report_bug.submit=Enviar informe de error
+gmod_integration.report_bug.cancel=Cancelar
+gmod_integration.report_bug.screenshot=Captura de pantalla
+gmod_integration.report_bug.description=Descripción
+gmod_integration.report_bug.importance_level=Nivel de importancia
+gmod_integration.report_bug.importance_level.dsc=¿Qué tan importante es este error?
+gmod_integration.report_bug.importance_level.critical=Crítico - Causa un bloqueo o hace que el juego sea inutilizable.
+gmod_integration.report_bug.importance_level.high=Alto - La funcionalidad crítica no se puede utilizar.
+gmod_integration.report_bug.importance_level.medium=Medio - La funcionalidad importante no se puede utilizar.
+gmod_integration.report_bug.importance_level.low=Bajo - Problema cosmético.
+gmod_integration.report_bug.importance_level.trivial=Trivial - Problema muy menor.
+gmod_integration.report_bug.steps_to_reproduce=Pasos para reproducir
+gmod_integration.report_bug.expected_result=Resultado esperado
+gmod_integration.report_bug.actual_result=Resultado actual
+gmod_integration.report_bug.actual_result.dsc=¿Qué sucedió realmente?
+gmod_integration.report_bug.expected_result.dsc=¿Qué esperabas que sucediera?
+gmod_integration.report_bug.steps_to_reproduce.dsc=Proporciona una guía paso a paso sobre cómo reproducir el error.
+gmod_integration.report_bug.description.dsc=Proporciona la mayor cantidad de información posible para ayudarnos a solucionar el problema.
+gmod_integration.report_bug.error.missing_fields=Antes de enviar el informe de error, completa todos los campos requeridos.
+gmod_integration.report_bug.success=Informe de error enviado correctamente
+gmod_integration.report_bug.error.failed=Error al enviar el informe de error, inténtalo de nuevo más tarde.
diff --git a/resource/localization/fr/gmod_integration.properties b/resource/localization/fr/gmod_integration.properties
new file mode 100644
index 0000000..943ff15
--- /dev/null
+++ b/resource/localization/fr/gmod_integration.properties
@@ -0,0 +1,23 @@
+gmod_integration.report_bug.title=Signaler un bug
+gmod_integration.report_bug.description=Signaler un bug aux développeurs de ce jeu.
+gmod_integration.report_bug.submit=Envoyer le rapport de bug
+gmod_integration.report_bug.cancel=Annuler
+gmod_integration.report_bug.screenshot=Capture d'écran
+gmod_integration.report_bug.description=Description
+gmod_integration.report_bug.importance_level=Niveau d'importance
+gmod_integration.report_bug.importance_level.dsc=Quelle est l'importance de ce bug ?
+gmod_integration.report_bug.importance_level.critical=Critique - Crash ou rend le jeu injouable.
+gmod_integration.report_bug.importance_level.high=Élevé - Une fonctionnalité critique est inutilisable.
+gmod_integration.report_bug.importance_level.medium=Moyen - Une fonctionnalité importante est inutilisable.
+gmod_integration.report_bug.importance_level.low=Faible - Problème esthétique.
+gmod_integration.report_bug.importance_level.trivial=Trivial - Problème très mineur.
+gmod_integration.report_bug.steps_to_reproduce=Étapes pour reproduire
+gmod_integration.report_bug.expected_result=Résultat attendu
+gmod_integration.report_bug.actual_result=Résultat réel
+gmod_integration.report_bug.actual_result.dsc=Qu'est-ce qui s'est réellement passé ?
+gmod_integration.report_bug.expected_result.dsc=Qu'est-ce que vous attendiez qu'il se passe ?
+gmod_integration.report_bug.steps_to_reproduce.dsc=Veuillez fournir un guide étape par étape pour reproduire le bug.
+gmod_integration.report_bug.description.dsc=Veuillez fournir autant d'informations que possible pour nous aider à résoudre le problème.
+gmod_integration.report_bug.error.missing_fields=Avant d'envoyer le rapport de bug, veuillez remplir tous les champs obligatoires.
+gmod_integration.report_bug.success=Rapport de bug envoyé avec succès
+gmod_integration.report_bug.error.failed=Échec de l'envoi du rapport de bug, veuillez réessayer ultérieurement.
diff --git a/resource/localization/ru/gmod_integration.properties b/resource/localization/ru/gmod_integration.properties
new file mode 100644
index 0000000..964e077
--- /dev/null
+++ b/resource/localization/ru/gmod_integration.properties
@@ -0,0 +1,23 @@
+gmod_integration.report_bug.title=Сообщить об ошибке
+gmod_integration.report_bug.description=Сообщить об ошибке разработчикам этой игры.
+gmod_integration.report_bug.submit=Отправить отчет об ошибке
+gmod_integration.report_bug.cancel=Отмена
+gmod_integration.report_bug.screenshot=Скриншот
+gmod_integration.report_bug.description=Описание
+gmod_integration.report_bug.importance_level=Уровень важности
+gmod_integration.report_bug.importance_level.dsc=Насколько важна эта ошибка?
+gmod_integration.report_bug.importance_level.critical=Критическая - Вылет или невозможность игры.
+gmod_integration.report_bug.importance_level.high=Высокая - Критическая функциональность неработоспособна.
+gmod_integration.report_bug.importance_level.medium=Средняя - Важная функциональность неработоспособна.
+gmod_integration.report_bug.importance_level.low=Низкая - Косметическая проблема.
+gmod_integration.report_bug.importance_level.trivial=Тривиальная - Очень незначительная проблема.
+gmod_integration.report_bug.steps_to_reproduce=Шаги для воспроизведения
+gmod_integration.report_bug.expected_result=Ожидаемый результат
+gmod_integration.report_bug.actual_result=Фактический результат
+gmod_integration.report_bug.actual_result.dsc=Что фактически произошло?
+gmod_integration.report_bug.expected_result.dsc=Что вы ожидали, что произойдет?
+gmod_integration.report_bug.steps_to_reproduce.dsc=Пожалуйста, предоставьте пошаговое руководство по воспроизведению ошибки.
+gmod_integration.report_bug.description.dsc=Пожалуйста, предоставьте как можно больше информации, чтобы помочь нам исправить проблему.
+gmod_integration.report_bug.error.missing_fields=Перед отправкой отчета об ошибке, заполните все обязательные поля.
+gmod_integration.report_bug.success=Отчет об ошибке успешно отправлен
+gmod_integration.report_bug.error.failed=Не удалось отправить отчет об ошибке, пожалуйста, попробуйте еще раз позже.