diff --git a/docs/contributing-to-translations.md b/docs/contributing-to-translations.md index 4982d52f5..b1ca34a5b 100644 --- a/docs/contributing-to-translations.md +++ b/docs/contributing-to-translations.md @@ -84,6 +84,7 @@ Almost all translations are small. The only exceptions to this are the keys `:tu * Some translations may include punctuation like `:` or `!`. When translating them, please use the punctuation that makes the most sense for your language as you don't have to follow the English ones. * Some translations may include arguments/interpolations e.g. `{1}`. If you see them in a translation, be sure to include them. These arguments are substituted in the string and are usually used something the app needs to calculate e.g. a number. See [these docs](https://github.com/tonsky/tongue#interpolation) for more examples. +* Rarely, a translation may need to translate formatted text by returning [hiccup-style HTML](https://github.com/weavejester/hiccup#syntax). In this case, a Clojure function is the recommended approach. For example, a function translation would look like `(fn [] [:div "FOO"])`. See `:on-boarding/main-title` for an example. ## Fix Mistakes There is a lint command to catch common translation mistakes - `bb diff --git a/src/main/frontend/components/onboarding/setups.cljs b/src/main/frontend/components/onboarding/setups.cljs index f2e213add..1a997a92a 100644 --- a/src/main/frontend/components/onboarding/setups.cljs +++ b/src/main/frontend/components/onboarding/setups.cljs @@ -19,7 +19,7 @@ [clojure.string :as string] [goog.object :as gobj])) -(defonce DEVICE (if (util/mobile?) "phone" "computer")) +(def DEVICE (if (util/mobile?) (t :on-boarding/section-phone) (t :on-boarding/section-computer))) (rum/defc setups-container [flag content] @@ -30,7 +30,7 @@ [:h1.text-xl (if picker? - [:span [:strong (ui/icon "heart")] (t :on-boarding/main-title) [:strong "Logseq!"]] + [:span [:strong (ui/icon "heart")] (t :on-boarding/main-title)] [:span [:strong (ui/icon "file-import")] (t :on-boarding/importing-main-title)])] [:h2 @@ -106,7 +106,7 @@ [:small.opacity-60 (t :on-boarding/section-desc)]]] [:p.text-sm.pt-5.tracking-wide - [:span (str (t :on-boarding/section-tip-1) DEVICE ".")] + [:span (str (t :on-boarding/section-tip-1 DEVICE))] [:br] [:span (t :on-boarding/section-tip-2)]] diff --git a/src/resources/dicts/en.edn b/src/resources/dicts/en.edn index 66644be47..39cb7bef0 100644 --- a/src/resources/dicts/en.edn +++ b/src/resources/dicts/en.edn @@ -44,17 +44,19 @@ :on-boarding/importing-roam-desc "Import a JSON Export of your Roam graph" :on-boarding/importing-lsq-desc "Import an EDN or a JSON Export of your Logseq graph" :on-boarding/importing-opml-desc " Import OPML files" - :on-boarding/main-title "Welcome to " + :on-boarding/main-title (fn [] ["Welcome to " [:strong "Logseq!"]]) :on-boarding/main-desc "First you need to choose a folder where Logseq will store your thoughts, ideas, notes." :on-boarding/section-btn-title "Choose a folder" :on-boarding/section-btn-desc "Open existing directory or Create a new one" :on-boarding/section-title "How Logseq saves your work" :on-boarding/section-desc "Inside the directory you choose, Logseq will create 4 folders." - :on-boarding/section-tip-1 "Each page is a file stored only on your " + :on-boarding/section-tip-1 "Each page is a file stored only on your {1}." :on-boarding/section-tip-2 "You may choose to sync it later." :on-boarding/section-assets "Graphics & Documents" + :on-boarding/section-computer "computer" :on-boarding/section-journals "Daily notes" :on-boarding/section-pages "PAGES" + :on-boarding/section-phone "phone" :on-boarding/section-app "APP Internal" :on-boarding/section-config "Config File" :bug-report/main-title "Bug report" diff --git a/src/resources/dicts/tr.edn b/src/resources/dicts/tr.edn index 21331f744..81968911a 100644 --- a/src/resources/dicts/tr.edn +++ b/src/resources/dicts/tr.edn @@ -10,13 +10,76 @@ :on-boarding/new-graph-desc-4 "/pages - diğer sayfalarınız saklanır" :on-boarding/new-graph-desc-5 "/logseq - yapılandırma, custom.css ve bazı meta veriler saklanır." :on-boarding/welcome-whiteboard-modal-title "Düşünceleriniz için yeni bir tuval." - :on-boarding/welcome-whiteboard-modal-description "Beyaz tahtalar, fikir üretme ve düzenleme için harika bir araçtır. Şimdi bilgi tabanınızdaki düşüncelerinizi ya da yenilerini birbirleriyle yan yana getirerek, bağlantı kurabilir, ilişkilendirebilir ve yeni yöntemlerle anlayabilirsiniz." + :on-boarding/welcome-whiteboard-modal-description "Beyaz tahtalar, fikir üretmek ve düzenlemek için harika bir araçtır. Şimdi bilgi tabanınızdaki ya da yeni düşüncelerinizi birbirleriyle yan yana getirerek, bağlayabilir, ilişkilendirebilir ve yeni yöntemlerle anlayabilirsiniz." :on-boarding/welcome-whiteboard-modal-skip "Atla" :on-boarding/welcome-whiteboard-modal-start "Beyaz tahtaya başla" :on-boarding/tour-whiteboard-home "{1} Beyaz tahtalarınız için giriş sayfasıdır" :on-boarding/tour-whiteboard-home-description "Beyaz tahtalar uygulamada kendi bölümlerine sahiptir ve onları bir bakışta görebilir, kolayca yenilerini oluşturabilir veya silebilirsiniz." :on-boarding/tour-whiteboard-new "{1} Yeni beyaz tahta oluştur" :on-boarding/tour-whiteboard-new-description "Yeni bir beyaz tahta oluşturmanın birçok yolu vardır. Bunlardan biri her zaman tam burada bu panodadır." + :on-boarding/tour-whiteboard-btn-next "Sonraki" + :on-boarding/tour-whiteboard-btn-back "Önceki" + :on-boarding/tour-whiteboard-btn-finish "Son" + :on-boarding/quick-tour-btn-next "Sonraki" + :on-boarding/quick-tour-btn-back "Önceki" + :on-boarding/quick-tour-btn-finish "Son" + :on-boarding/quick-tour-btn-skip "Hızlı Turu Atla" + :on-boarding/quick-tour-steps "ADIM: " + :on-boarding/quick-tour-help-title "❓ Yardım" + :on-boarding/quick-tour-help-desc "Logseq ile ilgili yardım ve diğer bilgiler için her zaman buraya tıklayabilirsiniz." + :on-boarding/quick-tour-journal-page-title "📆 Günlük Sayfası" + :on-boarding/quick-tour-journal-page-desc-1 "Bu, bugünün günlük sayfasıdır. Buraya düşüncelerinizi, öğrendiklerinizi ve fikirlerinizi yazabilirsiniz. Organize olma konusunda endişelenmeyin." + :on-boarding/quick-tour-journal-page-desc-2 " Sadece düşüncelerinizi yazın ve" + :on-boarding/quick-tour-journal-page-desc-3 " birbirine [[bağlayın]]." + :on-boarding/quick-tour-left-sidebar-title "👀 Sol Kenar Çubuğu" + :on-boarding/quick-tour-left-sidebar-desc "Logseq uygulamasındaki önemli menü ögelerini keşfetmek için sol kenar çubuğunu açın." + :on-boarding/quick-tour-favorites-title "⭐️ Sık Kullanılanlar" + :on-boarding/quick-tour-favorites-desc-1 "En sevdiğiniz sayfaları herhangi bir sayfadaki `...` menüsü aracılığıyla sabitleyin." + :on-boarding/quick-tour-favorites-desc-2 "Başlamanıza yardımcı olmak için buraya bazı şablon sayfaları da ekledik. Kendi notlarınızı yazmaya başladıktan sonra bunları kaldırabilirsiniz." + :on-boarding/command-palette-quick-tour "Katılım için hızlı tur" + :on-boarding/importing-main-title "Mevcut notları içeri aktarın" + :on-boarding/importing-main-desc "Bunu daha sonra uygulamayı kullanırken de yapabilirsiniz." + :on-boarding/importing-title "Şu anda içeri aktarmak istediğiniz notlarınız var mı?" + :on-boarding/importing-desc "JSON, EDN veya Markdown biçimindelerse, Logseq onlarla çalışabilir." + :on-boarding/importing-roam-desc "Roam grafınızın JSON dosyasını içeri aktarın" + :on-boarding/importing-lsq-desc "Logseq grafınızın EDN veya JSON dosyasını içeri aktarın" + :on-boarding/importing-opml-desc " OPML dosyalarını içeri aktarın" + :on-boarding/main-title (fn [] [[:strong "Logseq'e"] " Hoş Geldiniz!"]) + :on-boarding/main-desc "Öncelikle Logseq'in düşüncelerinizi, fikirlerinizi, notlarınızı saklayacağı bir klasör seçmeniz gerekir." + :on-boarding/section-btn-title "Bir klasör seçin" + :on-boarding/section-btn-desc "Mevcut dizini açın veya yeni bir dizin oluşturun" + :on-boarding/section-title "Logseq çalışmalarınızı nasıl kaydeder?" + :on-boarding/section-desc "Seçtiğiniz dizinin içinde Logseq 4 tane klasör oluşturacaktır." + :on-boarding/section-tip-1 "Her sayfa yalnızca {1} depolanan bir dosyadır." + :on-boarding/section-tip-2 "Daha sonra eşitlemeyi seçebilirsiniz." + :on-boarding/section-assets "Grafikler ve Belgeler" + :on-boarding/section-computer "bilgisayarınızda" + :on-boarding/section-journals "Günlük notlar" + :on-boarding/section-pages "Sayfalar" + :on-boarding/section-phone "telefonunuzda" + :on-boarding/section-app "Uygulama Dosyaları" + :on-boarding/section-config "Yapılandırma Dosyası" + :bug-report/main-title "Hata raporu" + :bug-report/main-desc "Bir hata raporu göndererek bize yardımcı olabilir misiniz? Mümkün olan en kısa sürede çözmeye çalışacağız." + :bug-report/section-clipboard-title "Karşılaştığınız hata bu özelliklerle mi ilgili?" + :bug-report/section-clipboard-desc "Bize ek bilgi vermek için bu kullanışlı araçları kullanabilirsiniz." + :bug-report/section-clipboard-btn-title "Pano yardımcısı" + :bug-report/section-clipboard-btn-desc "Pano verilerini inceleyin ve toplayın" + :bug-report/section-issues-title "Veya..." + :bug-report/section-issues-desc "Ek bilgi toplamak için kullanabileceğiniz herhangi bir araç yoksa, lütfen hatayı doğrudan bildirin." + :bug-report/section-issues-btn-title "Hata raporu gönderin" + :bug-report/section-issues-btn-desc "Logseq'i Daha İyi Hale Getirmeye Yardımcı Olun!" + :bug-report/inspector-page-desc-1 "Pano verilerinizi incelemek için Ctrl+V / ⌘+V tuşlarına basın" + :bug-report/inspector-page-desc-2 "veya mobil sürümü kullanıyorsanız yapıştırmak için buraya dokunun" + :bug-report/inspector-page-placeholder "Mobil cihazdaysanız yapıştırmak için buraya uzun basın" + :bug-report/inspector-page-tip "Ters giden birşey mi var? Sorun değil, önceki adıma geri gitmek için düğmeye basın." + :bug-report/inspector-page-btn-back "Geri git" + :bug-report/inspector-page-btn-copy "Sonucu kopyalayın" + :bug-report/inspector-page-copy-notif "Panoya kopyalandı!" + :bug-report/inspector-page-btn-create-issue "Hata raporu oluştur" + :bug-report/inspector-page-desc-clipboard "İşte panodan okunan veriler." + :bug-report/inspector-page-desc-copy "Bunu paylaşmak uygunsa, kopyala düğmesine basın." + :bug-report/inspector-page-desc-create-issue "Artık panonuza yapıştırılan sonucu bildirebilirsiniz. Lütfen sonucu 'Additional Context' bölümüne yapıştırın ve orijinal içeriği nereden kopyaladığınızı belirtin. Teşekkürler!" :help/title-usage "Kullanım" :help/title-community "Topluluk" :help/title-development "Geliştirme" @@ -26,7 +89,7 @@ :help/about "Logseq hakkında" :help/roadmap "Yol haritası" :help/bug "Hata raporu" - :help/feature "Özellik talebi" + :help/feature "Özellik istekleri" :help/changelog "Değişiklik günlüğü" :help/blog "Logseq blogu" :help/docs "Belgeler" @@ -48,6 +111,8 @@ :search/page-names "Sayfa adlarında ara" :search/recent "Son arama:" :search/blocks-in-page "Blokları sayfada ara:" + :search/command-palette-tip-1 "İpucu: " + :search/command-palette-tip-2 " komut paletini açar" :search/cache-outdated "Önbellek eski. Lütfen grafın açılır menüsündeki 'Yeniden dizin oluştur' düğmesini tıklayın." :search-item/whiteboard "Beyaz tahta" :search-item/page "Sayfa" @@ -76,6 +141,7 @@ :right-side-bar/show-journals "Günlükleri Göster" :right-side-bar/separator "Sağ kenar çubuğu yeniden boyutlandırma işleyicisi" :right-side-bar/toggle-right-sidebar "Sağ kenar çubuğunu aç/kapat" + :left-side-bar/switch "Geçiş yap:" :left-side-bar/journals "Günlük" :left-side-bar/create "Oluştur" :left-side-bar/new-page "Yeni sayfa" @@ -125,7 +191,7 @@ :file-rn/no-action "Tebrikler! Gereken başka işlem yok." :file-rn/confirm-proceed "Biçimi güncelle!" :file-rn/select-confirm-proceed "Geliştirici: biçimi yaz" - :file-rn/unreachable-title "Uyarı! `title::` özelliği el ile ayarlanmadıkça, sayfa adı geçerli dosya adı biçiminde {1} olur." + :file-rn/unreachable-title "Uyarı! `title::` özelliğini kendiniz ayarlamadıkça, sayfa adı geçerli dosya adı olan {1} biçiminde olur." :file-rn/optional-rename "Öneri: " :file-rn/format-deprecated "Şu anda güncel olmayan bir biçim kullanıyorsunuz. En son biçime güncellemeniz kesinlikle önerilir. Lütfen işlemden önce verilerinizi yedekleyin ve Logseq istemcilerini diğer cihazlarda kapatın." :file-rn/filename-desc-1 "Bu ayar, bir sayfanın bir dosyaya nasıl saklanacağını yapılandırır. Logseq, aynı ada sahip bir dosyaya bir sayfa depolar." @@ -182,9 +248,13 @@ :context-menu/input-template-name "Şablonun adı nedir?" :context-menu/template-include-parent-block "Üst blok şablona dahil mi?" :context-menu/template-exists-warning "Şablon zaten var!" - :settings-page/git-confirm "Git ayarlarını güncelledikten sonra uygulamayı yeniden başlatmanız gerekiyor." + :settings-page/git-tip "Logseq eşitleme özelliğini etkinleştirdiyseniz, bir sayfanın düzenleme geçmişini doğrudan görüntüleyebilirsiniz. Bu bölüm yalnızca teknoloji meraklıları içindir." + :settings-page/git-desc-1 "Sayfanın düzenleme geçmişini görüntülemek için sağ üst köşedeki üç yatay noktaya basın ve \"Sayfa geçmişini görüntüle\" ögesini seçin." + :settings-page/git-desc-2 "Profesyonel kullanıcılar için Logseq, sürüm kontrolü için " + :settings-page/git-desc-3 " kullanımını da destekler. Genel Git sorunları Logseq ekibi tarafından desteklenmediğinden Git'i kullanmanın riski size aittir." :settings-page/git-switcher-label "Otomatik git commit'i etkinleştir" :settings-page/git-commit-delay "Otomatik git commit saniyesi" + :settings-page/git-confirm "Git ayarlarını güncelledikten sonra uygulamayı yeniden başlatmanız gerekiyor." :settings-page/edit-config-edn "config.edn dosyasını düzenle" :settings-page/edit-global-config-edn "Genel config.edn dosyasını düzenle" :settings-page/edit-custom-css "custom.css dosyasını düzenle" @@ -192,6 +262,9 @@ :settings-page/edit-setting "Düzenle" :settings-page/custom-configuration "Özel yapılandırma" :settings-page/custom-global-configuration "Özel genel yapılandırma" + :settings-page/theme-light "açık" + :settings-page/theme-dark "koyu" + :settings-page/theme-system "sistem" :settings-page/custom-theme "Özel tema" :settings-page/export-theme "Temayı dışarı aktar" :settings-page/show-brackets "Köşeli ayraçları göster" @@ -207,6 +280,7 @@ :settings-page/auto-expand-block-refs-tip "Bu seçenek, yakınlaştırma yapıldığında blok referanslarının otomatik olarak genişletilip genişletilmeyeceğini kontrol eder." :settings-page/custom-date-format "Tercih edilen tarih biçimi" :settings-page/custom-date-format-warning "Yeniden dizin oluşturma gerekli! Mevcut günlük referansları bozulabilir!" + :settings-page/custom-date-format-notification "Bu değişikliğin etkili olması için grafınızın yeniden dizin olusturması gerekir" :settings-page/preferred-pasting-file-hint "Etkinleştirildiğinde, internetten bir resim yapıştırmak görüntüyü indirir ve ekler. Devre dışı bırakıldığında, bağlantıyı görüntüye yapıştırır." :settings-page/preferred-file-format "Tercih edilen dosya biçimi" :settings-page/preferred-workflow "Tercih edilen iş akışı" @@ -241,6 +315,9 @@ :settings-page/beta-features "Beta özellikleri" :settings-page/login-prompt "Yeni özelliklere herkesten önce erişmek için bir Open Collective Sponsoru veya Logseq'in Destekçisi olmanız ve oturum açmanız gerekir." :settings-page/sync "Eşitle" + :settings-page/sync-desc-1 "Eşitlemeyi nasıl ayarlayacağınıza ve kullanacağınıza ilişkin talimatlar için" + :settings-page/sync-desc-2 "buraya" + :settings-page/sync-desc-3 "basın." :settings-page/enable-whiteboards "Beyaz tahtalar" :settings-page/native-titlebar "Yerel başlık çubuğu" :settings-page/native-titlebar-desc "Windows ve Linux'ta yerel pencere başlık çubuğunu etkinleştirir." @@ -249,6 +326,9 @@ :settings-page/revision "Revizyon: " :settings-page/changelog "Yenilikler nelerdir?" :settings-page/app-updated "Uygulamanız güncel 🎉" + :settings-page/update-available "Yeni sürüm bulundu: " + :settings-page/update-error-1 "⚠️ Ne yazık ki bir sorun oluştu!" + :settings-page/update-error-2 " Lütfen bu bağlantıyı denetleyin: " :yes "Evet" :submit "Onayla" @@ -327,7 +407,7 @@ :whiteboard/text "Metin" :whiteboard/color "Renk" :whiteboard/select-custom-color "Özel renk seç" - :whiteboard/opacity "Opaklık" + :whiteboard/opacity "Saydamlık" :whiteboard/extra-small "Çok Küçük" :whiteboard/small "Küçük" :whiteboard/medium "Orta" @@ -339,7 +419,7 @@ :whiteboard/circle "Daire" :whiteboard/triangle "Üçgen" :whiteboard/shape "Şekil" - :whiteboard/open-page "Sayfayı aç" + :whiteboard/open-page "Sayfayı aç" :whiteboard/open-page-in-sidebar "Sayfayı kenar çubuğunda aç" :whiteboard/remove-link "Bağlantıyı kaldır" :whiteboard/link "Bağlantı" @@ -354,6 +434,33 @@ :whiteboard/search-only-pages "Yalnızca sayfaları ara" :whiteboard/cache-outdated "Önbellek eski. Lütfen grafın açılır menüsündeki 'Yeniden dizin oluştur' düğmesini tıklayın." :whiteboard/shape-quick-links "Hızlı Bağlantıları Şekillendir" + :whiteboard/dashboard-card-new-whiteboard "Yeni beyaz tahta" + :whiteboard/dashboard-card-created "Oluşturuldu: " + :whiteboard/dashboard-card-edited "Düzenlendi: " + :whiteboard/toggle-grid "Kılavuzu aç/kapat" + :whiteboard/snap-to-grid "Kılavuzlara daya" + :flashcards/modal-welcome-title "Bir kart oluşturma zamanı!" + :flashcards/modal-welcome-desc-1 "Herhangi bir bloğu karta dönüştürmek için \"#card\" etiketini ekleyebilir veya cümle tamamlama eklemek için \"/cloze\" komutunu kullanabilirsiniz." + :flashcards/modal-welcome-desc-2 "Belgeleri kontrol etmek için " + :flashcards/modal-welcome-desc-3 "bu bağlantıya" + :flashcards/modal-welcome-desc-4 " basabilirsiniz." + :flashcards/modal-btn-show-answers "Yanıtları göster" + :flashcards/modal-btn-hide-answers "Yanıtları gizle" + :flashcards/modal-btn-show-clozes "Cümle tamamlamayı göster" + :flashcards/modal-btn-next-card "Sonraki" + :flashcards/modal-btn-reset "Sıfırla" + :flashcards/modal-btn-reset-tip "Hemen inceleyebilmek için bu kartı sıfırlayın." + :flashcards/modal-btn-forgotten "Unuttum" + :flashcards/modal-btn-remembered "Hatırladım" + :flashcards/modal-btn-recall "Hatırlamam biraz zaman aldı" + :flashcards/modal-finished "Tebrikler, bu sorgu için tüm kartları incelediniz, bir dahaki sefere görüşmek üzere! 💯" + :flashcards/modal-select-all "Tümü" + :flashcards/modal-select-switch "Geçiş yap" + :flashcards/modal-current-total "Mevcut/Toplam" + :flashcards/modal-overdue-total "Gecikmiş/Toplam" + :flashcards/modal-toggle-preview-mode "Önizleme modunu aç/kapat" + :flashcards/modal-toggle-random-mode "Rastgele modunu aç/kapat" + :page-search "Geçerli sayfada ara" :graph-search "Grafta ara" :home "Başlangıç" @@ -459,6 +566,7 @@ :plugin/remote-error "Uzak hata: " :plugin/checking-for-updates "Eklenti güncellemeleri kontrol ediliyor ..." :plugin/list-of-updates "Eklenti güncellemeleri: " + :plugin/auto-check-for-updates "Güncellemeleri otomatik kontrol et" :plugin.install-from-file/menu-title "plugins.edn dosyasından yükle" :plugin.install-from-file/title "Eklentileri plugins.edn dosyasından yükle" :plugin.install-from-file/notice "Aşağıdaki eklentiler yüklü olan eklentilerinizin yerini alacak:" diff --git a/tldraw/packages/core/src/lib/tools/TLBoxTool/states/CreatingState.tsx b/tldraw/packages/core/src/lib/tools/TLBoxTool/states/CreatingState.tsx index 3bf671cf6..e1372da19 100644 --- a/tldraw/packages/core/src/lib/tools/TLBoxTool/states/CreatingState.tsx +++ b/tldraw/packages/core/src/lib/tools/TLBoxTool/states/CreatingState.tsx @@ -69,17 +69,18 @@ export class CreatingState< if (!this.creatingShape) throw Error('Expected a creating shape.') const { initialBounds } = this const { currentPoint, originPoint, shiftKey } = this.app.inputs + const isAspectRatioLocked = shiftKey || + this.creatingShape.props.isAspectRatioLocked || + !this.creatingShape.canChangeAspectRatio let bounds = BoundsUtils.getTransformedBoundingBox( initialBounds, TLResizeCorner.BottomRight, Vec.sub(currentPoint, originPoint), 0, - shiftKey || - this.creatingShape.props.isAspectRatioLocked || - !this.creatingShape.canChangeAspectRatio + isAspectRatioLocked ) - if (this.app.settings.snapToGrid) { + if (this.app.settings.snapToGrid && !isAspectRatioLocked) { bounds = BoundsUtils.snapBoundsToGrid(bounds, GRID_SIZE) }