fix(locale): stabilize web options

Embed debug locales and expand the WebAssembly stack so modal construction remains responsive. Keep the Options scrollbar in its own lane and refine Turkish CAD terminology.
This commit is contained in:
Hakan Seven committed 2026-08-02 23:14:48 +03:00
1 parent 3e6693b93f
commit 40b41f9814
6 files changed
+141 -91

No files matched your search

+9 -1
View File
@@ -9,4 +9,12 @@
# module's memory.fill/copy ops ("require bulk memory"). Native release binaries
# stay stripped; only the wasm keeps its feature section.
[target.wasm32-unknown-unknown]
rustflags = ['--cfg', 'getrandom_backend="wasm_js"', '-Cstrip=none']
rustflags = [
'--cfg',
'getrandom_backend="wasm_js"',
'-Cstrip=none',
# The debug UI build has a substantially deeper view-construction stack
# than the optimized bundle. Keep modal construction from exhausting the
# WebAssembly stack while developing with `trunk serve`.
'-Clink-arg=-zstack-size=4194304',
]
+1
View File
@@ -76,6 +76,7 @@ ureq = { version = "3", default-features = false, features = ["rustls", "platfor
[target.'cfg(target_arch = "wasm32")'.dependencies]
ocs_plugin_api = { path = "crates/ocs_plugin_api" }
i18n-embed = { version = "0.16", features = ["web-sys-requester"] }
rust-embed = { version = "8", features = ["debug-embed"] }
console_error_panic_hook = "0.1"
log = "0.4"
getrandom = { version = "0.3", features = ["wasm_js"] }
+54 -54
View File
@@ -82,7 +82,7 @@ modal-text-style-manager = Metin Stili Yöneticisi
modal-multiline-style-manager = Çoklu Çizgi Stili Yöneticisi
modal-table-style-manager = Tablo Stili Yöneticisi
modal-multileader-style-manager = Çoklu Kılavuz Stili Yöneticisi
modal-dimension-style-manager = Ölçülendirme Stili Yöneticisi
modal-dimension-style-manager = Ölçü Stili Yöneticisi
modal-default-application = Varsayılan Uygulama
modal-save-warning = Kayıt Uyarısı
modal-unable-save = Çizim Kaydedilemiyor
@@ -241,8 +241,8 @@ catalog-align-applied-4b237394ff = ALIGN: uygulandı.
catalog-annoallvisible-new-value-0-1-b40aa2f762 = ANNOALLVISIBLE Yeni değer [0/1]:
catalog-annoallvisible-enter-0-or-1-28860bef7c = ANNOALLVISIBLE: 0 veya 1 girin.
catalog-annoautoscale-new-value-4-4-bd2aa5942c = ANNOAUTOSCALE Yeni değer [-4..4]:
catalog-annoscale-new-annotation-scale-e-g-1-50-2-1-or-2a9523cf29 = ANNOSCALE Yeni ek açıklama ölçeği (ör. 1:50, 2:1 veya bir çarpan):
catalog-annoupdate-select-annotation-objects-first-3c7b6cc302 = ANNOUPDATE: önce ek açıklama nesnelerini seçin.
catalog-annoscale-new-annotation-scale-e-g-1-50-2-1-or-2a9523cf29 = ANNOSCALE Yeni açıklama ölçeği (ör. 1:50, 2:1 veya bir çarpan):
catalog-annoupdate-select-annotation-objects-first-3c7b6cc302 = ANNOUPDATE: önce açıklama nesnelerini seçin.
catalog-annoupdate-updated-updated-object-s-8426986d33 = ANNOUPDATE: __ocs_fmt_0__ nesne güncellendi.
catalog-api-incompatible-7aee4ab3d5 = API uyumsuz
catalog-arc-specify-center-8ca5921878 = ARC Merkezi belirtin:
@@ -327,7 +327,7 @@ catalog-active-a733b809d2 = Etkin
catalog-active-ucs-named-c213f515c3 = Etkin UCS: __ocs_fmt_0__ | Adlandırılmış: __ocs_fmt_1__
catalog-active-ucs-no-named-ucss-defined-fede450e16 = Etkin UCS: __ocs_fmt_0__ | Adlandırılmış UCS tanımlanmamış.
catalog-active-viewport-cb256416bf = Etkin Görünüm Alanı
catalog-active-dim-style-set-to-name-arg-223a582b1b = Etkin ölçülendirme stili "__ocs_fmt_0__" olarak ayarlandı.
catalog-active-dim-style-set-to-name-arg-223a582b1b = Etkin ölçü stili "__ocs_fmt_0__" olarak ayarlandı.
catalog-add-61cc55aa04 = Ekle
catalog-add-leader-89cc8c25ab = Kılavuz Ekle
catalog-add-scale-0b67ea5641 = Ölçek Ekle
@@ -335,7 +335,7 @@ catalog-add-selected-drawing-a-new-kind-on-layer-layer-3b3b470d3e = Seçileni Ek
catalog-add-from-github-eeb16a4e4e = GitHub'dan Ekle
catalog-add-leader-cee76facb8 = Kılavuz ekle
catalog-add-repository-1b73cdafd0 = Depo ekle
catalog-added-annotation-scale-arg-40be971a98 = __ocs_fmt_0__ ek açıklama ölçeği eklendi.
catalog-added-annotation-scale-arg-40be971a98 = __ocs_fmt_0__ açıklama ölçeği eklendi.
catalog-added-from-github-e1efdbf07b = GitHub'dan eklendi
catalog-adjust-ab166bd5e8 = Ayarla
catalog-adjust-colors-for-background-6b76eaf659 = Renkleri Arka Plana Göre Ayarla
@@ -370,16 +370,16 @@ catalog-angular-decimals-dimadec-52810900b4 = Açısal ondalık basamaklar (DIMA
catalog-angular-unit-dimaunit-fd4f07da8d = Açı birimi (DIMAUNIT)
catalog-angular-zero-supp-dimazin-2a8d799e53 = Açısal sıfır gizleme (DIMAZIN)
catalog-annotate-4f5f32d8fd = Açıklama
catalog-annotation-de3b78b641 = Ek Açıklama
catalog-annotation-de3b78b641 = Açıklama
catalog-annotation-viewport-scale-click-to-change-1d574da062 =
Ek Açıklama / Görünüm Alanı Ölçeği
Açıklama / Görünüm Alanı Ölçeği
Değiştirmek için tıklayın
catalog-annotation-object-scale-a6c5c4ebdc = Ek Açıklama Nesnesi Ölçeği
catalog-annotation-scale-b49ce65069 = Ek Açıklama Ölçeği
catalog-annotation-scaling-c4b9cb83e6 = Ek Açıklama Ölçeklendirme
catalog-annotation-scale-0400c101c7 = Ek açıklama ölçeği
catalog-annotation-scale-arg-129d46a1ed = Ek açıklama ölçeği: __ocs_fmt_0__
catalog-annotation-scales-bb77e7eeb2 = Ek açıklama ölçekleri: __ocs_fmt_0__
catalog-annotation-object-scale-a6c5c4ebdc = Açıklama Nesnesi Ölçeği
catalog-annotation-scale-b49ce65069 = Açıklama Ölçeği
catalog-annotation-scaling-c4b9cb83e6 = Açıklama Ölçeklendirme
catalog-annotation-scale-0400c101c7 = Açıklama ölçeği
catalog-annotation-scale-arg-129d46a1ed = Açıklama ölçeği: __ocs_fmt_0__
catalog-annotation-scales-bb77e7eeb2 = Açıklama ölçekleri: __ocs_fmt_0__
catalog-annotative-142ac0bf83 = Açıklamalı
catalog-annotative-scale-bc6ed32c2b = Açıklamalı ölçek
catalog-apparent-intersection-ac8c738027 = Görünür Kesişim
@@ -558,7 +558,7 @@ catalog-browse-install-and-manage-add-ons-select-one-t-1dd345d03e = Eklentilere
catalog-browser-storage-73cbc39086 = Tarayıcı depolaması
catalog-building-scene-caches-3518c9d139 = Sahne önbellekleri oluşturuluyor…
catalog-bump-map-301f0ab5fb = Kabartma Haritası
catalog-by-annotation-scale-0aeb536ce3 = Ek açıklama ölçeğine göre
catalog-by-annotation-scale-0aeb536ce3 = Açıklama ölçeğine göre
catalog-by-layer-3243a14fc9 = Katmana göre
catalog-by-style-4697cfbbbf = Stile göre
catalog-byblock-a5106d0575 = Bloğa Göre
@@ -567,9 +567,9 @@ catalog-c-class-dffdc6893e = C++ Sınıfı
catalog-cad-application-for-architecture-engineering-79b5234416 = Mimarlık ve mühendislik için CAD uygulaması
catalog-cal-expression-e-g-2-3-4-9d91f1992e = CAL İfade (ör. (2+3)*4):
catalog-cal-e-cdbdaffe27 = CAL: __ocs_fmt_0__
catalog-cdimsty-new-current-dimension-style-name-58b33dc04d = CDIMSTY Yeni geçerli ölçülendirme stili adı:
catalog-cdimsty-new-current-dimension-style-name-58b33dc04d = CDIMSTY Yeni geçerli ölçü stili adı:
catalog-cdimsty-cur-3ab23d8169 = CDIMSTY = "__ocs_fmt_0__"
catalog-cdimsty-dim-style-not-found-7a8e34b19d = CDIMSTY: '__ocs_fmt_0__' ölçülendirme stili bulunamadı.
catalog-cdimsty-dim-style-not-found-7a8e34b19d = CDIMSTY: '__ocs_fmt_0__' ölçü stili bulunamadı.
catalog-celtscale-new-current-object-line-type-scale-51b0f73723 = CELTSCALE Geçerli nesnenin yeni çizgi tipi ölçeği:
catalog-celtscale-v-4-e94357c81a = CELTSCALE = __ocs_fmt_0__
catalog-celtscale-set-to-v-4-c8e7366e0e = CELTSCALE __ocs_fmt_0__ olarak ayarlandı.
@@ -637,7 +637,7 @@ catalog-cannot-break-at-this-vertex-1aa32e3298 = Bu köşede koparma yapılamaz.
catalog-cannot-delete-a-style-that-is-current-or-in-us-3a1875aaa3 = Geçerli veya kullanımda olan bir stil silinemez.
catalog-cannot-delete-the-model-layout-85e2dec7c2 = Model yerleşimi silinemez.
catalog-cannot-delete-the-standard-style-5e8e1ebed5 = Standart stil silinemez.
catalog-cannot-delete-the-current-annotation-scale-arg-da42ffa6fc = Geçerli ek açıklama ölçeği (__ocs_fmt_0__) silinemez.
catalog-cannot-delete-the-current-annotation-scale-arg-da42ffa6fc = Geçerli açıklama ölçeği (__ocs_fmt_0__) silinemez.
catalog-cannot-place-the-new-vertex-57e7843121 = Yeni köşe yerleştirilemedi.
catalog-cannot-rename-the-model-layout-bea01e5f33 = Model yerleşimi yeniden adlandırılamaz.
catalog-cannot-rename-the-standard-style-5032c604ba = Standart stil yeniden adlandırılamaz.
@@ -764,8 +764,8 @@ catalog-cumulative-area-681dc8c91e = Toplam alan
catalog-current-color-scheme-eda182ca9f = Geçerli Renk Düzeni
catalog-current-mleader-style-c497757153 = Geçerli çoklu kılavuz stili: __ocs_fmt_0__
catalog-current-vertex-ce3b852389 = Geçerli Köşe
catalog-current-annotation-scale-name-0e39f02a1d = Geçerli ek açıklama ölçeği: __ocs_fmt_0__
catalog-current-dim-style-set-to-5f21e60008 = Geçerli ölçülendirme stili '__ocs_fmt_0__' olarak ayarlandı.
catalog-current-annotation-scale-name-0e39f02a1d = Geçerli açıklama ölçeği: __ocs_fmt_0__
catalog-current-dim-style-set-to-5f21e60008 = Geçerli ölçü stili '__ocs_fmt_0__' olarak ayarlandı.
catalog-current-layer-49fc99fba9 = Geçerli katman
catalog-current-layer-set-to-layer-aeb7d67b77 = Geçerli katman "__ocs_fmt_0__" olarak ayarlandı.
catalog-current-linetype-set-to-nm-b01c9522cb = Geçerli çizgi tipi __ocs_fmt_0__ olarak ayarlandı.
@@ -807,7 +807,7 @@ catalog-ddedit-select-text-entity-6ed9bd4ecd = DDEDIT Metin nesnesini seçin:
catalog-ddedit-entity-type-not-supported-13365fcf30 = DDEDIT: nesne türü desteklenmiyor.
catalog-ddedit-selected-entity-is-not-text-47dc088cb1 = DDEDIT: seçilen nesne metin değil.
catalog-ddedit-text-updated-645c8ee112 = DDEDIT: metin güncellendi.
catalog-dimaligned-enter-dimension-text-blank-measured-b935817e82 = DIMALIGNED Ölçülendirme metnini girin (boş = ölçülen değer):
catalog-dimaligned-enter-dimension-text-blank-measured-b935817e82 = DIMALIGNED Ölçü metnini girin (boş = ölçülen değer):
catalog-dimaligned-specify-dimension-line-location-tex-8fe04b6f1f = DIMALIGNED Ölçü çizgisinin konumunu belirtin [Metin/Açı]:
catalog-dimaligned-specify-first-extension-line-origin-9c8fefa436 = DIMALIGNED Birinci uzatma çizgisinin başlangıcını belirtin:
catalog-dimaligned-specify-second-extension-line-origi-0ae3b99267 = DIMALIGNED İkinci uzatma çizgisinin başlangıcını belirtin [Metin/Açı]:
@@ -816,50 +816,50 @@ catalog-dimangular-specify-angle-vertex-726fb76514 = DIMANGULAR Açı köşesin
catalog-dimangular-specify-dimension-arc-location-72b199bdbd = DIMANGULAR Ölçü yayının konumunu belirtin:
catalog-dimangular-specify-first-extension-line-point-46ba17daf2 = DIMANGULAR Birinci uzatma çizgisi noktasını belirtin:
catalog-dimangular-specify-second-extension-line-point-aa52d877e1 = DIMANGULAR İkinci uzatma çizgisi noktasını belirtin:
catalog-dimbaseline-no-base-dimension-found-place-a-di-1cff176e96 = DIMBASELINE Temel ölçülendirme bulunamadı. Önce bir ölçülendirme yerleştirin.
catalog-dimbaseline-no-base-dimension-found-place-a-di-1cff176e96 = DIMBASELINE Temel ölçü bulunamadı. Önce bir ölçü yerleştirin.
catalog-dimbaseline-specify-a-second-extension-line-or-3a7a1972d5 = DIMBASELINE İkinci uzatma çizgisinin başlangıcını belirtin (çıkmak için Enter):
catalog-dimbreak-select-dimension-to-break-eaf5c80a17 = DIMBREAK Kesilecek ölçülendirmeyi seçin:
catalog-dimbreak-select-dimension-to-break-eaf5c80a17 = DIMBREAK Kesilecek ölçüyü seçin:
catalog-dimbreak-select-object-to-break-at-or-enter-fo-28cc168fb4 = DIMBREAK Kesişme nesnesini seçin veya Otomatik için Enter'a basın:
catalog-dimbreak-not-yet-implemented-nothing-changed-450aab8ffb = DIMBREAK: henüz uygulanmadı; hiçbir şey değişmedi.
catalog-dimcenter-select-arc-or-circle-4d5ef84501 = DIMCENTER Yay veya daire seçin:
catalog-dimcontinue-no-base-dimension-found-place-a-di-e62826c01a = DIMCONTINUE Temel ölçülendirme bulunamadı. Önce bir ölçülendirme yerleştirin.
catalog-dimcontinue-no-base-dimension-found-place-a-di-e62826c01a = DIMCONTINUE Temel ölçü bulunamadı. Önce bir ölçü yerleştirin.
catalog-dimcontinue-specify-a-second-extension-line-or-aa3592fea6 = DIMCONTINUE İkinci uzatma çizgisinin başlangıcını belirtin (çıkmak için Enter):
catalog-dimdiameter-enter-dimension-text-blank-measure-7c2bf653e6 = DIMDIAMETER Ölçülendirme metnini girin (boş = ölçülen değer):
catalog-dimdiameter-enter-dimension-text-blank-measure-7c2bf653e6 = DIMDIAMETER Ölçü metnini girin (boş = ölçülen değer):
catalog-dimdiameter-specify-center-point-fef2747cf6 = DIMDIAMETER Merkez noktasını belirtin:
catalog-dimdiameter-specify-dimension-line-location-te-d0f6e74a14 = DIMDIAMETER Ölçü çizgisinin konumunu belirtin [Metin/Açı]:
catalog-dimdiameter-specify-point-on-circle-f44eb9caf3 = DIMDIAMETER Daire üzerindeki noktayı belirtin:
catalog-dimdiameter-specify-text-angle-degrees-37884d6d9a = DIMDIAMETER Metin açısını belirtin (derece):
catalog-dimedit-enter-text-override-blank-reset-to-mea-841d99b1d9 = DIMEDIT Metin geçersiz kılmasını girin (boş = ölçülen değere sıfırla):
catalog-dimedit-select-dimension-7995395d33 = DIMEDIT Ölçülendirmeyi seçin:
catalog-dimjogged-created-a-jogged-radius-dimension-a6f5bdcdd6 = DIMJOGGED: kırıklı yarıçap ölçülendirmesi oluşturuldu.
catalog-dimedit-select-dimension-7995395d33 = DIMEDIT Ölçüyü seçin:
catalog-dimjogged-created-a-jogged-radius-dimension-a6f5bdcdd6 = DIMJOGGED: kırıklı yarıçap ölçüsü oluşturuldu.
catalog-dimjogged-invalid-radius-a60f074fd6 = DIMJOGGED: yarıçap geçersiz.
catalog-dimjogged-select-an-arc-or-circle-first-4194661eda = DIMJOGGED: önce bir yay veya daire seçin.
catalog-dimjogline-select-linear-or-aligned-dimension-2e8257acb6 = DIMJOGLINE Doğrusal veya hizalı ölçülendirmeyi seçin:
catalog-dimjogline-select-linear-or-aligned-dimension-2e8257acb6 = DIMJOGLINE Doğrusal veya hizalı ölçüyü seçin:
catalog-dimjogline-specify-jog-location-52d05c7ae5 = DIMJOGLINE Kırılma konumunu belirtin:
catalog-dimjogline-not-yet-implemented-nothing-changed-84d7673b3f = DIMJOGLINE: henüz uygulanmadı; hiçbir şey değişmedi.
catalog-dimlinear-enter-dimension-text-blank-measured-d94ef88aca = DIMLINEAR Ölçülendirme metnini girin (boş = ölçülen değer):
catalog-dimlinear-enter-dimension-text-blank-measured-d94ef88aca = DIMLINEAR Ölçü metnini girin (boş = ölçülen değer):
catalog-dimlinear-specify-dimension-line-location-text-30dc7c1172 = DIMLINEAR Ölçü çizgisinin konumunu belirtin [Metin/Açı]:
catalog-dimlinear-specify-first-extension-line-origin-6951c1dfb2 = DIMLINEAR Birinci uzatma çizgisinin başlangıcını belirtin:
catalog-dimlinear-specify-second-extension-line-origin-862f6dcfd5 = DIMLINEAR İkinci uzatma çizgisinin başlangıcını belirtin [Metin/Açı]:
catalog-dimlinear-specify-text-angle-degrees-ff129116b5 = DIMLINEAR Metin açısını belirtin (derece):
catalog-dimordinate-specify-feature-location-a0e5292697 = DIMORDINATE Unsur konumunu belirtin:
catalog-dimordinate-specify-leader-endpoint-3fcfe6daee = DIMORDINATE Kılavuzun uç noktasını belirtin:
catalog-dimradius-enter-dimension-text-blank-measured-ef361c0467 = DIMRADIUS Ölçülendirme metnini girin (boş = ölçülen değer):
catalog-dimradius-enter-dimension-text-blank-measured-ef361c0467 = DIMRADIUS Ölçü metnini girin (boş = ölçülen değer):
catalog-dimradius-specify-center-point-0b0d593a56 = DIMRADIUS Merkez noktasını belirtin:
catalog-dimradius-specify-dimension-line-location-text-f7ed25e876 = DIMRADIUS Ölçü çizgisinin konumunu belirtin [Metin/Açı]:
catalog-dimradius-specify-radius-point-bdccd7c452 = DIMRADIUS Yarıçap noktasını belirtin:
catalog-dimradius-specify-text-angle-degrees-5874d74bdd = DIMRADIUS Metin açısını belirtin (derece):
catalog-dimspace-enter-value-0-auto-79117af887 = DIMSPACE Değeri girin (0 = otomatik):
catalog-dimspace-select-base-dimension-fa80767f8c = DIMSPACE Temel ölçülendirmeyi seçin:
catalog-dimspace-select-dimension-to-space-count-selec-adab81857c = DIMSPACE Aralanacak ölçülendirmeleri seçin (__ocs_arg_count__ seçili, bitirmek için Enter):
catalog-dimspace-select-base-dimension-fa80767f8c = DIMSPACE Temel ölçüyü seçin:
catalog-dimspace-select-dimension-to-space-count-selec-adab81857c = DIMSPACE Aralanacak ölçüleri seçin (__ocs_arg_count__ seçili, bitirmek için Enter):
catalog-dimspace-spacing-adjusted-98692774a0 = DIMSPACE Aralık ayarlandı.
catalog-dimstyle-style-name-prop-val-3-bf381e6358 = DIMSTYLE: '__ocs_fmt_0__'.__ocs_fmt_1__ = __ocs_fmt_2__
catalog-dimstyle-already-exists-c67955b26d = DIMSTYLE: '__ocs_fmt_0__' zaten var.
catalog-dimstyle-created-74e3e460bb = DIMSTYLE: '__ocs_fmt_0__' oluşturuldu.
catalog-dimstyle-not-found-1ab3d059c8 = DIMSTYLE: '__ocs_fmt_0__' bulunamadı.
catalog-dimstyle-unknown-property-try-dimtxt-dimasz-di-c2ebc985da = DIMSTYLE: bilinmeyen özellik '__ocs_fmt_0__'. Şunları deneyin: dimtxt dimasz dimdli dimexo dimexe dimgap dimscale dimlfac dimdle dimcen dimtsz
catalog-dimtedit-select-dimension-7ef36c0170 = DIMTEDIT Ölçülendirmeyi seçin:
catalog-dimtedit-specify-new-location-for-dimension-te-6bee003411 = DIMTEDIT Ölçülendirme metninin yeni konumunu belirtin:
catalog-dimtedit-select-dimension-7ef36c0170 = DIMTEDIT Ölçüyü seçin:
catalog-dimtedit-specify-new-location-for-dimension-te-6bee003411 = DIMTEDIT Ölçü metninin yeni konumunu belirtin:
catalog-dist-specify-first-point-abb4cee817 = DIST Birinci noktayı belirtin:
catalog-dist-specify-second-point-e42f95e8ba = DIST İkinci noktayı belirtin:
catalog-divide-enter-number-of-segments-208bfda61d = DIVIDE Parça sayısını girin:
@@ -947,15 +947,15 @@ catalog-dim-prefix-suffix-292596adb9 = Ölçü ön eki/son eki
catalog-dim-roundoff-83c405eaf1 = Ölçü yuvarlaması
catalog-dim-scale-linear-76dd804711 = Doğrusal ölçü ölçeği
catalog-dim-scale-overall-0235888fbc = Genel ölçü ölçeği
catalog-dim-style-d4ca0c106a = Ölçülendirme stili
catalog-dim-style-d4ca0c106a = Ölçü stili
catalog-dim-units-caca44bae1 = Ölçü birimleri
catalog-dimstyle-updated-b8805ce36a = Ölçülendirme stili '__ocs_fmt_0__' güncellendi.
catalog-dimstyles-fa58058521 = Ölçülendirme stilleri: __ocs_fmt_0__
catalog-dimension-45e147abd9 = Ölçülendirme
catalog-dimstyle-updated-b8805ce36a = Ölçü stili '__ocs_fmt_0__' güncellendi.
catalog-dimstyles-fa58058521 = Ölçü stilleri: __ocs_fmt_0__
catalog-dimension-45e147abd9 = Ölçü
catalog-dimension-line-4f846d5367 = Ölçü Çizgisi
catalog-dimension-style-manager-8da5c27451 = Ölçülendirme Stili Yöneticisi
catalog-dimension-style-476c7516fc = Ölçülendirme stili
catalog-dimensions-9f4ca9ec08 = Ölçülendirmeler
catalog-dimension-style-manager-8da5c27451 = Ölçü Stili Yöneticisi
catalog-dimension-style-476c7516fc = Ölçü stili
catalog-dimensions-9f4ca9ec08 = Ölçüler
catalog-direction-fd8e45bac7 = Yön
catalog-direction-x-adcfcb99bf = X yönü
catalog-direction-y-08b8ae9d80 = Y yönü
@@ -1759,13 +1759,13 @@ catalog-new-vp-freeze-455fc2c299 = Yeni Görünüm Alanında Dondur
catalog-new-layer-state-04bc7b92f0 = Yeni katman durumu
catalog-new-name-9286270de2 = Yeni ad…
catalog-no-816c52fd2b = Hayır
catalog-no-annotation-28ad397062 = Ek Açıklama Yok
catalog-no-annotation-28ad397062 = Açıklama Yok
catalog-no-additional-plugins-are-available-f73e1b5a5d = Başka kullanılabilir eklenti yok.
catalog-no-annotation-scale-named-arg-bb686bfd9b = __ocs_fmt_0__ adlı ek açıklama ölçeği yok.
catalog-no-annotation-scales-defined-b4fd8ec21f = Tanımlı ek açıklama ölçeği yok.
catalog-no-annotation-scale-named-arg-bb686bfd9b = __ocs_fmt_0__ adlı açıklama ölçeği yok.
catalog-no-annotation-scales-defined-b4fd8ec21f = Tanımlı açıklama ölçeği yok.
catalog-no-available-plugins-match-your-search-f2f3aaaa0b = Aramanızla eşleşen kullanılabilir eklenti yok.
catalog-no-columns-0e2070822e = Sütun yok
catalog-no-dim-styles-defined-c964ae210a = Tanımlı ölçülendirme stili yok.
catalog-no-dim-styles-defined-c964ae210a = Tanımlı ölçü stili yok.
catalog-no-drawing-open-use-new-or-open-first-8cf46e4b34 = Açık çizim yok — önce Yeni veya Aç komutunu kullanın.
catalog-no-drawing-open-use-new-or-open-to-start-a-dra-5380e46d30 = Açık çizim yok. Bir çizim başlatmak için NEW veya OPEN komutunu kullanın.
catalog-no-entities-selected-for-wblock-1efe3ce042 = WBLOCK için nesne seçilmedi.
@@ -1815,7 +1815,7 @@ catalog-number-of-vertices-c51393ff99 = Köşe Sayısı
catalog-number-of-turns-4406e773b3 = Sarım sayısı
catalog-objectscale-added-the-active-scale-to-n-object-9d543c1a8a = OBJECTSCALE: Etkin ölçek __ocs_fmt_0__ nesneye eklendi.
catalog-objectscale-select-objects-first-2aa65f03f0 = OBJECTSCALE: Önce nesneleri seçin.
catalog-objectscale-the-active-annotation-scale-is-una-3c2e83ceba = OBJECTSCALE: Etkin ek açıklama ölçeği kullanılamıyor.
catalog-objectscale-the-active-annotation-scale-is-una-3c2e83ceba = OBJECTSCALE: Etkin açıklama ölçeği kullanılamıyor.
catalog-offset-select-object-to-offset-enter-to-finish-726b88527a = OFFSET Ofsetlenecek nesneyi seçin (bitirmek için Enter):
catalog-offset-specify-offset-distance-or-through-d-85487ddd77 = OFFSET Ofset mesafesini belirtin veya [İçinden] <__ocs_arg_d__>:
catalog-offset-n-click-side-or-multiple-distance-d-43fe77b625 = OFFSET__ocs_arg_n__ Tarafa tıklayın veya [Birden Çok] [mesafe __ocs_arg_d__]:
@@ -2124,7 +2124,7 @@ catalog-proxy-id-4e940af19c = Vekil Kimliği
catalog-purge-1eea3d5309 = Kullanılmayanları Temizle
catalog-qdim-select-geometry-to-dimension-enter-when-d-249198d05f = QDIM Ölçülendirilecek geometriyi seçin (bitince Enter):
catalog-qdim-specify-dimension-line-position-6b3787e07a = QDIM Ölçü çizgisinin konumunu belirtin:
catalog-qdim-made-dimensions-created-6ff6f8f4d6 = QDIM __ocs_fmt_0__ ölçülendirme oluşturuldu.
catalog-qdim-made-dimensions-created-6ff6f8f4d6 = QDIM __ocs_fmt_0__ ölçü oluşturuldu.
catalog-qdim-endpoints-collapse-to-a-single-position-22c9fe56a5 = QDIM: Uç noktalar tek bir konumda çakışıyor.
catalog-qdim-no-dimensionable-endpoints-in-the-selecti-38d1a15e34 = QDIM: Seçimde ölçülendirilebilir uç nokta yok.
catalog-qselect-no-matching-entities-6c24edabc7 = QSELECT: Eşleşen nesne yok.
@@ -2134,7 +2134,7 @@ catalog-quickprint-count-selected-enter-to-plot-or-kee-4ed52004ed = QUICKPRINT
catalog-quickprint-select-objects-to-quick-print-6e2e9ec223 = QUICKPRINT Hızlı yazdırılacak nesneleri seçin:
catalog-quadrant-acf7e389ea = Çeyrek Nokta
catalog-quality-a60f2c7360 = Kalite
catalog-quick-dim-dc2bd54b73 = Hızlı Ölçülendirme
catalog-quick-dim-dc2bd54b73 = Hızlı Ölçü
catalog-quick-properties-f5577c6884 = Hızlı Özellikler
catalog-quick-properties-floating-panel-on-selection-269d47087f = Hızlı Özellikler
Seçim yapıldığında yüzen paneli gösterir
@@ -2219,7 +2219,7 @@ catalog-reload-failed-error-7389dff8c6 = Yeniden yükleme başarısız: __ocs_fm
catalog-reload-from-disk-9dcbed4ac8 = Diskten Yeniden Yükle
catalog-remote-text-db53debe40 = Uzak Metin
catalog-remove-leader-ebeb181670 = Kılavuzu Kaldır
catalog-removed-annotation-scale-arg-8bdf2765e8 = __ocs_fmt_0__ ek açıklama ölçeği kaldırıldı.
catalog-removed-annotation-scale-arg-8bdf2765e8 = __ocs_fmt_0__ açıklama ölçeği kaldırıldı.
catalog-rename-d3f4cb898f = Yeniden Adlandır
catalog-renamed-old-new-29fd4a3a74 = '__ocs_fmt_0__', '__ocs_fmt_1__' olarak yeniden adlandırıldı.
catalog-render-flags-0c96cd77eb = İşleme Bayrakları
@@ -2447,7 +2447,7 @@ catalog-shortcut-key-not-found-b5ba5c0093 = '__ocs_fmt_0__' kısayolu bulunamad
catalog-shortcut-key-removed-48379688e1 = '__ocs_fmt_0__' kısayolu kaldırıldı.
catalog-shortcut-set-key-cmd-str-3b1565c74c = Kısayol ayarlandı: __ocs_fmt_0__ → __ocs_fmt_1__
catalog-show-d97d1ee339 = Göster
catalog-show-annotation-objects-ec78179009 = Ek Açıklama Nesnelerini Göster
catalog-show-annotation-objects-ec78179009 = Açıklama Nesnelerini Göster
catalog-show-clipping-9dc7360082 = Kırpmayı Göster
catalog-show-cropping-2af424a0ab = Kırpmayı Göster
catalog-show-intensity-b932edce29 = Yoğunluğu Göster
@@ -2570,8 +2570,8 @@ catalog-tcount-starting-number-enter-for-1-95f7ef0895 = TCOUNT Başlangıç num
catalog-tcount-numbered-text-object-s-from-start-d743c19090 = TCOUNT: __ocs_fmt_0__ metin nesnesi __ocs_fmt_1__ değerinden başlayarak numaralandırıldı.
catalog-tcount-select-single-line-text-first-07a50dfcfd = TCOUNT: Önce tek satırlı metin seçin.
catalog-text-specify-insertion-point-0bf77ed049 = TEXT Ekleme noktasını belirtin:
catalog-textedit-select-an-annotation-object-or-undo-m-72df8e6fcd = TEXTEDIT Bir ek açıklama nesnesi seçin veya [Geri Alma Modu] <çıkış>:
catalog-textedit-select-an-annotation-object-or-undo-m-6ba7988682 = TEXTEDIT Bir ek açıklama nesnesi seçin veya [Geri Alma Modu]:
catalog-textedit-select-an-annotation-object-or-undo-m-72df8e6fcd = TEXTEDIT Bir açıklama nesnesi seçin veya [Geri Alma Modu] <çıkış>:
catalog-textedit-select-an-annotation-object-or-undo-m-6ba7988682 = TEXTEDIT Bir açıklama nesnesi seçin veya [Geri Alma Modu]:
catalog-textedit-selected-entity-is-not-text-3b10406c2f = TEXTEDIT: Seçilen nesne metin değil.
catalog-texteditmode-v-e5b25db0dc = TEXTEDITMODE = __ocs_fmt_0__
catalog-texteditmode-set-to-display-val-d65efe2518 = TEXTEDITMODE __ocs_fmt_0__ olarak ayarlandı
@@ -2659,7 +2659,7 @@ catalog-text-to-find-48e8b7a630 = Bulunacak metin
catalog-thaw-all-layers-9a291b1f90 = Tüm Katmanları Çöz
catalog-the-file-is-open-or-being-used-by-another-appl-712fa7a1a4 = Dosya açık veya başka bir uygulama tarafından kullanılıyor. Dosyayı o uygulamada kapatıp yeniden deneyin ya da bu çizimi farklı bir adla kaydedin.
catalog-the-selected-layer-state-is-no-longer-availabl-58149c88b4 = Seçilen katman durumu artık kullanılamıyor.
catalog-the-selected-object-does-not-support-annotatio-dc2b32c455 = Seçilen nesne ek açıklama ölçeklerini desteklemiyor.
catalog-the-selected-object-does-not-support-annotatio-dc2b32c455 = Seçilen nesne açıklama ölçeklerini desteklemiyor.
catalog-theme-a797e30923 = Tema
catalog-thickness-ad48f34186 = Kalınlık
catalog-this-block-has-no-attributes-4d4ab3121c = Bu blokta öznitelik yok.
@@ -2973,7 +2973,7 @@ catalog-viewcube-right-cd11a69b7d = SAĞ
catalog-viewcube-top-03f5c8d677 = ÜST
catalog-viewport-09e594a52b = Görünüm Alanı
catalog-viewport-configuration-79f0f57a22 = Görünüm Alanı Yapılandırması
catalog-viewport-annotation-scale-sync-98aa56db01 = Görünüm Alanı Ek Açıklama Ölçeğini Eşitle
catalog-viewport-annotation-scale-sync-98aa56db01 = Görünüm Alanı Açıklama Ölçeğini Eşitle
catalog-viewport-count-c1a155bba8 = Görünüm Alanı Sayısı
catalog-viewport-tools-7c33d46572 = Görünüm Alanı Araçları
catalog-viewport-could-not-be-added-e-571ac6c326 = Görünüm alanı eklenemedi: __ocs_fmt_0__
@@ -3081,7 +3081,7 @@ catalog-that-object-4bf9b84b9b = bu nesneyi
catalog-those-objects-9f6843f9ae = bu nesneleri
catalog-units-9176253183 = birimler
catalog-cmd-cannot-create-folder-e-17af7a11a2 = __ocs_fmt_0__: Klasör oluşturulamıyor (__ocs_fmt_1__).
catalog-cmd-no-text-or-dimension-objects-f0c61e81e2 = __ocs_fmt_0__: Metin veya ölçülendirme nesnesi yok.
catalog-cmd-no-text-or-dimension-objects-f0c61e81e2 = __ocs_fmt_0__: Metin veya ölçü nesnesi yok.
catalog-cmd-not-yet-implemented-d82cc44f94 = __ocs_fmt_0__: Henüz uygulanmadı.
catalog-cmd-packaged-copied-file-s-into-735994359a = __ocs_fmt_0__: __ocs_fmt_1__ dosya __ocs_fmt_2__ içine paketlendi
catalog-count-object-s-added-to-selection-7662378a13 = __ocs_fmt_0__ nesne seçime eklendi.
+36 -8
View File
@@ -7,8 +7,8 @@ use i18n_embed::DesktopLanguageRequester;
#[cfg(target_arch = "wasm32")]
use i18n_embed::WebLanguageRequester;
use rust_embed::RustEmbed;
use std::borrow::Cow;
use serde::{Deserialize, Serialize};
use std::borrow::Cow;
use std::sync::OnceLock;
#[path = "locale_catalog.rs"]
@@ -69,11 +69,9 @@ impl Language {
Language::ZhCn => vec!["zh-CN".parse().expect("valid locale")],
}
}
}
impl std::fmt::Display for Language {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let label = match self {
pub fn label(self) -> String {
match self {
Language::System => crate::tr!("language-system"),
Language::EnUs => crate::tr!("language-english"),
Language::TrTr => crate::tr!("language-turkish"),
@@ -83,16 +81,36 @@ impl std::fmt::Display for Language {
Language::HiIn => crate::tr!("language-hindi"),
Language::RuRu => crate::tr!("language-russian"),
Language::ZhCn => crate::tr!("language-chinese-simplified"),
};
}
}
}
impl std::fmt::Display for Language {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let label = self.label();
f.write_str(&label)
}
}
fn system_languages() -> Vec<i18n_embed::unic_langid::LanguageIdentifier> {
#[cfg(target_arch = "wasm32")]
let requested = WebLanguageRequester::requested_languages();
let mut requested = WebLanguageRequester::requested_languages();
#[cfg(not(target_arch = "wasm32"))]
let requested = DesktopLanguageRequester::requested_languages();
// `navigator.languages` may be empty in privacy-restricted browser
// contexts. The singular preference is still exposed by mainstream
// browsers, so keep it as the first fallback before English.
#[cfg(target_arch = "wasm32")]
if requested.is_empty() {
if let Some(language) = web_sys::window()
.and_then(|window| window.navigator().language())
.and_then(|language| language.parse().ok())
{
requested.push(language);
}
}
requested
}
@@ -104,7 +122,17 @@ fn load_language(
if requested.is_empty() {
requested.push(loader.fallback_language().clone());
}
i18n_embed::select(loader, &Localizations, &requested).map(|_| ())
let selected = i18n_embed::select(loader, &Localizations, &requested)?;
#[cfg(target_arch = "wasm32")]
if let Some(language) = selected.first() {
if let Some(root) = web_sys::window()
.and_then(|window| window.document())
.and_then(|document| document.document_element())
{
let _ = root.set_attribute("lang", &language.to_string());
}
}
Ok(())
}
pub fn loader() -> &'static FluentLanguageLoader {
+1 -10
View File
@@ -322,16 +322,7 @@ pub fn modal<'a>(
// The first stack layer dictates its intrinsic size. Its top spacer reserves
// room for the title, while the actual title bar and resize grip overlay it
// without influencing the modal dimensions.
// Iced draws vertical scrollbars inside a scrollable's bounds. Reserve a
// shared end gutter at the modal boundary so a scrollbar cannot cover the
// last control column in Options or any other dialog.
let measured_content = container(sensor(content).on_resize(Message::ModalContentResized))
.padding(Padding {
top: 0.0,
right: 12.0,
bottom: 0.0,
left: 0.0,
});
let measured_content = sensor(content).on_resize(Message::ModalContentResized);
let body_base = column![
Space::new().height(Length::Fixed(24.0)),
measured_content,
+40 -18
View File
@@ -7,17 +7,14 @@ use iced::{Background, Border, Element, Theme};
use std::fmt;
#[derive(Clone, Debug, PartialEq, Eq)]
struct ThemeChoice(String);
struct Labelled<T> {
value: T,
label: String,
}
impl fmt::Display for ThemeChoice {
impl<T> fmt::Display for Labelled<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let label = match self.0.as_str() {
"Light" => crate::t!("Light"),
"Dark" => crate::t!("Dark"),
"Custom" => crate::t!("Custom"),
_ => std::borrow::Cow::Borrowed(self.0.as_str()),
};
f.write_str(label.as_ref())
f.write_str(&self.label)
}
}
@@ -37,9 +34,32 @@ pub fn view_window<'a>(
.iter()
.map(ToString::to_string)
.chain(std::iter::once("Custom".to_string()))
.map(ThemeChoice)
.map(|value| Labelled {
label: match value.as_str() {
"Light" => crate::t!("Light").into_owned(),
"Dark" => crate::t!("Dark").into_owned(),
"Custom" => crate::t!("Custom").into_owned(),
_ => value.clone(),
},
value,
})
.collect::<Vec<_>>();
let selected_theme = Some(ThemeChoice(ui_theme.name.clone()));
let selected_theme = theme_options
.iter()
.find(|choice| choice.value == ui_theme.name)
.cloned();
let language_options = crate::i18n::Language::ALL
.into_iter()
.map(|value| Labelled {
label: value.label(),
value,
})
.collect::<Vec<_>>();
let selected_language = language_options
.iter()
.find(|choice| choice.value == language)
.cloned();
let palette = ui_theme.palette.to_iced();
let colors = [
@@ -89,11 +109,11 @@ pub fn view_window<'a>(
row![
text(crate::tr!("options-language-label")).size(12).width(150),
iced::widget::pick_list(
Some(language),
crate::i18n::Language::ALL,
|value| value.to_string(),
selected_language,
language_options,
|choice| choice.label.clone(),
)
.on_select(Message::LanguageChanged)
.on_select(|choice| Message::LanguageChanged(choice.value))
.width(sizing.width),
]
.spacing(12)
@@ -125,9 +145,9 @@ pub fn view_window<'a>(
iced::widget::pick_list(
selected_theme,
theme_options,
|value| value.to_string(),
|choice| choice.label.clone(),
)
.on_select(|choice| Message::OptionsThemeChanged(choice.0))
.on_select(|choice| Message::OptionsThemeChanged(choice.value))
.width(sizing.width),
]
.spacing(12)
@@ -143,7 +163,9 @@ pub fn view_window<'a>(
.width(sizing.width);
let body = column![
scrollable(content).height(sizing.height),
// Keep the scrollbar in its own lane instead of floating over the
// controls at the trailing edge of the Options content.
scrollable(content).spacing(8).height(sizing.height),
Space::new().height(12),
row![Space::new().width(sizing.width), close],
]