From 002e1e1ff1639cf59437669d20fc37a6d097fe3e Mon Sep 17 00:00:00 2001 From: "M. Tahir YILMAZ" Date: Sat, 13 Jan 2024 13:12:02 +0300 Subject: [PATCH 1/7] feat(lang): add Turkish language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Türkçe dil dosyaları eklendi --- src/lib/dayjs.js | 1 + src/locales/tr/blocks.json | 806 +++++++++++++++++++++++++++++++++++++ src/locales/tr/common.json | 77 ++++ src/locales/tr/newtab.json | 517 ++++++++++++++++++++++++ src/locales/tr/popup.json | 32 ++ src/utils/shared.js | 1 + 6 files changed, 1434 insertions(+) create mode 100644 src/locales/tr/blocks.json create mode 100644 src/locales/tr/common.json create mode 100644 src/locales/tr/newtab.json create mode 100644 src/locales/tr/popup.json diff --git a/src/lib/dayjs.js b/src/lib/dayjs.js index 98dacdb13..0b7e57c41 100644 --- a/src/lib/dayjs.js +++ b/src/lib/dayjs.js @@ -6,6 +6,7 @@ import 'dayjs/locale/vi'; import 'dayjs/locale/fr'; import 'dayjs/locale/it'; import 'dayjs/locale/uk'; +import 'dayjs/locale/tr'; dayjs.extend(relativeTime); diff --git a/src/locales/tr/blocks.json b/src/locales/tr/blocks.json new file mode 100644 index 000000000..11cca28bc --- /dev/null +++ b/src/locales/tr/blocks.json @@ -0,0 +1,806 @@ +{ + "collection": { + "blocks": { + "export-result": { + "name": "Sonucu Dışa Aktar", + "description": "Koleksiyon sonucunu JSON olarak dışa aktar" + } + } + }, + "workflow": { + "blocks": { + "base": { + "title": "Bloklar", + "moveToGroup": "Bloğu bloklar grubuna taşı", + "selector": "Öğe seçici", + "selectorOptions": "Seçici seçenekleri", + "timeout": "Zaman aşımı (milisaniye)", + "noPermission": "Automa, bu işlemi gerçekleştirmek için yeterli izne sahip değil", + "grantPermission": "İzni ver", + "action": "Eylem", + "element": { + "select": "Bir Öğe seç", + "verify": "Seçiciyi doğrula" + }, + "settings": { + "title": "Bloğun Ayarları", + "blockTimeout": { + "title": "Bloğun yürütme zaman aşımı (milisaniye)", + "description": "Bloğun maksimum yürütme süresi (0 devre dışı bırakmak için)" + }, + "line": { + "title": "Satırlar", + "label": "Etiket", + "animated": "Animasyonlu", + "select": "Satırı seç", + "to": "{name} bloğuna giden satır", + "lineColor": "Renk" + } + }, + "toggle": { + "enable": "Bloğu etkinleştir", + "disable": "Bloğu devre dışı bırak" + }, + "onError": { + "info": "Bu kurallar, blokta bir hata oluştuğunda uygulanacaktır", + "button": "Hata durumunda", + "title": "Hata oluştuğunda", + "retry": "Eylemi tekrar dene", + "fallbackTitle": "Blokte hata oluştuğunda çalıştırılacak", + "times": { + "name": "Kez", + "description": "Eylemi tekrar denemek için kaç kez" + }, + "interval": { + "name": "Aralık", + "description": "Her deneme arasında beklenen süre", + "second": "saniye" + }, + "toDo": { + "error": "Hata fırlat", + "continue": "Akışa devam et", + "fallback": "Alternatif çalıştır", + "restart": "Akışı yeniden başlat" + }, + "insertData": { + "name": "Veri ekle" + } + }, + "table": { + "checkbox": "Tabloya ekle", + "select": "Sütunu seç", + "extraRow": { + "checkbox": "Ek satır ekle", + "placeholder": "Değer", + "title": "Ek satırın değeri" + } + }, + "findElement": { + "placeholder": "Öğeyi şunun ile bul", + "options": { + "cssSelector": "CSS Seçici", + "xpath": "XPath" + } + }, + "markElement": { + "title": "Daha önce seçilmişse bir Öğe seçilmeyecek", + "text": "Öğe işaretle" + }, + "multiple": { + "title": "Birden çok öğe seç", + "text": "Çoklu" + }, + "waitSelector": { + "title": "Seçiciyi bekle", + "timeout": "Seçici zaman aşımı (ms)" + }, + "downloads": { + "onConflict": { + "uniquify": "Benzersiz hale getir", + "overwrite": "Üzerine yaz", + "prompt": "Sorma" + } + } + }, + "wait-connections": { + "name": "Bağlantıları Bekle", + "description": "Devam etmeden önce tüm bağlantıları bekleyin", + "specificFlow": "Yalnızca belirli bir akışa devam et", + "selectFlow": "Akışı seç" + }, + "cookie": { + "name": "Çerez", + "description": "Çerezleri al, ayarla veya kaldır", + "types": { + "get": "Çerezleri al", + "set": "Çerez ayarla", + "remove": "Çerezleri kaldır", + "getAll": "Tüm çerezleri al" + }, + "useJson": "JSON formatını kullan" + }, + "note": { + "name": "Not" + }, + "slice-variable": { + "name": "Değişkeni Dilimle", + "description": "Bir değişken değerinin bir bölümünü çıkarır", + "start": "Başlangıç dizini", + "end": "Bitiş dizini" + }, + "workflow-state": { + "name": "İş Akışı Durumu", + "description": "İş akışı durumlarını yönet", + "actions": { + "stop": "İş akışlarını durdur" + } + }, + "regex-variable": { + "name": "RegEx Değişkeni", + "description": "Bir değişken değerini bir düzenli ifadeye karşı eşle" + }, + "data-mapping": { + "source": "Kaynak", + "destination": "Hedef", + "name": "Veri Eşleme", + "edit": "Veri haritasını düzenle", + "dataSource": "Veri kaynağı", + "description": "Bir değişkenin veya tablonun verisini eşle", + "addSource": "Kaynak ekle", + "addDestination": "Hedef ekle" + }, + "sort-data": { + "name": "Veriyi Sırala", + "description": "Veri öğelerini sırala", + "property": "Öğenin özelliğine göre sırala", + "addProperty": "Özellik ekle" + }, + "increase-variable": { + "name": "Değişkeni Artır", + "description": "Bir değişkenin değerini belirli bir miktar artır", + "increase": "Artış miktarı" + }, + "notification": { + "name": "Bildirim", + "description": "Bir bildirim görüntüle", + "title": "Başlık", + "message": "Mesaj", + "imageUrl": "Resim URL'si (isteğe bağlı)", + "iconUrl": "Simge URL'si (isteğe bağlı)" + }, + "delete-data": { + "name": "Veriyi Sil", + "description": "Tablo veya değişken verisini sil", + "from": "Şu veriden", + "allColumns": "[Tüm sütunlar]" + }, + "log-data": { + "name": "Günlük Veriyi Al", + "description": "Bir iş akışının en son günlük verisini al", + "data": "Günlük veri" + }, + "tab-url": { + "name": "Sekme URL'sini Al", + "description": "Sekmenin URL'sini al", + "select": "Sekme seç", + "types": { + "active-tab": "Aktif sekme", + "all": "Tüm sekmeler" + }, + "query": { + "title": "Sorgu", + "matchPatterns": "@:workflow.blocks.switch-tab.matchPattern (isteğe bağlı)", + "tabTitle": "Sekme başlığı (isteğe bağlı)" + } + }, + "reload-tab": { + "name": "Sekmeyi Yeniden Yükle", + "description": "Aktif sekme üzerindeki yeniden yükle" + }, + "press-key": { + "name": "Tuşa Bas", + "description": "Bir tuşa veya kombinasyona bas", + "target": "Hedef element (isteğe bağlı)", + "key": "Tuş", + "detect": "Tuşu Algıla", + "actions": { + "press-key": "Tuşa bas", + "multiple-keys": "Birden çok tuşa bas" + }, + "press-time": "Basma süresi (milisaniye)" + }, + "save-assets": { + "name": "Varlıkları Kaydet", + "description": "Bir öğeden veya URL'den varlıkları (resim, video, ses veya dosya) kaydet", + "filename": "Dosya adı (isteğe bağlı)", + "saveDownloadIds": "Öğelerin indirme kimliklerini kaydet", + "contentTypes": { + "title": "Tür", + "element": "Medya öğesi (resim, ses veya video)", + "url": "URL" + } + }, + "handle-dialog": { + "name": "Diyalogu İşle", + "description": "JavaScript başlatılmış bir iletişim kutusunu (uyarı, onay, prompt veya onbeforeunload) kabul eder veya reddeder", + "accept": "Diyalogu Kabul Et", + "promptText": { + "label": "Prompt metni (isteğe bağlı)", + "description": "Kabul etmeden önce prompt ile gireceğiniz metin" + } + }, + "handle-download": { + "name": "İndirmeyi İşle", + "description": "İndirilen dosyayı işle", + "timeout": "Zaman aşımı (milisaniye)", + "noPermission": "İndirmelere erişim izni yok", + "onConflict": "Çakışma durumunda", + "waitFile": "Dosyanın indirilmesini bekle", + "downloadId": "Dosya indirme kimliği (isteğe bağlı)", + "filePath": "Dosya yolu" + }, + "insert-data": { + "name": "Veri Ekleyin", + "description": "Veriyi tabloya veya değişkene ekleyin" + }, + "clipboard": { + "name": "Pano", + "description": "Panodan kopyalanan metni al", + "data": "Pano verisi", + "noPermission": "Panoya erişim izni yok", + "grantPermission": "İzni ver", + "copySelection": "Sayfadaki seçilen metni kopyala", + "types": { + "get": "Panodan veri al", + "insert": "Metni panoya ekle" + } + }, + "hover-element": { + "name": "Öğenin Üzerine Gel", + "description": "Bir öğenin üzerine gel" + }, + "create-element": { + "name": "Öğe Oluştur", + "description": "Bir öğe oluşturun ve sayfaya ekleyin", + "edit": "Öğeyi Düzenle", + "wrap": "Öğeyi içine al", + "insertEl": { + "title": "Öğe Ekle", + "items": { + "before": "İlk çocuk olarak", + "after": "Son çocuk olarak", + "next-sibling": "Sonraki kardeş olarak", + "prev-sibling": "Önceki kardeş olarak", + "replace": "Hedef Öğeyi değiştir" + } + } + }, + "upload-file": { + "name": "Dosya Yükle", + "description": " Öğesine dosya yükle", + "filePath": "URL veya Dosya yolu", + "addFile": "Dosya ekle", + "onlyURL": "Firefox tarayıcısında yalnızca URL'den dosya yükleme desteklenir", + "requirement": "Bu bloku kullanmadan önce gereksinimleri okuyun", + "noFileAccess": "Automa dosyalara erişim izni bulunmamaktadır" + }, + "browser-event": { + "name": "Tarayıcı Olayı", + "description": "Belirtilen olay tetiklendiğinde bir sonraki bloğu yürütür", + "events": "Olaylar", + "timeout": "Zaman aşımı (milisaniye)", + "activeTabLoaded": "Aktif sekme", + "setAsActiveTab": "Aktif sekme olarak ayarla" + }, + "blocks-group-2": { + "name": "@:workflow.blocks.blocks-group.name 2", + "description": "@:workflow.blocks.blocks-group.description" + }, + "blocks-group": { + "name": "Bloklar Grubu", + "groupName": "Grup adı", + "description": "Blokları gruplama", + "dropText": "Bir bloğu buraya sürükleyin", + "cantAdd": "\"{blockName}\" bloğu gruba eklenemiyor" + }, + "trigger": { + "name": "Tetikleyici", + "description": "İş akışının yürütmesine başlayacağı blok", + "addTime": "Zaman ekle", + "selectDay": "Gün seç", + "timeExist": "{day} günü saat {time}'de zaten bir tetikleyici eklediniz", + "fixedDelay": "Sabit gecikme", + "contextMenus": { + "noPermission": "Bu tetikleyici çalışması için \"contextMenus\" iznine ihtiyaç duyar", + "grantPermission": "İzni ver", + "appearIn": "Şurada görünecek", + "contextName": "Bağlam menüsündeki iş akışı adı" + }, + "days": [ + "Pazar", + "Pazartesi", + "Salı", + "Çarşamba", + "Perşembe", + "Cuma", + "Cumartesi" + ], + "useRegex": "Regex kullan", + "shortcut": { + "tooltip": "Kısayol kaydı", + "stopRecord": "Kaydı durdur", + "checkboxTitle": "Giriş öğesindeyken kısayolu çalıştır", + "checkbox": "Girişteyken etkin", + "note": "Not: Klavye kısayolu sadece bir web sayfasında olduğunuzda çalışır" + }, + "forms": { + "triggerWorkflow": "İş akışını tetikle", + "interval": "Aralık (dakika)", + "delay": "Gecikme (dakika)", + "date": "Tarih", + "time": "Saat", + "url": "URL veya Regex", + "shortcut": "Kısayol", + "cron-expression": "Cron ifadesi" + }, + "element-change": { + "target": "İzlenecek hedef öğe", + "optionsInfo": "İş akışını tetikleyecek öğe mutasyonu", + "targetWebsite": "Hedef öğenin bulunduğu web sitesinin Eşleşme Deseni (Daha fazla Eşleşme Deseni örneğini görmek için tıklayın)", + "baseEl": { + "title": "Temel öğe (isteğe bağlı)", + "description": "Bu öğe değiştiğinde Automa hedef öğeyi izlemeyi yeniden başlatır" + }, + "subtree": { + "title": "Alt ağacı dahil et", + "description": "İzlemeyi hedef öğenin tüm alt ağacına genişlet" + }, + "childList": { + "title": "Çocuk listesi", + "description": "Yeni çocuk öğelerin eklenmesini veya mevcut olanların kaldırılmasını izle" + }, + "attributes": { + "title": "Özellikler", + "description": "Hedef öğenin özellik değerlerindeki değişiklikleri izle" + }, + "attributeFilter": { + "title": "Özellik filtresi", + "separate": "Özellik adlarını ayırmak için virgül (,) kullanın", + "description": "Yalnızca belirli özellikleri izle (tümünü izlemek için boş bırakın)" + }, + "characterData": { + "title": "Karakter verisi", + "description": "Hedef öğe içindeki karakter verisinin değişikliklerini izle" + } + }, + "items": { + "manual": "Manuel olarak", + "interval": "Aralık", + "cron-job": "Cron işi", + "date": "Belirli bir tarihte", + "context-menu": "Bağlam menüsü", + "element-change": "öğe değişikliğinde", + "specific-day": "Belirli bir günde", + "visit-web": "Bir web sitesini ziyaret ederken", + "on-startup": "Tarayıcı başlatıldığında", + "keyboard-shortcut": "Klavye kısayolu" + } + }, + "execute-workflow": { + "name": "İş Akışını Yürüt", + "overwriteNote": "Bu, seçilen iş akışının genel verilerini üzerine yazar", + "select": "İş akışını seç", + "executeId": "Yürütme Kimliği (isteğe bağlı)", + "description": "", + "insertAllVars": "Tüm mevcut iş akışı değişkenlerini kullan", + "insertVars": "Mevcut iş akışı değişkenlerini ekle", + "useCommas": "Değişken adını ayırmak için virgül kullan", + "insertAllGlobalData": "Tüm mevcut iş akışı genel verilerini kullan" + }, + "google-sheets-drive": { + "name": "@:workflow.blocks.google-sheets.name (GDrive)", + "description": "@:workflow.blocks.google-sheets.description", + "connected": "Bağlı tablolar", + "select": "Tabloyu seç", + "connect": "Tabloyu bağla" + }, + "google-drive": { + "name": "Google Drive", + "description": "Dosyaları Google Drive'a yükle", + "actions": { + "upload": "Dosyaları yükle" + } + }, + "google-sheets": { + "name": "Google Sheets", + "description": "Google Sheets verilerini oku veya güncelle", + "previewData": "Verileri önizle", + "firstRow": "İlk satırı anahtar olarak kullan", + "keysAsFirstRow": "Anahtarları ilk satır olarak kullan", + "insertData": "Veri ekle", + "valueInputOption": "Değer giriş seçeneği", + "insertDataOption": "Veri ekleme seçeneği", + "rangeToSearch": "Aramaya başlamak için aralık", + "dataFrom": { + "label": "Veri kaynağı", + "options": { + "data-columns": "Tablo", + "custom": "Özel" + } + }, + "refKey": { + "label": "Referans anahtarı (isteğe bağlı)", + "placeholder": "Anahtar adı" + }, + "spreadsheetId": { + "label": "Tablo Kimliği", + "link": "Tablo Kimliği nasıl alınır" + }, + "range": { + "label": "Aralık", + "link": "Daha fazla örnek görmek için tıklayın" + }, + "select": { + "get": "Tablo hücre değerlerini al", + "getRange": "Tablo aralığını al", + "update": "Tablo hücre değerlerini güncelle", + "append": "Tablo hücre değerlerini ekleyin", + "clear": "Tablo hücre değerlerini temizle", + "create": "Tablo oluştur", + "add-sheet": "Sayfa ekle" + } + }, + "active-tab": { + "name": "Aktif sekme", + "description": "Şu anda bulunduğunuz sekme olarak ayarla" + }, + "proxy": { + "name": "Proxy", + "description": "Tarayıcının proxy'sini ayarla", + "clear": "Tüm proxy'leri temizle", + "bypass": { + "label": "Atlatma listesi", + "note": "URL'leri ayırmak için virgül (,) kullanın" + } + }, + "new-window": { + "name": "Yeni pencere", + "description": "Yeni bir pencere oluştur", + "top": "Üst", + "left": "Sol", + "height": "Yükseklik", + "width": "Genişlik", + "note": "Not: Devre dışı bırakmak için 0 kullanın", + "position": "Pencere konumu", + "size": "Pencere boyutu", + "windowState": { + "placeholder": "Pencere durumu", + "options": { + "normal": "Normal", + "küçültülmüş": "Küçültülmüş", + "büyütülmüş": "Büyütülmüş", + "tam ekran": "Tam Ekran" + } + }, + "incognito": { + "text": "Gizli pencere olarak ayarla", + "note": "Bu uzantı için önce 'Gizli modda izin ver' seçeneğini etkinleştirmelisiniz" + } + }, + "go-back": { + "name": "Geri git", + "description": "Önceki sayfaya geri git" + }, + "forward-page": { + "name": "İleri git", + "description": "Sonraki sayfaya ilerle" + }, + "close-tab": { + "name": "Sekmeyi/pencereyi kapat", + "description": "", + "url": "Eşleşme Desenleri", + "activeTab": "Aktif sekmeyi kapat", + "allWindows": "Tüm pencereleri kapat" + }, + "event-click": { + "name": "Öğeye tıkla", + "description": "" + }, + "delay": { + "name": "Gecikme", + "description": "Bir sonraki bloğu yürütmeye geçmeden önce bir gecikme ekler", + "input": { + "title": "Milisaniye cinsinden gecikme", + "placeholder": "(milisaniye)" + } + }, + "parameter-prompt": { + "name": "Parametre İstemi" + }, + "get-text": { + "name": "Metin Al", + "description": "Bir öğeden metin al", + "checkbox": "Tabloya ekle", + "includeTags": "HTML etiketlerini içer", + "prefixText": { + "placeholder": "Metin öneki", + "title": "Metine önek ekle" + }, + "suffixText": { + "placeholder": "Metin son eki", + "title": "Metine son ek ekle" + } + }, + "export-data": { + "name": "Veriyi Dışa Aktar", + "description": "İş akışı verisini dışa aktar", + "exportAs": "Olarak dışa aktar", + "refKey": "Referans anahtarı", + "bomHeader": "UTF-8 BOM ekle", + "dataToExport": { + "placeholder": "Dışa aktarılacak veri", + "options": { + "data-columns": "Tablo", + "google-sheets": "Google Sheets", + "variable": "Değişken" + } + } + }, + "element-scroll": { + "name": "Öğe Kaydır", + "description": "", + "scrollY": "Dikey kaydır", + "scrollX": "Yatay kaydır", + "intoView": "Görünüme kaydır", + "smooth": "Yumuşak kaydırma", + "incScrollX": "Yatay kaydırmayı artır", + "incScrollY": "Dikey kaydırmayı artır" + }, + "switch-tab": { + "name": "Sekme Değiştir", + "description": "Sekmeler arasında geçiş yap", + "matchPattern": "Eşleşme Desenleri", + "url": "Yeni sekme URL'si", + "createIfNoMatch": "Eşleşme yoksa oluştur" + }, + "new-tab": { + "name": "Yeni Sekme", + "description": "", + "url": "Yeni sekme URL'si", + "tab-zoom": "Sekme yakınlaştırma", + "customUserAgent": "Özel Kullanıcı Aracısı kullan", + "activeTab": "Aktif sekme olarak ayarla", + "tabToGroup": "Sekmeyi bir gruba ekle", + "waitTabLoaded": "Sekme yüklenene kadar bekle", + "updatePrevTab": { + "title": "Yeni sekme oluşturmak yerine önceki açılan yeni sekme kullanılsın", + "text": "Daha önce açılan sekme güncelle" + } + }, + "link": { + "name": "Bağlantı", + "description": "Bağlantı öğesini aç", + "openInNewTab": "Yeni sekmede aç" + }, + "attribute-value": { + "name": "Özellik Değeri", + "description": "Bir öğe özelliğinin değerini al", + "forms": { + "name": "Özellik adı", + "checkbox": "Tabloya ekle", + "column": "Sütun seç", + "value": "Özellik değeri", + "action": { + "get": "Özellik değerini al", + "set": "Özellik değerini ayarla" + }, + "extraRow": { + "checkbox": "Ek satır ekle", + "placeholder": "Değer", + "title": "Ek satırın değeri" + } + } + }, + "forms": { + "name": "Formlar", + "description": "", + "selected": "Seçilen", + "type": "Form türü", + "getValue": "Form değerini al", + "text-field": { + "name": "Metin alanı", + "value": "Değer", + "clearValue": "Form değerini temizle", + "delay": { + "placeholder": "Gecikme", + "label": "Yazma gecikmesi (milisaniye)(Devre dışı bırakmak için 0)" + } + }, + "select": { + "name": "Seçim" + }, + "radio": { + "name": "Radyo" + }, + "checkbox": { + "name": "Onay kutusu" + } + }, + "repeat-task": { + "name": "Görevi Yinele", + "description": "", + "times": "kez", + "repeatFrom": "Şuradan tekrarla" + }, + "javascript-code": { + "name": "JavaScript Kodu", + "description": "Web sayfasında JavaScript kodunuzu yürütün", + "availabeFuncs": "Kullanılabilir fonksiyonlar:", + "removeAfterExec": "Bloğu yürütme sonrasında kaldır", + "everyNewTab": "Her yeni sekmede yürüt", + "context": { + "name": "Yürütme bağlamı", + "items": { + "website": "Aktif sekme", + "background": "Arka plan" + } + }, + "modal": { + "tabs": { + "code": "JavaScript kodu", + "preloadScript": "Ön yükleme script'i" + } + }, + "timeout": { + "placeholder": "Zaman aşımı (milisaniye)", + "title": "JavaScript kodu yürütme zaman aşımı" + } + }, + "trigger-event": { + "name": "Olay Tetikleyici", + "description": "", + "selectEvent": "Olayı seç" + }, + "conditions": { + "name": "Koşullar", + "add": "Yol ekle", + "retryConditions": "Koşullar karşılanmazsa tekrar dene", + "description": "Koşullu blok", + "refresh": "Koşul bağlantılarını yenile", + "fallbackTitle": "Tüm karşılaştırmalar gereksinimi karşılamadığında yürütülür", + "equals": "Eşittir", + "gt": "Büyüktür", + "gte": "Büyük veya eşittir", + "lt": "Küçüktür", + "lte": "Küçük veya eşittir", + "ne": "Eşit değildir", + "contains": "İçerir" + }, + "element-exists": { + "name": "Öğe Var Mı?", + "description": "Bir öğenin var olup olmadığını kontrol et", + "selector": "Öğe seçici", + "fallbackTitle": "Öğe var olmadığında yürütülür", + "throwError": "Var olmadığında hata fırlat", + "tryFor": { + "title": "Öğenin var olup olmadığını kontrol etmek için kaç kez deneneceği", + "label": "Deneme süresi" + }, + "timeout": { + "label": "Zaman aşımı (milisaniye)", + "title": "Her deneme için zaman aşımı" + } + }, + "webhook": { + "name": "HTTP İsteği", + "description": "Bir HTTP İsteği yap", + "contentType": "İçerik türü", + "method": "İstek yöntemi", + "url": "İstek URL'si", + "fallback": "HTTP isteği başarısız olduğunda yürütülür", + "buttons": { + "header": "Başlık ekle" + }, + "timeout": { + "placeholder": "Zaman aşımı", + "title": "HTTP isteği yürütme zaman aşımı (ms)" + }, + "tabs": { + "headers": "Başlıklar", + "body": "Gövde", + "response": "Yanıt" + } + }, + "while-loop": { + "name": "While Döngüsü", + "description": "Koşul karşılanırken blokları yürütür, aksi takdirde yürütme", + "editCondition": "Koşulu düzenle", + "fallback": "Koşul yanlış olduğunda yürütülür" + }, + "loop-elements": { + "name": "Öğeleri Döngüle", + "description": "Öğeler arasında yinele", + "loadMore": "Daha fazla öğe yükle", + "scrollToBottom": "En alta kaydır", + "scrollToTop": "En üste kaydır", + "actions": { + "none": "Hiçbiri", + "click-element": "Bir öğeye tıkla", + "scroll": "Aşağı kaydır", + "click-link": "Bir bağlantıya tıkla", + "scroll-up": "Yukarı kaydır" + } + }, + "loop-data": { + "name": "Verileri Döngüle", + "description": "Bir tablo veya özel veri kümesi üzerinde yinele", + "loopId": "Döngü Kimliği", + "refKey": "Referans anahtarı", + "startIndex": "İndexten başla", + "resumeLastWorkflow": "Son iş akışını devam ettir", + "reverse": "Döngü sırasını tersine çevir", + "modal": { + "fileTooLarge": "Dosya düzenlemek için çok büyük", + "maxFile": "Maksimum dosya boyutu 1 MB", + "options": { + "firstRow": "İlk satırı anahtar olarak kullan" + } + }, + "buttons": { + "clear": "Veriyi temizle", + "insert": "Veriyi ekle", + "import": "Dosyayı içe aktar" + }, + "maxLoop": { + "title": "Yinelemek için maksimum veri sayısı", + "label": "Yinelemek için maksimum veri (Devre dışı bırakmak için 0)" + }, + "loopThrough": { + "placeholder": "Şunun üzerinden döngüle", + "fromNumber": "Numaradan", + "toNumber": "Numaraya", + "options": { + "numbers": "Sayılar", + "variable": "Değişken", + "data-columns": "Tablo", + "table": "Tablo", + "custom-data": "Özel veri", + "google-sheets": "Google Sheets", + "elements": "Öğeler" + } + } + }, + "loop-breakpoint": { + "name": "Döngü Kırılma Noktası", + "description": "Döngü Veri bloğunun nerede durması gerektiğini belirtmek için" + }, + "take-screenshot": { + "name": "Ekran Görüntüsü Al", + "fullPage": "Tam sayfa ekran görüntüsü al", + "description": "Şu anda aktif olan sekmenin ekran görüntüsünü al", + "imageQuality": "Resim kalitesi", + "saveToColumn": "Ekran görüntüsünü tabloya ekle", + "saveToComputer": "Ekran görüntüsünü bilgisayara kaydet", + "types": { + "title": "Şunun ekran görüntüsünü al", + "page": "Bir sayfa", + "fullpage": "Tam sayfa", + "element": "Bir öğe" + } + }, + "switch-to": { + "name": "Çerçeve Değiştir", + "description": "Ana pencere ile bir iframe arasında geçiş yap", + "iframeSelector": "Öğe seçici", + "windowTypes": { + "main": "Ana pencere", + "iframe": "Iframe" + } + }, + "debugMode": { + "title": "Hata Ayıklama Modu", + "description": "Bloğu Chrome DevTools Protokolü kullanarak yürüt" + } + } + } +} diff --git a/src/locales/tr/common.json b/src/locales/tr/common.json new file mode 100644 index 000000000..b0632118b --- /dev/null +++ b/src/locales/tr/common.json @@ -0,0 +1,77 @@ +{ + "common": { + "dashboard": "Kontrol Paneli", + "workflow": "İş Akışı | İş Akışları", + "collection": "Koleksiyon | Koleksiyonlar", + "log": "Kayıt | Kayıtlar", + "block": "Blok | Bloklar", + "schedule": "Zamanlama", + "folder": "Klasör | Klasörler", + "new": "Yeni", + "docs": "Belgeler", + "search": "Ara", + "example": "Örnek | Örnekler", + "import": "İçe Aktar", + "export": "Dışa Aktar", + "rename": "Yeniden Adlandır", + "execute": "Çalıştır", + "delete": "Sil", + "cancel": "İptal", + "settings": "Ayarlar", + "options": "Seçenekler", + "confirm": "Onayla", + "name": "Ad", + "all": "Tümü", + "add": "Ekle", + "save": "Kaydet", + "data": "Veri", + "stop": "Durdur", + "sheet": "Sayfa", + "pause": "Duraklat", + "resume": "Devam Et", + "action": "Eylem | Eylemler", + "packages": "Paketler", + "storage": "Depolama", + "editor": "Düzenleyici", + "running": "Çalışıyor", + "globalData": "Global veri", + "fileName": "Dosya adı", + "description": "Açıklama", + "disable": "Devre Dışı Bırak", + "disabled": "Devre Dışı", + "enable": "Etkinleştir", + "fallback": "Yedek", + "update": "Güncelle", + "feature": "Özellik", + "duplicate": "Çoğalt", + "password": "Şifre", + "category": "Kategori", + "optional": "İsteğe Bağlı", + "0disable": "0 ile devre dışı bırak", + "millisecond": "milisaniye | milisaniyeler" + }, + "message": { + "noBlock": "Blok yok", + "noData": "Gösterilecek veri yok", + "noTriggerBlock": "Tetikleyici blok bulunamıyor", + "useDynamicData": "Dinamik veri eklemeyi öğrenin", + "delete": "\"{name}\"'i silmek istediğinizden emin misiniz?", + "empty": "Ups... Herhangi bir öğeniz olmadığı görünüyor", + "maxSizeExceeded": "Dosya boyutu maksimum izin verilen sınırı aştı", + "notSaved": "Gerçekten ayrılmak istiyor musunuz? Kaydedilmemiş değişiklikleriniz var!", + "somethingWrong": "Bir şeyler yanlış gitti", + "limitExceeded": "Sınırı aştınız" + }, + "sort": { + "sortBy": "Sırala", + "name": "Ad", + "createdAt": "Oluşturulma tarihi", + "updatedAt": "Son güncelleme", + "mostUsed": "En çok kullanılan" + }, + "logStatus": { + "stopped": "durduruldu", + "error": "hata", + "success": "başarı" + } +} diff --git a/src/locales/tr/newtab.json b/src/locales/tr/newtab.json new file mode 100644 index 000000000..4b5a35605 --- /dev/null +++ b/src/locales/tr/newtab.json @@ -0,0 +1,517 @@ +{ + "home": { + "viewAll": "Hepsini Görüntüle", + "communities": "Topluluklar" + }, + "welcome": { + "title": "Automa'ya Hoş Geldiniz! 🎉", + "text": "Belgelendirmeyi okuyarak veya Automa Marketplace'deki iş akışlarını göz atarak başlayın.", + "marketplace": "Marketplace" + }, + "packages": { + "name": "Paket | Paketler", + "add": "Paket Ekle", + "icon": "Paket simgesi", + "open": "Paketleri Aç", + "new": "Yeni Paket", + "import": "Paket İçe Aktar", + "set": "Paket Olarak Ayarla", + "settings": { + "asBlock": "Paketi blok olarak ayarla" + }, + "categories": { + "my": "Paketlerim", + "installed": "Yüklenmiş Paketler" + } + }, + "scheduledWorkflow": { + "title": "Zamanlanmış iş akışları", + "nextRun": "Sonraki çalıştırma", + "active": "Aktif", + "refresh": "Yenile", + "schedule":{ + "title": "Zamanlama", + "types": { + "everyDay": "Her gün", + "general": "Her {time}", + "interval": "{time} dakikada bir" + } + } + }, + "storage": { + "title": "Depolama", + "table": { + "add": "Tablo Ekle", + "createdAt": "Oluşturulma Tarihi", + "modifiedAt": "Değiştirilme Tarihi", + "rowsCount": "Satır Sayısı", + "delete": "Tabloyu Sil" + } + }, + "credential": { + "title": "Kimlik Bilgisi | Kimlik Bilgileri", + "add": "Kimlik Bilgisi Ekle", + "use": { + "title": "Kullanılan Kimlik Bilgileri", + "description": "Bu iş akışı bu kimlik bilgilerini kullanıyor" + } + }, + "workflowPermissions": { + "title": "İş Akışı İzinleri", + "description": "Bu iş akışının düzgün çalışması için bu izinlere ihtiyaç duyar", + "contextMenus": { + "title": "Bağlam Menüsü", + "description": "İş akışını bağlam menüsü aracılığıyla yürütmek için" + }, + "clipboardRead": { + "title": "Pano", + "description": "Panodaki verilere erişim sağlamak için" + }, + "notifications": { + "title": "Bildirim", + "description": "Bir bildirim göstermek için" + }, + "downloads": { + "title": "İndir", + "description": "Sayfa varlıklarını kaydetme ve indirilen dosyayı yeniden adlandırma için" + }, + "cookies": { + "title": "Çerezler", + "description": "Çerezleri okuma, ayarlama veya kaldırmak için" + } + }, + "updateMessage": { + "text1": "Automa v{version} sürümüne güncellendi,", + "text2": "yeniliklere göz atın." + }, + "workflows": { + "folder": { + "new": "Yeni Klasör", + "name": "Klasör Adı", + "delete": "Klasörü Sil", + "rename": "Klasörü Yeniden Adlandır" + } + }, + "auth": { + "title": "Kimlik Doğrulama", + "signIn": "Oturum aç", + "username": "Önce kullanıcı adınızı ayarlamanız gerekiyor", + "clickHere": "Buraya tıklayın", + "text": "Bunu yapmadan önce oturum açmanız gerekiyor" + }, + "running": { + "start": "Başlangıç tarihi: {date}", + "message": "Bu yalnızca son 5 günlüğü gösterir" + }, + "settings": { + "theme": "Tema", + "shortcuts": { + "duplicate": "\"{name}\" tarafından zaten kullanılan kısayol" + }, + "editor": { + "title": "Başlık", + "curvature": { + "title": "Çizgi Kıvrımı", + "line": "Çizgi", + "reroute": "Yeniden Yönlendirme", + "rerouteFirstLast": "İlk ve son noktayı yeniden yönlendir" + }, + "arrow": { + "title": "Çizgi oku", + "description": "Çizginin sonuna bir ok ekleyin" + }, + "snapGrid": { + "title": "Izgaraya tutun", + "description": "Bir bloğu taşıdığınızda ızgaraya tutunur" + }, + "saveWhenExecute": { + "title": "İş akışını yürütürken otomatik olarak kaydet", + "description": "İş akışı yürütüldüğünde iş akışı değişiklikleri kaydedilecektir" + } + }, + "deleteLog": { + "title": "İş akışı günlüklerini otomatik sil", + "after": "Şu tarihten sonra sil", + "deleteAfter": { + "never": "Hiçbir Zaman", + "days": "{day} gün" + } + }, + "language": { + "label": "Dil", + "helpTranslate": "Dilinizi bulamıyor musunuz? Çeviriye yardımcı olun.", + "reloadPage": "Değişikliğin etkili olması için sayfayı yenileyin" + }, + "menu": { + "backup": "İş Akışlarını Yedekle", + "editor": "Düzenleyici", + "general": "Genel", + "shortcuts": "Kısayollar", + "about": "Hakkında" + }, + "backupWorkflows": { + "title": "Yerel Yedek", + "invalidPassword": "Geçersiz şifre", + "workflowsAdded": "{count} iş akışı eklenmiştir", + "name": "İş akışları Yedekle", + "needSignin": "İlk önce oturum açmanız gerekiyor", + "backup": { + "button": "Yedekle", + "settings": "Yedekleme ayarları", + "encrypt": "Şifre ile koru", + "schedule": "Yerel yedeklemeyi zamanla" + }, + "restore": { + "title": "İş akışlarını geri yükle", + "button": "Geri Yükle", + "update": "Eğer iş akışı mevcutsa güncelle" + }, + "cloud": { + "buttons": { + "local": "Yerel", + "cloud": "Bulut" + }, + "location": "Konum", + "delete": "Yedeklemeyi Sil", + "title": "Bulut Yedekleme", + "sync": "Senkronize et", + "lastSync": "Son senkronizasyon", + "lastBackup": "Son yedekleme", + "select": "İş akışlarını seçin", + "storedWorkflows": "Bulutta depolanan iş akışları", + "selected": "Seçilen", + "selectText": "Yedeklemek istediğiniz iş akışlarını seçin", + "selectAll": "Hepsini Seç", + "deselectAll": "Hepsinin Seçimini Kaldır", + "needSelectWorkflow": "Yedeklemek istediğiniz iş akışlarını seçmelisiniz" + } + } + }, + "workflow": { + "events": { + "title": "İş Akışı Etkinlikleri", + "add-action": "Eylem Ekle", + "description": "Etkinlik gerçekleştiğinde eylemleri gerçekleştirin.", + "event": "Etkinlik | Etkinlikler", + "action": "Eylem", + "actions": { + "js-code": { + "title": "JS Kodu Çalıştır" + }, + "http-request": { + "title": "HTTP İsteği" + } + }, + "types": { + "finish:success": { + "name": "Tamamlanma (başarılı)", + "description": "İş akışı yürütmesi başarıyla tamamlandı" + }, + "finish:failed": { + "name": "Tamamlanma (hata)", + "description": "İş akışı yürütmesi hata ile tamamlandı" + } + } + }, + "previewMode": { + "title": "Önizleme modu", + "description": "Önizleme modundasınız, yaptığınız değişiklikler kaydedilmeyecek" + }, + "pinWorkflow": { + "pin": "İş Akışını Sabitle", + "unpin": "İş Akışının Sabitlemesini Kaldır", + "pinned": "Sabitlemiş İş Akışları" + }, + "parameters": { + "add": "Parametre Ekle", + "preferInTab": "Giriş parametrelerini sekmede tercih edin" + }, + "my": "İş akışlarım", + "testing": { + "title": "Test Modu", + "nextBlock": "Sonraki Blok", + "startRun": "Çalıştırmayı Başlat", + "disabled": "Önce değişiklikleri kaydedin" + }, + "import": "İş Akışını İçe Aktar", + "new": "Yeni İş Akışı", + "delete": "İş Akışını Sil", + "browse": "İş Akışlarına Göz At", + "name": "İş Akışı Adı", + "rename": "İş Akışını Yeniden Adlandır", + "backupCloud": "İş Akışını Buluta Yedekle", + "add": "İş Akışı Ekle", + "clickToEnable": "Etkinleştirmek için tıklayın", + "toggleSidebar": "Kenar Çubuğunu Aç/Kapat", + "cantEdit": "Paylaşılan iş akışını düzenleyemezsiniz", + "undo": "Geri Al", + "redo": "Yinele", + "autoAlign": { + "title": "Otomatik hizala" + }, + "blocksFolder": { + "title": "Blok Klasörü", + "add": "Klasöre Blok Ekle", + "save": "Klasöre Kaydet" + }, + "searchBlocks": { + "title": "Düzenleyicide Blokları Ara" + }, + "conditionBuilder": { + "title": "Koşul Oluşturucu", + "add": "Koşul Ekle", + "and": "VE", + "or": "VEYA", + "topAwait": "Üst düzey bekleme ve \"automaRefData\" fonksiyonunu destekle" + }, + "host": { + "title": "İş Akışını Barındır", + "set": "Ana İş Akışı olarak ayarla", + "id": "Ana Bilgisayar Kimliği", + "add": "Barındırılan İş Akışı Ekle", + "sync": { + "title": "Senkronize Et", + "description": "Ana iş akışı ile senkronize et" + }, + "messages": { + "hostExist": "Bu ana bilgisayarı zaten eklediniz", + "notFound": "Kimliği \"{id}\" olan barındırılan bir iş akışı bulunamıyor" + } + }, + "type": { + "local": "Yerel", + "shared": "Paylaşılan", + "host": "Ana Bilgisayar" + }, + "unpublish": { + "title": "İş Akışını Yayından Kaldır", + "button": "Yayından Kaldır", + "body": "İş akışını \"{name}\" yayından kaldırmak istediğinizden emin misiniz?" + }, + "share": { + "url": "Paylaş URL", + "publish": "Yayınla", + "sharedAs": "Şu şekilde paylaşıldı: \"{name}\"", + "title": "İş Akışını Paylaş", + "download": "İş akışını yerel olarak kaydet", + "edit": "Açıklamayı düzenle", + "fetchLocal": "Yerel iş akışını getir", + "update": "Güncelle", + "unpublish": "Yayından kaldır" + }, + "variables": { + "title": "Değişken | Değişkenler", + "name": "Değişken adı", + "assign": "Değişken ata" + }, + "protect": { + "title": "İş akışını koru", + "remove": "Korumayı kaldır", + "button": "Koruma", + "note": "Not: Bu şifre, iş akışını daha sonra düzenlemek veya silmek için gereklidir." + }, + "locked": { + "title": "Bu İş Akışı Korunuyor", + "body": "Kilidini açmak için şifreyi girin", + "unlock": "Kilidi aç", + "messages": { + "incorrect-password": "Yanlış şifre" + } + }, + "state": { + "executeBy": "\"{name}\" tarafından yürütülen" + }, + "table": { + "title": "Tablo | Tablolar", + "placeholder": "Arama veya sütun ekle", + "select": "Sütun seç", + "column": { + "name": "Sütun adı", + "type": "Veri türü" + } + }, + "sidebar": { + "workflowIcon": "İş akışı simgesi" + }, + "editor": { + "zoomIn": "Yaklaştır", + "zoomOut": "Uzaklaştır", + "resetZoom": "Yakınlaştırmayı sıfırla", + "duplicate": "Çoğalt", + "copy": "Kopyala", + "paste": "Yapıştır", + "group": "Blokları grupla", + "ungroup": "Blokları gruplamayı kaldır" + }, + "settings": { + "saveLog": "İş akışı günlüğünü kaydet", + "executedBlockOnWeb": "Web sayfasında yürütülen blokları göster", + "notification": { + "title": "İş akışı bildirimi", + "description": "İş akışı durumunu (başarılı veya başarısız) yürütüldükten sonra göster", + "noPermission": "Bu seçenek, çalışması için \"bildirimler\" iznine ihtiyaç duyar" + }, + "publicId": { + "title": "İş akışı genel kimliği", + "description": "İş akışını bir JavaScript özel etkinlik aracılığıyla yürütmek için genel bir kimlik belirleyin" + }, + "defaultColumn": { + "title": "Varsayılan sütuna ekle", + "description": "Bloktaki sütun seçilmediyse veriyi varsayılan sütuna ekleyin", + "name": "Varsayılan sütun adı" + }, + "autocomplete": { + "title": "Otomatik tamamlama", + "description": "Giriş bloğunda otomatik tamamlamayı etkinleştirin (Automa'nın kararsız hale gelirse devre dışı bırakın)" + }, + "clearCache": { + "title": "Önbelleği temizle", + "description": "İş akışının önbelleğini (durum ve döngü indeksi) temizleme", + "info": "İş akışı önbelleği başarıyla temizlendi", + "btn": "Temizle" + }, + "reuseLastState": { + "title": "Son iş akışının durumunu yeniden kullan", + "description": "En son yürütülen iş akışındaki durum verilerini (tablo, değişkenler ve genel veri) kullanma" + }, + "debugMode": { + "title": "Hata ayıklama modu", + "description": "İş akışını Chrome DevTools Protokolü kullanarak yürütme" + }, + "restartWorkflow": { + "for": "Yeniden başlatma süresi", + "times": "Zamanlar", + "description": "İş akışının kaç kez yeniden başlatılacağının maksimum sayısı" + }, + "onError": { + "title": "İş akışında hata durumunda", + "description": "İş akışında bir hata oluştuğunda alınacak aksiyonu ayarlayın", + "items": { + "keepRunning": "Çalışmaya devam et", + "stopWorkflow": "İş akışını durdur", + "restartWorkflow": "İş akışını yeniden başlat" + } + }, + "timeout": { + "title": "İş akışı zaman aşımı (milisaniye)" + }, + "blockDelay": { + "title": "Bloklar arası gecikme (milisaniye)", + "description": "Her bloğu yürütmeden önce gecikme ekle" + }, + "tabLoadTimeout": { + "title": "Sekme yükleme zaman aşımı", + "description": "Bir sekmenin yüklenme süresi için maksimum süre milisaniye cinsinden, zaman aşımını devre dışı bırakmak için 0 girin" + } + } + }, + "collection": { + "description": "İş akışlarınızı sırayla yürütün", + "new": "Yeni koleksiyon", + "delete": "Koleksiyonu sil", + "add": "Koleksiyon ekle", + "rename": "Koleksiyonu yeniden adlandır", + "flow": "Akış", + "dragDropText": "Bir iş akışını veya bloğu buraya bırakın", + "options": { + "atOnce": { + "title": "Koleksiyondaki tüm iş akışlarını aynı anda yürüt", + "description": "Bu seçenek kullanıldığında bloklar çalışmaz" + } + }, + "globalData": { + "note": "Bu, iş akışının genel verisini üzerine yazar" + } + }, + "log": { + "flowId": "Akış Kimliği", + "goBack": "\"{name}\"'in günlüklerine geri dön", + "goWorkflow": "İş akışına git", + "startedDate": "Başlangıç tarihi", + "duration": "Süre", + "selectAll": "Tümünü seç", + "deselectAll": "Tümünü iptal et", + "deleteSelected": "Seçilen günlükleri sil", + "clearLogs": { + "title": "Günlükleri temizle", + "description": "Tüm günlükleri silmek istediğinizden emin misiniz?" + }, + "types": { + "stop": "İş akışı durduruldu", + "finish": "Tamamlandı" + }, + "messages": { + "url-empty": "URL boş", + "invalid-url": "URL geçerli değil", + "conditions-empty": "Koşullar boş", + "invalid-proxy-host": "Geçersiz proxy ana bilgisayar", + "workflow-disabled": "İş akışı devre dışı", + "selector-empty": "Eleman seçici boş", + "invalid-body": "İçerik gövdesi geçerli bir JSON değil", + "invalid-active-tab": "\"{url}\" geçerli bir URL değil", + "empty-spreadsheet-id": "Tablo Kimliği boş", + "invalid-loop-data": "Döngü için geçersiz veri", + "empty-workflow": "İlk önce bir iş akışı seçmelisiniz", + "active-tab-removed": "İş akışı etkin sekmesi kaldırıldı", + "empty-spreadsheet-range": "Tablo aralığı boş", + "stop-timeout": "İş akışı zaman aşımı nedeniyle durduruldu", + "no-file-access": "Automa'nın dosyaya erişimi yok", + "no-workflow": "ID \"{workflowId}\" ile bir iş akışı bulunamıyor", + "no-match-tab": "\"{pattern}\" deseniyle eşleşen bir sekme bulunamıyor", + "no-clipboard-acces": "Pano erişim izni yok", + "browser-not-supported": "Bu özellik {browser} tarayıcısında desteklenmiyor", + "element-not-found": "\"{selector}\" seçici ile bir öğe bulunamıyor", + "no-permission": "\"{permission}\" iznine sahip değil, bu işlemi gerçekleştirmek için iznin yok", + "not-iframe": "\"{selector}\" seçiciye sahip öğe bir iframe öğesi değil", + "iframe-not-found": "\"{selector}\" seçici ile bir iframe öğesi bulunamıyor", + "workflow-infinite-loop": "Sonsuz döngüyü önlemek için iş akışı yürütülemedi", + "not-debug-mode": "Bu bloğun düzgün çalışması için iş akışının hata ayıklama modunda çalışması gerekir", + "no-iframe-id": "\"{selector}\" seçiciye sahip iframe öğesi için Çerçeve ID bulunamıyor", + "no-tab": "Bir sekme ile bağlantı kurulamıyor, \"{name}\" bloğunu kullanmadan önce \"Yeni sekme\" veya \"Etkin sekme\" bloğunu kullanın" + }, + "description": { + "text": "{status} tarihinde {date} süresince {duration}", + "status": { + "success": "Başarılı", + "error": "Başarısız", + "stopped": "Durduruldu" + } + }, + "delete": { + "title": "Günlüğü sil", + "description": "Tüm seçilen günlükleri silmek istediğinizden emin misiniz?" + }, + "exportData": { + "title": "Veriyi dışa aktar", + "types": { + "json": "JSON", + "csv": "CSV", + "plain-text": "Düz metin" + } + }, + "filter": { + "title": "Filtrele", + "byStatus": "Duruma göre", + "byDate": { + "title": "Tarihe göre", + "items": { + "lastDay": "Son gün", + "last7Days": "Son yedi gün", + "last30Days": "Son otuz gün" + } + } + } + }, + "components": { + "pagination": { + "text1": "Gösteriliyor", + "text2": "{count} öğe dışında", + "nextPage": "Sonraki sayfa", + "currentPage": "Geçerli sayfa", + "prevPage": "Önceki sayfa", + "of": "toplam {page}" + } + } + + +} diff --git a/src/locales/tr/popup.json b/src/locales/tr/popup.json new file mode 100644 index 000000000..cbab809c2 --- /dev/null +++ b/src/locales/tr/popup.json @@ -0,0 +1,32 @@ +{ + "recording": { + "stop": "Kaydı Durdur", + "title": "Kayıt" + }, + "home": { + "record": { + "title": "İş Akışı Kaydı", + "button": "Kayıt", + "name": "İş Akışı Adı", + "selectBlock": "Başlamak için bir blok seçin", + "anotherBlock": "Bu bloktan başlatılamaz", + "tabs": { + "new": "Yeni İş Akışı", + "existing": "Mevcut İş Akışı" + } + }, + "elementSelector": { + "name": "EÖğe Seçici", + "noAccess": "Bu siteye erişim izniniz yok" + }, + "workflow": { + "new": "Yeni İş Akışı", + "rename": "İş Akışını Yeniden Adlandır", + "delete": "İş Akışını Sil", + "type": { + "host": "Ana Bilgisayar", + "local": "Yerel" + } + } + } +} diff --git a/src/utils/shared.js b/src/utils/shared.js index bfaa75b12..78c1ad059 100644 --- a/src/utils/shared.js +++ b/src/utils/shared.js @@ -1582,6 +1582,7 @@ export const supportLocales = [ { id: 'vi', name: 'Tiếng Việt' }, { id: 'zh', name: '简体中文' }, { id: 'zh-TW', name: '繁體中文' }, + { id: 'tr', name: 'Türkçe' }, ]; export const communities = [ From a7c5bc0ca8c70d5cd2b5354a86f75c6ad65899eb Mon Sep 17 00:00:00 2001 From: Medoo48 <122442342+Medoo48@users.noreply.github.com> Date: Mon, 5 Feb 2024 12:12:44 +0000 Subject: [PATCH 2/7] feat(uk) fix typo in shared.js --- src/utils/shared.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/shared.js b/src/utils/shared.js index bfaa75b12..9d7f34cbc 100644 --- a/src/utils/shared.js +++ b/src/utils/shared.js @@ -1578,7 +1578,7 @@ export const supportLocales = [ { id: 'en', name: 'English' }, { id: 'fr', name: 'Français' }, { id: 'it', name: 'Italiano' }, - { id: 'uk', name: 'Україньська' }, + { id: 'uk', name: 'Українська' }, { id: 'vi', name: 'Tiếng Việt' }, { id: 'zh', name: '简体中文' }, { id: 'zh-TW', name: '繁體中文' }, From 55250c80767c0d6d5e898860de9ab9063ac2d10e Mon Sep 17 00:00:00 2001 From: Ahmad Kholid Date: Tue, 6 Feb 2024 12:20:58 +0800 Subject: [PATCH 3/7] feat: support number and string variable value in loop data block (#1631) --- .../blocksHandler/handlerLoopData.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/workflowEngine/blocksHandler/handlerLoopData.js b/src/workflowEngine/blocksHandler/handlerLoopData.js index 073aa6e61..746c8df33 100644 --- a/src/workflowEngine/blocksHandler/handlerLoopData.js +++ b/src/workflowEngine/blocksHandler/handlerLoopData.js @@ -29,14 +29,29 @@ async function loopData({ data, id }, { refData }) { 'data-columns': () => refData.table, 'google-sheets': () => refData.googleSheets[data.referenceKey], variable: () => { - const variableVal = objectPath.get( + let variableVal = objectPath.get( refData.variables, data.variableName ); if (Array.isArray(variableVal)) return variableVal; - return parseJSON(variableVal, variableVal); + variableVal = parseJSON(variableVal, variableVal); + + switch (typeof variableVal) { + case 'string': + variableVal = variableVal.split(''); + break; + case 'number': + variableVal = Array.from( + { length: variableVal }, + (_, index) => index + 1 + ); + break; + default: + } + + return variableVal; }, elements: async () => { const findBy = isXPath(data.elementSelector) From e13ffa343d57826d0c68b1f661c2cf80b5971de9 Mon Sep 17 00:00:00 2001 From: Ahmad Kholid Date: Tue, 6 Feb 2024 13:34:14 +0800 Subject: [PATCH 4/7] fix: disabled workflow trigger got registered (#1633) --- src/background/BackgroundWorkflowTriggers.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/background/BackgroundWorkflowTriggers.js b/src/background/BackgroundWorkflowTriggers.js index d920717ee..6ccd52926 100644 --- a/src/background/BackgroundWorkflowTriggers.js +++ b/src/background/BackgroundWorkflowTriggers.js @@ -186,6 +186,9 @@ class BackgroundWorkflowTriggers { } for (const currWorkflow of workflowsArr) { + // eslint-disable-next-line no-continue + if (currWorkflow.isDisabled) continue; + let triggerBlock = currWorkflow.trigger; if (!triggerBlock) { From ac13c3faa1041b4dd2837dbdfeb86312315a7a75 Mon Sep 17 00:00:00 2001 From: Ahmad Kholid Date: Tue, 6 Feb 2024 14:09:09 +0800 Subject: [PATCH 5/7] fix: frame id not found error when iframe redirect (#1640) --- .../blocksHandler/handlerSwitchTo.js | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/workflowEngine/blocksHandler/handlerSwitchTo.js b/src/workflowEngine/blocksHandler/handlerSwitchTo.js index 1c316956f..2f97e46eb 100644 --- a/src/workflowEngine/blocksHandler/handlerSwitchTo.js +++ b/src/workflowEngine/blocksHandler/handlerSwitchTo.js @@ -1,4 +1,4 @@ -import { objectHasKey, sleep } from '@/utils/helper'; +import { sleep } from '@/utils/helper'; import { getFrames } from '../helper'; async function switchTo(block) { @@ -31,14 +31,29 @@ async function switchTo(block) { const frames = await getFrames(this.activeTab.id); - if (objectHasKey(frames, url)) { - this.activeTab.frameId = frames[url]; + let frameId = frames[url] ?? null; + if (frameId === null) { + // Incase the iframe is redirect + frameId = Object.entries(frames).find(([frameURL]) => { + try { + const currFramePathName = new URL(url).pathname; + const framePathName = new URL(frameURL).pathname; + + return currFramePathName === framePathName; + } catch (error) { + return false; + } + })?.[1]; + } + + if (frameId !== null) { + this.activeTab.frameId = frameId; await sleep(1000); return { - data: this.activeTab.frameId, nextBlockId, + data: this.activeTab.frameId, }; } From 3f5604ce09fec7c79a94ace8f2cd423b64cf63df Mon Sep 17 00:00:00 2001 From: Ahmad Kholid Date: Tue, 6 Feb 2024 14:22:27 +0800 Subject: [PATCH 6/7] fix: styling when dragging workflow card using mouse --- package.json | 2 +- src/components/newtab/workflows/WorkflowsLocal.vue | 14 +++++++++++++- yarn.lock | 8 ++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 18192ccfd..731b2b4b6 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@tiptap/pm": "^2.0.4", "@tiptap/starter-kit": "^2.0.4", "@tiptap/vue-3": "^2.0.4", - "@viselect/vanilla": "^3.2.5", + "@viselect/vanilla": "^3.5.0", "@vue-flow/background": "^1.2.0", "@vue-flow/core": "^1.23.0", "@vue-flow/minimap": "^1.2.0", diff --git a/src/components/newtab/workflows/WorkflowsLocal.vue b/src/components/newtab/workflows/WorkflowsLocal.vue index c135fda37..acf215402 100644 --- a/src/components/newtab/workflows/WorkflowsLocal.vue +++ b/src/components/newtab/workflows/WorkflowsLocal.vue @@ -174,6 +174,9 @@ const selection = new SelectionArea({ startareas: ['.workflows-list'], boundaries: ['.workflows-list'], selectables: ['.local-workflow'], + behaviour: { + overlap: 'invert', + }, }); selection .on('beforestart', ({ event }) => { @@ -184,7 +187,8 @@ selection }) .on('start', () => { /* eslint-disable-next-line */ - clearSelectedWorkflows(); + clearSelectedWorkflows(); + document.body.style.userSelect = 'none'; }) .on('move', (event) => { event.store.changed.added.forEach((el) => { @@ -198,6 +202,7 @@ selection state.selectedWorkflows = event.store.selected.map( (el) => el.dataset?.workflow ); + document.body.style.userSelect = ''; }); const filteredWorkflows = computed(() => { @@ -422,3 +427,10 @@ onBeforeUnmount(() => { window.removeEventListener('keydown', deleteSelectedWorkflows); }); + diff --git a/yarn.lock b/yarn.lock index ab320c695..c80ee64bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1811,10 +1811,10 @@ hookable "^5.5.3" unhead "1.3.9" -"@viselect/vanilla@^3.2.5": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@viselect/vanilla/-/vanilla-3.3.1.tgz#ec4276b0814157b7ffe8ac1f28fdd70df36e1d76" - integrity sha512-QqkPGV+uyteX/HqzhHp5ZRfpVYiA0A3umh8HT/nfoBKccoA/kiTdI+5B/8ZPijtanBj9NNymMMPCn0W+/BeEyg== +"@viselect/vanilla@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@viselect/vanilla/-/vanilla-3.5.0.tgz#3be43b7f335712bc4ee5fcd5d2b68a525d1b6c4a" + integrity sha512-drPkEQ/0CZl/c7D0gx5lWkY6iCdbyJm6KWFJpY2oQEKEnCrW9LUdQOsbNP/RG2L8BNUaiDBmwyTTW2RYIroZhA== "@vue-flow/background@^1.2.0": version "1.2.0" From 6377227dc169e478e6bf7fc865fde78b59a6d605 Mon Sep 17 00:00:00 2001 From: Ahmad Kholid Date: Tue, 6 Feb 2024 14:27:59 +0800 Subject: [PATCH 7/7] v1.28.27 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 731b2b4b6..60427e748 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "automa", - "version": "1.28.26", + "version": "1.28.27", "description": "An extension for automating your browser by connecting blocks", "repository": { "type": "git",