From 59f83f5c7c51cdec50d2aa34a5e87617dfc97dbb Mon Sep 17 00:00:00 2001 From: Nathaniel Ledford Date: Thu, 29 Oct 2026 08:47:39 -0400 Subject: [PATCH] =?UTF-8?q?MENU-BAR:=20with=20Import=20Photos=E2=80=A6=20u?= =?UTF-8?q?nbound,=20the=20no-photos=20line=20says=20so=20without=20a=20sh?= =?UTF-8?q?ortcut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/ui-egui/locales/cs.json | 1 + crates/ui-egui/locales/de.json | 1 + crates/ui-egui/locales/es.json | 1 + crates/ui-egui/locales/fi.json | 1 + crates/ui-egui/locales/fr.json | 1 + crates/ui-egui/locales/id.json | 1 + crates/ui-egui/locales/it.json | 1 + crates/ui-egui/locales/ja.json | 1 + crates/ui-egui/locales/ka.json | 1 + crates/ui-egui/locales/pl.json | 1 + crates/ui-egui/locales/pt-br.json | 1 + crates/ui-egui/locales/ru.json | 1 + crates/ui-egui/locales/sv.json | 1 + crates/ui-egui/locales/uk.json | 1 + crates/ui-egui/locales/vi.json | 1 + crates/ui-egui/locales/zh-hans.json | 1 + crates/ui-egui/locales/zh-hant.json | 1 + crates/ui-egui/src/panels/empty_library.rs | 4 ++-- crates/ui-egui/src/tests/empty_library.rs | 2 +- 19 files changed, 20 insertions(+), 3 deletions(-) diff --git a/crates/ui-egui/locales/cs.json b/crates/ui-egui/locales/cs.json index 544790ef6..7d4a1ce3a 100644 --- a/crates/ui-egui/locales/cs.json +++ b/crates/ui-egui/locales/cs.json @@ -57,6 +57,7 @@ "Add to Local": "Přidat do místních souborů", "Add to My Photos": "Přidat do mých fotografií", "Can't be moved here": "Sem nelze přesunout", + "Import photos with File → Import Photos…, or drop them here": "Importujte fotografie přes Soubor → Importovat fotografie… nebo je přetáhněte sem", "This row covers more than one disk: drop on a folder inside it": "Tento řádek zahrnuje více disků: přetáhněte položky na některou ze složek v něm", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Místní fotografie zatím nejsou v knihovně: nejprve použijte Přidat do mých fotografií a pak je přesuňte", "Add to My Photos First": "Nejprve přidat do mých fotografií", diff --git a/crates/ui-egui/locales/de.json b/crates/ui-egui/locales/de.json index 441e7a961..04ad60b23 100644 --- a/crates/ui-egui/locales/de.json +++ b/crates/ui-egui/locales/de.json @@ -57,6 +57,7 @@ "Add to Local": "Zu „Lokal“ hinzufügen", "Add to My Photos": "Zu „Meine Fotos“ hinzufügen", "Can't be moved here": "Hierher nicht verschiebbar", + "Import photos with File → Import Photos…, or drop them here": "Importiere Fotos über Datei → Fotos importieren… oder lege sie hier ab", "This row covers more than one disk: drop on a folder inside it": "Diese Zeile umfasst mehr als ein Laufwerk: auf einem Ordner darin ablegen", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Lokale Fotos sind noch nicht in der Bibliothek: erst zu „Meine Fotos“ hinzufügen, dann verschieben", "Add to Selected Photos": "Zu ausgewählten Fotos hinzufügen", diff --git a/crates/ui-egui/locales/es.json b/crates/ui-egui/locales/es.json index 17087adf0..5bc326681 100644 --- a/crates/ui-egui/locales/es.json +++ b/crates/ui-egui/locales/es.json @@ -42,6 +42,7 @@ "Add to Local": "Añadir a Local", "Add to My Photos": "Añadir a Mis fotos", "Can't be moved here": "No se pueden mover aquí", + "Import photos with File → Import Photos…, or drop them here": "Importar fotos con Archivo → Importar fotos… o soltarlas aquí", "This row covers more than one disk: drop on a folder inside it": "Esta fila abarca más de un disco: suéltalas en una carpeta dentro de ella", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Las fotos locales aún no están en la biblioteca: primero Añadir a Mis fotos y luego muévelas", "Add to Selected Photos": "Añadir a las fotos seleccionadas", diff --git a/crates/ui-egui/locales/fi.json b/crates/ui-egui/locales/fi.json index 52bc3de76..6dde1e146 100644 --- a/crates/ui-egui/locales/fi.json +++ b/crates/ui-egui/locales/fi.json @@ -908,6 +908,7 @@ "Import from Folder…": "Tuo kansiosta…", "Import new photos": "Tuo uudet kuvat", "Import photos to get started": "Aloita tuomalla kuvia", + "Import photos with File → Import Photos…, or drop them here": "Tuo kuvia valitsemalla Tiedosto → Tuo kuvia… tai pudota ne tähän", "Imported": "Tuotu", "Imported Photos": "Tuodut kuvat", "Importing": "Tuodaan", diff --git a/crates/ui-egui/locales/fr.json b/crates/ui-egui/locales/fr.json index 11b6028dc..72e7d4e59 100644 --- a/crates/ui-egui/locales/fr.json +++ b/crates/ui-egui/locales/fr.json @@ -42,6 +42,7 @@ "Add to Local": "Ajouter à Local", "Add to My Photos": "Ajouter à Mes photos", "Can't be moved here": "Impossible de les déplacer ici", + "Import photos with File → Import Photos…, or drop them here": "Importez des photos avec Fichier → Importer des photos… ou déposez-les ici", "This row covers more than one disk: drop on a folder inside it": "Cette ligne couvre plusieurs disques : déposez-les sur un dossier qu’elle contient", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Les photos locales ne sont pas encore dans la bibliothèque : Ajouter à Mes photos d’abord, puis déplacez-les", "Add to Selected Photos": "Ajouter aux photos sélectionnées", diff --git a/crates/ui-egui/locales/id.json b/crates/ui-egui/locales/id.json index 1814eb231..a61a4a58a 100644 --- a/crates/ui-egui/locales/id.json +++ b/crates/ui-egui/locales/id.json @@ -912,6 +912,7 @@ "Import from Folder…": "Impor dari folder…", "Import new photos": "Impor foto baru", "Import photos to get started": "Impor foto untuk memulai", + "Import photos with File → Import Photos…, or drop them here": "Impor foto melalui File → Impor foto…, atau seret ke sini", "Imported": "Diimpor", "Imported Photos": "Foto yang diimpor", "Importing": "Mengimpor", diff --git a/crates/ui-egui/locales/it.json b/crates/ui-egui/locales/it.json index 8d96aeb2e..e9ab4e407 100644 --- a/crates/ui-egui/locales/it.json +++ b/crates/ui-egui/locales/it.json @@ -42,6 +42,7 @@ "Add to Local": "Aggiungi a Locale", "Add to My Photos": "Aggiungi a Le mie foto", "Can't be moved here": "Non si possono spostare qui", + "Import photos with File → Import Photos…, or drop them here": "Importa le foto con File → Importa foto…, oppure trascinale qui", "This row covers more than one disk: drop on a folder inside it": "Questa riga comprende più di un disco: rilascia su una cartella al suo interno", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Le foto locali non sono ancora nella libreria: prima Aggiungi a Le mie foto, poi spostale", "Add to Selected Photos": "Aggiungi alle foto selezionate", diff --git a/crates/ui-egui/locales/ja.json b/crates/ui-egui/locales/ja.json index dc15469f2..41c387fa7 100644 --- a/crates/ui-egui/locales/ja.json +++ b/crates/ui-egui/locales/ja.json @@ -43,6 +43,7 @@ "Add to Local": "ローカルに追加", "Add to My Photos": "マイフォトに追加", "Can't be moved here": "ここには移動できません", + "Import photos with File → Import Photos…, or drop them here": "「ファイル → 写真を読み込む…」から読み込むか、ここに写真をドロップしてください", "This row covers more than one disk: drop on a folder inside it": "この行は複数のディスクにまたがっています。中のフォルダにドロップしてください", "Local photos aren't in the library yet: Add to My Photos first, then move them": "ローカルの写真はまだライブラリにありません。先に「マイフォトに追加」してから移動してください", "Add to Selected Photos": "選択した写真に追加", diff --git a/crates/ui-egui/locales/ka.json b/crates/ui-egui/locales/ka.json index 23262d764..66ba062e1 100644 --- a/crates/ui-egui/locales/ka.json +++ b/crates/ui-egui/locales/ka.json @@ -970,6 +970,7 @@ "Import from Device": "იმპორტი მოწყობილობიდან", "Import from Folder…": "იმპორტი საქაღალდიდან…", "Import new photos": "ახალი ფოტოების იმპორტი", + "Import photos with File → Import Photos…, or drop them here": "ფოტოების იმპორტისთვის გამოიყენეთ ფაილი → ფოტოების იმპორტი…, ან ჩააგდეთ ისინი აქ", "Import presets from other editors: XMP presets, classic `.lrtemplate` files, \"DNG presets\" from mobile apps and `.zip`": "პრესეტების იმპორტი სხვა რედაქტორებიდან: XMP პრესეტები, კლასიკური `.lrtemplate` ფაილები, მობილური აპების „DNG პრესეტები“ და `.zip`", "Import ▸ Copy verifies every copy, like Move (issue #96): each file is written as a new file, synced to disk and": "იმპორტი → კოპირება ყოველ ასლს ამოწმებს, ისევე როგორც გადატანა (ხარვეზი #96): ყოველი ფაილი ახალ ფაილად იწერება, დისკზე სინქრონიზდება და", "Import ▸ Move: photos go into the destination (with the same folders and renaming as Copy, e.g.": "იმპორტი → გადატანა: ფოტოები დანიშნულების ადგილას გადადის (იგივე საქაღალდეებითა და გადარქმევით, რაც კოპირებისას, მაგ.", diff --git a/crates/ui-egui/locales/pl.json b/crates/ui-egui/locales/pl.json index 34654bffa..ff29b44bd 100644 --- a/crates/ui-egui/locales/pl.json +++ b/crates/ui-egui/locales/pl.json @@ -657,6 +657,7 @@ "Import as new": "Importuj jako nowe", "Import from Device": "Importuj z urządzenia", "Import from Folder…": "Importuj z folderu…", + "Import photos with File → Import Photos…, or drop them here": "Importuj zdjęcia przez Plik → Importuj zdjęcia… lub przeciągnij je tutaj", "Imported": "Zaimportowane", "Imported Photos": "Zaimportowane zdjęcia", "Importing": "Importowanie", diff --git a/crates/ui-egui/locales/pt-br.json b/crates/ui-egui/locales/pt-br.json index 12e69efdc..db616f28d 100644 --- a/crates/ui-egui/locales/pt-br.json +++ b/crates/ui-egui/locales/pt-br.json @@ -44,6 +44,7 @@ "Add to Local": "Adicionar a Local", "Add to My Photos": "Adicionar às Minhas fotos", "Can't be moved here": "Não podem ser movidas para cá", + "Import photos with File → Import Photos…, or drop them here": "Importe fotos com Arquivo → Importar fotos… ou solte-as aqui", "This row covers more than one disk: drop on a folder inside it": "Esta linha abrange mais de um disco: solte em uma pasta dentro dela", "Local photos aren't in the library yet: Add to My Photos first, then move them": "As fotos locais ainda não estão na biblioteca: primeiro Adicionar às Minhas fotos, depois mova-as", "Add to Selected Photos": "Adicionar às fotos selecionadas", diff --git a/crates/ui-egui/locales/ru.json b/crates/ui-egui/locales/ru.json index 233dd3f18..45eda2022 100644 --- a/crates/ui-egui/locales/ru.json +++ b/crates/ui-egui/locales/ru.json @@ -27,6 +27,7 @@ "Add to Favorites": "Добавить в избранное", "Add to My Photos": "Добавить в «Мои фото»", "Can't be moved here": "Сюда переместить нельзя", + "Import photos with File → Import Photos…, or drop them here": "Импортируйте фото через Файл → Импорт фото… или перетащите их сюда", "This row covers more than one disk: drop on a folder inside it": "Эта строка охватывает несколько дисков: перетащите на папку внутри неё", "Local photos aren't in the library yet: Add to My Photos first, then move them": "Локальных фото ещё нет в библиотеке: сначала «Добавить в «Мои фото»», затем перемещайте", "Add to Selected Photos": "Добавить к выбранным фото", diff --git a/crates/ui-egui/locales/sv.json b/crates/ui-egui/locales/sv.json index 8d327a71c..cd614b5e3 100644 --- a/crates/ui-egui/locales/sv.json +++ b/crates/ui-egui/locales/sv.json @@ -25,6 +25,7 @@ "4 MiB and connections at 16.": "4 MiB och anslutningar till 16.", "630 drivers): on Windows the window and GPU rendering use DirectX 12 only and never load the Vulkan driver unless": "630-drivrutiner): i Windows använder fönstret och GPU-renderingen endast DirectX 12 och läser aldrig in Vulkan-drivrutinen om inte", "= exactly": "= exakt", + "Import photos with File → Import Photos…, or drop them here": "Importera foton med Arkiv → Importera foton… eller släpp dem här", "`img_1-1.JPG`; on case-insensitive volumes the case change still goes through.": "`img_1-1.JPG`; på skiftlägesokänsliga volymer går ändringen av skiftläge ändå igenom.", "`Photos/2026/20260114/20260114_001.jpg`) together with their XMP sidecars; each original leaves the card only after its": "`Photos/2026/20260114/20260114_001.jpg`) tillsammans med sina XMP-sidofiler; varje original lämnar kortet först efter att dess", "A 16:9 frame with black bars above and below, the title in the corner, fades through black and a closing card.": "En 16:9-bild med svarta fält ovanför och nedanför, titeln i hörnet, toningar via svart och ett avslutande kort.", diff --git a/crates/ui-egui/locales/uk.json b/crates/ui-egui/locales/uk.json index 4e33debd6..944eb887d 100644 --- a/crates/ui-egui/locales/uk.json +++ b/crates/ui-egui/locales/uk.json @@ -111,6 +111,7 @@ "Home": "Домашня тека", "Horizontal inset (% of short edge)": "Відступ по горизонталі (% короткого краю)", "ISO Speed": "Чутливість ISO", + "Import photos with File → Import Photos…, or drop them here": "Імпортуйте фото через Файл → Імпортувати фото… або перетягніть їх сюди", "Imported": "Імпортовані", "Join the ArtCraft Discord": "Приєднатися до Discord ArtCraft", "Join the ArtCraft Discord…": "Приєднатися до Discord ArtCraft…", diff --git a/crates/ui-egui/locales/vi.json b/crates/ui-egui/locales/vi.json index 248069c03..48ebdfe90 100644 --- a/crates/ui-egui/locales/vi.json +++ b/crates/ui-egui/locales/vi.json @@ -831,6 +831,7 @@ "Import from Device": "Nhập từ thiết bị", "Import from Folder…": "Nhập từ thư mục…", "Import new photos": "Nhập ảnh mới", + "Import photos with File → Import Photos…, or drop them here": "Nhập ảnh bằng Tệp → Nhập ảnh…, hoặc thả vào đây", "Import presets from other editors: XMP presets, classic `.lrtemplate` files, \"DNG presets\" from mobile apps and `.zip`": "Nhập thiết lập sẵn từ trình soạn khác: preset XMP, tệp `.lrtemplate` cổ điển, \"DNG presets\" từ app di động và `.zip`", "Import ▸ Copy verifies every copy, like Move (issue #96): each file is written as a new file, synced to disk and": "Nhập → Sao chép xác minh mọi bản sao, như Di chuyển (issue #96): mỗi tệp ghi thành tệp mới, đồng bộ ra đĩa và", "Import ▸ Move: photos go into the destination (with the same folders and renaming as Copy, e.g.": "Nhập → Di chuyển: ảnh vào đích (cùng thư mục và đổi tên như Sao chép, ví dụ", diff --git a/crates/ui-egui/locales/zh-hans.json b/crates/ui-egui/locales/zh-hans.json index e432ca544..20d38f54d 100644 --- a/crates/ui-egui/locales/zh-hans.json +++ b/crates/ui-egui/locales/zh-hans.json @@ -44,6 +44,7 @@ "Add to Local": "添加到本地", "Add to My Photos": "添加到我的照片", "Can't be moved here": "无法移到这里", + "Import photos with File → Import Photos…, or drop them here": "使用“文件 → 导入照片…”导入照片,或将照片拖放到此处", "This row covers more than one disk: drop on a folder inside it": "此行涵盖多个磁盘:请拖放到其中的文件夹", "Local photos aren't in the library yet: Add to My Photos first, then move them": "本地照片尚未在图库中:请先“添加到我的照片”,再移动", "Add to Selected Photos": "添加到所选照片", diff --git a/crates/ui-egui/locales/zh-hant.json b/crates/ui-egui/locales/zh-hant.json index 632367bcb..7fbeb065a 100644 --- a/crates/ui-egui/locales/zh-hant.json +++ b/crates/ui-egui/locales/zh-hant.json @@ -44,6 +44,7 @@ "Add to Local": "加入本機", "Add to My Photos": "加入我的照片", "Can't be moved here": "無法移到這裡", + "Import photos with File → Import Photos…, or drop them here": "使用「檔案 → 匯入照片…」,或將照片拖放至此", "This row covers more than one disk: drop on a folder inside it": "此列涵蓋多個磁碟:請拖放到其中的資料夾", "Local photos aren't in the library yet: Add to My Photos first, then move them": "本機照片尚未在照片庫中:請先「加入我的照片」,再移動", "Add to Selected Photos": "加入選取的照片", diff --git a/crates/ui-egui/src/panels/empty_library.rs b/crates/ui-egui/src/panels/empty_library.rs index daf68daf5..c26c87f41 100644 --- a/crates/ui-egui/src/panels/empty_library.rs +++ b/crates/ui-egui/src/panels/empty_library.rs @@ -51,13 +51,13 @@ pub fn hint(keymap: &Keymap, mac: bool) -> String { /// The grid's second line when a view with no photos is not the empty library (an empty album, say): /// the way in is File → Import Photos…, with the shortcut that command is bound to now, written as -/// menus write it. With no shortcut it is the drop hint alone. +/// menus write it. With no shortcut the sentence leaves it out. pub fn no_photos_body(keymap: &Keymap, mac: bool) -> String { match crate::shortcuts::shortcut_of(keymap, "file.addPhotos") { Some(sc) => { crate::i18n::tr_format!("Import photos with File → Import Photos… ({}), or drop them here", crate::menubar::shortcut_text(sc, mac)) } - None => hint(keymap, mac), + None => crate::i18n::tr("Import photos with File → Import Photos…, or drop them here").to_string(), } } diff --git a/crates/ui-egui/src/tests/empty_library.rs b/crates/ui-egui/src/tests/empty_library.rs index 687b22fa8..16cd52cbb 100644 --- a/crates/ui-egui/src/tests/empty_library.rs +++ b/crates/ui-egui/src/tests/empty_library.rs @@ -156,7 +156,7 @@ fn the_no_photos_line_lists_modifiers_in_the_menu_order() { assert!(rebound.contains("⌥⇧⌘I"), "{rebound}"); crate::shortcuts::assign(&mut keymap, "file.addPhotos", None).unwrap(); let unbound = empty_library::no_photos_body(&keymap, true); - assert!(!unbound.contains('⌘') && !unbound.contains("Cmd"), "{unbound}"); + assert!(!unbound.contains('⌘') && !unbound.contains("Cmd") && !unbound.starts_with("or "), "{unbound}"); } #[test]