feat: Add PDM support with auth & i18n enhancements (#627)
* feat: Add PDM support with auth & i18n enhancements 1. Added PDM project dependency management - Created pyproject.toml for dependency definitions - Added PDM lock file for reproducible builds - Created .pdm-python for virtual environment management 2. Enhanced authentication & configuration - Added user validation in base configuration - Implemented streamlit-authenticator for login functionality - Updated config.example.toml with user authentication fields 3. Improved internationalization (i18n) - Updated translation files for multiple languages (en, de, pt, vi, zh) - Enhanced i18n support in the web UI - Standardized translation structure across language files
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"Language": "German",
|
||||
"Language": "Deutsch",
|
||||
"Translation": {
|
||||
"Login Required": "Anmeldung erforderlich",
|
||||
"Please login to access settings": "Bitte melden Sie sich an, um auf die Einstellungen zuzugreifen",
|
||||
"Username": "Benutzername",
|
||||
"Password": "Passwort",
|
||||
"Login": "Anmelden",
|
||||
"Login Error": "Anmeldefehler",
|
||||
"Incorrect username or password": "Falscher Benutzername oder Passwort",
|
||||
"Please enter your username and password": "Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein",
|
||||
"Video Script Settings": "**Drehbuch / Topic des Videos**",
|
||||
"Video Subject": "Worum soll es in dem Video gehen? (Geben Sie ein Keyword an, :red[Dank KI wird automatisch ein Drehbuch generieren])",
|
||||
"Script Language": "Welche Sprache soll zum Generieren von Drehbüchern verwendet werden? :red[KI generiert anhand dieses Begriffs das Drehbuch]",
|
||||
@@ -10,7 +18,7 @@
|
||||
"Generate Video Keywords": "Klicken Sie, um KI zum Generieren zu verwenden [Video Keywords] basierend auf dem **Drehbuch**",
|
||||
"Please Enter the Video Subject": "Bitte geben Sie zuerst das Drehbuch an",
|
||||
"Generating Video Script and Keywords": "KI generiert ein Drehbuch und Schlüsselwörter...",
|
||||
"Generating Video Keywords": "AI is generating video keywords...",
|
||||
"Generating Video Keywords": "KI generiert Video-Schlüsselwörter...",
|
||||
"Video Keywords": "Video Schlüsselwörter (:blue[① Optional, KI generiert ② Verwende **, (Kommas)** zur Trennung der Wörter, in englischer Sprache])",
|
||||
"Video Settings": "**Video Einstellungen**",
|
||||
"Video Concat Mode": "Videoverkettungsmodus",
|
||||
@@ -30,8 +38,8 @@
|
||||
"Number of Videos Generated Simultaneously": "Anzahl der parallel generierten Videos",
|
||||
"Audio Settings": "**Audio Einstellungen**",
|
||||
"Speech Synthesis": "Sprachausgabe",
|
||||
"Speech Region": "Region(:red[Required,[Get Region](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices)])",
|
||||
"Speech Key": "API Key(:red[Required,[Get API Key](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices)])",
|
||||
"Speech Region": "Region(:red[Erforderlich,[Region abrufen](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices)])",
|
||||
"Speech Key": "API-Schlüssel(:red[Erforderlich,[API-Schlüssel abrufen](https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/SpeechServices)])",
|
||||
"Speech Volume": "Lautstärke der Sprachausgabe",
|
||||
"Speech Rate": "Lesegeschwindigkeit (1,0 bedeutet 1x)",
|
||||
"Male": "Männlich",
|
||||
@@ -61,26 +69,31 @@
|
||||
"Video Generation Completed": "Video erfolgreich generiert",
|
||||
"Video Generation Failed": "Video Generierung fehlgeschlagen",
|
||||
"You can download the generated video from the following links": "Sie können das generierte Video über die folgenden Links herunterladen",
|
||||
"Basic Settings": "**Grunde Instellungen**",
|
||||
"Pexels API Key": "Pexels API Key ([Get API Key](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([Get API Key](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Language": "Language",
|
||||
"LLM Provider": "LLM Provider",
|
||||
"API Key": "API Key (:red[Required])",
|
||||
"Base Url": "Base Url",
|
||||
"Model Name": "Model Name",
|
||||
"Please Enter the LLM API Key": "Please Enter the **LLM API Key**",
|
||||
"Please Enter the Pexels API Key": "Please Enter the **Pexels API Key**",
|
||||
"Please Enter the Pixabay API Key": "Please Enter the **Pixabay API Key**",
|
||||
"Get Help": "If you need help, or have any questions, you can join discord for help: https://harryai.cc",
|
||||
"Video Source": "Video Source",
|
||||
"TikTok": "TikTok (TikTok support is coming soon)",
|
||||
"Bilibili": "Bilibili (Bilibili support is coming soon)",
|
||||
"Xiaohongshu": "Xiaohongshu (Xiaohongshu support is coming soon)",
|
||||
"Local file": "Local file",
|
||||
"Play Voice": "Play Voice",
|
||||
"Voice Example": "This is an example text for testing speech synthesis",
|
||||
"Synthesizing Voice": "Synthesizing voice, please wait...",
|
||||
"TTS Provider": "Select the voice synthesis provider"
|
||||
"Basic Settings": "**Grundeinstellungen** (:blue[Klicken zum Erweitern])",
|
||||
"Language": "Sprache",
|
||||
"Pexels API Key": "Pexels API-Schlüssel ([API-Schlüssel abrufen](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API-Schlüssel ([API-Schlüssel abrufen](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"LLM Provider": "KI-Modellanbieter",
|
||||
"API Key": "API-Schlüssel (:red[Erforderlich])",
|
||||
"Base Url": "Basis-URL",
|
||||
"Account ID": "Konto-ID (Aus dem Cloudflare-Dashboard)",
|
||||
"Model Name": "Modellname",
|
||||
"Please Enter the LLM API Key": "Bitte geben Sie den **KI-Modell API-Schlüssel** ein",
|
||||
"Please Enter the Pexels API Key": "Bitte geben Sie den **Pexels API-Schlüssel** ein",
|
||||
"Please Enter the Pixabay API Key": "Bitte geben Sie den **Pixabay API-Schlüssel** ein",
|
||||
"Get Help": "Wenn Sie Hilfe benötigen oder Fragen haben, können Sie dem Discord beitreten: https://harryai.cc",
|
||||
"Video Source": "Videoquelle",
|
||||
"TikTok": "TikTok (TikTok-Unterstützung kommt bald)",
|
||||
"Bilibili": "Bilibili (Bilibili-Unterstützung kommt bald)",
|
||||
"Xiaohongshu": "Xiaohongshu (Xiaohongshu-Unterstützung kommt bald)",
|
||||
"Local file": "Lokale Datei",
|
||||
"Play Voice": "Sprachausgabe abspielen",
|
||||
"Voice Example": "Dies ist ein Beispieltext zum Testen der Sprachsynthese",
|
||||
"Synthesizing Voice": "Sprachsynthese läuft, bitte warten...",
|
||||
"TTS Provider": "Sprachsynthese-Anbieter auswählen",
|
||||
"Hide Log": "Protokoll ausblenden",
|
||||
"点击获取": "Klicken zum Abrufen",
|
||||
"推荐使用": "Empfohlen",
|
||||
"可以不用配置,如果 Pexels 无法使用,再选择Pixabay": "Kann uneingestellt bleiben. Wenn Pexels nicht funktioniert, wählen Sie Pixabay"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"Language": "English",
|
||||
"Translation": {
|
||||
"Login Required": "Login Required",
|
||||
"Please login to access settings": "Please login to access settings",
|
||||
"Username": "Username",
|
||||
"Password": "Password",
|
||||
"Login": "Login",
|
||||
"Login Error": "Login Error",
|
||||
"Incorrect username or password": "Incorrect username or password",
|
||||
"Please enter your username and password": "Please enter your username and password",
|
||||
"Video Script Settings": "**Video Script Settings**",
|
||||
"Video Subject": "Video Subject (Provide a keyword, :red[AI will automatically generate] video script)",
|
||||
"Script Language": "Language for Generating Video Script (AI will automatically output based on the language of your subject)",
|
||||
@@ -16,7 +24,7 @@
|
||||
"Video Concat Mode": "Video Concatenation Mode",
|
||||
"Random": "Random Concatenation (Recommended)",
|
||||
"Sequential": "Sequential Concatenation",
|
||||
"Video Transition Mode": "Video Transition Mode",
|
||||
"Video Transition Mode": "Video Transition Mode",
|
||||
"None": "None",
|
||||
"Shuffle": "Shuffle",
|
||||
"FadeIn": "FadeIn",
|
||||
|
||||
@@ -1,12 +1,20 @@
|
||||
{
|
||||
"Language": "Português Brasileiro",
|
||||
"Translation": {
|
||||
"Login Required": "Login Necessário",
|
||||
"Please login to access settings": "Por favor, faça login para acessar as configurações",
|
||||
"Username": "Nome de usuário",
|
||||
"Password": "Senha",
|
||||
"Login": "Entrar",
|
||||
"Login Error": "Erro de Login",
|
||||
"Incorrect username or password": "Nome de usuário ou senha incorretos",
|
||||
"Please enter your username and password": "Por favor, digite seu nome de usuário e senha",
|
||||
"Video Script Settings": "**Configurações do Roteiro do Vídeo**",
|
||||
"Video Subject": "Tema do Vídeo (Forneça uma palavra-chave, :red[a IA irá gerar automaticamente] o roteiro do vídeo)",
|
||||
"Script Language": "Idioma para Gerar o Roteiro do Vídeo (a IA irá gerar automaticamente com base no idioma do seu tema)",
|
||||
"Generate Video Script and Keywords": "Clique para usar a IA para gerar o [Roteiro do Vídeo] e as [Palavras-chave do Vídeo] com base no **tema**",
|
||||
"Auto Detect": "Detectar Automaticamente",
|
||||
"Video Script": "Roteiro do Vídeo (:blue[① Opcional, gerado pela IA ② Pontuação adequada ajuda na geração de legendas])",
|
||||
"Video Script": "Roteiro do Vídeo (:blue[① Opcional, gerado pela IA ② Pontuação adequada ajuda na geração de legendas])",
|
||||
"Generate Video Keywords": "Clique para usar a IA para gerar [Palavras-chave do Vídeo] com base no **roteiro**",
|
||||
"Please Enter the Video Subject": "Por favor, insira o Roteiro do Vídeo primeiro",
|
||||
"Generating Video Script and Keywords": "A IA está gerando o roteiro do vídeo e as palavras-chave...",
|
||||
@@ -61,10 +69,10 @@
|
||||
"Video Generation Completed": "Geração do Vídeo Concluída",
|
||||
"Video Generation Failed": "Falha na Geração do Vídeo",
|
||||
"You can download the generated video from the following links": "Você pode baixar o vídeo gerado a partir dos seguintes links",
|
||||
"Pexels API Key": "Chave da API do Pexels ([Obter Chave da API](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Chave da API do Pixabay ([Obter Chave da API](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Basic Settings": "**Configurações Básicas** (:blue[Clique para expandir])",
|
||||
"Language": "Idioma",
|
||||
"Pexels API Key": "Chave da API do Pexels ([Obter Chave da API](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Chave da API do Pixabay ([Obter Chave da API](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"LLM Provider": "Provedor LLM",
|
||||
"API Key": "Chave da API (:red[Obrigatório])",
|
||||
"Base Url": "URL Base",
|
||||
@@ -83,6 +91,9 @@
|
||||
"Voice Example": "Este é um exemplo de texto para testar a síntese de fala",
|
||||
"Synthesizing Voice": "Sintetizando voz, por favor aguarde...",
|
||||
"TTS Provider": "Selecione o provedor de síntese de voz",
|
||||
"Hide Log": "Ocultar Log"
|
||||
"Hide Log": "Ocultar Log",
|
||||
"点击获取": "Clique para obter",
|
||||
"推荐使用": "Recomendado",
|
||||
"可以不用配置,如果 Pexels 无法使用,再选择Pixabay": "Pode não ser configurado, se o Pexels não estiver disponível, escolha o Pixabay"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"Language": "Tiếng Việt",
|
||||
"Translation": {
|
||||
"Login Required": "Yêu cầu đăng nhập",
|
||||
"Please login to access settings": "Vui lòng đăng nhập để truy cập cài đặt",
|
||||
"Username": "Tên đăng nhập",
|
||||
"Password": "Mật khẩu",
|
||||
"Login": "Đăng nhập",
|
||||
"Login Error": "Lỗi đăng nhập",
|
||||
"Incorrect username or password": "Tên đăng nhập hoặc mật khẩu không chính xác",
|
||||
"Please enter your username and password": "Vui lòng nhập tên đăng nhập và mật khẩu của bạn",
|
||||
"Video Script Settings": "**Cài Đặt Kịch Bản Video**",
|
||||
"Video Subject": "Chủ Đề Video (Cung cấp một từ khóa, :red[AI sẽ tự động tạo ra] kịch bản video)",
|
||||
"Script Language": "Ngôn Ngữ cho Việc Tạo Kịch Bản Video (AI sẽ tự động xuất ra dựa trên ngôn ngữ của chủ đề của bạn)",
|
||||
@@ -61,10 +69,10 @@
|
||||
"Video Generation Completed": "Hoàn Tất Tạo Video",
|
||||
"Video Generation Failed": "Tạo Video Thất Bại",
|
||||
"You can download the generated video from the following links": "Bạn có thể tải video được tạo ra từ các liên kết sau",
|
||||
"Pexels API Key": "Khóa API Pexels ([Lấy Khóa API](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([Get API Key](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Basic Settings": "**Cài Đặt Cơ Bản** (:blue[Nhấp để mở rộng])",
|
||||
"Language": "Ngôn Ngữ",
|
||||
"Pexels API Key": "Khóa API Pexels ([Lấy Khóa API](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Khóa API Pixabay ([Lấy Khóa API](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"LLM Provider": "Nhà Cung Cấp LLM",
|
||||
"API Key": "Khóa API (:red[Bắt Buộc])",
|
||||
"Base Url": "Url Cơ Bản",
|
||||
@@ -72,16 +80,20 @@
|
||||
"Model Name": "Tên Mô Hình",
|
||||
"Please Enter the LLM API Key": "Vui lòng Nhập **Khóa API LLM**",
|
||||
"Please Enter the Pexels API Key": "Vui lòng Nhập **Khóa API Pexels**",
|
||||
"Please Enter the Pixabay API Key": "Vui lòng Nhập **Pixabay API Key**",
|
||||
"Please Enter the Pixabay API Key": "Vui lòng Nhập **Khóa API Pixabay**",
|
||||
"Get Help": "Nếu bạn cần giúp đỡ hoặc có bất kỳ câu hỏi nào, bạn có thể tham gia discord để được giúp đỡ: https://harryai.cc",
|
||||
"Video Source": "Video Source",
|
||||
"TikTok": "TikTok (TikTok support is coming soon)",
|
||||
"Bilibili": "Bilibili (Bilibili support is coming soon)",
|
||||
"Xiaohongshu": "Xiaohongshu (Xiaohongshu support is coming soon)",
|
||||
"Local file": "Local file",
|
||||
"Play Voice": "Play Voice",
|
||||
"Voice Example": "This is an example text for testing speech synthesis",
|
||||
"Synthesizing Voice": "Synthesizing voice, please wait...",
|
||||
"TTS Provider": "Select the voice synthesis provider"
|
||||
"Video Source": "Nguồn Video",
|
||||
"TikTok": "TikTok (Hỗ trợ TikTok sắp ra mắt)",
|
||||
"Bilibili": "Bilibili (Hỗ trợ Bilibili sắp ra mắt)",
|
||||
"Xiaohongshu": "Xiaohongshu (Hỗ trợ Xiaohongshu sắp ra mắt)",
|
||||
"Local file": "Tệp cục bộ",
|
||||
"Play Voice": "Phát Giọng Nói",
|
||||
"Voice Example": "Đây là văn bản mẫu để kiểm tra tổng hợp giọng nói",
|
||||
"Synthesizing Voice": "Đang tổng hợp giọng nói, vui lòng đợi...",
|
||||
"TTS Provider": "Chọn nhà cung cấp tổng hợp giọng nói",
|
||||
"Hide Log": "Ẩn Nhật Ký",
|
||||
"点击获取": "Nhấp để lấy",
|
||||
"推荐使用": "Được khuyến nghị",
|
||||
"可以不用配置,如果 Pexels 无法使用,再选择Pixabay": "Có thể không cần cấu hình, nếu Pexels không khả dụng, hãy chọn Pixabay"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"Language": "简体中文",
|
||||
"Translation": {
|
||||
"Login Required": "需要登录",
|
||||
"Please login to access settings": "请登录后访问配置设置",
|
||||
"Username": "用户名",
|
||||
"Password": "密码",
|
||||
"Login": "登录",
|
||||
"Login Error": "登录错误",
|
||||
"Incorrect username or password": "用户名或密码不正确",
|
||||
"Please enter your username and password": "请输入用户名和密码",
|
||||
"Video Script Settings": "**文案设置**",
|
||||
"Video Subject": "视频主题(给定一个关键词,:red[AI自动生成]视频文案)",
|
||||
"Script Language": "生成视频脚本的语言(一般情况AI会自动根据你输入的主题语言输出)",
|
||||
|
||||
Reference in New Issue
Block a user