diff --git a/src/renderer/src/data/popularSites.ts b/src/renderer/src/data/popularSites.ts
index 2a96973..c99284f 100644
--- a/src/renderer/src/data/popularSites.ts
+++ b/src/renderer/src/data/popularSites.ts
@@ -1,98 +1,24 @@
export interface PopularSite {
id: string
- label: string
- description?: string
}
export const popularSites: PopularSite[] = [
- {
- id: 'youtube',
- label: 'YouTube',
- description: 'Long-form and livestream video from creators worldwide.'
- },
- {
- id: 'youtubemusic',
- label: 'YouTube Music',
- description: 'Official music videos, albums, and live performances.'
- },
- {
- id: 'tiktok',
- label: 'TikTok',
- description: 'Short-form mobile videos, effects, and live streams.'
- },
- {
- id: 'facebook',
- label: 'Facebook',
- description: 'Feed, Watch, and Reels videos from public pages.'
- },
- {
- id: 'instagram',
- label: 'Instagram',
- description: 'Feed, Stories, Reels, and Highlights content.'
- },
- {
- id: 'twitter',
- label: 'X (Twitter)',
- description: 'Timeline posts, Spaces recordings, and broadcasts.'
- },
- {
- id: 'soundcloud',
- label: 'SoundCloud',
- description: 'Music tracks, playlists, and DJ sets.'
- },
- {
- id: 'reddit',
- label: 'Reddit',
- description: 'Embedded clips and hosted videos from communities.'
- },
- {
- id: 'vimeo',
- label: 'Vimeo',
- description: 'High-quality creator and business video hosting.'
- },
- {
- id: 'dailymotion',
- label: 'Dailymotion',
- description: 'Global news, sports, and entertainment clips.'
- },
- {
- id: 'twitch',
- label: 'Twitch',
- description: 'Gaming, music, and IRL live streams and VODs.'
- },
- {
- id: 'linkedin',
- label: 'LinkedIn',
- description: 'Professional talks, webinars, and learning videos.'
- },
- {
- id: 'pinterest',
- label: 'Pinterest',
- description: 'Idea pins, how-to reels, and lifestyle inspiration videos.'
- },
- {
- id: 'tumblr',
- label: 'Tumblr',
- description: 'Creative short-form media and fan edits.'
- },
- {
- id: 'mixcloud',
- label: 'Mixcloud',
- description: 'DJ mixes, radio shows, and long-form audio.'
- },
- {
- id: 'niconico',
- label: 'Niconico',
- description: 'Japanese animation, music, and live broadcast archive.'
- },
- {
- id: 'kick',
- label: 'Kick',
- description: 'Creator live streams and replays on the Kick platform.'
- },
- {
- id: 'bandcamp',
- label: 'Bandcamp',
- description: 'Independent artist albums and community releases.'
- }
+ { id: 'youtube' },
+ { id: 'youtubemusic' },
+ { id: 'tiktok' },
+ { id: 'facebook' },
+ { id: 'instagram' },
+ { id: 'twitter' },
+ { id: 'soundcloud' },
+ { id: 'reddit' },
+ { id: 'vimeo' },
+ { id: 'dailymotion' },
+ { id: 'twitch' },
+ { id: 'linkedin' },
+ { id: 'pinterest' },
+ { id: 'tumblr' },
+ { id: 'mixcloud' },
+ { id: 'niconico' },
+ { id: 'kick' },
+ { id: 'bandcamp' }
]
diff --git a/src/renderer/src/i18n.ts b/src/renderer/src/i18n.ts
index b4aec66..20a8739 100644
--- a/src/renderer/src/i18n.ts
+++ b/src/renderer/src/i18n.ts
@@ -2,13 +2,25 @@ import { defaultLanguageCode, supportedLanguageCodes } from '@shared/languages'
import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'
import en from './locales/en.json'
-import zh from './locales/zh.json'
+
+type TranslationDictionary = typeof en
+
+const localeModules = import.meta.glob<{ default: TranslationDictionary }>('./locales/*.json', {
+ eager: true
+})
+
+const translations = Object.fromEntries(
+ Object.entries(localeModules).map(([path, module]) => {
+ const code = path.replace('./locales/', '').replace('.json', '')
+ return [code, module.default]
+ })
+) as Record
const resources = Object.fromEntries(
supportedLanguageCodes.map((code) => [
code,
{
- translation: code === 'zh' || code === 'zh-TW' ? zh : en
+ translation: translations[code] ?? en
}
])
)
diff --git a/src/renderer/src/locales/en.json b/src/renderer/src/locales/en.json
index d4a52ef..f80e699 100644
--- a/src/renderer/src/locales/en.json
+++ b/src/renderer/src/locales/en.json
@@ -63,7 +63,13 @@
"tagline": "An AI-friendly download helper for every creator",
"title": "About",
"version": "Version",
- "versionLabel": "v{{version}}"
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "Latest: v{{version}}",
+ "latestVersionStatus": {
+ "available": "New version available",
+ "uptodate": "You're up to date",
+ "error": "Unable to fetch the latest version"
+ }
},
"advancedOptions": {
"closeWhenDone": "Close app when download finishes",
@@ -248,19 +254,34 @@
"app": "App Settings",
"audio": "Audio Preferences",
"browserForCookies": "Select browser to use cookies from",
+ "browserForCookiesDescription": "Browser to extract cookies from for authentication",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
"configFile": "Use configuration file",
+ "configFileDescription": "Custom configuration file for yt-dlp",
"dark": "Dark",
"description": "Configure your download preferences and application settings",
+ "directorySelectError": "Failed to select directory",
"downloadPath": "Download location",
+ "downloadPathDescription": "Choose where to save downloaded files",
+ "fileSelectError": "Failed to select file",
"general": "General",
"language": "Language",
"light": "Light",
"maxConcurrentDownloads": "Maximum number of active downloads",
+ "maxConcurrentDownloadsDescription": "Maximum number of simultaneous downloads",
"none": "None",
"oneClickDownload": "One-Click Download",
"oneClickDownloadDescription": "Enable one-click download with default settings",
"oneClickDownloadType": "Default download type",
+ "oneClickDownloadTypeDescription": "Choose the default download type for one-click downloads. Quality uses the preset below.",
"oneClickQuality": "Preferred quality",
+ "oneClickQualityDescription": "Select the quality preset used for one-click downloads",
"oneClickQualityOptions": {
"auto": "Auto",
"bad": "Bad",
@@ -270,11 +291,15 @@
"worst": "Worst"
},
"proxy": "Proxy",
+ "proxyDescription": "Proxy server for network requests",
+ "proxyPlaceholder": "http://proxy:port",
"selectConfigFile": "Select config file",
"selectPath": "Select",
"showMoreFormats": "Show more format options",
+ "showMoreFormatsDescription": "Display additional format options in the interface",
"system": "System",
"theme": "Theme",
+ "themeDescription": "Choose a light, dark, or system theme for VidBee",
"title": "Settings",
"tray": {
"quit": "Quit",
@@ -290,6 +315,80 @@
"pageDescription": "VidBee uses yt-dlp under the hood to reach hundreds of sources.",
"pageIntro": "Here are the mainstream services people download from most frequently.",
"pageTitle": "Supported Sites",
+ "popular": {
+ "bandcamp": {
+ "description": "Independent artist albums and community releases.",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "Global news, sports, and entertainment clips.",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "Feed, Watch, and Reels videos from public pages.",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "Feed, Stories, Reels, and Highlights content.",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Creator live streams and replays on the Kick platform.",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "Professional talks, webinars, and learning videos.",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "DJ mixes, radio shows, and long-form audio.",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "Japanese animation, music, and live broadcast archive.",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "Idea pins, how-to reels, and lifestyle inspiration videos.",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "Embedded clips and hosted videos from communities.",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "Music tracks, playlists, and DJ sets.",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "Short-form mobile videos, effects, and live streams.",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "Creative short-form media and fan edits.",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "Gaming, music, and IRL live streams and VODs.",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "Timeline posts, Spaces recordings, and broadcasts.",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "High-quality creator and business video hosting.",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "Long-form and livestream video from creators worldwide.",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "Official music videos, albums, and live performances.",
+ "label": "YouTube Music"
+ }
+ },
"popularSection": "Main platforms",
"viewAll": "View all supported sites"
}
diff --git a/src/renderer/src/locales/fr.json b/src/renderer/src/locales/fr.json
new file mode 100644
index 0000000..87f2374
--- /dev/null
+++ b/src/renderer/src/locales/fr.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "Vérifier les mises à jour",
+ "email": "Email",
+ "feedback": "Commentaires",
+ "openRepo": "Ouvrir le dépôt GitHub",
+ "view": "Voir",
+ "visit": "Visiter"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "Télécharger et installer automatiquement les nouvelles versions en arrière-plan.",
+ "autoUpdateTitle": "Mises à jour automatiques",
+ "betaProgramDescription": "Recevez les versions préliminaires et les prochaines fonctionnalités avant tout le monde.",
+ "betaProgramTitle": "Canal de prévisualisation",
+ "description": "VidBee est un téléchargeur gratuit et open-source construit avec Electron et alimenté par yt-dlp.",
+ "followAuthorActions": {
+ "follow": "Suivre @nexmoex"
+ },
+ "followAuthorDescription": "Restez à jour avec les dernières nouvelles et mises à jour de VidBee.",
+ "followAuthorSupport": "Suivez le développeur sur X (Twitter) pour obtenir les dernières mises à jour et nouvelles sur VidBee.",
+ "followAuthorTitle": "Suivre le Développeur",
+ "here": "ici",
+ "homepage": "Page d'accueil",
+ "notifications": {
+ "checkingUpdates": "Recherche de mises à jour...",
+ "downloadError": "Échec du téléchargement de la mise à jour",
+ "downloadStarted": "Téléchargement démarré...",
+ "downloadUpdate": "Télécharger et installer la mise à jour {{version}} ?",
+ "noUpdatesAvailable": "Vous utilisez la dernière version",
+ "restartToUpdate": "Redémarrer maintenant pour installer la mise à jour ?",
+ "updateAvailable": "Mise à jour disponible : {{version}}",
+ "updateDownloaded": "Mise à jour téléchargée, redémarrez pour installer",
+ "updateError": "Échec de la vérification des mises à jour : {{error}}"
+ },
+ "preferencesDescription": "Ajustez les paramètres de mise à jour sans quitter cette page.",
+ "preferencesTitle": "Basculements Rapides",
+ "resources": {
+ "changelog": "Notes de version",
+ "changelogDescription": "Suivez ce qui a changé dans chaque version.",
+ "contact": "Support par email",
+ "contactDescription": "Contactez directement pour de l'aide ou collaboration.",
+ "documentation": "Centre d'aide",
+ "documentationDescription": "Guides, FAQ et flux de travail courants.",
+ "feedback": "Commentaires et problèmes",
+ "feedbackDescription": "Partagez des idées ou signalez des problèmes sur GitHub.",
+ "license": "Licence",
+ "licenseDescription": "Consultez les termes de la licence open-source.",
+ "website": "Site web officiel",
+ "websiteDescription": "Points forts du produit, feuille de route et actualités de la communauté."
+ },
+ "resourcesDescription": "Liens utiles pour en savoir plus sur VidBee et rester connecté.",
+ "resourcesTitle": "Ressources",
+ "shareActions": {
+ "copy": "Copier le lien",
+ "facebook": "Partager sur Facebook",
+ "twitter": "Partager sur X (Twitter)"
+ },
+ "shareDescription": "Partagez VidBee avec votre communauté en un clic.",
+ "shareSupport": "Recommandez VidBee à vos amis pour soutenir notre croissance et nos mises à jour.",
+ "shareTitle": "Faites passer le mot",
+ "sourceCode": "Le code source est disponible",
+ "tagline": "Un assistant de téléchargement convivial pour l'IA pour chaque créateur",
+ "title": "À propos",
+ "version": "Version",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "Dernière : v{{version}}",
+ "latestVersionStatus": {
+ "available": "Nouvelle version disponible",
+ "uptodate": "Vous êtes à jour",
+ "error": "Impossible de récupérer la dernière version"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "Fermer l'application quand le téléchargement se termine",
+ "currentLocation": "Emplacement de téléchargement actuel - ",
+ "downloadLocation": "Emplacement de téléchargement",
+ "downloadSubs": "Télécharger les sous-titres si disponibles",
+ "end": "Fin",
+ "endHint": "Si laissé vide, sera téléchargé jusqu'à la fin",
+ "endPlaceholder": "10:00",
+ "selectLocation": "Sélectionner l'Emplacement de Téléchargement",
+ "start": "Début",
+ "startHint": "Si laissé vide, commencera du début",
+ "startPlaceholder": "00:00",
+ "subtitles": "Sous-titres",
+ "timeRange": "Télécharger une plage de temps spécifique",
+ "title": "Options Avancées"
+ },
+ "app": {
+ "description": "Télécharger des vidéos et audios depuis des centaines de sites",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "Mauvais",
+ "best": "Meilleur",
+ "extract": "Extraire",
+ "good": "Bon",
+ "normal": "Normal",
+ "selectFormat": "Sélectionner le Format",
+ "selectQuality": "Sélectionner la Qualité",
+ "title": "Extraire l'Audio",
+ "worst": "Pire"
+ },
+ "download": {
+ "active": "Actif",
+ "all": "Tout",
+ "audio": "Audio",
+ "back": "Retour",
+ "cancel": "Annuler",
+ "cancelled": "Annulé",
+ "clearCompleted": "Effacer les Terminés",
+ "clearDownloads": "Effacer les Téléchargements",
+ "completed": "Terminé",
+ "downloadAudio": "Télécharger l'Audio",
+ "downloadBtn": "Télécharger",
+ "downloadPending": "En attente",
+ "downloadQueue": "File de Téléchargement",
+ "downloadVideo": "Télécharger la Vidéo",
+ "downloading": "Téléchargement en cours...",
+ "enterUrl": "Entrer l'URL de la Vidéo",
+ "enterUrlDescription": "Collez ou tapez une URL de vidéo. ",
+ "error": "Erreur",
+ "fetch": "Récupérer",
+ "fetchingVideoInfo": "Récupération des informations vidéo...",
+ "history": "Historique",
+ "imageLoadError": "Échec du chargement de l'image",
+ "imagePlaceholder": "Aucune image disponible",
+ "infoUnavailable": "Téléchargement en Un Clic (Info indisponible)",
+ "loading": "Chargement",
+ "moreOptions": "Plus d'options",
+ "noActiveDownloads": "Aucun téléchargement actif",
+ "noAudio": "Pas d'Audio",
+ "noHistory": "Aucun historique de téléchargement",
+ "noItems": "Aucun élément trouvé",
+ "oneClickDownload": "Téléchargement en Un Clic",
+ "oneClickDownloadDescription": "Télécharger directement avec les paramètres par défaut sans confirmation",
+ "oneClickDownloadNow": "Télécharger Maintenant",
+ "oneClickDownloadStarted": "Téléchargement démarré avec les paramètres par défaut",
+ "paste": "Coller",
+ "pastePlaylistUrl": "Cliquez pour coller le lien de la playlist depuis le presse-papiers [Ctrl + V]",
+ "pasteUrl": "Cliquez pour coller l'URL de la vidéo ou l'ID [Ctrl + V]",
+ "preparing": "Préparation...",
+ "processing": "Traitement",
+ "progress": "Progrès",
+ "selectAudioFormat": "Sélectionner le Format Audio",
+ "selectFormat": "Sélectionner le Format",
+ "selectVideoFormat": "Sélectionner le Format Vidéo",
+ "singleVideo": "Vidéo Unique",
+ "speed": "Vitesse",
+ "title": "Titre",
+ "total": "Total",
+ "unknownQuality": "Qualité inconnue",
+ "unknownSize": "Taille inconnue",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "Vidéo",
+ "videoInfo": "Informations Vidéo",
+ "videoInfoUpdated": "Informations vidéo mises à jour"
+ },
+ "errors": {
+ "clickToCopy": "Cliquez pour copier les détails",
+ "clipboardEmpty": "Le presse-papiers est vide",
+ "downloadFailed": "Échec du téléchargement",
+ "downloadNecessaryFilesFailed": "Échec du téléchargement des fichiers nécessaires. Veuillez vérifier votre réseau et réessayer",
+ "emptyUrl": "Veuillez entrer une URL",
+ "errorDetails": "Détails de l'Erreur",
+ "fetchInfoFailed": "Échec de la récupération des informations vidéo",
+ "networkError": "Une erreur s'est produite. Vérifiez votre réseau et utilisez une URL correcte",
+ "pasteFromClipboard": "Échec du collage depuis le presse-papiers"
+ },
+ "history": {
+ "clearCancelled": "Effacer les Annulés",
+ "clearCompleted": "Effacer les Terminés",
+ "clearErrors": "Effacer les Erreurs",
+ "copyToClipboard": "Copier dans le presse-papiers",
+ "copyUrl": "Copier l'URL",
+ "date": "Date",
+ "description": "Voir et gérer votre historique de téléchargements",
+ "duration": "Durée",
+ "fileSize": "Taille du Fichier",
+ "filters": {
+ "all": "Tout",
+ "cancelled": "Annulé",
+ "completed": "Terminé",
+ "errors": "Erreurs"
+ },
+ "noHistory": "Aucun historique de téléchargement encore",
+ "noHistoryDescription": "Vos téléchargements terminés apparaîtront ici",
+ "openDownloadFolder": "Ouvrir le Dossier de Téléchargement",
+ "openFile": "Ouvrir le Fichier",
+ "openFileLocation": "Ouvrir l'Emplacement du Fichier",
+ "openFolder": "Ouvrir le Dossier",
+ "openInBrowser": "Cliquez pour ouvrir dans le navigateur",
+ "removeItem": "Supprimer l'Élément",
+ "stats": {
+ "cancelled": "Annulé",
+ "completed": "Terminé",
+ "errors": "Erreurs",
+ "total": "Total"
+ },
+ "status": {
+ "cancelled": "Annulé",
+ "completed": "Terminé",
+ "error": "Erreur"
+ },
+ "title": "Historique de Téléchargement"
+ },
+ "menu": {
+ "about": "À propos",
+ "download": "Télécharger",
+ "playlist": "Télécharger la Playlist",
+ "preferences": "Préférences",
+ "supportedSites": "Sites Supportés",
+ "theme": "Thème :"
+ },
+ "notifications": {
+ "copyFailed": "Échec de la copie dans le presse-papiers",
+ "downloadCompleted": "Téléchargement terminé",
+ "downloadFailed": "Échec du téléchargement",
+ "downloadStarted": "Téléchargement démarré",
+ "itemRemoved": "Élément supprimé",
+ "openFileFailed": "Échec de l'ouverture du fichier",
+ "openFolderFailed": "Échec de l'ouverture du dossier",
+ "removeFailed": "Échec de la suppression de l'élément",
+ "settingsSaved": "Paramètres sauvegardés",
+ "urlCopied": "URL copiée dans le presse-papiers",
+ "videoCopied": "Vidéo copiée dans le presse-papiers"
+ },
+ "playlist": {
+ "comingSoon": "La fonctionnalité de téléchargement de playlist arrive bientôt !",
+ "completed": "Playlist téléchargée",
+ "description": "Télécharger toutes les vidéos d'une playlist ou chaîne YouTube",
+ "downloadFailed": "Échec du démarrage du téléchargement de playlist",
+ "downloadPlaylist": "Télécharger la Playlist",
+ "downloadStarted": "Démarré le téléchargement de {{count}} vidéos de la playlist",
+ "downloadType": "Type de Téléchargement",
+ "downloading": "Téléchargement de la playlist :",
+ "endIndex": "Fin",
+ "enterPlaylistUrl": "Entrer l'URL de la Playlist",
+ "fetchFailed": "Échec de la récupération des informations de playlist",
+ "filenameFormat": "Format de nom de fichier pour les playlists",
+ "folderFormat": "Format de nom de dossier pour les playlists",
+ "foundVideos": "Trouvé {{count}} vidéos dans la playlist",
+ "linkLabel": "URL de la Playlist",
+ "playlistUrlDescription": "Télécharger toutes les vidéos d'une playlist en lot",
+ "range": "Plage (Optionnel)",
+ "resetToDefault": "Réinitialiser par défaut",
+ "startIndex": "Début (1)",
+ "title": "Télécharger la Playlist"
+ },
+ "settings": {
+ "aboutTab": "À propos",
+ "advanced": "Avancé",
+ "app": "Paramètres de l'App",
+ "audio": "Préférences Audio",
+ "browserForCookies": "Sélectionner le navigateur pour utiliser les cookies",
+ "browserForCookiesDescription": "Navigateur pour extraire les cookies pour l'authentification",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "Utiliser le fichier de configuration",
+ "configFileDescription": "Fichier de configuration personnalisé pour yt-dlp",
+ "dark": "Sombre",
+ "description": "Configurez vos préférences de téléchargement et paramètres de l'application",
+ "directorySelectError": "Échec de la sélection du répertoire",
+ "downloadPath": "Emplacement de téléchargement",
+ "downloadPathDescription": "Choisissez où sauvegarder les fichiers téléchargés",
+ "fileSelectError": "Échec de la sélection du fichier",
+ "general": "Général",
+ "language": "Langue",
+ "light": "Clair",
+ "maxConcurrentDownloads": "Nombre maximum de téléchargements actifs",
+ "maxConcurrentDownloadsDescription": "Nombre maximum de téléchargements simultanés",
+ "none": "Aucun",
+ "oneClickDownload": "Téléchargement en Un Clic",
+ "oneClickDownloadDescription": "Activer le téléchargement en un clic avec les paramètres par défaut",
+ "oneClickDownloadType": "Type de téléchargement par défaut",
+ "oneClickDownloadTypeDescription": "Choisissez le type de téléchargement par défaut pour les téléchargements en un clic. La qualité utilise le préréglage ci-dessous.",
+ "oneClickQuality": "Qualité préférée",
+ "oneClickQualityDescription": "Sélectionnez le préréglage de qualité utilisé pour les téléchargements en un clic",
+ "oneClickQualityOptions": {
+ "auto": "Auto",
+ "bad": "Mauvais",
+ "best": "Meilleur",
+ "good": "Bon",
+ "normal": "Normal",
+ "worst": "Pire"
+ },
+ "proxy": "Proxy",
+ "proxyDescription": "Serveur proxy pour les requêtes réseau",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "Sélectionner le fichier de configuration",
+ "selectPath": "Sélectionner",
+ "showMoreFormats": "Afficher plus d'options de format",
+ "showMoreFormatsDescription": "Afficher des options de format supplémentaires dans l'interface",
+ "system": "Système",
+ "theme": "Thème",
+ "themeDescription": "Choisissez un thème clair, sombre ou système pour VidBee",
+ "title": "Paramètres",
+ "tray": {
+ "quit": "Quitter",
+ "showHome": "Afficher l'Accueil"
+ },
+ "video": "Préférences Vidéo"
+ },
+ "sites": {
+ "homeInlineDescription": "Supporte {{sites}} et plus.",
+ "moreDescription": "La liste complète yt-dlp est mise à jour constamment par la communauté.",
+ "moreTitle": "Besoin d'un autre site ?",
+ "openFullList": "Ouvrir la liste complète des sites supportés",
+ "pageDescription": "VidBee utilise yt-dlp en arrière-plan pour atteindre des centaines de sources.",
+ "pageIntro": "Voici les services principaux que les gens téléchargent le plus souvent.",
+ "pageTitle": "Sites Supportés",
+ "popular": {
+ "bandcamp": {
+ "description": "Albums d'artistes indépendants et sorties communautaires.",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "Actualités mondiales, sports et clips de divertissement.",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "Vidéos de flux, Watch et Reels des pages publiques.",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "Contenu de flux, Stories, Reels et Highlights.",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Streams en direct et replays de créateurs sur la plateforme Kick.",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "Conférences professionnelles, webinaires et vidéos d'apprentissage.",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "Mixes DJ, émissions radio et audio long format.",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "Animation japonaise, musique et archives de diffusion en direct.",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "Épingles d'idées, Reels de tutoriels et vidéos d'inspiration lifestyle.",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "Clips intégrés et vidéos hébergées des communautés.",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "Pistes musicales, playlists et sets DJ.",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "Vidéos courtes mobiles, effets et streams en direct.",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "Médias courts créatifs et montages de fans.",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "Streams en direct de gaming, musique et IRL et VOD.",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "Publications de timeline, enregistrements Spaces et diffusions.",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "Hébergement vidéo de haute qualité pour créateurs et entreprises.",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "Vidéo long format et livestream de créateurs du monde entier.",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "Vidéos musicales officielles, albums et performances live.",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "Plateformes principales",
+ "viewAll": "Voir tous les sites supportés"
+ }
+}
diff --git a/src/renderer/src/locales/it.json b/src/renderer/src/locales/it.json
new file mode 100644
index 0000000..47c21e3
--- /dev/null
+++ b/src/renderer/src/locales/it.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "Controlla aggiornamenti",
+ "email": "Email",
+ "feedback": "Feedback",
+ "openRepo": "Apri repository GitHub",
+ "view": "Visualizza",
+ "visit": "Visita"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "Scarica e installa automaticamente le nuove versioni in background.",
+ "autoUpdateTitle": "Aggiornamenti automatici",
+ "betaProgramDescription": "Ricevi build anticipate e prossime funzionalità prima di tutti.",
+ "betaProgramTitle": "Canale anteprima",
+ "description": "VidBee è un downloader gratuito e open-source costruito con Electron e alimentato da yt-dlp.",
+ "followAuthorActions": {
+ "follow": "Segui @nexmoex"
+ },
+ "followAuthorDescription": "Rimani aggiornato con le ultime notizie e aggiornamenti di VidBee.",
+ "followAuthorSupport": "Segui lo sviluppatore su X (Twitter) per ottenere gli ultimi aggiornamenti e notizie su VidBee.",
+ "followAuthorTitle": "Segui lo Sviluppatore",
+ "here": "qui",
+ "homepage": "Homepage",
+ "notifications": {
+ "checkingUpdates": "Ricerca aggiornamenti...",
+ "downloadError": "Errore nel download dell'aggiornamento",
+ "downloadStarted": "Download iniziato...",
+ "downloadUpdate": "Scarica e installa l'aggiornamento {{version}}?",
+ "noUpdatesAvailable": "Stai usando l'ultima versione",
+ "restartToUpdate": "Riavvia ora per installare l'aggiornamento?",
+ "updateAvailable": "Aggiornamento disponibile: {{version}}",
+ "updateDownloaded": "Aggiornamento scaricato, riavvia per installare",
+ "updateError": "Errore nel controllo degli aggiornamenti: {{error}}"
+ },
+ "preferencesDescription": "Regola le impostazioni di aggiornamento senza lasciare questa pagina.",
+ "preferencesTitle": "Toggle Rapidi",
+ "resources": {
+ "changelog": "Note di rilascio",
+ "changelogDescription": "Tieni traccia di cosa è cambiato in ogni versione.",
+ "contact": "Supporto email",
+ "contactDescription": "Contatta direttamente per aiuto o collaborazione.",
+ "documentation": "Centro assistenza",
+ "documentationDescription": "Guide, FAQ e flussi di lavoro comuni.",
+ "feedback": "Feedback e problemi",
+ "feedbackDescription": "Condividi idee o segnala problemi su GitHub.",
+ "license": "Licenza",
+ "licenseDescription": "Rivedi i termini della licenza open-source.",
+ "website": "Sito web ufficiale",
+ "websiteDescription": "Punti salienti del prodotto, roadmap e notizie della comunità."
+ },
+ "resourcesDescription": "Link utili per saperne di più su VidBee e rimanere connessi.",
+ "resourcesTitle": "Risorse",
+ "shareActions": {
+ "copy": "Copia link",
+ "facebook": "Condividi su Facebook",
+ "twitter": "Condividi su X (Twitter)"
+ },
+ "shareDescription": "Condividi VidBee con la tua comunità in un clic.",
+ "shareSupport": "Raccomanda VidBee ai tuoi amici per sostenere la nostra crescita e aggiornamenti.",
+ "shareTitle": "Passa parola",
+ "sourceCode": "Il codice sorgente è disponibile",
+ "tagline": "Un assistente di download amichevole per l'IA per ogni creatore",
+ "title": "Informazioni",
+ "version": "Versione",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "Ultima: v{{version}}",
+ "latestVersionStatus": {
+ "available": "Nuova versione disponibile",
+ "uptodate": "Sei aggiornato",
+ "error": "Impossibile recuperare l'ultima versione"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "Chiudi app quando il download finisce",
+ "currentLocation": "Posizione download attuale - ",
+ "downloadLocation": "Posizione download",
+ "downloadSubs": "Scarica sottotitoli se disponibili",
+ "end": "Fine",
+ "endHint": "Se lasciato vuoto, verrà scaricato fino alla fine",
+ "endPlaceholder": "10:00",
+ "selectLocation": "Seleziona Posizione Download",
+ "start": "Inizio",
+ "startHint": "Se lasciato vuoto, inizierà dall'inizio",
+ "startPlaceholder": "00:00",
+ "subtitles": "Sottotitoli",
+ "timeRange": "Scarica intervallo di tempo specifico",
+ "title": "Opzioni Avanzate"
+ },
+ "app": {
+ "description": "Scarica video e audio da centinaia di siti",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "Cattivo",
+ "best": "Migliore",
+ "extract": "Estrai",
+ "good": "Buono",
+ "normal": "Normale",
+ "selectFormat": "Seleziona Formato",
+ "selectQuality": "Seleziona Qualità",
+ "title": "Estrai Audio",
+ "worst": "Peggiore"
+ },
+ "download": {
+ "active": "Attivo",
+ "all": "Tutto",
+ "audio": "Audio",
+ "back": "Indietro",
+ "cancel": "Annulla",
+ "cancelled": "Annullato",
+ "clearCompleted": "Cancella Completati",
+ "clearDownloads": "Cancella Download",
+ "completed": "Completato",
+ "downloadAudio": "Scarica Audio",
+ "downloadBtn": "Scarica",
+ "downloadPending": "In attesa",
+ "downloadQueue": "Coda Download",
+ "downloadVideo": "Scarica Video",
+ "downloading": "Scaricando...",
+ "enterUrl": "Inserisci URL Video",
+ "enterUrlDescription": "Incolla o digita un URL video. ",
+ "error": "Errore",
+ "fetch": "Recupera",
+ "fetchingVideoInfo": "Recupero informazioni video...",
+ "history": "Cronologia",
+ "imageLoadError": "Errore nel caricamento dell'immagine",
+ "imagePlaceholder": "Nessuna immagine disponibile",
+ "infoUnavailable": "Download con Un Clic (Info non disponibile)",
+ "loading": "Caricamento",
+ "moreOptions": "Più opzioni",
+ "noActiveDownloads": "Nessun download attivo",
+ "noAudio": "Nessun Audio",
+ "noHistory": "Nessuna cronologia download",
+ "noItems": "Nessun elemento trovato",
+ "oneClickDownload": "Download con Un Clic",
+ "oneClickDownloadDescription": "Scarica direttamente con impostazioni predefinite senza conferma",
+ "oneClickDownloadNow": "Scarica Ora",
+ "oneClickDownloadStarted": "Download iniziato con impostazioni predefinite",
+ "paste": "Incolla",
+ "pastePlaylistUrl": "Clicca per incollare link playlist dagli appunti [Ctrl + V]",
+ "pasteUrl": "Clicca per incollare URL video o ID [Ctrl + V]",
+ "preparing": "Preparazione...",
+ "processing": "Elaborazione",
+ "progress": "Progresso",
+ "selectAudioFormat": "Seleziona Formato Audio",
+ "selectFormat": "Seleziona Formato",
+ "selectVideoFormat": "Seleziona Formato Video",
+ "singleVideo": "Video Singolo",
+ "speed": "Velocità",
+ "title": "Titolo",
+ "total": "Totale",
+ "unknownQuality": "Qualità sconosciuta",
+ "unknownSize": "Dimensione sconosciuta",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "Video",
+ "videoInfo": "Informazioni Video",
+ "videoInfoUpdated": "Informazioni video aggiornate"
+ },
+ "errors": {
+ "clickToCopy": "Clicca per copiare i dettagli",
+ "clipboardEmpty": "Gli appunti sono vuoti",
+ "downloadFailed": "Download fallito",
+ "downloadNecessaryFilesFailed": "Errore nel download dei file necessari. Controlla la tua rete e riprova",
+ "emptyUrl": "Inserisci un URL",
+ "errorDetails": "Dettagli Errore",
+ "fetchInfoFailed": "Errore nel recupero delle informazioni video",
+ "networkError": "Si è verificato un errore. Controlla la tua rete e usa un URL corretto",
+ "pasteFromClipboard": "Errore nell'incollare dagli appunti"
+ },
+ "history": {
+ "clearCancelled": "Cancella Annullati",
+ "clearCompleted": "Cancella Completati",
+ "clearErrors": "Cancella Errori",
+ "copyToClipboard": "Copia negli appunti",
+ "copyUrl": "Copia URL",
+ "date": "Data",
+ "description": "Visualizza e gestisci la tua cronologia download",
+ "duration": "Durata",
+ "fileSize": "Dimensione File",
+ "filters": {
+ "all": "Tutto",
+ "cancelled": "Annullato",
+ "completed": "Completato",
+ "errors": "Errori"
+ },
+ "noHistory": "Nessuna cronologia download ancora",
+ "noHistoryDescription": "I tuoi download completati appariranno qui",
+ "openDownloadFolder": "Apri Cartella Download",
+ "openFile": "Apri File",
+ "openFileLocation": "Apri Posizione File",
+ "openFolder": "Apri Cartella",
+ "openInBrowser": "Clicca per aprire nel browser",
+ "removeItem": "Rimuovi Elemento",
+ "stats": {
+ "cancelled": "Annullato",
+ "completed": "Completato",
+ "errors": "Errori",
+ "total": "Totale"
+ },
+ "status": {
+ "cancelled": "Annullato",
+ "completed": "Completato",
+ "error": "Errore"
+ },
+ "title": "Cronologia Download"
+ },
+ "menu": {
+ "about": "Informazioni",
+ "download": "Scarica",
+ "playlist": "Scarica Playlist",
+ "preferences": "Preferenze",
+ "supportedSites": "Siti Supportati",
+ "theme": "Tema:"
+ },
+ "notifications": {
+ "copyFailed": "Errore nella copia negli appunti",
+ "downloadCompleted": "Download completato",
+ "downloadFailed": "Download fallito",
+ "downloadStarted": "Download iniziato",
+ "itemRemoved": "Elemento rimosso",
+ "openFileFailed": "Errore nell'apertura del file",
+ "openFolderFailed": "Errore nell'apertura della cartella",
+ "removeFailed": "Errore nella rimozione dell'elemento",
+ "settingsSaved": "Impostazioni salvate",
+ "urlCopied": "URL copiato negli appunti",
+ "videoCopied": "Video copiato negli appunti"
+ },
+ "playlist": {
+ "comingSoon": "La funzionalità di download playlist arriverà presto!",
+ "completed": "Playlist scaricata",
+ "description": "Scarica tutti i video da una playlist o canale YouTube",
+ "downloadFailed": "Errore nell'avvio del download playlist",
+ "downloadPlaylist": "Scarica Playlist",
+ "downloadStarted": "Iniziato download di {{count}} video dalla playlist",
+ "downloadType": "Tipo Download",
+ "downloading": "Scaricando playlist:",
+ "endIndex": "Fine",
+ "enterPlaylistUrl": "Inserisci URL Playlist",
+ "fetchFailed": "Errore nel recupero delle informazioni playlist",
+ "filenameFormat": "Formato nome file per playlist",
+ "folderFormat": "Formato nome cartella per playlist",
+ "foundVideos": "Trovati {{count}} video nella playlist",
+ "linkLabel": "URL Playlist",
+ "playlistUrlDescription": "Scarica tutti i video da una playlist in blocco",
+ "range": "Intervallo (Opzionale)",
+ "resetToDefault": "Ripristina predefinito",
+ "startIndex": "Inizio (1)",
+ "title": "Scarica Playlist"
+ },
+ "settings": {
+ "aboutTab": "Informazioni",
+ "advanced": "Avanzato",
+ "app": "Impostazioni App",
+ "audio": "Preferenze Audio",
+ "browserForCookies": "Seleziona browser per usare i cookie",
+ "browserForCookiesDescription": "Browser per estrarre i cookie per l'autenticazione",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "Usa file di configurazione",
+ "configFileDescription": "File di configurazione personalizzato per yt-dlp",
+ "dark": "Scuro",
+ "description": "Configura le tue preferenze di download e impostazioni dell'app",
+ "directorySelectError": "Errore nella selezione della directory",
+ "downloadPath": "Posizione download",
+ "downloadPathDescription": "Scegli dove salvare i file scaricati",
+ "fileSelectError": "Errore nella selezione del file",
+ "general": "Generale",
+ "language": "Lingua",
+ "light": "Chiaro",
+ "maxConcurrentDownloads": "Numero massimo di download attivi",
+ "maxConcurrentDownloadsDescription": "Numero massimo di download simultanei",
+ "none": "Nessuno",
+ "oneClickDownload": "Download con Un Clic",
+ "oneClickDownloadDescription": "Abilita download con un clic con impostazioni predefinite",
+ "oneClickDownloadType": "Tipo download predefinito",
+ "oneClickDownloadTypeDescription": "Scegli il tipo di download predefinito per i download con un clic. La qualità usa il preset qui sotto.",
+ "oneClickQuality": "Qualità preferita",
+ "oneClickQualityDescription": "Seleziona il preset di qualità utilizzato per i download con un clic",
+ "oneClickQualityOptions": {
+ "auto": "Auto",
+ "bad": "Cattivo",
+ "best": "Migliore",
+ "good": "Buono",
+ "normal": "Normale",
+ "worst": "Peggiore"
+ },
+ "proxy": "Proxy",
+ "proxyDescription": "Server proxy per le richieste di rete",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "Seleziona file di configurazione",
+ "selectPath": "Seleziona",
+ "showMoreFormats": "Mostra più opzioni formato",
+ "showMoreFormatsDescription": "Visualizza opzioni di formato aggiuntive nell'interfaccia",
+ "system": "Sistema",
+ "theme": "Tema",
+ "themeDescription": "Scegli un tema chiaro, scuro o sistema per VidBee",
+ "title": "Impostazioni",
+ "tray": {
+ "quit": "Esci",
+ "showHome": "Mostra Home"
+ },
+ "video": "Preferenze Video"
+ },
+ "sites": {
+ "homeInlineDescription": "Supporta {{sites}} e altro.",
+ "moreDescription": "La lista completa yt-dlp viene aggiornata costantemente dalla comunità.",
+ "moreTitle": "Hai bisogno di un altro sito?",
+ "openFullList": "Apri lista completa siti supportati",
+ "pageDescription": "VidBee usa yt-dlp sotto il cofano per raggiungere centinaia di fonti.",
+ "pageIntro": "Ecco i servizi principali da cui le persone scaricano più spesso.",
+ "pageTitle": "Siti Supportati",
+ "popular": {
+ "bandcamp": {
+ "description": "Album di artisti indipendenti e uscite della comunità.",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "Notizie globali, sport e clip di intrattenimento.",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "Video di feed, Watch e Reels da pagine pubbliche.",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "Contenuto di feed, Stories, Reels e Highlights.",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Stream live e replay di creatori sulla piattaforma Kick.",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "Talk professionali, webinar e video di apprendimento.",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "Mix DJ, programmi radio e audio long-form.",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "Animazione giapponese, musica e archivio di trasmissioni live.",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "Pin di idee, Reels tutorial e video di ispirazione lifestyle.",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "Clip incorporati e video ospitati dalle comunità.",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "Traccia musicali, playlist e set DJ.",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "Video brevi mobili, effetti e stream live.",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "Media brevi creativi e montaggi di fan.",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "Stream live di gaming, musica e IRL e VOD.",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "Post di timeline, registrazioni Spaces e trasmissioni.",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "Hosting video di alta qualità per creatori e aziende.",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "Video long-form e livestream da creatori di tutto il mondo.",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "Video musicali ufficiali, album e performance live.",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "Piattaforme principali",
+ "viewAll": "Visualizza tutti i siti supportati"
+ }
+}
diff --git a/src/renderer/src/locales/ja.json b/src/renderer/src/locales/ja.json
new file mode 100644
index 0000000..88925c1
--- /dev/null
+++ b/src/renderer/src/locales/ja.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "アップデートを確認",
+ "email": "メール",
+ "feedback": "フィードバック",
+ "openRepo": "GitHubリポジトリを開く",
+ "view": "表示",
+ "visit": "訪問"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "バックグラウンドで新しいリリースを自動的にダウンロードしてインストールします。",
+ "autoUpdateTitle": "自動アップデート",
+ "betaProgramDescription": "他の人より先に早期ビルドと今後の機能を受け取ります。",
+ "betaProgramTitle": "プレビューチャンネル",
+ "description": "VidBeeはElectronで構築され、yt-dlpによって動力を得る無料のオープンソースダウンローダーです。",
+ "followAuthorActions": {
+ "follow": "@nexmoexをフォロー"
+ },
+ "followAuthorDescription": "VidBeeの最新ニュースとアップデートを入手してください。",
+ "followAuthorSupport": "X (Twitter)で開発者をフォローして、VidBeeの最新アップデートとニュースを入手してください。",
+ "followAuthorTitle": "開発者をフォロー",
+ "here": "ここ",
+ "homepage": "ホームページ",
+ "notifications": {
+ "checkingUpdates": "アップデートを検索中...",
+ "downloadError": "アップデートのダウンロードに失敗",
+ "downloadStarted": "ダウンロード開始...",
+ "downloadUpdate": "アップデート{{version}}をダウンロードしてインストールしますか?",
+ "noUpdatesAvailable": "最新バージョンを使用しています",
+ "restartToUpdate": "今すぐ再起動してアップデートをインストールしますか?",
+ "updateAvailable": "利用可能なアップデート:{{version}}",
+ "updateDownloaded": "アップデートがダウンロードされました。再起動してインストールしてください",
+ "updateError": "アップデートの確認に失敗:{{error}}"
+ },
+ "preferencesDescription": "このページを離れることなくアップデート設定を調整します。",
+ "preferencesTitle": "クイックトグル",
+ "resources": {
+ "changelog": "リリースノート",
+ "changelogDescription": "各バージョンで何が変更されたかを追跡します。",
+ "contact": "メールサポート",
+ "contactDescription": "ヘルプやコラボレーションのために直接連絡してください。",
+ "documentation": "ヘルプセンター",
+ "documentationDescription": "ガイド、FAQ、一般的なワークフロー。",
+ "feedback": "フィードバックと問題",
+ "feedbackDescription": "GitHubでアイデアを共有したり問題を報告したりしてください。",
+ "license": "ライセンス",
+ "licenseDescription": "オープンソースライセンス条項を確認してください。",
+ "website": "公式ウェブサイト",
+ "websiteDescription": "製品のハイライト、ロードマップ、コミュニティニュース。"
+ },
+ "resourcesDescription": "VidBeeについてもっと学び、つながりを保つための有用なリンク。",
+ "resourcesTitle": "リソース",
+ "shareActions": {
+ "copy": "リンクをコピー",
+ "facebook": "Facebookで共有",
+ "twitter": "X (Twitter)で共有"
+ },
+ "shareDescription": "ワンクリックでコミュニティとVidBeeを共有してください。",
+ "shareSupport": "私たちの成長とアップデートをサポートするために、友達にVidBeeを推奨してください。",
+ "shareTitle": "口コミを広める",
+ "sourceCode": "ソースコードが利用可能",
+ "tagline": "すべてのクリエイターのためのAIフレンドリーなダウンロードアシスタント",
+ "title": "について",
+ "version": "バージョン",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "最新: v{{version}}",
+ "latestVersionStatus": {
+ "available": "新しいバージョンが利用可能",
+ "uptodate": "最新バージョンを使用中",
+ "error": "最新バージョンを取得できません"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "ダウンロード完了時にアプリを閉じる",
+ "currentLocation": "現在のダウンロード場所 - ",
+ "downloadLocation": "ダウンロード場所",
+ "downloadSubs": "利用可能な場合は字幕をダウンロード",
+ "end": "終了",
+ "endHint": "空のままにすると最後までダウンロードされます",
+ "endPlaceholder": "10:00",
+ "selectLocation": "ダウンロード場所を選択",
+ "start": "開始",
+ "startHint": "空のままにすると最初から開始されます",
+ "startPlaceholder": "00:00",
+ "subtitles": "字幕",
+ "timeRange": "特定の時間範囲をダウンロード",
+ "title": "高度なオプション"
+ },
+ "app": {
+ "description": "数百のサイトからビデオとオーディオをダウンロード",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "悪い",
+ "best": "最高",
+ "extract": "抽出",
+ "good": "良い",
+ "normal": "通常",
+ "selectFormat": "フォーマットを選択",
+ "selectQuality": "品質を選択",
+ "title": "オーディオを抽出",
+ "worst": "最悪"
+ },
+ "download": {
+ "active": "アクティブ",
+ "all": "すべて",
+ "audio": "オーディオ",
+ "back": "戻る",
+ "cancel": "キャンセル",
+ "cancelled": "キャンセル済み",
+ "clearCompleted": "完了をクリア",
+ "clearDownloads": "ダウンロードをクリア",
+ "completed": "完了",
+ "downloadAudio": "オーディオをダウンロード",
+ "downloadBtn": "ダウンロード",
+ "downloadPending": "保留中",
+ "downloadQueue": "ダウンロードキュー",
+ "downloadVideo": "ビデオをダウンロード",
+ "downloading": "ダウンロード中...",
+ "enterUrl": "ビデオURLを入力",
+ "enterUrlDescription": "ビデオURLを貼り付けまたは入力してください。 ",
+ "error": "エラー",
+ "fetch": "取得",
+ "fetchingVideoInfo": "ビデオ情報を取得中...",
+ "history": "履歴",
+ "imageLoadError": "画像の読み込みに失敗",
+ "imagePlaceholder": "利用可能な画像なし",
+ "infoUnavailable": "ワンクリックダウンロード(情報利用不可)",
+ "loading": "読み込み中",
+ "moreOptions": "その他のオプション",
+ "noActiveDownloads": "アクティブなダウンロードなし",
+ "noAudio": "オーディオなし",
+ "noHistory": "ダウンロード履歴なし",
+ "noItems": "アイテムが見つかりません",
+ "oneClickDownload": "ワンクリックダウンロード",
+ "oneClickDownloadDescription": "確認なしでデフォルト設定で直接ダウンロード",
+ "oneClickDownloadNow": "今すぐダウンロード",
+ "oneClickDownloadStarted": "デフォルト設定でダウンロード開始",
+ "paste": "貼り付け",
+ "pastePlaylistUrl": "クリップボードからプレイリストリンクを貼り付け [Ctrl + V]",
+ "pasteUrl": "ビデオURLまたはIDを貼り付け [Ctrl + V]",
+ "preparing": "準備中...",
+ "processing": "処理中",
+ "progress": "進行状況",
+ "selectAudioFormat": "オーディオフォーマットを選択",
+ "selectFormat": "フォーマットを選択",
+ "selectVideoFormat": "ビデオフォーマットを選択",
+ "singleVideo": "単一ビデオ",
+ "speed": "速度",
+ "title": "タイトル",
+ "total": "合計",
+ "unknownQuality": "不明な品質",
+ "unknownSize": "不明なサイズ",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "ビデオ",
+ "videoInfo": "ビデオ情報",
+ "videoInfoUpdated": "ビデオ情報が更新されました"
+ },
+ "errors": {
+ "clickToCopy": "詳細をコピーするにはクリック",
+ "clipboardEmpty": "クリップボードが空です",
+ "downloadFailed": "ダウンロードに失敗",
+ "downloadNecessaryFilesFailed": "必要なファイルのダウンロードに失敗しました。ネットワークを確認して再試行してください",
+ "emptyUrl": "URLを入力してください",
+ "errorDetails": "エラーの詳細",
+ "fetchInfoFailed": "ビデオ情報の取得に失敗",
+ "networkError": "エラーが発生しました。ネットワークを確認し、正しいURLを使用してください",
+ "pasteFromClipboard": "クリップボードからの貼り付けに失敗"
+ },
+ "history": {
+ "clearCancelled": "キャンセル済みをクリア",
+ "clearCompleted": "完了をクリア",
+ "clearErrors": "エラーをクリア",
+ "copyToClipboard": "クリップボードにコピー",
+ "copyUrl": "URLをコピー",
+ "date": "日付",
+ "description": "ダウンロード履歴を表示および管理",
+ "duration": "期間",
+ "fileSize": "ファイルサイズ",
+ "filters": {
+ "all": "すべて",
+ "cancelled": "キャンセル済み",
+ "completed": "完了",
+ "errors": "エラー"
+ },
+ "noHistory": "ダウンロード履歴はまだありません",
+ "noHistoryDescription": "完了したダウンロードがここに表示されます",
+ "openDownloadFolder": "ダウンロードフォルダを開く",
+ "openFile": "ファイルを開く",
+ "openFileLocation": "ファイルの場所を開く",
+ "openFolder": "フォルダを開く",
+ "openInBrowser": "ブラウザで開くにはクリック",
+ "removeItem": "アイテムを削除",
+ "stats": {
+ "cancelled": "キャンセル済み",
+ "completed": "完了",
+ "errors": "エラー",
+ "total": "合計"
+ },
+ "status": {
+ "cancelled": "キャンセル済み",
+ "completed": "完了",
+ "error": "エラー"
+ },
+ "title": "ダウンロード履歴"
+ },
+ "menu": {
+ "about": "について",
+ "download": "ダウンロード",
+ "playlist": "プレイリストをダウンロード",
+ "preferences": "設定",
+ "supportedSites": "サポートされているサイト",
+ "theme": "テーマ:"
+ },
+ "notifications": {
+ "copyFailed": "クリップボードへのコピーに失敗",
+ "downloadCompleted": "ダウンロード完了",
+ "downloadFailed": "ダウンロードに失敗",
+ "downloadStarted": "ダウンロード開始",
+ "itemRemoved": "アイテムが削除されました",
+ "openFileFailed": "ファイルの開封に失敗",
+ "openFolderFailed": "フォルダの開封に失敗",
+ "removeFailed": "アイテムの削除に失敗",
+ "settingsSaved": "設定が保存されました",
+ "urlCopied": "URLがクリップボードにコピーされました",
+ "videoCopied": "ビデオがクリップボードにコピーされました"
+ },
+ "playlist": {
+ "comingSoon": "プレイリストダウンロード機能がまもなく登場します!",
+ "completed": "プレイリストがダウンロードされました",
+ "description": "YouTubeプレイリストまたはチャンネルからすべてのビデオをダウンロード",
+ "downloadFailed": "プレイリストダウンロードの開始に失敗",
+ "downloadPlaylist": "プレイリストをダウンロード",
+ "downloadStarted": "プレイリストから{{count}}個のビデオのダウンロードを開始",
+ "downloadType": "ダウンロードタイプ",
+ "downloading": "プレイリストをダウンロード中:",
+ "endIndex": "終了",
+ "enterPlaylistUrl": "プレイリストURLを入力",
+ "fetchFailed": "プレイリスト情報の取得に失敗",
+ "filenameFormat": "プレイリスト用ファイル名フォーマット",
+ "folderFormat": "プレイリスト用フォルダ名フォーマット",
+ "foundVideos": "プレイリストで{{count}}個のビデオを発見",
+ "linkLabel": "プレイリストURL",
+ "playlistUrlDescription": "プレイリストからすべてのビデオを一括ダウンロード",
+ "range": "範囲(オプション)",
+ "resetToDefault": "デフォルトにリセット",
+ "startIndex": "開始(1)",
+ "title": "プレイリストをダウンロード"
+ },
+ "settings": {
+ "aboutTab": "について",
+ "advanced": "高度",
+ "app": "アプリ設定",
+ "audio": "オーディオ設定",
+ "browserForCookies": "Cookieに使用するブラウザを選択",
+ "browserForCookiesDescription": "認証用のCookieを抽出するブラウザ",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "設定ファイルを使用",
+ "configFileDescription": "yt-dlp用のカスタム設定ファイル",
+ "dark": "ダーク",
+ "description": "ダウンロード設定とアプリ設定を構成",
+ "directorySelectError": "ディレクトリの選択に失敗",
+ "downloadPath": "ダウンロード場所",
+ "downloadPathDescription": "ダウンロードファイルの保存場所を選択",
+ "fileSelectError": "ファイルの選択に失敗",
+ "general": "一般",
+ "language": "言語",
+ "light": "ライト",
+ "maxConcurrentDownloads": "最大アクティブダウンロード数",
+ "maxConcurrentDownloadsDescription": "最大同時ダウンロード数",
+ "none": "なし",
+ "oneClickDownload": "ワンクリックダウンロード",
+ "oneClickDownloadDescription": "デフォルト設定でワンクリックダウンロードを有効化",
+ "oneClickDownloadType": "デフォルトダウンロードタイプ",
+ "oneClickDownloadTypeDescription": "ワンクリックダウンロードのデフォルトダウンロードタイプを選択。品質は下のプリセットを使用。",
+ "oneClickQuality": "優先品質",
+ "oneClickQualityDescription": "ワンクリックダウンロードに使用される品質プリセットを選択",
+ "oneClickQualityOptions": {
+ "auto": "自動",
+ "bad": "悪い",
+ "best": "最高",
+ "good": "良い",
+ "normal": "通常",
+ "worst": "最悪"
+ },
+ "proxy": "プロキシ",
+ "proxyDescription": "ネットワークリクエスト用のプロキシサーバー",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "設定ファイルを選択",
+ "selectPath": "選択",
+ "showMoreFormats": "より多くのフォーマットオプションを表示",
+ "showMoreFormatsDescription": "インターフェースに追加のフォーマットオプションを表示",
+ "system": "システム",
+ "theme": "テーマ",
+ "themeDescription": "VidBeeのライト、ダーク、またはシステムテーマを選択",
+ "title": "設定",
+ "tray": {
+ "quit": "終了",
+ "showHome": "ホームを表示"
+ },
+ "video": "ビデオ設定"
+ },
+ "sites": {
+ "homeInlineDescription": "{{sites}}およびその他のサイトをサポートしています。",
+ "moreDescription": "完全なyt-dlpリストはコミュニティによって継続的に更新されています。",
+ "moreTitle": "他のサイトが必要ですか?",
+ "openFullList": "サポートされているすべてのサイトリストを開く",
+ "pageDescription": "VidBeeは数百のソースに到達するためにyt-dlpをバックグラウンドで使用します。",
+ "pageIntro": "人々が最も頻繁にダウンロードする主要サービスです。",
+ "pageTitle": "サポートされているサイト",
+ "popular": {
+ "bandcamp": {
+ "description": "インディペンデントアーティストのアルバムとコミュニティリリース。",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "グローバルニュース、スポーツ、エンターテイメントクリップ。",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "パブリックページからのフィード、Watch、Reels動画。",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "フィード、Stories、Reels、ハイライトコンテンツ。",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Kickプラットフォームでのクリエイターライブストリームとリプレイ。",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "プロフェッショナルトーク、ウェビナー、学習動画。",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "DJミックス、ラジオ番組、ロングフォームオーディオ。",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "日本のアニメーション、音楽、ライブ放送アーカイブ。",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "アイデアピン、ハウツーReels、ライフスタイルインスピレーション動画。",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "コミュニティからの埋め込みクリップとホスト動画。",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "音楽トラック、プレイリスト、DJセット。",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "ショートフォームモバイル動画、エフェクト、ライブストリーム。",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "クリエイティブショートフォームメディアとファン編集。",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "ゲーミング、音楽、IRLライブストリームとVOD。",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "タイムラインポスト、Spaces録音、放送。",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "クリエイターとビジネス向け高品質動画ホスティング。",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "世界中のクリエイターからのロングフォームとライブストリーム動画。",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "公式ミュージックビデオ、アルバム、ライブパフォーマンス。",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "主要プラットフォーム",
+ "viewAll": "サポートされているすべてのサイトを表示"
+ }
+}
diff --git a/src/renderer/src/locales/ko.json b/src/renderer/src/locales/ko.json
new file mode 100644
index 0000000..323b8af
--- /dev/null
+++ b/src/renderer/src/locales/ko.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "업데이트 확인",
+ "email": "이메일",
+ "feedback": "피드백",
+ "openRepo": "GitHub 저장소 열기",
+ "view": "보기",
+ "visit": "방문"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "백그라운드에서 새 릴리스를 자동으로 다운로드하고 설치합니다.",
+ "autoUpdateTitle": "자동 업데이트",
+ "betaProgramDescription": "다른 사람들보다 먼저 초기 빌드와 다가오는 기능을 받으세요.",
+ "betaProgramTitle": "미리보기 채널",
+ "description": "VidBee는 Electron으로 구축되고 yt-dlp로 구동되는 무료 오픈소스 다운로더입니다.",
+ "followAuthorActions": {
+ "follow": "@nexmoex 팔로우"
+ },
+ "followAuthorDescription": "VidBee의 최신 뉴스와 업데이트를 받아보세요.",
+ "followAuthorSupport": "X (Twitter)에서 개발자를 팔로우하여 VidBee의 최신 업데이트와 뉴스를 받아보세요.",
+ "followAuthorTitle": "개발자 팔로우",
+ "here": "여기",
+ "homepage": "홈페이지",
+ "notifications": {
+ "checkingUpdates": "업데이트 검색 중...",
+ "downloadError": "업데이트 다운로드 실패",
+ "downloadStarted": "다운로드 시작...",
+ "downloadUpdate": "업데이트 {{version}}을(를) 다운로드하고 설치하시겠습니까?",
+ "noUpdatesAvailable": "최신 버전을 사용 중입니다",
+ "restartToUpdate": "지금 재시작하여 업데이트를 설치하시겠습니까?",
+ "updateAvailable": "사용 가능한 업데이트: {{version}}",
+ "updateDownloaded": "업데이트가 다운로드되었습니다. 재시작하여 설치하세요",
+ "updateError": "업데이트 확인 실패: {{error}}"
+ },
+ "preferencesDescription": "이 페이지를 떠나지 않고 업데이트 설정을 조정하세요.",
+ "preferencesTitle": "빠른 토글",
+ "resources": {
+ "changelog": "릴리스 노트",
+ "changelogDescription": "각 버전에서 변경된 내용을 확인하세요.",
+ "contact": "이메일 지원",
+ "contactDescription": "도움이나 협업을 위해 직접 연락하세요.",
+ "documentation": "도움말 센터",
+ "documentationDescription": "가이드, FAQ 및 일반적인 워크플로우.",
+ "feedback": "피드백 및 문제",
+ "feedbackDescription": "GitHub에서 아이디어를 공유하거나 문제를 신고하세요.",
+ "license": "라이선스",
+ "licenseDescription": "오픈소스 라이선스 조건을 검토하세요.",
+ "website": "공식 웹사이트",
+ "websiteDescription": "제품 하이라이트, 로드맵 및 커뮤니티 뉴스."
+ },
+ "resourcesDescription": "VidBee에 대해 더 알아보고 연결을 유지하는 유용한 링크입니다.",
+ "resourcesTitle": "리소스",
+ "shareActions": {
+ "copy": "링크 복사",
+ "facebook": "Facebook에서 공유",
+ "twitter": "X (Twitter)에서 공유"
+ },
+ "shareDescription": "한 번의 클릭으로 커뮤니티와 VidBee를 공유하세요.",
+ "shareSupport": "우리의 성장과 업데이트를 지원하기 위해 친구들에게 VidBee를 추천하세요.",
+ "shareTitle": "소문을 퍼뜨리세요",
+ "sourceCode": "소스 코드 사용 가능",
+ "tagline": "모든 크리에이터를 위한 AI 친화적 다운로드 도우미",
+ "title": "정보",
+ "version": "버전",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "최신: v{{version}}",
+ "latestVersionStatus": {
+ "available": "새 버전 사용 가능",
+ "uptodate": "최신 버전 사용 중",
+ "error": "최신 버전을 가져올 수 없음"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "다운로드 완료 시 앱 닫기",
+ "currentLocation": "현재 다운로드 위치 - ",
+ "downloadLocation": "다운로드 위치",
+ "downloadSubs": "사용 가능한 경우 자막 다운로드",
+ "end": "끝",
+ "endHint": "비워두면 끝까지 다운로드됩니다",
+ "endPlaceholder": "10:00",
+ "selectLocation": "다운로드 위치 선택",
+ "start": "시작",
+ "startHint": "비워두면 처음부터 시작됩니다",
+ "startPlaceholder": "00:00",
+ "subtitles": "자막",
+ "timeRange": "특정 시간 범위 다운로드",
+ "title": "고급 옵션"
+ },
+ "app": {
+ "description": "수백 개의 사이트에서 비디오와 오디오 다운로드",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "나쁨",
+ "best": "최고",
+ "extract": "추출",
+ "good": "좋음",
+ "normal": "보통",
+ "selectFormat": "형식 선택",
+ "selectQuality": "품질 선택",
+ "title": "오디오 추출",
+ "worst": "최악"
+ },
+ "download": {
+ "active": "활성",
+ "all": "모두",
+ "audio": "오디오",
+ "back": "뒤로",
+ "cancel": "취소",
+ "cancelled": "취소됨",
+ "clearCompleted": "완료된 항목 지우기",
+ "clearDownloads": "다운로드 지우기",
+ "completed": "완료",
+ "downloadAudio": "오디오 다운로드",
+ "downloadBtn": "다운로드",
+ "downloadPending": "대기 중",
+ "downloadQueue": "다운로드 큐",
+ "downloadVideo": "비디오 다운로드",
+ "downloading": "다운로드 중...",
+ "enterUrl": "비디오 URL 입력",
+ "enterUrlDescription": "비디오 URL을 붙여넣거나 입력하세요. ",
+ "error": "오류",
+ "fetch": "가져오기",
+ "fetchingVideoInfo": "비디오 정보 가져오는 중...",
+ "history": "기록",
+ "imageLoadError": "이미지 로드 실패",
+ "imagePlaceholder": "사용 가능한 이미지 없음",
+ "infoUnavailable": "원클릭 다운로드 (정보 사용 불가)",
+ "loading": "로딩 중",
+ "moreOptions": "더 많은 옵션",
+ "noActiveDownloads": "활성 다운로드 없음",
+ "noAudio": "오디오 없음",
+ "noHistory": "다운로드 기록 없음",
+ "noItems": "항목을 찾을 수 없음",
+ "oneClickDownload": "원클릭 다운로드",
+ "oneClickDownloadDescription": "확인 없이 기본 설정으로 직접 다운로드",
+ "oneClickDownloadNow": "지금 다운로드",
+ "oneClickDownloadStarted": "기본 설정으로 다운로드 시작됨",
+ "paste": "붙여넣기",
+ "pastePlaylistUrl": "클립보드에서 재생목록 링크 붙여넣기 [Ctrl + V]",
+ "pasteUrl": "비디오 URL 또는 ID 붙여넣기 [Ctrl + V]",
+ "preparing": "준비 중...",
+ "processing": "처리 중",
+ "progress": "진행률",
+ "selectAudioFormat": "오디오 형식 선택",
+ "selectFormat": "형식 선택",
+ "selectVideoFormat": "비디오 형식 선택",
+ "singleVideo": "단일 비디오",
+ "speed": "속도",
+ "title": "제목",
+ "total": "총계",
+ "unknownQuality": "알 수 없는 품질",
+ "unknownSize": "알 수 없는 크기",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "비디오",
+ "videoInfo": "비디오 정보",
+ "videoInfoUpdated": "비디오 정보 업데이트됨"
+ },
+ "errors": {
+ "clickToCopy": "세부 정보 복사하려면 클릭",
+ "clipboardEmpty": "클립보드가 비어있음",
+ "downloadFailed": "다운로드 실패",
+ "downloadNecessaryFilesFailed": "필수 파일 다운로드 실패. 네트워크를 확인하고 다시 시도하세요",
+ "emptyUrl": "URL을 입력하세요",
+ "errorDetails": "오류 세부 정보",
+ "fetchInfoFailed": "비디오 정보 가져오기 실패",
+ "networkError": "오류가 발생했습니다. 네트워크를 확인하고 올바른 URL을 사용하세요",
+ "pasteFromClipboard": "클립보드에서 붙여넣기 실패"
+ },
+ "history": {
+ "clearCancelled": "취소된 항목 지우기",
+ "clearCompleted": "완료된 항목 지우기",
+ "clearErrors": "오류 지우기",
+ "copyToClipboard": "클립보드에 복사",
+ "copyUrl": "URL 복사",
+ "date": "날짜",
+ "description": "다운로드 기록 보기 및 관리",
+ "duration": "지속 시간",
+ "fileSize": "파일 크기",
+ "filters": {
+ "all": "모두",
+ "cancelled": "취소됨",
+ "completed": "완료",
+ "errors": "오류"
+ },
+ "noHistory": "다운로드 기록이 아직 없습니다",
+ "noHistoryDescription": "완료된 다운로드가 여기에 표시됩니다",
+ "openDownloadFolder": "다운로드 폴더 열기",
+ "openFile": "파일 열기",
+ "openFileLocation": "파일 위치 열기",
+ "openFolder": "폴더 열기",
+ "openInBrowser": "브라우저에서 열려면 클릭",
+ "removeItem": "항목 제거",
+ "stats": {
+ "cancelled": "취소됨",
+ "completed": "완료",
+ "errors": "오류",
+ "total": "총계"
+ },
+ "status": {
+ "cancelled": "취소됨",
+ "completed": "완료",
+ "error": "오류"
+ },
+ "title": "다운로드 기록"
+ },
+ "menu": {
+ "about": "정보",
+ "download": "다운로드",
+ "playlist": "재생목록 다운로드",
+ "preferences": "환경설정",
+ "supportedSites": "지원되는 사이트",
+ "theme": "테마:"
+ },
+ "notifications": {
+ "copyFailed": "클립보드에 복사 실패",
+ "downloadCompleted": "다운로드 완료",
+ "downloadFailed": "다운로드 실패",
+ "downloadStarted": "다운로드 시작됨",
+ "itemRemoved": "항목 제거됨",
+ "openFileFailed": "파일 열기 실패",
+ "openFolderFailed": "폴더 열기 실패",
+ "removeFailed": "항목 제거 실패",
+ "settingsSaved": "설정 저장됨",
+ "urlCopied": "URL이 클립보드에 복사됨",
+ "videoCopied": "비디오가 클립보드에 복사됨"
+ },
+ "playlist": {
+ "comingSoon": "재생목록 다운로드 기능이 곧 출시됩니다!",
+ "completed": "재생목록 다운로드됨",
+ "description": "YouTube 재생목록 또는 채널의 모든 비디오 다운로드",
+ "downloadFailed": "재생목록 다운로드 시작 실패",
+ "downloadPlaylist": "재생목록 다운로드",
+ "downloadStarted": "재생목록에서 {{count}}개 비디오 다운로드 시작됨",
+ "downloadType": "다운로드 유형",
+ "downloading": "재생목록 다운로드 중:",
+ "endIndex": "끝",
+ "enterPlaylistUrl": "재생목록 URL 입력",
+ "fetchFailed": "재생목록 정보 가져오기 실패",
+ "filenameFormat": "재생목록용 파일명 형식",
+ "folderFormat": "재생목록용 폴더명 형식",
+ "foundVideos": "재생목록에서 {{count}}개 비디오 발견",
+ "linkLabel": "재생목록 URL",
+ "playlistUrlDescription": "재생목록의 모든 비디오를 일괄 다운로드",
+ "range": "범위 (선택사항)",
+ "resetToDefault": "기본값으로 재설정",
+ "startIndex": "시작 (1)",
+ "title": "재생목록 다운로드"
+ },
+ "settings": {
+ "aboutTab": "정보",
+ "advanced": "고급",
+ "app": "앱 설정",
+ "audio": "오디오 환경설정",
+ "browserForCookies": "쿠키를 사용할 브라우저 선택",
+ "browserForCookiesDescription": "인증을 위한 쿠키 추출 브라우저",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "설정 파일 사용",
+ "configFileDescription": "yt-dlp용 사용자 정의 설정 파일",
+ "dark": "다크",
+ "description": "다운로드 환경설정 및 앱 설정 구성",
+ "directorySelectError": "디렉토리 선택 실패",
+ "downloadPath": "다운로드 위치",
+ "downloadPathDescription": "다운로드 파일을 저장할 위치 선택",
+ "fileSelectError": "파일 선택 실패",
+ "general": "일반",
+ "language": "언어",
+ "light": "라이트",
+ "maxConcurrentDownloads": "최대 활성 다운로드 수",
+ "maxConcurrentDownloadsDescription": "최대 동시 다운로드 수",
+ "none": "없음",
+ "oneClickDownload": "원클릭 다운로드",
+ "oneClickDownloadDescription": "기본 설정으로 원클릭 다운로드 활성화",
+ "oneClickDownloadType": "기본 다운로드 유형",
+ "oneClickDownloadTypeDescription": "원클릭 다운로드의 기본 다운로드 유형을 선택하세요. 품질은 아래 사전 설정을 사용합니다.",
+ "oneClickQuality": "선호 품질",
+ "oneClickQualityDescription": "원클릭 다운로드에 사용되는 품질 사전 설정을 선택하세요",
+ "oneClickQualityOptions": {
+ "auto": "자동",
+ "bad": "나쁨",
+ "best": "최고",
+ "good": "좋음",
+ "normal": "보통",
+ "worst": "최악"
+ },
+ "proxy": "프록시",
+ "proxyDescription": "네트워크 요청용 프록시 서버",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "설정 파일 선택",
+ "selectPath": "선택",
+ "showMoreFormats": "더 많은 형식 옵션 표시",
+ "showMoreFormatsDescription": "인터페이스에 추가 형식 옵션 표시",
+ "system": "시스템",
+ "theme": "테마",
+ "themeDescription": "VidBee용 라이트, 다크 또는 시스템 테마 선택",
+ "title": "설정",
+ "tray": {
+ "quit": "종료",
+ "showHome": "홈 표시"
+ },
+ "video": "비디오 환경설정"
+ },
+ "sites": {
+ "homeInlineDescription": "{{sites}} 및 더 많은 사이트를 지원합니다.",
+ "moreDescription": "완전한 yt-dlp 목록은 커뮤니티에 의해 지속적으로 업데이트됩니다.",
+ "moreTitle": "다른 사이트가 필요하신가요?",
+ "openFullList": "지원되는 모든 사이트 목록 열기",
+ "pageDescription": "VidBee는 수백 개의 소스에 도달하기 위해 yt-dlp를 백그라운드에서 사용합니다.",
+ "pageIntro": "사람들이 가장 자주 다운로드하는 주요 서비스들입니다.",
+ "pageTitle": "지원되는 사이트",
+ "popular": {
+ "bandcamp": {
+ "description": "인디 아티스트 앨범 및 커뮤니티 릴리스.",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "글로벌 뉴스, 스포츠 및 엔터테인먼트 클립.",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "공개 페이지의 피드, Watch 및 Reels 비디오.",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "피드, Stories, Reels 및 Highlights 콘텐츠.",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Kick 플랫폼의 크리에이터 라이브 스트림 및 리플레이.",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "전문 강연, 웨비나 및 학습 비디오.",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "DJ 믹스, 라디오 쇼 및 롱폼 오디오.",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "일본 애니메이션, 음악 및 라이브 방송 아카이브.",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "아이디어 핀, 하우투 Reels 및 라이프스타일 영감 비디오.",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "커뮤니티의 임베드 클립 및 호스팅 비디오.",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "음악 트랙, 플레이리스트 및 DJ 세트.",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "짧은 모바일 비디오, 효과 및 라이브 스트림.",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "창의적인 짧은 미디어 및 팬 편집.",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "게임, 음악 및 IRL 라이브 스트림 및 VOD.",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "타임라인 포스트, Spaces 녹음 및 방송.",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "크리에이터 및 비즈니스용 고품질 비디오 호스팅.",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "전 세계 크리에이터의 롱폼 및 라이브스트림 비디오.",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "공식 뮤직 비디오, 앨범 및 라이브 공연.",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "주요 플랫폼",
+ "viewAll": "지원되는 모든 사이트 보기"
+ }
+}
diff --git a/src/renderer/src/locales/pt.json b/src/renderer/src/locales/pt.json
new file mode 100644
index 0000000..17c1682
--- /dev/null
+++ b/src/renderer/src/locales/pt.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "Verificar atualizações",
+ "email": "Email",
+ "feedback": "Feedback",
+ "openRepo": "Abrir repositório GitHub",
+ "view": "Ver",
+ "visit": "Visitar"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "Baixar e instalar novas versões automaticamente em segundo plano.",
+ "autoUpdateTitle": "Atualizações automáticas",
+ "betaProgramDescription": "Receba builds antecipados e próximos recursos antes de todos.",
+ "betaProgramTitle": "Canal de visualização",
+ "description": "VidBee é um baixador gratuito e de código aberto construído com Electron e alimentado por yt-dlp.",
+ "followAuthorActions": {
+ "follow": "Seguir @nexmoex"
+ },
+ "followAuthorDescription": "Mantenha-se atualizado com as últimas notícias e atualizações do VidBee.",
+ "followAuthorSupport": "Siga o desenvolvedor no X (Twitter) para obter as últimas atualizações e notícias sobre VidBee.",
+ "followAuthorTitle": "Seguir o Desenvolvedor",
+ "here": "aqui",
+ "homepage": "Página inicial",
+ "notifications": {
+ "checkingUpdates": "Procurando atualizações...",
+ "downloadError": "Falha ao baixar atualização",
+ "downloadStarted": "Download iniciado...",
+ "downloadUpdate": "Baixar e instalar atualização {{version}}?",
+ "noUpdatesAvailable": "Você está usando a versão mais recente",
+ "restartToUpdate": "Reiniciar agora para instalar atualização?",
+ "updateAvailable": "Atualização disponível: {{version}}",
+ "updateDownloaded": "Atualização baixada, reinicie para instalar",
+ "updateError": "Falha ao verificar atualizações: {{error}}"
+ },
+ "preferencesDescription": "Ajuste configurações de atualização sem sair desta página.",
+ "preferencesTitle": "Alternâncias Rápidas",
+ "resources": {
+ "changelog": "Notas da versão",
+ "changelogDescription": "Acompanhe o que mudou em cada versão.",
+ "contact": "Suporte por email",
+ "contactDescription": "Entre em contato diretamente para ajuda ou colaboração.",
+ "documentation": "Central de ajuda",
+ "documentationDescription": "Guias, FAQs e fluxos de trabalho comuns.",
+ "feedback": "Feedback e problemas",
+ "feedbackDescription": "Compartilhe ideias ou reporte problemas no GitHub.",
+ "license": "Licença",
+ "licenseDescription": "Revise os termos da licença de código aberto.",
+ "website": "Site oficial",
+ "websiteDescription": "Destaques do produto, roadmap e notícias da comunidade."
+ },
+ "resourcesDescription": "Links úteis para aprender mais sobre VidBee e manter-se conectado.",
+ "resourcesTitle": "Recursos",
+ "shareActions": {
+ "copy": "Copiar link",
+ "facebook": "Compartilhar no Facebook",
+ "twitter": "Compartilhar no X (Twitter)"
+ },
+ "shareDescription": "Compartilhe VidBee com sua comunidade em um clique.",
+ "shareSupport": "Recomende VidBee aos seus amigos para apoiar nosso crescimento e atualizações.",
+ "shareTitle": "Espalhe a palavra",
+ "sourceCode": "Código fonte disponível",
+ "tagline": "Um assistente de download amigável à IA para cada criador",
+ "title": "Sobre",
+ "version": "Versão",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "Mais recente: v{{version}}",
+ "latestVersionStatus": {
+ "available": "Nova versão disponível",
+ "uptodate": "Você está atualizado",
+ "error": "Não foi possível obter a versão mais recente"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "Fechar aplicativo quando download terminar",
+ "currentLocation": "Local de download atual - ",
+ "downloadLocation": "Local de download",
+ "downloadSubs": "Baixar legendas se disponíveis",
+ "end": "Fim",
+ "endHint": "Se deixado vazio, será baixado até o final",
+ "endPlaceholder": "10:00",
+ "selectLocation": "Selecionar Local de Download",
+ "start": "Início",
+ "startHint": "Se deixado vazio, começará do início",
+ "startPlaceholder": "00:00",
+ "subtitles": "Legendas",
+ "timeRange": "Baixar intervalo de tempo específico",
+ "title": "Opções Avançadas"
+ },
+ "app": {
+ "description": "Baixar vídeos e áudios de centenas de sites",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "Ruim",
+ "best": "Melhor",
+ "extract": "Extrair",
+ "good": "Bom",
+ "normal": "Normal",
+ "selectFormat": "Selecionar Formato",
+ "selectQuality": "Selecionar Qualidade",
+ "title": "Extrair Áudio",
+ "worst": "Pior"
+ },
+ "download": {
+ "active": "Ativo",
+ "all": "Todos",
+ "audio": "Áudio",
+ "back": "Voltar",
+ "cancel": "Cancelar",
+ "cancelled": "Cancelado",
+ "clearCompleted": "Limpar Concluídos",
+ "clearDownloads": "Limpar Downloads",
+ "completed": "Concluído",
+ "downloadAudio": "Baixar Áudio",
+ "downloadBtn": "Baixar",
+ "downloadPending": "Pendente",
+ "downloadQueue": "Fila de Download",
+ "downloadVideo": "Baixar Vídeo",
+ "downloading": "Baixando...",
+ "enterUrl": "Inserir URL do Vídeo",
+ "enterUrlDescription": "Cole ou digite uma URL de vídeo. ",
+ "error": "Erro",
+ "fetch": "Buscar",
+ "fetchingVideoInfo": "Buscando informações do vídeo...",
+ "history": "Histórico",
+ "imageLoadError": "Falha ao carregar imagem",
+ "imagePlaceholder": "Nenhuma imagem disponível",
+ "infoUnavailable": "Download de Um Clique (Info indisponível)",
+ "loading": "Carregando",
+ "moreOptions": "Mais opções",
+ "noActiveDownloads": "Nenhum download ativo",
+ "noAudio": "Sem Áudio",
+ "noHistory": "Nenhum histórico de download",
+ "noItems": "Nenhum item encontrado",
+ "oneClickDownload": "Download de Um Clique",
+ "oneClickDownloadDescription": "Baixar diretamente com configurações padrão sem confirmação",
+ "oneClickDownloadNow": "Baixar Agora",
+ "oneClickDownloadStarted": "Download iniciado com configurações padrão",
+ "paste": "Colar",
+ "pastePlaylistUrl": "Clique para colar link da playlist da área de transferência [Ctrl + V]",
+ "pasteUrl": "Clique para colar URL do vídeo ou ID [Ctrl + V]",
+ "preparing": "Preparando...",
+ "processing": "Processando",
+ "progress": "Progresso",
+ "selectAudioFormat": "Selecionar Formato de Áudio",
+ "selectFormat": "Selecionar Formato",
+ "selectVideoFormat": "Selecionar Formato de Vídeo",
+ "singleVideo": "Vídeo Único",
+ "speed": "Velocidade",
+ "title": "Título",
+ "total": "Total",
+ "unknownQuality": "Qualidade desconhecida",
+ "unknownSize": "Tamanho desconhecido",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "Vídeo",
+ "videoInfo": "Informações do Vídeo",
+ "videoInfoUpdated": "Informações do vídeo atualizadas"
+ },
+ "errors": {
+ "clickToCopy": "Clique para copiar detalhes",
+ "clipboardEmpty": "Área de transferência vazia",
+ "downloadFailed": "Download falhou",
+ "downloadNecessaryFilesFailed": "Falha ao baixar arquivos necessários. Verifique sua rede e tente novamente",
+ "emptyUrl": "Por favor, insira uma URL",
+ "errorDetails": "Detalhes do Erro",
+ "fetchInfoFailed": "Falha ao buscar informações do vídeo",
+ "networkError": "Algum erro ocorreu. Verifique sua rede e use uma URL correta",
+ "pasteFromClipboard": "Falha ao colar da área de transferência"
+ },
+ "history": {
+ "clearCancelled": "Limpar Cancelados",
+ "clearCompleted": "Limpar Concluídos",
+ "clearErrors": "Limpar Erros",
+ "copyToClipboard": "Copiar para área de transferência",
+ "copyUrl": "Copiar URL",
+ "date": "Data",
+ "description": "Ver e gerenciar seu histórico de downloads",
+ "duration": "Duração",
+ "fileSize": "Tamanho do Arquivo",
+ "filters": {
+ "all": "Todos",
+ "cancelled": "Cancelado",
+ "completed": "Concluído",
+ "errors": "Erros"
+ },
+ "noHistory": "Nenhum histórico de download ainda",
+ "noHistoryDescription": "Seus downloads concluídos aparecerão aqui",
+ "openDownloadFolder": "Abrir Pasta de Downloads",
+ "openFile": "Abrir Arquivo",
+ "openFileLocation": "Abrir Localização do Arquivo",
+ "openFolder": "Abrir Pasta",
+ "openInBrowser": "Clique para abrir no navegador",
+ "removeItem": "Remover Item",
+ "stats": {
+ "cancelled": "Cancelado",
+ "completed": "Concluído",
+ "errors": "Erros",
+ "total": "Total"
+ },
+ "status": {
+ "cancelled": "Cancelado",
+ "completed": "Concluído",
+ "error": "Erro"
+ },
+ "title": "Histórico de Downloads"
+ },
+ "menu": {
+ "about": "Sobre",
+ "download": "Download",
+ "playlist": "Baixar Playlist",
+ "preferences": "Preferências",
+ "supportedSites": "Sites Suportados",
+ "theme": "Tema:"
+ },
+ "notifications": {
+ "copyFailed": "Falha ao copiar para área de transferência",
+ "downloadCompleted": "Download concluído",
+ "downloadFailed": "Download falhou",
+ "downloadStarted": "Download iniciado",
+ "itemRemoved": "Item removido",
+ "openFileFailed": "Falha ao abrir arquivo",
+ "openFolderFailed": "Falha ao abrir pasta",
+ "removeFailed": "Falha ao remover item",
+ "settingsSaved": "Configurações salvas",
+ "urlCopied": "URL copiada para área de transferência",
+ "videoCopied": "Vídeo copiado para área de transferência"
+ },
+ "playlist": {
+ "comingSoon": "Recurso de download de playlist em breve!",
+ "completed": "Playlist baixada",
+ "description": "Baixar todos os vídeos de uma playlist ou canal do YouTube",
+ "downloadFailed": "Falha ao iniciar download da playlist",
+ "downloadPlaylist": "Baixar Playlist",
+ "downloadStarted": "Iniciado download de {{count}} vídeos da playlist",
+ "downloadType": "Tipo de Download",
+ "downloading": "Baixando playlist:",
+ "endIndex": "Fim",
+ "enterPlaylistUrl": "Inserir URL da Playlist",
+ "fetchFailed": "Falha ao buscar informações da playlist",
+ "filenameFormat": "Formato de nome de arquivo para playlists",
+ "folderFormat": "Formato de nome de pasta para playlists",
+ "foundVideos": "Encontrados {{count}} vídeos na playlist",
+ "linkLabel": "URL da Playlist",
+ "playlistUrlDescription": "Baixar todos os vídeos de uma playlist em lote",
+ "range": "Intervalo (Opcional)",
+ "resetToDefault": "Redefinir para padrão",
+ "startIndex": "Início (1)",
+ "title": "Baixar Playlist"
+ },
+ "settings": {
+ "aboutTab": "Sobre",
+ "advanced": "Avançado",
+ "app": "Configurações do App",
+ "audio": "Preferências de Áudio",
+ "browserForCookies": "Selecionar navegador para usar cookies",
+ "browserForCookiesDescription": "Navegador para extrair cookies para autenticação",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "Usar arquivo de configuração",
+ "configFileDescription": "Arquivo de configuração personalizado para yt-dlp",
+ "dark": "Escuro",
+ "description": "Configure suas preferências de download e configurações do aplicativo",
+ "directorySelectError": "Falha ao selecionar diretório",
+ "downloadPath": "Local de download",
+ "downloadPathDescription": "Escolha onde salvar os arquivos baixados",
+ "fileSelectError": "Falha ao selecionar arquivo",
+ "general": "Geral",
+ "language": "Idioma",
+ "light": "Claro",
+ "maxConcurrentDownloads": "Número máximo de downloads ativos",
+ "maxConcurrentDownloadsDescription": "Número máximo de downloads simultâneos",
+ "none": "Nenhum",
+ "oneClickDownload": "Download de Um Clique",
+ "oneClickDownloadDescription": "Habilitar download de um clique com configurações padrão",
+ "oneClickDownloadType": "Tipo de download padrão",
+ "oneClickDownloadTypeDescription": "Escolha o tipo de download padrão para downloads de um clique. A qualidade usa o preset abaixo.",
+ "oneClickQuality": "Qualidade preferida",
+ "oneClickQualityDescription": "Selecione o preset de qualidade usado para downloads de um clique",
+ "oneClickQualityOptions": {
+ "auto": "Automático",
+ "bad": "Ruim",
+ "best": "Melhor",
+ "good": "Bom",
+ "normal": "Normal",
+ "worst": "Pior"
+ },
+ "proxy": "Proxy",
+ "proxyDescription": "Servidor proxy para requisições de rede",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "Selecionar arquivo de configuração",
+ "selectPath": "Selecionar",
+ "showMoreFormats": "Mostrar mais opções de formato",
+ "showMoreFormatsDescription": "Exibir opções de formato adicionais na interface",
+ "system": "Sistema",
+ "theme": "Tema",
+ "themeDescription": "Escolha um tema claro, escuro ou sistema para VidBee",
+ "title": "Configurações",
+ "tray": {
+ "quit": "Sair",
+ "showHome": "Mostrar Início"
+ },
+ "video": "Preferências de Vídeo"
+ },
+ "sites": {
+ "homeInlineDescription": "Suporta {{sites}} e mais.",
+ "moreDescription": "A lista completa do yt-dlp é atualizada constantemente pela comunidade.",
+ "moreTitle": "Precisa de outro site?",
+ "openFullList": "Abrir lista completa de sites suportados",
+ "pageDescription": "VidBee usa yt-dlp nos bastidores para alcançar centenas de fontes.",
+ "pageIntro": "Aqui estão os serviços principais que as pessoas mais baixam.",
+ "pageTitle": "Sites Suportados",
+ "popular": {
+ "bandcamp": {
+ "description": "Álbuns de artistas independentes e lançamentos da comunidade.",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "Notícias globais, esportes e clipes de entretenimento.",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "Vídeos de feed, Watch e Reels de páginas públicas.",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "Conteúdo de feed, Stories, Reels e Highlights.",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Streams ao vivo e replays de criadores na plataforma Kick.",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "Palestras profissionais, webinars e vídeos de aprendizado.",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "Mixes de DJ, programas de rádio e áudio long-form.",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "Animação japonesa, música e arquivo de transmissão ao vivo.",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "Pins de ideias, Reels de tutoriais e vídeos de inspiração lifestyle.",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "Clipes incorporados e vídeos hospedados das comunidades.",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "Faixas musicais, playlists e sets de DJ.",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "Vídeos curtos móveis, efeitos e streams ao vivo.",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "Mídia curta criativa e edições de fãs.",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "Streams ao vivo de gaming, música e IRL e VOD.",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "Posts de timeline, gravações Spaces e transmissões.",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "Hospedagem de vídeo de alta qualidade para criadores e empresas.",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "Vídeo long-form e livestream de criadores em todo o mundo.",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "Vídeos musicais oficiais, álbuns e performances ao vivo.",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "Plataformas principais",
+ "viewAll": "Ver todos os sites suportados"
+ }
+}
diff --git a/src/renderer/src/locales/zh-TW.json b/src/renderer/src/locales/zh-TW.json
new file mode 100644
index 0000000..242f319
--- /dev/null
+++ b/src/renderer/src/locales/zh-TW.json
@@ -0,0 +1,395 @@
+{
+ "about": {
+ "actions": {
+ "checkUpdates": "檢查更新",
+ "email": "電子郵件",
+ "feedback": "意見回饋",
+ "openRepo": "開啟 GitHub 儲存庫",
+ "view": "檢視",
+ "visit": "造訪"
+ },
+ "appName": "VidBee",
+ "autoUpdateDescription": "在背景自動下載並安裝新版本。",
+ "autoUpdateTitle": "自動更新",
+ "betaProgramDescription": "搶先獲得預覽版和即將發布的新功能。",
+ "betaProgramTitle": "預覽通道",
+ "description": "VidBee 是一個基於 Node.js 和 Electron 構建的自由開源應用,使用 yt-dlp 來完成下載。",
+ "followAuthorActions": {
+ "follow": "關注 @nexmoex"
+ },
+ "followAuthorDescription": "獲取 VidBee 的最新消息和更新。",
+ "followAuthorSupport": "在 X (Twitter) 上關注開發者,獲取 VidBee 的最新更新和消息。",
+ "followAuthorTitle": "關注開發者",
+ "here": "此處",
+ "homepage": "首頁",
+ "notifications": {
+ "checkingUpdates": "正在搜尋更新...",
+ "downloadError": "下載更新失敗",
+ "downloadStarted": "開始下載...",
+ "downloadUpdate": "下載並安裝更新 {{version}}?",
+ "noUpdatesAvailable": "您正在使用最新版本",
+ "restartToUpdate": "立即重新啟動以安裝更新?",
+ "updateAvailable": "發現新版本:{{version}}",
+ "updateDownloaded": "更新已下載,重新啟動以安裝",
+ "updateError": "檢查更新失敗:{{error}}"
+ },
+ "preferencesDescription": "無需離開此頁即可調整更新設定。",
+ "preferencesTitle": "快速切換",
+ "resources": {
+ "changelog": "發行說明",
+ "changelogDescription": "了解每個版本的變更內容。",
+ "contact": "電子郵件支援",
+ "contactDescription": "直接聯繫我們以獲取協助或開展合作。",
+ "documentation": "說明中心",
+ "documentationDescription": "指南、常見問題和常見流程。",
+ "feedback": "意見回饋與問題",
+ "feedbackDescription": "在 GitHub 上分享想法或回報問題。",
+ "license": "授權條款",
+ "licenseDescription": "查閱開源授權條款。",
+ "website": "官方網站",
+ "websiteDescription": "產品亮點、路線圖與社群動態。"
+ },
+ "resourcesDescription": "了解 VidBee 並保持關注的實用連結。",
+ "resourcesTitle": "資源",
+ "shareActions": {
+ "copy": "複製連結",
+ "facebook": "在 Facebook 上分享",
+ "twitter": "在 X (Twitter) 上分享"
+ },
+ "shareDescription": "一鍵與您的社群分享 VidBee。",
+ "shareSupport": "向您的朋友推薦 VidBee 以支援我們的成長和更新。",
+ "shareTitle": "廣為宣傳",
+ "sourceCode": "原始碼已開放",
+ "tagline": "面向每位創作者的 AI 友善下載助手",
+ "title": "關於",
+ "version": "版本",
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "最新版本:v{{version}}",
+ "latestVersionStatus": {
+ "available": "有新版本可用",
+ "uptodate": "您已是最新版本",
+ "error": "無法取得最新版本"
+ }
+ },
+ "advancedOptions": {
+ "closeWhenDone": "下載完成後關閉應用程式",
+ "currentLocation": "目前下載位置 - ",
+ "downloadLocation": "下載位置",
+ "downloadSubs": "若有字幕則下載",
+ "end": "結束",
+ "endHint": "如果留空,將下載到結尾",
+ "endPlaceholder": "10:00",
+ "selectLocation": "選擇下載位置",
+ "start": "開始",
+ "startHint": "如果留空,將從開頭開始",
+ "startPlaceholder": "00:00",
+ "subtitles": "字幕",
+ "timeRange": "下載指定時間範圍",
+ "title": "進階選項"
+ },
+ "app": {
+ "description": "從數百個網站下載影片和音訊",
+ "title": "VidBee"
+ },
+ "audioExtract": {
+ "bad": "較差",
+ "best": "最佳",
+ "extract": "擷取",
+ "good": "良好",
+ "normal": "標準",
+ "selectFormat": "選擇格式",
+ "selectQuality": "選擇品質",
+ "title": "擷取音訊",
+ "worst": "最差"
+ },
+ "download": {
+ "active": "進行中",
+ "all": "全部",
+ "audio": "音訊",
+ "back": "返回",
+ "cancel": "取消",
+ "cancelled": "已取消",
+ "clearCompleted": "清除已完成",
+ "clearDownloads": "清除下載",
+ "completed": "已完成",
+ "downloadAudio": "下載音訊",
+ "downloadBtn": "下載",
+ "downloadPending": "待處理",
+ "downloadQueue": "下載佇列",
+ "downloadVideo": "下載影片",
+ "downloading": "正在下載...",
+ "enterUrl": "輸入影片連結",
+ "enterUrlDescription": "貼上或輸入一個影片連結。",
+ "error": "錯誤",
+ "fetch": "取得",
+ "fetchingVideoInfo": "正在取得影片資訊...",
+ "history": "歷史",
+ "imageLoadError": "圖片載入失敗",
+ "imagePlaceholder": "暫無圖片",
+ "infoUnavailable": "一鍵下載(資訊不可用)",
+ "loading": "載入中",
+ "moreOptions": "更多選項",
+ "noActiveDownloads": "暫無進行中的下載",
+ "noAudio": "無音訊",
+ "noHistory": "暫無下載歷史",
+ "noItems": "未找到項目",
+ "oneClickDownload": "一鍵下載",
+ "oneClickDownloadDescription": "使用預設設定直接下載,無需確認",
+ "oneClickDownloadNow": "立即下載",
+ "oneClickDownloadStarted": "已使用預設設定開始下載",
+ "paste": "貼上",
+ "pastePlaylistUrl": "點擊從剪貼簿貼上播放清單連結 [Ctrl + V]",
+ "pasteUrl": "點擊貼上影片連結或 ID [Ctrl + V]",
+ "preparing": "正在準備...",
+ "processing": "處理中",
+ "progress": "進度",
+ "selectAudioFormat": "選擇音訊格式",
+ "selectFormat": "選擇格式",
+ "selectVideoFormat": "選擇影片格式",
+ "singleVideo": "單個影片",
+ "speed": "速度",
+ "title": "標題",
+ "total": "總計",
+ "unknownQuality": "未知品質",
+ "unknownSize": "未知大小",
+ "urlPlaceholder": "https://www.youtube.com/watch?v=...",
+ "video": "影片",
+ "videoInfo": "影片資訊",
+ "videoInfoUpdated": "影片資訊已更新"
+ },
+ "errors": {
+ "clickToCopy": "點擊複製詳情",
+ "clipboardEmpty": "剪貼簿為空",
+ "downloadFailed": "下載失敗",
+ "downloadNecessaryFilesFailed": "必要檔案下載失敗。請檢查網路後再試",
+ "emptyUrl": "請輸入連結",
+ "errorDetails": "錯誤詳情",
+ "fetchInfoFailed": "取得影片資訊失敗",
+ "networkError": "發生錯誤。請檢查網路並確認連結正確",
+ "pasteFromClipboard": "從剪貼簿貼上失敗"
+ },
+ "history": {
+ "clearCancelled": "清除已取消",
+ "clearCompleted": "清除已完成",
+ "clearErrors": "清除錯誤",
+ "copyToClipboard": "複製到剪貼簿",
+ "copyUrl": "複製連結",
+ "date": "日期",
+ "description": "檢視並管理下載歷史",
+ "duration": "時長",
+ "fileSize": "檔案大小",
+ "filters": {
+ "all": "全部",
+ "cancelled": "已取消",
+ "completed": "已完成",
+ "errors": "錯誤"
+ },
+ "noHistory": "暫無下載歷史",
+ "noHistoryDescription": "完成的下載會顯示在這裡",
+ "openDownloadFolder": "開啟下載資料夾",
+ "openFile": "開啟檔案",
+ "openFileLocation": "開啟檔案位置",
+ "openFolder": "開啟資料夾",
+ "openInBrowser": "點擊在瀏覽器中開啟",
+ "removeItem": "移除項目",
+ "stats": {
+ "cancelled": "已取消",
+ "completed": "已完成",
+ "errors": "錯誤",
+ "total": "總計"
+ },
+ "status": {
+ "cancelled": "已取消",
+ "completed": "已完成",
+ "error": "錯誤"
+ },
+ "title": "下載歷史"
+ },
+ "menu": {
+ "about": "關於",
+ "download": "下載",
+ "playlist": "下載播放清單",
+ "preferences": "偏好設定",
+ "supportedSites": "支援的網站",
+ "theme": "主題:"
+ },
+ "notifications": {
+ "copyFailed": "複製到剪貼簿失敗",
+ "downloadCompleted": "下載完成",
+ "downloadFailed": "下載失敗",
+ "downloadStarted": "下載已開始",
+ "itemRemoved": "項目已移除",
+ "openFileFailed": "開啟檔案失敗",
+ "openFolderFailed": "開啟資料夾失敗",
+ "removeFailed": "移除項目失敗",
+ "settingsSaved": "設定已儲存",
+ "urlCopied": "連結已複製到剪貼簿",
+ "videoCopied": "影片已複製到剪貼簿"
+ },
+ "playlist": {
+ "comingSoon": "播放清單下載功能即將推出!",
+ "completed": "播放清單已下載",
+ "description": "下載 YouTube 播放清單或頻道中的全部影片",
+ "downloadFailed": "啟動播放清單下載失敗",
+ "downloadPlaylist": "下載播放清單",
+ "downloadStarted": "已開始下載播放清單中的 {{count}} 個影片",
+ "downloadType": "下載類型",
+ "downloading": "正在下載播放清單:",
+ "endIndex": "結束",
+ "enterPlaylistUrl": "輸入播放清單連結",
+ "fetchFailed": "取得播放清單資訊失敗",
+ "filenameFormat": "播放清單檔案名稱格式",
+ "folderFormat": "播放清單資料夾命名格式",
+ "foundVideos": "在播放清單中找到 {{count}} 個影片",
+ "linkLabel": "播放清單連結",
+ "playlistUrlDescription": "批量下載播放清單中的所有影片",
+ "range": "範圍(可選)",
+ "resetToDefault": "恢復預設",
+ "startIndex": "開始(1)",
+ "title": "下載播放清單"
+ },
+ "settings": {
+ "aboutTab": "關於",
+ "advanced": "進階",
+ "app": "應用程式設定",
+ "audio": "音訊偏好",
+ "browserForCookies": "選擇用於讀取 Cookie 的瀏覽器",
+ "browserForCookiesDescription": "用於身份驗證的瀏覽器 Cookie 提取",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
+ "configFile": "使用設定檔",
+ "configFileDescription": "yt-dlp 的自訂設定檔",
+ "dark": "深色",
+ "description": "設定下載偏好和應用程式設定",
+ "directorySelectError": "選擇目錄失敗",
+ "downloadPath": "下載位置",
+ "downloadPathDescription": "選擇儲存下載檔案的位置",
+ "fileSelectError": "選擇檔案失敗",
+ "general": "一般",
+ "language": "語言",
+ "light": "淺色",
+ "maxConcurrentDownloads": "最大活動下載數",
+ "maxConcurrentDownloadsDescription": "最大同時下載數量",
+ "none": "無",
+ "oneClickDownload": "一鍵下載",
+ "oneClickDownloadDescription": "啟用使用預設設定的一鍵下載",
+ "oneClickDownloadType": "預設下載類型",
+ "oneClickDownloadTypeDescription": "選擇一鍵下載的預設下載類型。品質使用下面的預設。",
+ "oneClickQuality": "首選品質",
+ "oneClickQualityDescription": "選擇用於一鍵下載的品質預設",
+ "oneClickQualityOptions": {
+ "auto": "自動",
+ "bad": "較差",
+ "best": "最佳",
+ "good": "良好",
+ "normal": "標準",
+ "worst": "最差"
+ },
+ "proxy": "代理伺服器",
+ "proxyDescription": "網路請求的代理伺服器",
+ "proxyPlaceholder": "http://proxy:port",
+ "selectConfigFile": "選擇設定檔",
+ "selectPath": "選擇",
+ "showMoreFormats": "顯示更多格式選項",
+ "showMoreFormatsDescription": "在介面中顯示額外的格式選項",
+ "system": "系統",
+ "theme": "主題",
+ "themeDescription": "為 VidBee 選擇淺色、深色或系統主題",
+ "title": "設定",
+ "tray": {
+ "quit": "結束",
+ "showHome": "顯示首頁"
+ },
+ "video": "影片偏好"
+ },
+ "sites": {
+ "homeInlineDescription": "支援 {{sites}} 等更多網站。",
+ "moreDescription": "完整的 yt-dlp 清單由社群持續更新。",
+ "moreTitle": "需要其他網站?",
+ "openFullList": "開啟全部支援網站清單",
+ "pageDescription": "VidBee 使用 yt-dlp 覆蓋數百個資源。",
+ "pageIntro": "以下是大家最常下載的主流服務。",
+ "pageTitle": "支援的網站",
+ "popular": {
+ "bandcamp": {
+ "description": "獨立藝術家專輯和社群發布。",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "全球新聞、體育和娛樂片段。",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "來自公開頁面的動態、觀看和 Reels 影片。",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "動態、故事、Reels 和精選內容。",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Kick 平台上的創作者直播和回放。",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "專業演講、網路研討會和學習影片。",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "DJ 混音、廣播節目和長音訊。",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "日本動畫、音樂和直播檔案。",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "創意圖釘、教學 Reels 和生活方式靈感影片。",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "來自社群的嵌入片段和託管影片。",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "音樂曲目、播放清單和 DJ 套裝。",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "短影片、特效和直播。",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "創意短影片和粉絲編輯。",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "遊戲、音樂和 IRL 直播和 VOD。",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "時間軸貼文、Spaces 錄音和廣播。",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "高品質創作者和商業影片託管。",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "來自全球創作者的長影片和直播。",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "官方音樂影片、專輯和現場表演。",
+ "label": "YouTube Music"
+ }
+ },
+ "popularSection": "主流平台",
+ "viewAll": "檢視全部支援的網站"
+ }
+}
diff --git a/src/renderer/src/locales/zh.json b/src/renderer/src/locales/zh.json
index 31dacc4..4bc569e 100644
--- a/src/renderer/src/locales/zh.json
+++ b/src/renderer/src/locales/zh.json
@@ -14,18 +14,24 @@
"betaProgramDescription": "抢先获得预览版和即将发布的新功能。",
"betaProgramTitle": "预览通道",
"description": "这是一个基于 Node.js 和 Electron 构建的自由开源应用,使用 yt-dlp 来完成下载。",
+ "followAuthorActions": {
+ "follow": "关注 @nexmoex"
+ },
+ "followAuthorDescription": "获取 VidBee 的最新消息和更新。",
+ "followAuthorSupport": "在 X (Twitter) 上关注开发者,获取 VidBee 的最新更新和消息。",
+ "followAuthorTitle": "关注开发者",
"here": "此处",
"homepage": "主页",
"notifications": {
"checkingUpdates": "正在查找更新...",
- "updateAvailable": "发现新版本: {{version}}",
- "noUpdatesAvailable": "您正在使用最新版本",
- "updateError": "检查更新失败: {{error}}",
- "downloadUpdate": "下载并安装更新 {{version}}?",
- "downloadStarted": "开始下载...",
"downloadError": "下载更新失败",
+ "downloadStarted": "开始下载...",
+ "downloadUpdate": "下载并安装更新 {{version}}?",
+ "noUpdatesAvailable": "您正在使用最新版本",
+ "restartToUpdate": "立即重启以安装更新?",
+ "updateAvailable": "发现新版本: {{version}}",
"updateDownloaded": "更新已下载,重启以安装",
- "restartToUpdate": "立即重启以安装更新?"
+ "updateError": "检查更新失败: {{error}}"
},
"preferencesDescription": "无需离开此页即可调整更新设置。",
"preferencesTitle": "快速切换",
@@ -43,19 +49,19 @@
"website": "官方网站",
"websiteDescription": "产品亮点、路线图与社区动态。"
},
- "followAuthorActions": {
- "follow": "关注 @nexmoex"
- },
- "followAuthorDescription": "获取 VidBee 的最新消息和更新。",
- "followAuthorSupport": "在 X (Twitter) 上关注开发者,获取 VidBee 的最新更新和消息。",
- "followAuthorTitle": "关注开发者",
"resourcesDescription": "了解 VidBee 并保持关注的实用链接。",
"resourcesTitle": "资源",
"sourceCode": "源代码已开放",
"tagline": "面向每位创作者的 AI 友好下载助手",
"title": "关于",
"version": "版本",
- "versionLabel": "v{{version}}"
+ "versionLabel": "v{{version}}",
+ "latestVersionBadge": "最新版本:v{{version}}",
+ "latestVersionStatus": {
+ "available": "有新版本可用",
+ "uptodate": "您已是最新版本",
+ "error": "无法获取最新版本"
+ }
},
"advancedOptions": {
"closeWhenDone": "下载完成后关闭应用",
@@ -159,7 +165,6 @@
"clearCompleted": "清除已完成",
"clearErrors": "清除错误",
"copyUrl": "复制链接",
- "openInBrowser": "点击在浏览器中打开",
"date": "日期",
"description": "查看并管理下载历史",
"duration": "时长",
@@ -172,10 +177,11 @@
},
"noHistory": "暂无下载历史",
"noHistoryDescription": "完成的下载会显示在这里",
+ "openDownloadFolder": "打开下载文件夹",
"openFile": "打开文件",
"openFileLocation": "打开文件位置",
"openFolder": "打开文件夹",
- "openDownloadFolder": "打开下载文件夹",
+ "openInBrowser": "点击在浏览器中打开",
"removeItem": "移除项目",
"stats": {
"cancelled": "已取消",
@@ -238,30 +244,52 @@
"app": "应用设置",
"audio": "音频偏好",
"browserForCookies": "选择用于读取 Cookie 的浏览器",
+ "browserForCookiesDescription": "用于身份验证的浏览器 Cookie 提取",
+ "browserOptions": {
+ "brave": "Brave",
+ "chrome": "Chrome",
+ "edge": "Edge",
+ "firefox": "Firefox",
+ "safari": "Safari"
+ },
"configFile": "使用配置文件",
+ "configFileDescription": "yt-dlp 的自定义配置文件",
"dark": "深色",
"description": "配置下载偏好和应用设置",
+ "directorySelectError": "选择目录失败",
"downloadPath": "下载位置",
+ "downloadPathDescription": "选择保存下载文件的位置",
+ "fileSelectError": "选择文件失败",
"general": "通用",
"language": "语言",
"light": "浅色",
"maxConcurrentDownloads": "最大活动下载数",
+ "maxConcurrentDownloadsDescription": "最大同时下载数量",
"none": "无",
- "oneClickAudioForVideo": "视频默认音频",
- "oneClickAudioFormat": "默认音频格式",
"oneClickDownload": "一键下载",
"oneClickDownloadDescription": "启用使用默认设置的一键下载",
"oneClickDownloadType": "默认下载类型",
- "oneClickVideoFormat": "默认视频格式",
- "preferredAudioQuality": "首选音频质量",
- "preferredVideoCodec": "首选视频编码",
- "preferredVideoQuality": "首选视频质量",
+ "oneClickDownloadTypeDescription": "选择一键下载的默认下载类型。质量使用下面的预设。",
+ "oneClickQuality": "首选质量",
+ "oneClickQualityDescription": "选择用于一键下载的质量预设",
+ "oneClickQualityOptions": {
+ "auto": "自动",
+ "bad": "较差",
+ "best": "最佳",
+ "good": "良好",
+ "normal": "标准",
+ "worst": "最差"
+ },
"proxy": "代理",
+ "proxyDescription": "网络请求的代理服务器",
+ "proxyPlaceholder": "http://proxy:port",
"selectConfigFile": "选择配置文件",
"selectPath": "选择",
"showMoreFormats": "显示更多格式选项",
+ "showMoreFormatsDescription": "在界面中显示额外的格式选项",
"system": "系统",
"theme": "主题",
+ "themeDescription": "为 VidBee 选择浅色、深色或系统主题",
"title": "设置",
"tray": {
"quit": "退出",
@@ -277,6 +305,80 @@
"pageDescription": "VidBee 使用 yt-dlp 覆盖数百个资源。",
"pageIntro": "以下是大家最常下载的主流服务。",
"pageTitle": "支持的网站",
+ "popular": {
+ "bandcamp": {
+ "description": "独立艺术家专辑和社区发布。",
+ "label": "Bandcamp"
+ },
+ "dailymotion": {
+ "description": "全球新闻、体育和娱乐片段。",
+ "label": "Dailymotion"
+ },
+ "facebook": {
+ "description": "来自公共页面的动态、观看和 Reels 视频。",
+ "label": "Facebook"
+ },
+ "instagram": {
+ "description": "动态、故事、Reels 和精选内容。",
+ "label": "Instagram"
+ },
+ "kick": {
+ "description": "Kick 平台上的创作者直播和回放。",
+ "label": "Kick"
+ },
+ "linkedin": {
+ "description": "专业演讲、网络研讨会和学习视频。",
+ "label": "LinkedIn"
+ },
+ "mixcloud": {
+ "description": "DJ 混音、广播节目和长音频。",
+ "label": "Mixcloud"
+ },
+ "niconico": {
+ "description": "日本动画、音乐和直播档案。",
+ "label": "Niconico"
+ },
+ "pinterest": {
+ "description": "创意图钉、教程 Reels 和生活方式灵感视频。",
+ "label": "Pinterest"
+ },
+ "reddit": {
+ "description": "来自社区的嵌入片段和托管视频。",
+ "label": "Reddit"
+ },
+ "soundcloud": {
+ "description": "音乐曲目、播放列表和 DJ 套装。",
+ "label": "SoundCloud"
+ },
+ "tiktok": {
+ "description": "短视频、特效和直播。",
+ "label": "TikTok"
+ },
+ "tumblr": {
+ "description": "创意短视频和粉丝编辑。",
+ "label": "Tumblr"
+ },
+ "twitch": {
+ "description": "游戏、音乐和 IRL 直播和 VOD。",
+ "label": "Twitch"
+ },
+ "twitter": {
+ "description": "时间线帖子、Spaces 录音和广播。",
+ "label": "X (Twitter)"
+ },
+ "vimeo": {
+ "description": "高质量创作者和商业视频托管。",
+ "label": "Vimeo"
+ },
+ "youtube": {
+ "description": "来自全球创作者的长视频和直播。",
+ "label": "YouTube"
+ },
+ "youtubemusic": {
+ "description": "官方音乐视频、专辑和现场表演。",
+ "label": "YouTube Music"
+ }
+ },
"popularSection": "主流平台",
"viewAll": "查看全部支持的网站"
}
diff --git a/src/renderer/src/pages/Home.tsx b/src/renderer/src/pages/Home.tsx
index c116a32..4461e1d 100644
--- a/src/renderer/src/pages/Home.tsx
+++ b/src/renderer/src/pages/Home.tsx
@@ -141,7 +141,7 @@ export function Home({ onOpenSupportedSites }: HomeProps) {
const inputRef = useRef(null)
const inlinePreviewSites = popularSites
.slice(0, 3)
- .map((site) => site.label)
+ .map((site) => t(`sites.popular.${site.id}.label`))
.join(', ')
// Playlist states
diff --git a/src/renderer/src/pages/Settings.tsx b/src/renderer/src/pages/Settings.tsx
index 52a6b68..1634ebd 100644
--- a/src/renderer/src/pages/Settings.tsx
+++ b/src/renderer/src/pages/Settings.tsx
@@ -54,7 +54,7 @@ export function Settings() {
}
} catch (error) {
console.error('Failed to select directory:', error)
- toast.error('Failed to select directory')
+ toast.error(t('settings.directorySelectError'))
}
}
@@ -67,7 +67,7 @@ export function Settings() {
}
} catch (error) {
console.error('Failed to select file:', error)
- toast.error('Failed to select file')
+ toast.error(t('settings.fileSelectError'))
}
}
@@ -100,7 +100,7 @@ export function Settings() {
{t('settings.downloadPath')}
- Choose where to save downloaded files
+ {t('settings.downloadPathDescription')}
@@ -115,9 +115,7 @@ export function Settings() {
{t('settings.theme')}
-
- Choose a light, dark, or system theme for VidBee
-
+ {t('settings.themeDescription')}