feat(i18n): 覆盖支持扩展到 19 语言(de/fr/pt/ko/ar/hi/id/tr/vi/th/ru/it/nl/sv/pl/zh-HK/zh-TW/zh-MO)

This commit is contained in:
HuanLinOTO
2026-08-23 14:57:48 +08:00
parent 16a809594c
commit 7f8f95a59b
20 changed files with 6224 additions and 2 deletions
+345
View File
@@ -0,0 +1,345 @@
/**
* The tr (Turkish) dictionary for the betterSidebar namespace.
*
* Mirrors the key set of `zh` in `locales.ts`. The sidebar's `t()`
* consults this dict when `attachBetterLocale(store)` has been called
* with an active better-locale store whose `active` is `'tr'`; absent
* that, the existing zh/en chain runs unchanged.
*
* Translation conventions:
* - Common dev-tool loanwords stay in Turkish (Terminal, Tarayıcı, Klasör).
* - Git vocabulary follows standard Turkish usage ( Sahnele, İşle, Dal).
* - Settings labels end in noun/infinitive forms to mirror the zh cadence.
* - Placeholders keep `{name}` verbatim (interpolation runs after lookup).
* - English brand names (VS Code, Cursor, Zed, SSH) stay as-is.
*/
/** The tr dictionary (key-set-equal to zh, enforced by the type annotation in locales.ts). */
export const tr: Record<string, string> = {
files: 'Dosyalar',
explorer: 'Gezgin',
git: 'Kaynak denetimi',
terminal: 'Terminal',
editor: 'Düzenleyici',
editorExplorer: 'Dosya açma davranışı',
editorExplorerDesc: 'Dosyaların açılma biçimini denetler',
editorExplorerMerged: 'Birleşik',
editorExplorerMergedDesc: 'Dosyalar aynı pencerede yerinde geçer; yeni pencereler ağaç açık başlar',
editorExplorerSplit: 'Ayrı',
editorExplorerSplitDesc: 'Yolsuz pencere tek başına gezgindir (yalnızca ağaç); her dosya kendi penceresini açar (ağaç yuvalanmış, varsayılan kapalı)',
editorTreeToggle: 'Dosya ağacı paneli',
editorPathPlaceholder: 'Dosya yolu (oturum dizinine göreli veya mutlak), Enter ile aç',
editorSearchPlaceholder: 'Dosya adına göre ara…',
editorSearchNoResults: 'Eşleşen dosya yok',
editorSearchTruncated: 'Sonuç çok fazla — kısmi liste gösteriliyor',
editorEmptyHint: 'Önizlemeye başlamak için sağdaki dosya ağacından veya yukarıdaki yol girişinden bir dosya seçin',
openFileNewTab: 'Yeni sekmede aç',
openFileSide: 'Yana aç',
openWithMenu: 'Birlikte aç',
openWithSshSuffix: ' (SSH)',
pinOpenWith: 'Menüye sabitle',
unpinOpenWith: 'Sabitlemeyi kaldır',
openWithExplorer: 'Dosya yöneticisi',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'SSH uzak ana makine',
openWithSettingsSshDesc: 'Boş = yerel çalışma alanı; bir user@host veya SSH rumuzu verilirse VSCode ailesi açıcılar vscode-remote/ssh-remote protokolüne geçer ve Dosya yöneticisi / Zed / VSCode ailesi olmayan özel düzenleyiciler menüden gizlenir',
openWithSettingsSshPlaceholder: 'user@host veya SSH rumuzu',
openWithSettingsCustomTitle: 'Özel düzenleyiciler',
openWithSettingsCustomDesc: 'Ad + URL şablonu ({path} yer tutucusu) + VSCode ailesi bayrağı; uzak modda yalnızca VSCode ailesi düzenleyiciler uzak yolu açabilir',
openWithSettingsAdd: 'Ekle',
openWithSettingsName: 'Ad',
openWithSettingsTemplate: 'ör. cursor://file/{path}',
openWithSettingsFamily: 'VSCode ailesi',
openWithSettingsFamilyDesc: 'Bu düzenleyici VSCode URL dilini konuşur (SSH uzak açmayı destekler)',
openWithSettingsRemove: 'Kaldır',
openWithSettingsInvalidHint: 'Adı eksik veya {path}/scheme:// içermeyen şablonlu düzenleyiciler menüde gösterilmez',
newTab: 'Yeni sekme',
openExplorer: 'Gezgin',
brokenSymlink: 'Bozuk sembolik bağ',
openGit: 'Git paneli',
newTerminal: 'Yeni terminal',
terminalLimit: 'Terminal sınırına ulaşıldı (3)',
close: 'Kapat',
closeOtherTabs: 'Diğer sekmeleri kapat',
closeLeftTabs: 'Soldaki sekmeleri kapat',
closeRightTabs: 'Sağdaki sekmeleri kapat',
collapse: 'Kenar çubuğunu daralt',
expand: 'Kenar çubuğunu genişlet',
collapseBottomPanel: 'Alt paneli daralt',
expandBottomPanel: 'Alt paneli genişlet',
terminalError: 'Terminal bağlantısı başarısız',
terminalConnectFailed: 'Terminal art arda bağlanamadı',
terminalRetry: 'Yeniden dene',
terminalDepsFailed: 'Terminal bağımlılığı node-pty yüklenemedi',
terminalDepsHint: 'Onarmak için DSH makinesindeki bir terminalde veya cmd’de aşağıdaki komutu çalıştırın, sonra yeniden deneyin (node-pty, DSH çekirdek sürümüyle senkron kalır):',
terminalDepsProfile: ' (algılanan profil: {profile})',
preview: 'Önizleme',
edit: 'Düzenle',
mermaidError: 'Mermaid oluşturma başarısız',
mermaidZoomIn: 'Yakınlaştır',
mermaidZoomOut: 'Uzaklaştır',
mermaidZoomReset: 'Sıfırla',
mermaidZoomHint: 'Yakınlaştırmak için kaydır · taşımak için sürükle · kapatmak için Esc',
refresh: 'Yenile',
save: 'Kaydet',
saved: 'Kaydedildi',
unsaved: 'Kaydedilmedi',
saveFailed: 'Kaydetme başarısız',
truncation: 'Dosya çok büyük — ilk 512KB gösteriliyor',
binary: 'İkili dosya, önizleme kullanılamıyor',
loading: 'Yükleniyor…',
error: 'Yükleme başarısız',
retry: 'Yeniden dene',
splitLeft: 'Sola böl',
splitRight: 'Sağa böl',
splitUp: 'Yukarı böl',
splitDown: 'Aşağı böl',
notRepo: 'Bu dizin bir git deposu değil',
noChanges: 'Değişiklik yok',
stage: 'Sahnele',
unstage: 'Sahnelemeden kaldır',
stageAll: 'Tümünü sahnele',
unstageAll: 'Tümünü sahnelemeden kaldır',
commitPlaceholder: 'İşleme iletisi (Ctrl+Enter)',
commit: 'İşle',
commitError: 'İşleme başarısız',
branch: 'Dal',
checkoutError: 'Dal değiştirme başarısız',
history: 'Geçmiş',
changes: 'Değişiklikler',
staged: 'Sahnelendi',
unstaged: 'Sahnelenmedi',
cancel: 'İptal',
diffEmpty: 'Metin değişikliği yok',
diffLoadError: 'Diff yüklenemedi',
diffBinary: 'İkili',
diffAdded: 'Eklendi',
diffDeleted: 'Silindi',
diffRenamed: 'Yeniden adlandırıldı',
diffExpand: '{count} satır daha göster',
diffCollapse: 'Daralt',
discard: 'Değişiklikleri at',
discardTitle: 'Değişiklikleri at',
discardDesc: 'Bu, «{path}» öğesinin çalışma ağacı değişikliklerini atar (geri alınamaz).',
viewCommitDiff: 'İşleme diff’ini görüntüle',
copyShortHash: 'Kısa karmayı kopyala',
copyFullHash: 'Tam karmayı kopyala',
copySubject: 'İşleme iletisini kopyala',
revertCommit: 'İşlemeyi geri al',
revertTitle: 'İşlemeyi geri al',
revertDesc: '«{subject}» işlemini geriye alan yeni bir işleme geçerli dalda oluşturur.',
cherryPickCommit: 'İşlemeyi seç-al',
cherryPickTitle: 'İşlemeyi seç-al',
cherryPickDesc: '«{subject}» değişikliklerini geçerli dala uygular.',
timeJustNow: 'az önce',
timeMinutesAgo: '{n} dk önce',
timeHoursAgo: '{n} sa önce',
timeYesterday: 'dün',
loadMore: 'Daha fazla yükle',
historyLoadError: 'Daha fazla geçmiş yüklenemedi',
produced: 'Üretilenler',
producedOpen: 'Kenar çubuğunda aç',
disconnected: 'Terminal bağlantısı kesildi, yeniden bağlanılıyor…',
exited: 'Terminal süreci sonlandı',
noSession: 'Kenar çubuğunu kullanmak için bir oturum seçin',
pluginNotLoaded: 'Eklenti yüklenmedi; sekme kullanılamıyor:',
hiddenFiles: 'Gizli dosyalar',
parent: 'Üst dizin',
copied: 'Kopyalandı',
copy: 'Kopyala',
newFile: 'Yeni dosya',
openEditor: 'Düzenleyiciyi aç',
gitDetail: 'Değişiklik ayrıntılarını görüntüle',
referenceFile: '@dosya',
addToConversation: 'Sohbete ekle',
copyRelative: 'Göreli yolu kopyala',
copyAbsolute: 'Mutlak yolu kopyala',
download: 'İndir',
uploadFiles: 'Dosyaları yükle',
uploadFolder: 'Klasör yükle',
uploadHere: 'Buraya yükle',
uploadDropHint: 'Yüklemek için dosyaları/klasörleri buraya bırakın',
uploadDropChat: 'Resim eklemek için sohbet alanına bırakın',
uploadTo: '{dir} içine yükle',
uploadingTo: '{dir} içine yükleniyor…',
uploadProgress: 'Yükleniyor {done}/{total}: {name}',
uploadDone: '{count} dosya yüklendi',
uploadFailed: 'Yükleme başarısız: {error}',
uploadFailedUnknown: 'Bilinmeyen hata',
uploadTooLarge: 'Dosya çok büyük (yükleme sınırını aşıyor)',
uploadCancelled: 'Yükleme iptal edildi',
settingsNav: 'Yan kart',
settingsIntro: 'Yan kartın ne gösterdiğini ve nasıl davrandığını yönetin',
settingsPopupDesc: '«{feature}» için ilgili seçenekleri yapılandırın',
settingsDone: 'Bitti',
settingsOpenTitle: 'Yeni sohbetlerde varsayılan olarak aç',
settingsOpenDesc: 'Yepyeni sohbetler için yan kartı otomatik genişlet; var olan sohbetler kendi düzenlerini korur',
settingsWidthTitle: 'Varsayılan genişlik payı',
settingsWidthDesc: 'Yeni sohbetler için yan kartın pencere genişliğindeki varsayılan payı (20–60)',
settingsWidthSuffix: '%',
settingsOpenPathTitle: 'Sohbet dosyalarını kenar çubuğunda aç',
settingsOpenPathDesc: 'Sohbetteki dosya bağlantılarını (araç satırları, üretilen dosyalar, anılmalar) sistem varsayılan uygulaması yerine kenar çubuğu düzenleyicisinde aç',
settingsTitleBarTitle: 'Konum uyumluluk modu',
settingsTitleBarDesc: 'Başlık çubuğu uyumluluk düzenini seçin: otomatik algıla (varsayılan, tutucu) / DSH resmi web / bilinen masaüstü kabukları / özel (kaydırma mesafesi + özel CSS)',
settingsTitleBarStripTitle: 'Kaydırma mesafesi',
settingsTitleBarStripDesc: 'Başlık çubuğu şerit yüksekliği: kenar çubuğu düğmelerinin ve içeriğin kaç px aşağı kayacağı (0–120, varsayılan 40; özel düzen altında geçerli)',
settingsSchemeAutoTitle: 'Otomatik algıla',
settingsSchemeAutoDesc: 'Tutucu: yalnızca standart Window Controls Overlay API’si katkıda bulunur (gerçek başlık katmanı yüksekliği); sade web ortamlarında hiçbir değişiklik yapılmaz',
settingsSchemeWebTitle: 'DSH resmi web',
settingsSchemeWebDesc: 'Resmi web arayüzünde çalıştığını açıkça bildir: hiçbir uyarlama yapılmaz (standart WCO geometrisi bile uygulanmaz)',
settingsSchemeCustomTitle: 'Özel',
settingsSchemeCustomDesc: 'Tam denetim: özel CSS enjekte et (yerleşik stilleri geçersiz kılabilir) ve başlık çubuğu kaydırma mesafesini ayarla',
settingsSchemeDetectedSuffix: 'algılandı',
settingsCustomCssTitle: 'Özel CSS',
settingsCustomCssDesc: 'Sayfanın sonuna eklenen stiller (basamakta sonra yazılan kazanır; JS ile yazılmış satır içi değişkenleri geçersiz kılmak için !important kullanın)',
settingsCustomCssPlaceholder: '/* örn. özel çizili başlık çubuğu olan bir kabuk için 36px ayır */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: 'Kaydetme başarısız',
settingsConflict: 'Ayar başka bir pencerede değiştirildi — lütfen yeniden deneyin',
binaryNoPreview: 'Bu dosya türü önizlenemiyor',
downloadToView: 'Görüntülemek için indir',
settingsSubagentTitle: 'Bir alt aracı belirdiğinde Görevler sayfasını otomatik aç',
settingsSubagentDesc: 'Geçerli sohbet yeni bir alt aracı doğurduğunda yan kartı genişlet ve Görevler sayfasını aç; elle açmak için kapatın',
settingsJobsTitle: 'Yeni arka plan işinde İşler sayfasını otomatik aç',
settingsJobsDesc: 'Geçerli sohbet için yeni bir arka plan işi belirdiğinde yan kartı genişlet ve İşler sayfasını aç (her yeni iş tetikler); elle açmak için kapatın',
settingsToolsTitle: 'Model için terminal araçları enjekte et',
settingsToolsDesc: 'Etkinleştirildiğinde model, 8 terminal_* aracı üzerinden kenar çubuğu terminalleri oluşturup kullanabilir (varsayılan kapalı)',
settingsBottomTerminalTitle: 'Alt panelin ilk genişletilmesinde otomatik terminal aç',
settingsBottomTerminalDesc: 'Bir oturumda alt panel ilk genişletildiğinde orada yeni bir terminal sekmesi açmayı dene (terminal kotası yine geçerli; varsayılan açık)',
settingsFontFamilyTitle: 'Terminal yazı tipi ailesi',
settingsFontFamilyDesc: 'Özel terminal yazı tipi ailesi (bir CSS font-family yığını gibi "JetBrains Mono", monospace; temanın sabit genişlikli yazı tipini izlemek için boş bırakın)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: 'Terminal yazı boyutu',
settingsFontSizeDesc: 'px cinsinden terminal yazı boyutu (9–32, varsayılan 13)',
settingsFontSizeSuffix: 'px',
settingsShellTitle: 'Kabuk yolu',
settingsShellDesc: 'Arayüz ve model terminalleri için başlatılan kabuk (mutlak yol veya yalın yürütülebilir). Boş, eski sırayı korur: yaml config.shell → $SHELL / oturum açma kabuğu / Windows powershell.exe. Sonradan açılan terminaller için geçerli',
settingsShellPlaceholder: 'ör. /bin/zsh (boş = otomatik)',
settingsShellArgsTitle: 'Kabuk bağımsız değişkenleri',
settingsShellArgsDesc: 'Açık kabuk bağımsız değişkenleri, boşlukla ayrılmış; boş olmadıklarında varsayılanları tamamen değiştirir (yaml shellArgs ile aynı sözleşme)',
settingsShellArgsPlaceholder: 'ör. -l (boş = varsayılanlar)',
settingsTabsTitle: 'Kenar çubuğu içeriği',
settingsViewersTitle: 'Dosya önizleyicileri',
settingsGeneralTitle: 'Genel',
settingsPopup: 'Özellik ayarları',
settingsViewerCatchAll: 'Hepsi yakala: herhangi bir dosya',
viewerImage: 'Resim',
viewerPdf: 'PDF',
viewerMarkdown: 'Markdown',
viewerCode: 'Kod',
viewerBinary: 'İkili indirme',
viewerHtml: 'HTML',
browser: 'Tarayıcı',
browserPlaceholder: 'Bir URL girin, örn. example.com',
browserGo: 'Git',
browserBack: 'Geri',
browserForward: 'İleri',
browserStart: 'Gezinmeye başlamak için bir URL girin (kum modu)',
browserBlockedScheme: 'Engellendi: yalnızca http/https URL’lerine izin verilir',
browserBlockedLoopback: 'Engellendi: yerel ve iç adresler burada gezilemez',
browserInvalid: 'Geçersiz URL',
browserNoSandboxWarning: 'Kum kapalı: geçerli sayfa tam arayüz ayrıcalıklarıyla çalışır (ayarlardan yeniden etkinleştirin)',
htmlNoSandboxWarning: 'Kum kapalı: bu HTML tam arayüz ayrıcalıklarıyla çalışır (ayarlardan yeniden etkinleştirin)',
sandboxStatusOn: 'Kum modu: açık · sayfalar arayüzün verilerine veya yerel dosyalara erişemez; oturum açmalar ve üçüncü taraf çerezler çalışmayabilir',
sandboxUnlock: 'Geçici olarak devre dışı bırak (güvenli değil)',
sandboxRestore: 'Kumu geri yükle',
settingsHtmlDefaultUnsafeTitle: 'HTML önizlemelerini varsayılan olarak kumsuz aç (güvenli değil)',
settingsHtmlDefaultUnsafeDesc: 'Açıkken, yeni açılan her HTML önizlemesi kumsuz durumda başlar (arayüzle aynı kaynak — oturum dosyalarını ve iç API’leri okuyabilir); durum satırı yine tek dokunuşla geri yükleme sunar',
settingsHtmlSandboxTitle: 'HTML önizleme kumunu devre dışı bırak (güvenli değil)',
settingsHtmlSandboxDesc: 'Kum kapalıyken önizlenen HTML arayüzle aynı kaynakta çalışır: oturum dosyalarını, yerel depoyu okuyabilir ve iç API’leri çağırabilir. Yalnızca tamamen güvenilen dosyalar için etkinleştirin',
settingsBrowserSandboxTitle: 'Tarayıcı kumunu devre dışı bırak (güvenli değil)',
settingsBrowserSandboxDesc: 'Kum kapalıyken ziyaret edilen her site arayüzle aynı kaynakta çalışır: oturum verilerini okuyabilir ve oturum açmış halinize bürünebilir. Yalnızca tamamen güvenilen siteler için etkinleştirin',
settingsBrowserLinksTitle: 'Sohbet dış bağlantılarını kenar çubuğunda aç',
settingsBrowserLinksDesc: 'Açıkken sohbetteki veya arayüzdeki bir dış bağlantıya tıklamak yeni pencere yerine kenar çubuğunu açar; HTTP ve HTTPS aşağıdaki anahtarlarla ayrı ayrı denetlenir; Ctrl/Cmd+tıklama her zaman atlatır',
settingsBrowserHttpTitle: 'HTTP sayfalarını kenar çubuğunda aç',
settingsBrowserHttpDesc: 'Açıkken sohbetteki veya arayüzdeki bir HTTP dış bağlantısına tıklamak kenar çubuğunu açar (urlTarget bildiren eklenti sayfaları öncelikli); Ctrl/Cmd+tıklama her zaman atlatır',
settingsBrowserHttpsTitle: 'HTTPS sayfalarını kenar çubuğunda aç',
settingsBrowserHttpsDesc: 'Açıkken sohbetteki veya arayüzdeki bir HTTPS dış bağlantısına tıklamak kenar çubuğunu açar. Varsayılan kapalı: çoğu HTTPS sitesi gömülmeyi reddeder, bu yüzden sistem tarayıcısı daha akıcı varsayılandır',
browserOpenExternal: 'Tarayıcıda aç',
browserEmbedBlocked: '{host} gömülmeyi reddetti',
browserEmbedBlockedDesc: 'Site başka sayfalar içinde gösterilmeyi yasaklıyor (X-Frame-Options / frame-ancestors), bu yüzden kenar çubuğunda yüklenemiyor. Bunun yerine doğrudan tarayıcınızda açın.',
browserEmbedAnyway: 'Yine de yükle',
subagent: 'Görevler',
openSubagent: 'Görevler',
subagentMainAgent: 'Ana aracı',
subagentEmpty: 'Alt aracı yok',
subagentEmptyDesc: 'Ana aracının altında doğan alt aracılar burada görünür',
subagentRunning: 'Çalışıyor',
subagentInactive: 'Etkin değil',
subagentModeOneShot: 'Tek seferlik',
subagentModeContinuable: 'Sürdürülebilir',
subagentCount: '{count} alt aracı',
subagentCountRunning: '{count} alt aracı · {running} çalışıyor',
subagentDiagCorrupt: 'Bozuk',
subagentDiagUnsupported: 'Desteklenmiyor',
subagentDiagUnavailable: 'Kullanılamıyor',
subagentThinking: 'Düşünüyor…',
sideChat: 'Yan sohbet (beta)',
sideChatNew: 'Yeni iş parçacığı',
sideChatUntitled: 'Yeni iş parçacığı',
sideChatEmpty: 'Yan sohbet yok',
sideChatEmptyDesc: 'Her yan sohbet sekme şeridindeki kendi sekmesidir — geçerli oturumun bağlamını miras alır ve asla ana sohbete girmez',
sideChatCreating: 'Yan sohbet oluşturuluyor…',
sideChatRetry: 'Yeniden dene',
sideChatThreads: 'İş parçacığını değiştir / yeni',
sideChatSave: 'Yeni oturum olarak kaydet',
sideChatSaveTitle: 'Bu iş parçacığını ana oturum listesinde üst düzey oturuma yükselt',
sideChatSaved: 'Yeni oturum olarak kaydedildi',
sideChatNoTurn: 'Kaydetme ilk tamamlanan turdan sonra kullanılabilir',
sideChatPendingDrop: 'Son yanıtlanmamış devam sorusu kaydedilen oturuma dahil edilmez',
sideChatFirstPlaceholder: 'İlk soruyu sorun — bağlam miras alındı…',
sideChatComposerPlaceholder: 'Devam sorusu sor…',
sideChatThinking: 'Derin dalıyor…',
sideChatThink: 'Düşünme',
sideChatInjection: 'Bağlam enjekte edildi',
sideChatSend: 'Gönder',
sideChatCancel: 'Durdur',
sideChatCancelTitle: 'Geçerli turu durdur (sıradaki iş korunur)',
sideChatClose: 'İş parçacığını kapat',
sideChatCloseTitle: 'İş parçacığının aracısını serbest bırak (geçmiş korunur)',
sideChatError: 'Yan sohbet hatası: {message}',
jobs: 'Arka plan işleri',
jobsCount: '{count} arka plan işi',
jobsCountRunning: '{count} arka plan işi · {running} çalışıyor',
jobStatusRunning: 'Çalışıyor',
jobStatusStopping: 'Durduruluyor',
jobStatusCompleted: 'Tamamlandı',
jobStatusKilled: 'Sonlandırıldı',
jobStatusFailed: 'Başarısız',
jobDurationSeconds: '{seconds} sn',
jobDurationMinutes: '{minutes} dk {seconds} sn',
jobDurationHours: '{hours} sa {minutes} dk',
jobViewOutput: 'Çıkışı görüntüle',
jobHideOutput: 'Çıkışı gizle',
jobNoOutput: 'Henüz çıkış yok',
jobNotReadYet: 'Modelin bu işin çıkışını okuması bekleniyor; model job_output çalıştırdıktan sonra çıkış burada görünür',
jobOutputTruncated: 'Çıkış kırpıldı',
jobOutputError: 'Çıkış okunamadı',
jobKill: 'Sonlandır',
jobKillConfirm: 'Sonlandırmayı onaylamak için tekrar tıklayın',
jobKillError: 'Sonlandırma başarısız',
addPluginsTabCard: 'Sekme eklentileri ekle',
addPluginsTabCardDesc: 'Yeni bir kenar çubuğu sayfası kaydet',
addPluginsViewerCard: 'Önizleme eklentileri ekle',
addPluginsViewerCardDesc: 'Yeni bir dosya türü önizlemesi kaydet',
addPluginsTabDesc: 'Kenar çubuğu sayfaları (sekmeler) eklentilerce genişletilebilir. Eklentiler ctx.betterSidebar hizmeti aracılığıyla kaydolur; Yükle’ye tıklamak kurulum komutunu kopyalar — DSH profilinizin yaşadığı bir terminale yapıştırın ve çalıştırın.',
addPluginsViewerDesc: 'Dosya önizleyicileri eklentilerce genişletilebilir. Eklentiler ctx.betterSidebar hizmeti aracılığıyla kaydolur; Yükle’ye tıklamak kurulum komutunu kopyalar — DSH profilinizin yaşadığı bir terminale yapıştırın ve çalıştırın.',
addPluginsBrowseMore: 'GitHub’da daha fazla eklentiye göz atın (topic: dsh-better-sidebar)',
addPluginsSearch: 'Eklenti adı / açıklamasına göre ara…',
addPluginsNoMatch: 'Eşleşen eklenti yok',
addPluginsRecommended: 'Önerilen eklentiler',
addPluginsEmpty: 'Henüz derlenen eklenti yok — eklentinizi GitHub topic’i altında yayınlayın',
openPlugin: 'Aç',
copyInstall: 'Kurulum komutunu kopyala',
pluginOfficeDesc: 'better-sidebar düzenleyicisi için Office üçlüsü önizlemesi (.docx / .xlsx / .pptx); ağır Office oluşturma kitaplıklarını çekirdek paketin dışında tutar, isteğe bağlı kurulur',
pluginFlowglassDesc: 'Canlı oturum akış grafiği: kullanıcı, asistan ve araç çağrıları için üç şeritli kulvar; paralel gruplar, alt aracı dalları, derinlemesine inme ve canlı durum; better-sidebar kuruluyken yerli «Flowglass» sekmesi kaydeder, kurulmadığında bağımsız çekmecesi korunur',
pluginGitForgeDesc: 'Git Forge sekmesi: GitHub/Gitea (ve diğer formlar) hesap kitaplığı + proje başına yetkiler + sıkı itme ilkesi; token’lar yalnızca yerel sırlardadır (asla model bağlamında değil); salt okunur GitForge aracı ve aracı HTTPS kimlik bilgisi yardımcısı',
pluginGitRemotesDesc: 'Git Remotes sekmesi: dal/yukarı akış/ahead-behind, fetch (isteğe bağlı prune), ff-only pull ve yalnızca sekme içi onaydan sonra push. Yerleşik Git sahnele/işle sekmesini değiştirmez; force-push veya model otomatik push aracı sunmaz',
pluginSentinelDesc: 'Koşul odaklı aracı uyandırma: dosya/süreç/port/HTTP/komut/web algılayıcılar koşullar tetiklendiğinde uyuyan oturumları uyandırır; sunucu geneli izleme tablosuyla «Sentinel» sekmesi kaydeder',
pluginSidebarQaDesc: 'Seç ve sor: Sohbet metnini seç → sağ panelde sor → aynı çalışma alanında özel devam oturumu (❓devam·konu): hızlı bir düşünmesiz model ana bağlamı sıkıştırıp alıntıyla birlikte enjekte eder, ana sohbeti bölmez. Devam soruları iç içe geçer, sürdürülebilir ve arşivlenebilir',
pluginSshTunnelDesc: 'SSH Tunnel sekmesi: çok ana makinelik envanter + proje başına yetkiler + yerel sır saklama; SSHManager aracı (exec/SFTP/oturum stratejileri); merkez etkileşimli terminal ve çift panelli SFTP',
pluginTurnReviewDesc: 'Az önce biten turun diff’i için Approve / Request changes insan kapısı: yalnızca son turu inceler, oturumu çatallamaz; dosyalar ana oturum / alt aracı / atfedilmemiş olarak gruplanır, dosya başına işaretle geri çevir + isteğe bağlı yorum, dosyaya tıklayınca tur başlangıcı anlık görüntüsü ile şimdiki diff gösterilir. /rewind değil',
pluginVideoPreviewDesc: 'better-sidebar düzenleyicisinde satır içi video önizlemesi (.mp4/.webm/.mov/.mkv/.avi vb.); HTTP Range (206) destekli özel /video sunucu rotasıyla — ilerleme çubuğu sürükleme çalışır ve 20MB mediaLimit ile sınırlanmaz',
pluginDocsPanelDesc: 'DSH kenar çubuğunda «Genel belgeler»: herhangi bir çalışma alanından kendi Markdown notlarınızı okuyun — dosya listesi, ana hat, Chrome / VS Code’da açma ve kopyalama düğmeleri; belgeler dizini yapılandırılabilir (varsayılan ~/.dsh/docs)',
}