diff --git a/frontend/src/components/ui/LanguageSwitch.tsx b/frontend/src/components/ui/LanguageSwitch.tsx index 59bc4b1..2fcf392 100644 --- a/frontend/src/components/ui/LanguageSwitch.tsx +++ b/frontend/src/components/ui/LanguageSwitch.tsx @@ -11,7 +11,8 @@ const LanguageSwitch: React.FC = () => { const availableLanguages = [ { code: 'en', label: 'English' }, { code: 'zh', label: '中文' }, - { code: 'fr', label: 'Français' } + { code: 'fr', label: 'Français' }, + { code: 'tr', label: 'Türkçe' } ]; // Update current language when it changes diff --git a/frontend/src/i18n.ts b/frontend/src/i18n.ts index 4148afa..631ef01 100644 --- a/frontend/src/i18n.ts +++ b/frontend/src/i18n.ts @@ -6,6 +6,7 @@ import LanguageDetector from 'i18next-browser-languagedetector'; import enTranslation from '../../locales/en.json'; import zhTranslation from '../../locales/zh.json'; import frTranslation from '../../locales/fr.json'; +import trTranslation from '../../locales/tr.json'; i18n // Detect user language @@ -24,6 +25,9 @@ i18n fr: { translation: frTranslation, }, + tr: { + translation: trTranslation, + }, }, fallbackLng: 'en', debug: process.env.NODE_ENV === 'development', diff --git a/locales/tr.json b/locales/tr.json new file mode 100644 index 0000000..d67e9de --- /dev/null +++ b/locales/tr.json @@ -0,0 +1,747 @@ +{ + "app": { + "title": "MCPHub Kontrol Paneli", + "error": "Hata", + "closeButton": "Kapat", + "noServers": "Kullanılabilir MCP sunucusu yok", + "loading": "Yükleniyor...", + "logout": "Çıkış Yap", + "profile": "Profil", + "changePassword": "Şifre Değiştir", + "toggleSidebar": "Kenar Çubuğunu Aç/Kapat", + "welcomeUser": "Hoş geldin, {{username}}", + "name": "MCPHub" + }, + "about": { + "title": "Hakkında", + "versionInfo": "MCPHub Sürümü: {{version}}", + "newVersion": "Yeni sürüm mevcut!", + "currentVersion": "Mevcut sürüm", + "newVersionAvailable": "Yeni sürüm {{version}} mevcut", + "viewOnGitHub": "GitHub'da Görüntüle", + "checkForUpdates": "Güncellemeleri Kontrol Et", + "checking": "Güncellemeler kontrol ediliyor..." + }, + "profile": { + "viewProfile": "Profili görüntüle", + "userCenter": "Kullanıcı Merkezi" + }, + "sponsor": { + "label": "Sponsor", + "title": "Projeyi Destekle", + "rewardAlt": "Ödül QR Kodu", + "supportMessage": "Bana bir kahve ısmarlayarak MCPHub'ın geliştirilmesini destekleyin!", + "supportButton": "Ko-fi'de Destek Ol" + }, + "wechat": { + "label": "WeChat", + "title": "WeChat ile Bağlan", + "qrCodeAlt": "WeChat QR Kodu", + "scanMessage": "WeChat'te bizimle bağlantı kurmak için bu QR kodunu tarayın" + }, + "discord": { + "label": "Discord", + "title": "Discord sunucumuza katılın", + "community": "Destek, tartışmalar ve güncellemeler için büyüyen Discord topluluğumuza katılın!" + }, + "theme": { + "title": "Tema", + "light": "Açık", + "dark": "Koyu", + "system": "Sistem" + }, + "auth": { + "login": "Giriş Yap", + "loginTitle": "MCPHub'a Giriş Yap", + "slogan": "Birleşik MCP sunucu yönetim platformu", + "subtitle": "Model Context Protocol sunucuları için merkezi yönetim platformu. Esnek yönlendirme stratejileri ile birden fazla MCP sunucusunu organize edin, izleyin ve ölçeklendirin.", + "username": "Kullanıcı Adı", + "password": "Şifre", + "loggingIn": "Giriş yapılıyor...", + "emptyFields": "Kullanıcı adı ve şifre boş olamaz", + "loginFailed": "Giriş başarısız, lütfen kullanıcı adınızı ve şifrenizi kontrol edin", + "loginError": "Giriş sırasında bir hata oluştu", + "currentPassword": "Mevcut Şifre", + "newPassword": "Yeni Şifre", + "confirmPassword": "Şifreyi Onayla", + "passwordsNotMatch": "Yeni şifre ve onay eşleşmiyor", + "changePasswordSuccess": "Şifre başarıyla değiştirildi", + "changePasswordError": "Şifre değişikliği başarısız oldu", + "changePassword": "Şifre Değiştir", + "passwordChanged": "Şifre başarıyla değiştirildi", + "passwordChangeError": "Şifre değişikliği başarısız oldu", + "defaultPasswordWarning": "Varsayılan Şifre Güvenlik Uyarısı", + "defaultPasswordMessage": "Varsayılan şifreyi (admin123) kullanıyorsunuz, bu bir güvenlik riski oluşturur. Hesabınızı korumak için lütfen şifrenizi hemen değiştirin.", + "goToSettings": "Ayarlara Git", + "passwordStrengthError": "Şifre güvenlik gereksinimlerini karşılamıyor", + "passwordMinLength": "Şifre en az 8 karakter uzunluğunda olmalıdır", + "passwordRequireLetter": "Şifre en az bir harf içermelidir", + "passwordRequireNumber": "Şifre en az bir rakam içermelidir", + "passwordRequireSpecial": "Şifre en az bir özel karakter içermelidir", + "passwordStrengthHint": "Şifre en az 8 karakter olmalı ve harf, rakam ve özel karakter içermelidir" + }, + "server": { + "addServer": "Sunucu Ekle", + "add": "Ekle", + "edit": "Düzenle", + "copy": "Kopyala", + "delete": "Sil", + "confirmDelete": "Bu sunucuyu silmek istediğinizden emin misiniz?", + "deleteWarning": "'{{name}}' sunucusunu silmek, onu ve tüm verilerini kaldıracaktır. Bu işlem geri alınamaz.", + "status": "Durum", + "tools": "Araçlar", + "prompts": "İstekler", + "name": "Sunucu Adı", + "url": "Sunucu URL'si", + "apiKey": "API Anahtarı", + "save": "Kaydet", + "cancel": "İptal", + "invalidConfig": "{{serverName}} için yapılandırma verisi bulunamadı", + "addError": "Sunucu eklenemedi", + "editError": "{{serverName}} sunucusu düzenlenemedi", + "deleteError": "{{serverName}} sunucusu silinemedi", + "updateError": "Sunucu güncellenemedi", + "editTitle": "Sunucuyu Düzenle: {{serverName}}", + "type": "Sunucu Türü", + "typeStdio": "STDIO", + "typeSse": "SSE", + "typeStreamableHttp": "Akış Yapılabilir HTTP", + "typeOpenapi": "OpenAPI", + "command": "Komut", + "arguments": "Argümanlar", + "envVars": "Ortam Değişkenleri", + "headers": "HTTP Başlıkları", + "key": "anahtar", + "value": "değer", + "enabled": "Etkin", + "enable": "Etkinleştir", + "disable": "Devre Dışı Bırak", + "requestOptions": "Bağlantı Yapılandırması", + "timeout": "İstek Zaman Aşımı", + "timeoutDescription": "MCP sunucusuna yapılan istekler için zaman aşımı (ms)", + "maxTotalTimeout": "Maksimum Toplam Zaman Aşımı", + "maxTotalTimeoutDescription": "MCP sunucusuna gönderilen istekler için maksimum toplam zaman aşımı (ms) (İlerleme bildirimleriyle kullanın)", + "resetTimeoutOnProgress": "İlerlemede Zaman Aşımını Sıfırla", + "resetTimeoutOnProgressDescription": "İlerleme bildirimlerinde zaman aşımını sıfırla", + "remove": "Kaldır", + "toggleError": "{{serverName}} sunucusu açılamadı/kapatılamadı", + "alreadyExists": "{{serverName}} sunucusu zaten mevcut", + "invalidData": "Geçersiz sunucu verisi sağlandı", + "notFound": "{{serverName}} sunucusu bulunamadı", + "namePlaceholder": "Sunucu adını girin", + "urlPlaceholder": "Sunucu URL'sini girin", + "commandPlaceholder": "Komutu girin", + "argumentsPlaceholder": "Argümanları girin", + "errorDetails": "Hata Detayları", + "viewErrorDetails": "Hata detaylarını görüntüle", + "copyConfig": "Yapılandırmayı Kopyala", + "confirmVariables": "Değişken Yapılandırmasını Onayla", + "variablesDetected": "Yapılandırmada değişkenler algılandı. Lütfen bu değişkenlerin düzgün yapılandırıldığını onaylayın:", + "detectedVariables": "Algılanan Değişkenler", + "confirmVariablesMessage": "Lütfen bu değişkenlerin çalışma ortamınızda düzgün tanımlandığından emin olun. Sunucu eklemeye devam edilsin mi?", + "confirmAndAdd": "Onayla ve Ekle", + "openapi": { + "inputMode": "Giriş Modu", + "inputModeUrl": "Şartname URL'si", + "inputModeSchema": "JSON Şeması", + "specUrl": "OpenAPI Şartname URL'si", + "schema": "OpenAPI JSON Şeması", + "schemaHelp": "Eksiksiz OpenAPI JSON şemanızı buraya yapıştırın", + "security": "Güvenlik Türü", + "securityNone": "Yok", + "securityApiKey": "API Anahtarı", + "securityHttp": "HTTP Kimlik Doğrulaması", + "securityOAuth2": "OAuth 2.0", + "securityOpenIdConnect": "OpenID Connect", + "apiKeyConfig": "API Anahtarı Yapılandırması", + "apiKeyName": "Başlık/Parametre Adı", + "apiKeyIn": "Konum", + "apiKeyValue": "API Anahtarı Değeri", + "httpAuthConfig": "HTTP Kimlik Doğrulama Yapılandırması", + "httpScheme": "Kimlik Doğrulama Şeması", + "httpCredentials": "Kimlik Bilgileri", + "httpSchemeBasic": "Basit", + "httpSchemeBearer": "Bearer", + "httpSchemeDigest": "Digest", + "oauth2Config": "OAuth 2.0 Yapılandırması", + "oauth2Token": "Erişim Anahtarı", + "openIdConnectConfig": "OpenID Connect Yapılandırması", + "openIdConnectUrl": "URL'yi Keşfet", + "openIdConnectToken": "ID Token", + "apiKeyInHeader": "Başlık", + "apiKeyInQuery": "Sorgu", + "apiKeyInCookie": "Çerez", + "passthroughHeaders": "Geçiş Başlıkları", + "passthroughHeadersHelp": "Araç çağrısı isteklerinden yukarı akış OpenAPI uç noktalarına geçirilecek başlık adlarının virgülle ayrılmış listesi (örn. Authorization, X-API-Key)" + }, + "oauth": { + "sectionTitle": "OAuth Yapılandırması", + "sectionDescription": "OAuth korumalı sunucular için istemci kimlik bilgilerini yapılandırın (isteğe bağlı).", + "clientId": "İstemci ID", + "clientSecret": "İstemci Gizli Anahtarı", + "authorizationEndpoint": "Yetkilendirme Uç Noktası", + "tokenEndpoint": "Token Uç Noktası", + "scopes": "Kapsamlar", + "scopesPlaceholder": "scope1 scope2", + "resource": "Kaynak / Hedef Kitle", + "accessToken": "Erişim Tokeni", + "refreshToken": "Yenileme Tokeni" + } + }, + "status": { + "online": "Çevrimiçi", + "offline": "Çevrimdışı", + "connecting": "Bağlanıyor", + "oauthRequired": "OAuth Gerekli", + "clickToAuthorize": "OAuth ile yetkilendirmek için tıklayın", + "oauthWindowOpened": "OAuth yetkilendirme penceresi açıldı. Lütfen yetkilendirmeyi tamamlayın." + }, + "errors": { + "general": "Bir şeyler yanlış gitti", + "network": "Ağ bağlantı hatası. Lütfen internet bağlantınızı kontrol edin", + "serverConnection": "Sunucuya bağlanılamıyor. Lütfen sunucunun çalışıp çalışmadığını kontrol edin", + "serverAdd": "Sunucu eklenemedi. Lütfen sunucu durumunu kontrol edin", + "serverUpdate": "{{serverName}} sunucusu düzenlenemedi. Lütfen sunucu durumunu kontrol edin", + "serverFetch": "Sunucu verileri alınamadı. Lütfen daha sonra tekrar deneyin", + "initialStartup": "Sunucu başlatılıyor olabilir. İlk başlatmada bu işlem biraz zaman alabileceğinden lütfen bekleyin...", + "serverInstall": "Sunucu yüklenemedi", + "failedToFetchSettings": "Ayarlar getirilemedi", + "failedToUpdateRouteConfig": "Route yapılandırması güncellenemedi", + "failedToUpdateSmartRoutingConfig": "Akıllı yönlendirme yapılandırması güncellenemedi" + }, + "common": { + "processing": "İşleniyor...", + "save": "Kaydet", + "cancel": "İptal", + "back": "Geri", + "refresh": "Yenile", + "create": "Oluştur", + "creating": "Oluşturuluyor...", + "update": "Güncelle", + "updating": "Güncelleniyor...", + "submitting": "Gönderiliyor...", + "delete": "Sil", + "remove": "Kaldır", + "copy": "Kopyala", + "copyId": "ID'yi Kopyala", + "copyUrl": "URL'yi Kopyala", + "copyJson": "JSON'u Kopyala", + "copySuccess": "Panoya kopyalandı", + "copyFailed": "Kopyalama başarısız", + "copied": "Kopyalandı", + "close": "Kapat", + "confirm": "Onayla", + "language": "Dil", + "true": "Doğru", + "false": "Yanlış", + "dismiss": "Anımsatma", + "github": "GitHub", + "wechat": "WeChat", + "discord": "Discord", + "required": "Gerekli", + "secret": "Gizli", + "default": "Varsayılan", + "value": "Değer", + "type": "Tür", + "repeated": "Tekrarlanan", + "valueHint": "Değer İpucu", + "choices": "Seçenekler" + }, + "nav": { + "dashboard": "Kontrol Paneli", + "servers": "Sunucular", + "groups": "Gruplar", + "users": "Kullanıcılar", + "settings": "Ayarlar", + "changePassword": "Şifre Değiştir", + "market": "Market", + "cloud": "Bulut Market", + "logs": "Günlükler" + }, + "pages": { + "dashboard": { + "title": "Kontrol Paneli", + "totalServers": "Toplam", + "onlineServers": "Çevrimiçi", + "offlineServers": "Çevrimdışı", + "connectingServers": "Bağlanıyor", + "recentServers": "Son Sunucular" + }, + "servers": { + "title": "Sunucu Yönetimi" + }, + "groups": { + "title": "Grup Yönetimi" + }, + "users": { + "title": "Kullanıcı Yönetimi" + }, + "settings": { + "title": "Ayarlar", + "language": "Dil", + "account": "Hesap Ayarları", + "password": "Şifre Değiştir", + "appearance": "Görünüm", + "routeConfig": "Güvenlik", + "installConfig": "Kurulum", + "smartRouting": "Akıllı Yönlendirme" + }, + "market": { + "title": "Market Yönetimi - Yerel ve Bulut Marketler" + }, + "logs": { + "title": "Sistem Günlükleri" + } + }, + "logs": { + "filters": "Filtreler", + "search": "Günlüklerde ara...", + "autoScroll": "Otomatik kaydır", + "clearLogs": "Günlükleri temizle", + "loading": "Günlükler yükleniyor...", + "noLogs": "Kullanılabilir günlük yok.", + "noMatch": "Mevcut filtrelerle eşleşen günlük yok.", + "mainProcess": "Ana İşlem", + "childProcess": "Alt İşlem", + "main": "Ana", + "child": "Alt" + }, + "groups": { + "add": "Ekle", + "addNew": "Yeni Grup Ekle", + "edit": "Grubu Düzenle", + "delete": "Sil", + "confirmDelete": "Bu grubu silmek istediğinizden emin misiniz?", + "deleteWarning": "'{{name}}' grubunu silmek, onu ve tüm sunucu ilişkilerini kaldıracaktır. Bu işlem geri alınamaz.", + "name": "Grup Adı", + "namePlaceholder": "Grup adını girin", + "nameRequired": "Grup adı gereklidir", + "description": "Açıklama", + "descriptionPlaceholder": "Grup açıklamasını girin (isteğe bağlı)", + "createError": "Grup oluşturulamadı", + "updateError": "Grup güncellenemedi", + "deleteError": "Grup silinemedi", + "serverAddError": "Sunucu gruba eklenemedi", + "serverRemoveError": "Sunucu gruptan kaldırılamadı", + "addServer": "Gruba Sunucu Ekle", + "selectServer": "Eklenecek bir sunucu seçin", + "servers": "Gruptaki Sunucular", + "remove": "Kaldır", + "noGroups": "Kullanılabilir grup yok. Başlamak için yeni bir grup oluşturun.", + "noServers": "Bu grupta sunucu yok.", + "noServerOptions": "Kullanılabilir sunucu yok", + "serverCount": "{{count}} Sunucu", + "toolSelection": "Araç Seçimi", + "toolsSelected": "Seçildi", + "allTools": "Tümü", + "selectedTools": "Seçili araçlar", + "selectAll": "Tümünü Seç", + "selectNone": "Hiçbirini Seçme", + "configureTools": "Araçları Yapılandır" + }, + "market": { + "title": "Yerel Kurulum", + "official": "Resmi", + "by": "Geliştirici", + "unknown": "Bilinmeyen", + "tools": "araçlar", + "search": "Ara", + "searchPlaceholder": "Sunucuları isme, kategoriye veya etiketlere göre ara", + "clearFilters": "Temizle", + "clearCategoryFilter": "", + "clearTagFilter": "", + "categories": "Kategoriler", + "tags": "Etiketler", + "showTags": "Etiketleri göster", + "hideTags": "Etiketleri gizle", + "moreTags": "", + "noServers": "Aramanızla eşleşen sunucu bulunamadı", + "backToList": "Listeye dön", + "install": "Yükle", + "installing": "Yükleniyor...", + "installed": "Yüklendi", + "installServer": "Sunucu Yükle: {{name}}", + "installSuccess": "{{serverName}} sunucusu başarıyla yüklendi", + "author": "Yazar", + "license": "Lisans", + "repository": "Depo", + "examples": "Örnekler", + "arguments": "Argümanlar", + "argumentName": "Ad", + "description": "Açıklama", + "required": "Gerekli", + "example": "Örnek", + "viewSchema": "Şemayı görüntüle", + "fetchError": "Market sunucuları getirilirken hata", + "serverNotFound": "Sunucu bulunamadı", + "searchError": "Sunucular aranırken hata", + "filterError": "Sunucular kategoriye göre filtrelenirken hata", + "tagFilterError": "Sunucular etikete göre filtrelenirken hata", + "noInstallationMethod": "Bu sunucu için kullanılabilir kurulum yöntemi yok", + "showing": "{{total}} sunucudan {{from}}-{{to}} arası gösteriliyor", + "perPage": "Sayfa başına", + "confirmVariablesMessage": "Lütfen bu değişkenlerin çalışma ortamınızda düzgün tanımlandığından emin olun. Sunucu yüklemeye devam edilsin mi?", + "confirmAndInstall": "Onayla ve Yükle" + }, + "cloud": { + "title": "Bulut Desteği", + "subtitle": "MCPRouter tarafından desteklenmektedir", + "by": "Geliştirici", + "server": "Sunucu", + "config": "Yapılandırma", + "created": "Oluşturuldu", + "updated": "Güncellendi", + "available": "Kullanılabilir", + "description": "Açıklama", + "details": "Detaylar", + "tools": "Araçlar", + "tool": "araç", + "toolsAvailable": "{{count}} araç mevcut", + "loadingTools": "Araçlar yükleniyor...", + "noTools": "Bu sunucu için kullanılabilir araç yok", + "noDescription": "Kullanılabilir açıklama yok", + "viewDetails": "Detayları Görüntüle", + "parameters": "Parametreler", + "result": "Sonuç", + "error": "Hata", + "callTool": "Çalıştır", + "calling": "Çalıştırılıyor...", + "toolCallSuccess": "{{toolName}} aracı başarıyla çalıştırıldı", + "toolCallError": "{{toolName}} aracı çalıştırılamadı: {{error}}", + "viewSchema": "Şemayı Görüntüle", + "backToList": "Bulut Market'e Dön", + "search": "Ara", + "searchPlaceholder": "Bulut sunucularını isme, başlığa veya geliştiriciye göre ara", + "clearFilters": "Filtreleri Temizle", + "clearCategoryFilter": "Temizle", + "clearTagFilter": "Temizle", + "categories": "Kategoriler", + "tags": "Etiketler", + "noCategories": "Kategori bulunamadı", + "noTags": "Etiket bulunamadı", + "noServers": "Bulut sunucusu bulunamadı", + "fetchError": "Bulut sunucuları getirilirken hata", + "serverNotFound": "Bulut sunucusu bulunamadı", + "searchError": "Bulut sunucuları aranırken hata", + "filterError": "Bulut sunucuları kategoriye göre filtrelenirken hata", + "tagFilterError": "Bulut sunucuları etikete göre filtrelenirken hata", + "showing": "{{total}} bulut sunucusundan {{from}}-{{to}} arası gösteriliyor", + "perPage": "Sayfa başına", + "apiKeyNotConfigured": "MCPRouter API anahtarı yapılandırılmamış", + "apiKeyNotConfiguredDescription": "Bulut sunucularını kullanmak için MCPRouter API anahtarınızı yapılandırmanız gerekir.", + "getApiKey": "API Anahtarı Al", + "configureInSettings": "Ayarlarda Yapılandır", + "installServer": "{{name}} Yükle", + "installSuccess": "{{name}} sunucusu başarıyla yüklendi", + "installError": "Sunucu yüklenemedi: {{error}}" + }, + "registry": { + "title": "Kayıt", + "official": "Resmi", + "latest": "En Son", + "description": "Açıklama", + "website": "Web Sitesi", + "repository": "Depo", + "packages": "Paketler", + "package": "paket", + "remotes": "Uzak Sunucular", + "remote": "uzak sunucu", + "published": "Yayınlandı", + "updated": "Güncellendi", + "install": "Yükle", + "installing": "Yükleniyor...", + "installed": "Yüklendi", + "installServer": "{{name}} Yükle", + "installSuccess": "{{name}} sunucusu başarıyla yüklendi", + "installError": "Sunucu yüklenemedi: {{error}}", + "noDescription": "Kullanılabilir açıklama yok", + "viewDetails": "Detayları Görüntüle", + "backToList": "Kayda Dön", + "search": "Ara", + "searchPlaceholder": "Kayıt sunucularını isme göre ara", + "clearFilters": "Temizle", + "noServers": "Kayıt sunucusu bulunamadı", + "fetchError": "Kayıt sunucuları getirilirken hata", + "serverNotFound": "Kayıt sunucusu bulunamadı", + "showing": "{{total}} kayıt sunucusundan {{from}}-{{to}} arası gösteriliyor", + "perPage": "Sayfa başına", + "environmentVariables": "Ortam Değişkenleri", + "packageArguments": "Paket Argümanları", + "runtimeArguments": "Çalışma Zamanı Argümanları", + "headers": "Başlıklar" + }, + "tool": { + "run": "Çalıştır", + "running": "Çalıştırılıyor...", + "runTool": "Aracı Çalıştır", + "cancel": "İptal", + "noDescription": "Kullanılabilir açıklama yok", + "inputSchema": "Giriş Şeması:", + "runToolWithName": "Aracı Çalıştır: {{name}}", + "execution": "Araç Çalıştırma", + "successful": "Başarılı", + "failed": "Başarısız", + "result": "Sonuç:", + "error": "Hata", + "errorDetails": "Hata Detayları:", + "noContent": "Araç başarıyla çalıştırıldı ancak içerik döndürmedi.", + "unknownError": "Bilinmeyen hata oluştu", + "jsonResponse": "JSON Yanıtı:", + "toolResult": "Araç sonucu", + "noParameters": "Bu araç herhangi bir parametre gerektirmez.", + "selectOption": "Bir seçenek seçin", + "enterValue": "{{type}} değeri girin", + "enabled": "Etkin", + "enableSuccess": "{{name}} aracı başarıyla etkinleştirildi", + "disableSuccess": "{{name}} aracı başarıyla devre dışı bırakıldı", + "toggleFailed": "Araç durumu değiştirilemedi", + "parameters": "Araç Parametreleri", + "formMode": "Form Modu", + "jsonMode": "JSON Modu", + "jsonConfiguration": "JSON Yapılandırması", + "invalidJsonFormat": "Geçersiz JSON formatı", + "fixJsonBeforeSwitching": "Form moduna geçmeden önce lütfen JSON formatını düzeltin", + "item": "Öğe {{index}}", + "addItem": "{{key}} öğesi ekle", + "enterKey": "{{key}} girin" + }, + "prompt": { + "run": "Getir", + "running": "Getiriliyor...", + "result": "İstek Sonucu", + "error": "İstek Hatası", + "execution": "İstek Çalıştırma", + "successful": "Başarılı", + "failed": "Başarısız", + "errorDetails": "Hata Detayları:", + "noContent": "İstek başarıyla çalıştırıldı ancak içerik döndürmedi.", + "unknownError": "Bilinmeyen hata oluştu", + "jsonResponse": "JSON Yanıtı:", + "description": "Açıklama", + "messages": "Mesajlar", + "noDescription": "Kullanılabilir açıklama yok", + "runPromptWithName": "İsteği Getir: {{name}}" + }, + "settings": { + "enableGlobalRoute": "Global Yönlendirmeyi Etkinleştir", + "enableGlobalRouteDescription": "Grup ID'si belirtmeden /sse uç noktasına bağlantıya izin ver", + "enableGroupNameRoute": "Grup Adı Yönlendirmeyi Etkinleştir", + "enableGroupNameRouteDescription": "Sadece grup ID'leri yerine grup adları kullanarak /sse uç noktasına bağlantıya izin ver", + "enableBearerAuth": "Bearer Kimlik Doğrulamasını Etkinleştir", + "enableBearerAuthDescription": "MCP istekleri için bearer token kimlik doğrulaması gerektir", + "bearerAuthKey": "Bearer Kimlik Doğrulama Anahtarı", + "bearerAuthKeyDescription": "Bearer token'da gerekli olacak kimlik doğrulama anahtarı", + "bearerAuthKeyPlaceholder": "Bearer kimlik doğrulama anahtarını girin", + "skipAuth": "Kimlik Doğrulamayı Atla", + "skipAuthDescription": "Arayüz ve API erişimi için giriş gereksinimini atla (Güvenlik için VARSAYILAN KAPALI)", + "pythonIndexUrl": "Python Paket Deposu URL'si", + "pythonIndexUrlDescription": "Python paket kurulumu için UV_DEFAULT_INDEX ortam değişkenini ayarla", + "pythonIndexUrlPlaceholder": "örn. https://pypi.org/simple", + "npmRegistry": "NPM Kayıt URL'si", + "npmRegistryDescription": "NPM paket kurulumu için npm_config_registry ortam değişkenini ayarla", + "npmRegistryPlaceholder": "örn. https://registry.npmjs.org/", + "baseUrl": "Temel URL", + "baseUrlDescription": "MCP istekleri için temel URL", + "baseUrlPlaceholder": "örn. http://localhost:3000", + "installConfig": "Kurulum", + "systemConfigUpdated": "Sistem yapılandırması başarıyla güncellendi", + "enableSmartRouting": "Akıllı Yönlendirmeyi Etkinleştir", + "enableSmartRoutingDescription": "Girdiye göre en uygun aracı aramak için akıllı yönlendirme özelliğini etkinleştir ($smart grup adını kullanarak)", + "dbUrl": "PostgreSQL URL'si (pgvector desteği gerektirir)", + "dbUrlPlaceholder": "örn. postgresql://kullanıcı:şifre@localhost:5432/veritabanıadı", + "openaiApiBaseUrl": "OpenAI API Temel URL'si", + "openaiApiBaseUrlPlaceholder": "https://api.openai.com/v1", + "openaiApiKey": "OpenAI API Anahtarı", + "openaiApiKeyPlaceholder": "OpenAI API anahtarını girin", + "openaiApiEmbeddingModel": "OpenAI Entegrasyon Modeli", + "openaiApiEmbeddingModelPlaceholder": "text-embedding-3-small", + "smartRoutingConfigUpdated": "Akıllı yönlendirme yapılandırması başarıyla güncellendi", + "smartRoutingRequiredFields": "Akıllı yönlendirmeyi etkinleştirmek için Veritabanı URL'si ve OpenAI API Anahtarı gereklidir", + "smartRoutingValidationError": "Akıllı Yönlendirmeyi etkinleştirmeden önce lütfen gerekli alanları doldurun: {{fields}}", + "mcpRouterConfig": "Bulut Market", + "mcpRouterApiKey": "MCPRouter API Anahtarı", + "mcpRouterApiKeyDescription": "MCPRouter bulut market hizmetlerine erişim için API anahtarı", + "mcpRouterApiKeyPlaceholder": "MCPRouter API anahtarını girin", + "mcpRouterReferer": "Yönlendiren", + "mcpRouterRefererDescription": "MCPRouter API istekleri için Referer başlığı", + "mcpRouterRefererPlaceholder": "https://www.mcphubx.com", + "mcpRouterTitle": "Başlık", + "mcpRouterTitleDescription": "MCPRouter API istekleri için Başlık başlığı", + "mcpRouterTitlePlaceholder": "MCPHub", + "mcpRouterBaseUrl": "Temel URL", + "mcpRouterBaseUrlDescription": "MCPRouter API için temel URL", + "mcpRouterBaseUrlPlaceholder": "https://api.mcprouter.to/v1", + "systemSettings": "Sistem Ayarları", + "nameSeparatorLabel": "İsim Ayırıcı", + "nameSeparatorDescription": "Sunucu adı ile araç/istek adını ayırmak için kullanılan karakter (varsayılan: -)", + "restartRequired": "Yapılandırma kaydedildi. Tüm hizmetlerin yeni ayarları doğru şekilde yüklemesini sağlamak için uygulamayı yeniden başlatmanız önerilir.", + "exportMcpSettings": "Ayarları Dışa Aktar", + "mcpSettingsJson": "MCP Ayarları JSON", + "mcpSettingsJsonDescription": "Yedekleme veya diğer araçlara taşıma için mevcut mcp_settings.json yapılandırmanızı görüntüleyin, kopyalayın veya indirin", + "copyToClipboard": "Panoya Kopyala", + "downloadJson": "JSON Olarak İndir", + "exportSuccess": "Ayarlar başarıyla dışa aktarıldı", + "exportError": "Ayarlar getirilemedi" + }, + "dxt": { + "upload": "Yükle", + "uploadTitle": "DXT Uzantısı Yükle", + "dropFileHere": ".dxt dosyanızı buraya bırakın", + "orClickToSelect": "veya bilgisayarınızdan seçmek için tıklayın", + "invalidFileType": "Lütfen geçerli bir .dxt dosyası seçin", + "noFileSelected": "Lütfen yüklemek için bir .dxt dosyası seçin", + "uploading": "Yükleniyor...", + "uploadFailed": "DXT dosyası yüklenemedi", + "installServer": "DXT'den MCP Sunucusu Yükle", + "extensionInfo": "Uzantı Bilgisi", + "name": "Ad", + "version": "Sürüm", + "description": "Açıklama", + "author": "Geliştirici", + "tools": "Araçlar", + "serverName": "Sunucu Adı", + "serverNamePlaceholder": "Bu sunucu için bir ad girin", + "install": "Yükle", + "installing": "Yükleniyor...", + "installFailed": "DXT'den sunucu yüklenemedi", + "serverExistsTitle": "Sunucu Zaten Mevcut", + "serverExistsConfirm": "'{{serverName}}' sunucusu zaten mevcut. Yeni sürümle geçersiz kılmak istiyor musunuz?", + "override": "Geçersiz Kıl" + }, + "jsonImport": { + "button": "İçe Aktar", + "title": "JSON'dan Sunucuları İçe Aktar", + "inputLabel": "Sunucu Yapılandırma JSON", + "inputHelp": "Sunucu yapılandırma JSON'unuzu yapıştırın. STDIO, SSE ve HTTP (streamable-http) sunucu türlerini destekler.", + "preview": "Önizle", + "previewTitle": "İçe Aktarılacak Sunucuları Önizle", + "import": "İçe Aktar", + "importing": "İçe aktarılıyor...", + "invalidFormat": "Geçersiz JSON formatı. JSON bir 'mcpServers' nesnesi içermelidir.", + "parseError": "JSON ayrıştırılamadı. Lütfen formatı kontrol edip tekrar deneyin.", + "addFailed": "Sunucu eklenemedi", + "importFailed": "Sunucular içe aktarılamadı", + "partialSuccess": "{{total}} sunucudan {{count}} tanesi başarıyla içe aktarıldı. Bazı sunucular başarısız oldu:" + }, + "users": { + "add": "Kullanıcı Ekle", + "addNew": "Yeni Kullanıcı Ekle", + "edit": "Kullanıcıyı Düzenle", + "delete": "Kullanıcıyı Sil", + "create": "Kullanıcı Oluştur", + "update": "Kullanıcıyı Güncelle", + "username": "Kullanıcı Adı", + "password": "Şifre", + "newPassword": "Yeni Şifre", + "confirmPassword": "Şifreyi Onayla", + "adminRole": "Yönetici", + "admin": "Yönetici", + "user": "Kullanıcı", + "permissions": "İzinler", + "adminPermissions": "Tam sistem erişimi", + "userPermissions": "Sınırlı erişim", + "currentUser": "Siz", + "noUsers": "Kullanıcı bulunamadı", + "adminRequired": "Kullanıcıları yönetmek için yönetici erişimi gereklidir", + "usernameRequired": "Kullanıcı adı gereklidir", + "passwordRequired": "Şifre gereklidir", + "passwordTooShort": "Şifre en az 6 karakter uzunluğunda olmalıdır", + "passwordMismatch": "Şifreler eşleşmiyor", + "usernamePlaceholder": "Kullanıcı adını girin", + "passwordPlaceholder": "Şifreyi girin", + "newPasswordPlaceholder": "Mevcut şifreyi korumak için boş bırakın", + "confirmPasswordPlaceholder": "Yeni şifreyi onaylayın", + "createError": "Kullanıcı oluşturulamadı", + "updateError": "Kullanıcı güncellenemedi", + "deleteError": "Kullanıcı silinemedi", + "statsError": "Kullanıcı istatistikleri getirilemedi", + "deleteConfirmation": "'{{username}}' kullanıcısını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.", + "confirmDelete": "Kullanıcıyı Sil", + "deleteWarning": "'{{username}}' kullanıcısını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz." + }, + "api": { + "errors": { + "readonly": "Demo ortamı için salt okunur", + "invalid_credentials": "Geçersiz kullanıcı adı veya şifre", + "serverNameRequired": "Sunucu adı gereklidir", + "serverConfigRequired": "Sunucu yapılandırması gereklidir", + "serverConfigInvalid": "Sunucu yapılandırması bir URL, OpenAPI şartname URL'si veya şema, ya da argümanlı komut içermelidir", + "serverTypeInvalid": "Sunucu türü şunlardan biri olmalıdır: stdio, sse, streamable-http, openapi", + "urlRequiredForType": "{{type}} sunucu türü için URL gereklidir", + "openapiSpecRequired": "OpenAPI sunucu türü için OpenAPI şartname URL'si veya şema gereklidir", + "headersInvalidFormat": "Başlıklar bir nesne olmalıdır", + "headersNotSupportedForStdio": "Başlıklar stdio sunucu türü için desteklenmez", + "serverNotFound": "Sunucu bulunamadı", + "failedToRemoveServer": "Sunucu bulunamadı veya kaldırılamadı", + "internalServerError": "Dahili sunucu hatası", + "failedToGetServers": "Sunucu bilgileri alınamadı", + "failedToGetServerSettings": "Sunucu ayarları alınamadı", + "failedToGetServerConfig": "Sunucu yapılandırması alınamadı", + "failedToSaveSettings": "Ayarlar kaydedilemedi", + "toolNameRequired": "Sunucu adı ve araç adı gereklidir", + "descriptionMustBeString": "Açıklama bir string olmalıdır", + "groupIdRequired": "Grup ID gereklidir", + "groupNameRequired": "Grup adı gereklidir", + "groupNotFound": "Grup bulunamadı", + "groupIdAndServerNameRequired": "Grup ID ve sunucu adı gereklidir", + "groupOrServerNotFound": "Grup veya sunucu bulunamadı", + "toolsMustBeAllOrArray": "Araçlar \"all\" veya bir string dizisi olmalıdır", + "serverNameAndToolNameRequired": "Sunucu adı ve araç adı gereklidir", + "usernameRequired": "Kullanıcı adı gereklidir", + "userNotFound": "Kullanıcı bulunamadı", + "failedToGetUsers": "Kullanıcı bilgileri alınamadı", + "failedToGetUserInfo": "Kullanıcı bilgisi alınamadı", + "failedToGetUserStats": "Kullanıcı istatistikleri alınamadı", + "marketServerNameRequired": "Sunucu adı gereklidir", + "marketServerNotFound": "Market sunucusu bulunamadı", + "failedToGetMarketServers": "Market sunucuları bilgisi alınamadı", + "failedToGetMarketServer": "Market sunucusu bilgisi alınamadı", + "failedToGetMarketCategories": "Market kategorileri alınamadı", + "failedToGetMarketTags": "Market etiketleri alınamadı", + "failedToSearchMarketServers": "Market sunucuları aranamadı", + "failedToFilterMarketServers": "Market sunucuları filtrelenemedi", + "failedToProcessDxtFile": "DXT dosyası işlenemedi" + }, + "success": { + "serverCreated": "Sunucu başarıyla oluşturuldu", + "serverUpdated": "Sunucu başarıyla güncellendi", + "serverRemoved": "Sunucu başarıyla kaldırıldı", + "serverToggled": "Sunucu durumu başarıyla değiştirildi", + "toolToggled": "{{name}} aracı başarıyla {{action}}", + "toolDescriptionUpdated": "{{name}} aracının açıklaması başarıyla güncellendi", + "systemConfigUpdated": "Sistem yapılandırması başarıyla güncellendi", + "groupCreated": "Grup başarıyla oluşturuldu", + "groupUpdated": "Grup başarıyla güncellendi", + "groupDeleted": "Grup başarıyla silindi", + "serverAddedToGroup": "Sunucu başarıyla gruba eklendi", + "serverRemovedFromGroup": "Sunucu başarıyla gruptan kaldırıldı", + "serverToolsUpdated": "Sunucu araçları başarıyla güncellendi" + } + }, + "oauthCallback": { + "authorizationFailed": "Yetkilendirme Başarısız", + "authorizationFailedError": "Hata", + "authorizationFailedDetails": "Detaylar", + "invalidRequest": "Geçersiz İstek", + "missingStateParameter": "Gerekli OAuth durum parametresi eksik.", + "missingCodeParameter": "Gerekli yetkilendirme kodu parametresi eksik.", + "serverNotFound": "Sunucu Bulunamadı", + "serverNotFoundMessage": "Bu yetkilendirme isteğiyle ilişkili sunucu bulunamadı.", + "sessionExpiredMessage": "Yetkilendirme oturumunun süresi dolmuş olabilir. Lütfen tekrar yetkilendirmeyi deneyin.", + "authorizationSuccessful": "Yetkilendirme Başarılı", + "server": "Sunucu", + "status": "Durum", + "connected": "Bağlandı", + "successMessage": "Sunucu başarıyla yetkilendirildi ve bağlandı.", + "autoCloseMessage": "Bu pencere 3 saniye içinde otomatik olarak kapanacak...", + "closeNow": "Şimdi Kapat", + "connectionError": "Bağlantı Hatası", + "connectionErrorMessage": "Yetkilendirme başarılı oldu, ancak sunucuya bağlanılamadı.", + "reconnectMessage": "Lütfen kontrol panelinden yeniden bağlanmayı deneyin.", + "configurationError": "Yapılandırma Hatası", + "configurationErrorMessage": "Sunucu aktarımı OAuth finishAuth() desteklemiyor. Lütfen sunucunun streamable-http aktarımıyla yapılandırıldığından emin olun.", + "internalError": "İçsel Hata", + "internalErrorMessage": "OAuth geri araması işlenirken beklenmeyen bir hata oluştu.", + "closeWindow": "Pencereyi Kapat" + } +} \ No newline at end of file