Compare commits

..

13 Commits

Author SHA1 Message Date
Aryan Hardik Dani 8b2c0ceea7
Merge 9c42993d0c into d5a3fb0c47 2025-05-13 06:13:55 +00:00
Kenneth Estanislao d5a3fb0c47
Merge pull request #1268 from jiacheng-0/main
Update __init__.py
2025-05-13 00:57:09 +08:00
Teo Jia Cheng 9690070399 Update __init__.py 2025-05-13 00:14:49 +08:00
Kenneth Estanislao f3e83b985c
Merge pull request #1210 from KunjShah01/main
Update __init__.py
2025-05-12 15:14:58 +08:00
Kenneth Estanislao e3e3638b79
Merge pull request #1232 from gboeer/patch-1
Add german localization and fix minor typos
2025-05-12 15:14:32 +08:00
VilkkuKoo 4a7874a968
Added a Finnish translation (#1255)
* Added finnish translations

* Fixed a typo
2025-05-11 03:58:53 +05:30
Gordon Böer 75122da389
Create german localization 2025-05-07 13:30:22 +02:00
Gordon Böer 7063bba4b3
fix typos in zh.json 2025-05-07 13:24:54 +02:00
Gordon Böer bdbd7dcfbc
fix typos in ui.py 2025-05-07 13:23:31 +02:00
KUNJ SHAH a64940def7 update 2025-05-05 13:19:46 +00:00
KUNJ SHAH fe4a87e8f2 update 2025-05-05 13:19:29 +00:00
KUNJ SHAH 9ecd2dab83 changes 2025-05-05 13:10:00 +00:00
KUNJ SHAH c9f36eb350
Update __init__.py 2025-05-05 18:29:44 +05:30
5 changed files with 121 additions and 11 deletions

46
locales/de.json 100644
View File

@ -0,0 +1,46 @@
{
"Source x Target Mapper": "Quelle x Ziel Zuordnung",
"select a source image": "Wähle ein Quellbild",
"Preview": "Vorschau",
"select a target image or video": "Wähle ein Zielbild oder Video",
"save image output file": "Bildausgabedatei speichern",
"save video output file": "Videoausgabedatei speichern",
"select a target image": "Wähle ein Zielbild",
"source": "Quelle",
"Select a target": "Wähle ein Ziel",
"Select a face": "Wähle ein Gesicht",
"Keep audio": "Audio beibehalten",
"Face Enhancer": "Gesichtsverbesserung",
"Many faces": "Mehrere Gesichter",
"Show FPS": "FPS anzeigen",
"Keep fps": "FPS beibehalten",
"Keep frames": "Frames beibehalten",
"Fix Blueish Cam": "Bläuliche Kamera korrigieren",
"Mouth Mask": "Mundmaske",
"Show Mouth Mask Box": "Mundmaskenrahmen anzeigen",
"Start": "Starten",
"Live": "Live",
"Destroy": "Beenden",
"Map faces": "Gesichter zuordnen",
"Processing...": "Verarbeitung läuft...",
"Processing succeed!": "Verarbeitung erfolgreich!",
"Processing ignored!": "Verarbeitung ignoriert!",
"Failed to start camera": "Kamera konnte nicht gestartet werden",
"Please complete pop-up or close it.": "Bitte das Pop-up komplettieren oder schließen.",
"Getting unique faces": "Einzigartige Gesichter erfassen",
"Please select a source image first": "Bitte zuerst ein Quellbild auswählen",
"No faces found in target": "Keine Gesichter im Zielbild gefunden",
"Add": "Hinzufügen",
"Clear": "Löschen",
"Submit": "Absenden",
"Select source image": "Quellbild auswählen",
"Select target image": "Zielbild auswählen",
"Please provide mapping!": "Bitte eine Zuordnung angeben!",
"At least 1 source with target is required!": "Mindestens eine Quelle mit einem Ziel ist erforderlich!",
"At least 1 source with target is required!": "Mindestens eine Quelle mit einem Ziel ist erforderlich!",
"Face could not be detected in last upload!": "Im letzten Upload konnte kein Gesicht erkannt werden!",
"Select Camera:": "Kamera auswählen:",
"All mappings cleared!": "Alle Zuordnungen gelöscht!",
"Mappings successfully submitted!": "Zuordnungen erfolgreich übermittelt!",
"Source x Target Mapper is already open.": "Quell-zu-Ziel-Zuordnung ist bereits geöffnet."
}

46
locales/fi.json 100644
View File

@ -0,0 +1,46 @@
{
"Source x Target Mapper": "Source x Target Kartoitin",
"select an source image": "Valitse lähde kuva",
"Preview": "Esikatsele",
"select an target image or video": "Valitse kohde kuva tai video",
"save image output file": "tallenna kuva",
"save video output file": "tallenna video",
"select an target image": "Valitse kohde kuva",
"source": "lähde",
"Select a target": "Valitse kohde",
"Select a face": "Valitse kasvot",
"Keep audio": "Säilytä ääni",
"Face Enhancer": "Kasvojen Parantaja",
"Many faces": "Useampia kasvoja",
"Show FPS": "Näytä FPS",
"Keep fps": "Säilytä FPS",
"Keep frames": "Säilytä ruudut",
"Fix Blueish Cam": "Korjaa Sinertävä Kamera",
"Mouth Mask": "Suu Maski",
"Show Mouth Mask Box": "Näytä Suu Maski Laatiko",
"Start": "Aloita",
"Live": "Live",
"Destroy": "Tuhoa",
"Map faces": "Kartoita kasvot",
"Processing...": "Prosessoi...",
"Processing succeed!": "Prosessointi onnistui!",
"Processing ignored!": "Prosessointi lopetettu!",
"Failed to start camera": "Kameran käynnistäminen epäonnistui",
"Please complete pop-up or close it.": "Viimeistele tai sulje ponnahdusikkuna",
"Getting unique faces": "Hankitaan uniikkeja kasvoja",
"Please select a source image first": "Valitse ensin lähde kuva",
"No faces found in target": "Kasvoja ei löydetty kohteessa",
"Add": "Lisää",
"Clear": "Tyhjennä",
"Submit": "Lähetä",
"Select source image": "Valitse lähde kuva",
"Select target image": "Valitse kohde kuva",
"Please provide mapping!": "Tarjoa kartoitus!",
"Atleast 1 source with target is required!": "Vähintään 1 lähde kohteen kanssa on vaadittu!",
"At least 1 source with target is required!": "Vähintään 1 lähde kohteen kanssa on vaadittu!",
"Face could not be detected in last upload!": "Kasvoja ei voitu tunnistaa edellisessä latauksessa!",
"Select Camera:": "Valitse Kamera:",
"All mappings cleared!": "Kaikki kartoitukset tyhjennetty!",
"Mappings successfully submitted!": "Kartoitukset lähetety onnistuneesti!",
"Source x Target Mapper is already open.": "Lähde x Kohde Kartoittaja on jo auki."
}

View File

@ -1,11 +1,11 @@
{ {
"Source x Target Mapper": "Source x Target Mapper", "Source x Target Mapper": "Source x Target Mapper",
"select an source image": "选择一个源图像", "select a source image": "选择一个源图像",
"Preview": "预览", "Preview": "预览",
"select an target image or video": "选择一个目标图像或视频", "select a target image or video": "选择一个目标图像或视频",
"save image output file": "保存图像输出文件", "save image output file": "保存图像输出文件",
"save video output file": "保存视频输出文件", "save video output file": "保存视频输出文件",
"select an target image": "选择一个目标图像", "select a target image": "选择一个目标图像",
"source": "源", "source": "源",
"Select a target": "选择一个目标", "Select a target": "选择一个目标",
"Select a face": "选择一张脸", "Select a face": "选择一张脸",
@ -36,11 +36,11 @@
"Select source image": "请选取源图像", "Select source image": "请选取源图像",
"Select target image": "请选取目标图像", "Select target image": "请选取目标图像",
"Please provide mapping!": "请提供映射", "Please provide mapping!": "请提供映射",
"Atleast 1 source with target is required!": "至少需要一个来源图像与目标图像相关!", "At least 1 source with target is required!": "至少需要一个来源图像与目标图像相关!",
"At least 1 source with target is required!": "至少需要一个来源图像与目标图像相关!", "At least 1 source with target is required!": "至少需要一个来源图像与目标图像相关!",
"Face could not be detected in last upload!": "最近上传的图像中没有检测到人脸!", "Face could not be detected in last upload!": "最近上传的图像中没有检测到人脸!",
"Select Camera:": "选择摄像头", "Select Camera:": "选择摄像头",
"All mappings cleared!": "所有映射均已清除!", "All mappings cleared!": "所有映射均已清除!",
"Mappings successfully submitted!": "成功提交映射!", "Mappings successfully submitted!": "成功提交映射!",
"Source x Target Mapper is already open.": "源 x 目标映射器已打开。" "Source x Target Mapper is already open.": "源 x 目标映射器已打开。"
} }

View File

@ -0,0 +1,18 @@
import os
import cv2
import numpy as np
# Utility function to support unicode characters in file paths for reading
def imread_unicode(path, flags=cv2.IMREAD_COLOR):
return cv2.imdecode(np.fromfile(path, dtype=np.uint8), flags)
# Utility function to support unicode characters in file paths for writing
def imwrite_unicode(path, img, params=None):
root, ext = os.path.splitext(path)
if not ext:
ext = ".png"
result, encoded_img = cv2.imencode(ext, img, params if params else [])
result, encoded_img = cv2.imencode(f".{ext}", img, params if params is not None else [])
encoded_img.tofile(path)
return True
return False

View File

@ -429,7 +429,7 @@ def create_source_target_popup(
POPUP.destroy() POPUP.destroy()
select_output_path(start) select_output_path(start)
else: else:
update_pop_status("Atleast 1 source with target is required!") update_pop_status("At least 1 source with target is required!")
scrollable_frame = ctk.CTkScrollableFrame( scrollable_frame = ctk.CTkScrollableFrame(
POPUP, width=POPUP_SCROLL_WIDTH, height=POPUP_SCROLL_HEIGHT POPUP, width=POPUP_SCROLL_WIDTH, height=POPUP_SCROLL_HEIGHT
@ -489,7 +489,7 @@ def update_popup_source(
global source_label_dict global source_label_dict
source_path = ctk.filedialog.askopenfilename( source_path = ctk.filedialog.askopenfilename(
title=_("select an source image"), title=_("select a source image"),
initialdir=RECENT_DIRECTORY_SOURCE, initialdir=RECENT_DIRECTORY_SOURCE,
filetypes=[img_ft], filetypes=[img_ft],
) )
@ -584,7 +584,7 @@ def select_source_path() -> None:
PREVIEW.withdraw() PREVIEW.withdraw()
source_path = ctk.filedialog.askopenfilename( source_path = ctk.filedialog.askopenfilename(
title=_("select an source image"), title=_("select a source image"),
initialdir=RECENT_DIRECTORY_SOURCE, initialdir=RECENT_DIRECTORY_SOURCE,
filetypes=[img_ft], filetypes=[img_ft],
) )
@ -627,7 +627,7 @@ def select_target_path() -> None:
PREVIEW.withdraw() PREVIEW.withdraw()
target_path = ctk.filedialog.askopenfilename( target_path = ctk.filedialog.askopenfilename(
title=_("select an target image or video"), title=_("select a target image or video"),
initialdir=RECENT_DIRECTORY_TARGET, initialdir=RECENT_DIRECTORY_TARGET,
filetypes=[img_ft, vid_ft], filetypes=[img_ft, vid_ft],
) )
@ -1108,7 +1108,7 @@ def update_webcam_source(
global source_label_dict_live global source_label_dict_live
source_path = ctk.filedialog.askopenfilename( source_path = ctk.filedialog.askopenfilename(
title=_("select an source image"), title=_("select a source image"),
initialdir=RECENT_DIRECTORY_SOURCE, initialdir=RECENT_DIRECTORY_SOURCE,
filetypes=[img_ft], filetypes=[img_ft],
) )
@ -1160,7 +1160,7 @@ def update_webcam_target(
global target_label_dict_live global target_label_dict_live
target_path = ctk.filedialog.askopenfilename( target_path = ctk.filedialog.askopenfilename(
title=_("select an target image"), title=_("select a target image"),
initialdir=RECENT_DIRECTORY_SOURCE, initialdir=RECENT_DIRECTORY_SOURCE,
filetypes=[img_ft], filetypes=[img_ft],
) )