diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 21b7f08..545884f 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -30,7 +30,7 @@ "message": "Anwenden" }, "paste_hint": { - "message": "Fügen Sie hier Wörter oder Phrasen ein. Jedes neue Wort/jede neue Phrase sollte in der nächsten Zeile beginnen." + "message": "Ein Wort oder Ausdruck pro Zeile" }, "apply_paste": { "message": "Wörter hinzufügen" @@ -258,7 +258,7 @@ "message": "Vordergrund" }, "multi_select_hint": { - "message": "Klicken zum Auswählen • Strg/Cmd+Klick für Mehrfachauswahl" + "message": "Klick - auswählen • Strg+Klick - mehrere" }, "dark_mode_title": { "message": "Dunkelmodus" @@ -279,10 +279,10 @@ "message": "inaktiv" }, "drag_words_hint": { - "message": "Klicken zum Auswählen • Strg/Cmd+Klick für Mehrfachauswahl • Wörter zu Listen ziehen zum Kopieren" + "message": "Klick - auswählen • Strg+Klick - mehrere • Ziehen in Liste - verschieben" }, "drag_lists_hint": { - "message": "Listen ziehen zum Neuordnen • Strg+Klick für Mehrfachauswahl" + "message": "Ziehen - neu ordnen • Strg+Klick - mehrere" }, "showing_items": { "message": "Zeige {start}-{end} von {total} Wörtern" diff --git a/_locales/en/messages.json b/_locales/en/messages.json index a4d4ee9..51dbeb8 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -30,7 +30,7 @@ "message": "Apply" }, "paste_hint": { - "message": "Paste words or phrases here. Each new word/phrase should start from next line." + "message": "One word or phrase per line" }, "apply_paste": { "message": "Add Words" @@ -264,7 +264,7 @@ "message": "Foreground" }, "multi_select_hint": { - "message": "Click to select • Ctrl/Cmd+Click for multi-select" + "message": "Click - select • Ctrl+click - select multiple" }, "dark_mode_title": { "message": "Dark Mode" @@ -285,10 +285,10 @@ "message": "inactive" }, "drag_words_hint": { - "message": "Click to select • Ctrl/Cmd+Click for multi-select • Drag words to lists to copy" + "message": "Click - select • Ctrl+click - multiple • Drag to list - move" }, "drag_lists_hint": { - "message": "Drag lists to reorder • Ctrl+Click for multi-select" + "message": "Drag - reorder • Ctrl+click - select multiple" }, "showing_items": { "message": "Showing {start}-{end} of {total} words" diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 784b27a..a2d2186 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -30,7 +30,7 @@ "message": "Aplicar" }, "paste_hint": { - "message": "Pegue palabras o frases aquí. Cada nueva palabra/frase debe comenzar en la siguiente línea." + "message": "Una palabra o frase por línea" }, "apply_paste": { "message": "Agregar palabras" @@ -264,7 +264,7 @@ "message": "Texto" }, "multi_select_hint": { - "message": "Clic para seleccionar • Ctrl/Cmd+Clic para selección múltiple" + "message": "Clic - seleccionar • Ctrl+clic - varios" }, "dark_mode_title": { "message": "Modo oscuro" @@ -285,10 +285,10 @@ "message": "inactivo" }, "drag_words_hint": { - "message": "Clic para seleccionar • Ctrl/Cmd+Clic para selección múltiple • Arrastrar palabras a listas para copiar" + "message": "Clic - seleccionar • Ctrl+clic - varios • Arrastrar a lista - mover" }, "drag_lists_hint": { - "message": "Arrastrar listas para reordenar • Ctrl+Clic para selección múltiple" + "message": "Arrastrar - reordenar • Ctrl+clic - varios" }, "showing_items": { "message": "Mostrando {start}-{end} de {total} palabras" diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index 5b2d6f7..c775551 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -30,7 +30,7 @@ "message": "Appliquer" }, "paste_hint": { - "message": "Collez des mots ou des phrases ici. Chaque nouveau mot/phrase doit commencer sur la ligne suivante." + "message": "Un mot ou une phrase par ligne" }, "apply_paste": { "message": "Ajouter des mots" @@ -264,7 +264,7 @@ "message": "Texte" }, "multi_select_hint": { - "message": "Cliquer pour sélectionner • Ctrl/Cmd+Clic pour sélection multiple" + "message": "Clic - sélectionner • Ctrl+clic - plusieurs" }, "dark_mode_title": { "message": "Mode sombre" @@ -285,10 +285,10 @@ "message": "inactif" }, "drag_words_hint": { - "message": "Cliquer pour sélectionner • Ctrl/Cmd+Clic pour sélection multiple • Glisser les mots vers les listes pour copier" + "message": "Clic - sélectionner • Ctrl+clic - plusieurs • Glisser vers liste - déplacer" }, "drag_lists_hint": { - "message": "Glisser les listes pour réorganiser • Ctrl+Clic pour sélection multiple" + "message": "Glisser - réordonner • Ctrl+clic - plusieurs" }, "showing_items": { "message": "Affichage de {start}-{end} sur {total} mots" diff --git a/_locales/hi/messages.json b/_locales/hi/messages.json index 0918d22..d16dd82 100644 --- a/_locales/hi/messages.json +++ b/_locales/hi/messages.json @@ -30,7 +30,7 @@ "message": "लागू करें" }, "paste_hint": { - "message": "यहाँ शब्द या वाक्यांश चिपकाएँ। प्रत्येक नया शब्द/वाक्यांश अगली पंक्ति से शुरू होना चाहिए।" + "message": "प्रति पंक्ति एक शब्द या वाक्यांश" }, "apply_paste": { "message": "शब्द जोड़ें" @@ -264,7 +264,7 @@ "message": "अग्रभूमि" }, "multi_select_hint": { - "message": "चुनने के लिए क्लिक करें • एकाधिक चयन के लिए Ctrl/Cmd+क्लिक" + "message": "क्लिक - चुनें • Ctrl+क्लिक - कई" }, "dark_mode_title": { "message": "डार्क मोड" @@ -285,10 +285,10 @@ "message": "निष्क्रिय" }, "drag_words_hint": { - "message": "चुनने के लिए क्लिक करें • एकाधिक चयन के लिए Ctrl/Cmd+क्लिक • कॉपी करने के लिए शब्दों को सूचियों में खींचें" + "message": "क्लिक - चुनें • Ctrl+क्लिक - कई • सूची में खींचें - स्थानांतरित" }, "drag_lists_hint": { - "message": "पुनः क्रमित करने के लिए सूचियों को खींचें • एकाधिक चयन के लिए Ctrl+क्लिक" + "message": "खींचें - क्रम बदलें • Ctrl+क्लिक - कई" }, "showing_items": { "message": "{total} शब्दों में से {start}-{end} दिखा रहे हैं" diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 2232a2c..c7a8663 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -30,7 +30,7 @@ "message": "Applica" }, "paste_hint": { - "message": "Incolla parole o frasi qui. Ogni nuova parola/frase deve iniziare dalla riga successiva." + "message": "Una parola o frase per riga" }, "apply_paste": { "message": "Aggiungi parole" @@ -264,7 +264,7 @@ "message": "Testo" }, "multi_select_hint": { - "message": "Clicca per selezionare • Ctrl/Cmd+Clic per selezione multipla" + "message": "Clic - seleziona • Ctrl+clic - più" }, "dark_mode_title": { "message": "Modalità scura" @@ -285,10 +285,10 @@ "message": "inattivo" }, "drag_words_hint": { - "message": "Clicca per selezionare • Ctrl/Cmd+Clic per selezione multipla • Trascina parole negli elenchi per copiare" + "message": "Clic - seleziona • Ctrl+clic - più • Trascina in lista - sposta" }, "drag_lists_hint": { - "message": "Trascina elenchi per riordinare • Ctrl+Clic per selezione multipla" + "message": "Trascina - riordina • Ctrl+clic - più" }, "showing_items": { "message": "Visualizzazione di {start}-{end} su {total} parole" diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index 119f18a..482f3c9 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -30,7 +30,7 @@ "message": "適用" }, "paste_hint": { - "message": "ここに単語またはフレーズを貼り付けてください。各新しい単語/フレーズは次の行から始める必要があります。" + "message": "1行に1単語または1フレーズ" }, "apply_paste": { "message": "単語を追加" @@ -264,7 +264,7 @@ "message": "前景" }, "multi_select_hint": { - "message": "クリックして選択 • Ctrl/Cmd+クリックで複数選択" + "message": "クリック - 選択 • Ctrl+クリック - 複数" }, "dark_mode_title": { "message": "ダークモード" @@ -285,10 +285,10 @@ "message": "無効" }, "drag_words_hint": { - "message": "クリックして選択 • Ctrl/Cmd+クリックで複数選択 • 単語をリストにドラッグしてコピー" + "message": "クリック - 選択 • Ctrl+クリック - 複数 • リストへドラッグ - 移動" }, "drag_lists_hint": { - "message": "リストをドラッグして並べ替え • Ctrl+クリックで複数選択" + "message": "ドラッグ - 並べ替え • Ctrl+クリック - 複数" }, "showing_items": { "message": "{total}単語中{start}-{end}を表示" diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index f3a55f5..2178f49 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -30,7 +30,7 @@ "message": "적용" }, "paste_hint": { - "message": "여기에 단어나 구문을 붙여넣으세요. 각 새 단어/구문은 다음 줄에서 시작해야 합니다." + "message": "한 줄에 단어 또는 구문 하나" }, "apply_paste": { "message": "단어 추가" @@ -264,7 +264,7 @@ "message": "전경" }, "multi_select_hint": { - "message": "클릭하여 선택 • Ctrl/Cmd+클릭으로 다중 선택" + "message": "클릭 - 선택 • Ctrl+클릭 - 여러 개" }, "dark_mode_title": { "message": "다크 모드" @@ -285,10 +285,10 @@ "message": "비활성" }, "drag_words_hint": { - "message": "클릭하여 선택 • Ctrl/Cmd+클릭으로 다중 선택 • 단어를 리스트로 드래그하여 복사" + "message": "클릭 - 선택 • Ctrl+클릭 - 여러 개 • 리스트로 드래그 - 이동" }, "drag_lists_hint": { - "message": "리스트를 드래그하여 재정렬 • Ctrl+클릭으로 다중 선택" + "message": "드래그 - 순서 변경 • Ctrl+클릭 - 여러 개" }, "showing_items": { "message": "{total}개 단어 중 {start}-{end} 표시" diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index d73b0a1..76b4425 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -30,7 +30,7 @@ "message": "Toepassen" }, "paste_hint": { - "message": "Plak hier woorden of zinnen. Elk nieuw woord/zin moet op de volgende regel beginnen." + "message": "Eén woord of zin per regel" }, "apply_paste": { "message": "Woorden toevoegen" @@ -264,7 +264,7 @@ "message": "Voorgrond" }, "multi_select_hint": { - "message": "Klik om te selecteren • Ctrl/Cmd+Klik voor meervoudige selectie" + "message": "Klik - selecteren • Ctrl+klik - meerdere" }, "dark_mode_title": { "message": "Donkere modus" @@ -285,10 +285,10 @@ "message": "inactief" }, "drag_words_hint": { - "message": "Klik om te selecteren • Ctrl/Cmd+Klik voor meervoudige selectie • Sleep woorden naar lijsten om te kopiëren" + "message": "Klik - selecteren • Ctrl+klik - meerdere • Sleep naar lijst - verplaatsen" }, "drag_lists_hint": { - "message": "Sleep lijsten om te herschikken • Ctrl+Klik voor meervoudige selectie" + "message": "Sleep - herschikken • Ctrl+klik - meerdere" }, "showing_items": { "message": "{start}-{end} van {total} woorden weergegeven" diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 35ac14a..f503338 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -30,7 +30,7 @@ "message": "Zastosuj" }, "paste_hint": { - "message": "Wklej tutaj słowa lub frazy. Każde nowe słowo/fraza powinno zaczynać się od następnej linii." + "message": "Jedno słowo lub fraza na linię" }, "apply_paste": { "message": "Dodaj słowa" @@ -264,7 +264,7 @@ "message": "Pierwszy plan" }, "multi_select_hint": { - "message": "Kliknij, aby zaznaczyć • Ctrl/Cmd+Klik dla wielokrotnego zaznaczenia" + "message": "Klik - zaznacz • Ctrl+klik - kilka" }, "dark_mode_title": { "message": "Tryb ciemny" @@ -285,10 +285,10 @@ "message": "nieaktywny" }, "drag_words_hint": { - "message": "Kliknij, aby zaznaczyć • Ctrl/Cmd+Klik dla wielokrotnego zaznaczenia • Przeciągnij słowa do list, aby skopiować" + "message": "Klik - zaznacz • Ctrl+klik - kilka • Przeciągnij do listy - przenieś" }, "drag_lists_hint": { - "message": "Przeciągnij listy, aby zmienić kolejność • Ctrl+Klik dla wielokrotnego zaznaczenia" + "message": "Przeciągnij - zmień kolejność • Ctrl+klik - kilka" }, "showing_items": { "message": "Wyświetlanie {start}-{end} z {total} słów" diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 3d5ca58..b20b96a 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -30,7 +30,7 @@ "message": "Aplicar" }, "paste_hint": { - "message": "Cole palavras ou frases aqui. Cada nova palavra/frase deve começar na próxima linha." + "message": "Uma palavra ou frase por linha" }, "apply_paste": { "message": "Adicionar palavras" @@ -264,7 +264,7 @@ "message": "Texto" }, "multi_select_hint": { - "message": "Clique para selecionar • Ctrl/Cmd+Clique para seleção múltipla" + "message": "Clique - selecionar • Ctrl+clique - vários" }, "dark_mode_title": { "message": "Modo escuro" @@ -285,10 +285,10 @@ "message": "inativo" }, "drag_words_hint": { - "message": "Clique para selecionar • Ctrl/Cmd+Clique para seleção múltipla • Arraste palavras para listas para copiar" + "message": "Clique - selecionar • Ctrl+clique - vários • Arraste para lista - mover" }, "drag_lists_hint": { - "message": "Arraste listas para reordenar • Ctrl+Clique para seleção múltipla" + "message": "Arraste - reordenar • Ctrl+clique - vários" }, "showing_items": { "message": "Mostrando {start}-{end} de {total} palavras" diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index c74e290..cb19edf 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -30,7 +30,7 @@ "message": "Применить" }, "paste_hint": { - "message": "Вставьте сюда слова или фразы. Каждое новое слово/фраза должны начинаться с новой строки." + "message": "Одно слово или фраза на строку" }, "apply_paste": { "message": "Добавить слова" @@ -265,7 +265,7 @@ "message": "Текст" }, "multi_select_hint": { - "message": "Нажмите для выбора • Ctrl/Cmd+Клик для множественного выбора" + "message": "Клик - выбрать • Ctrl+клик - выбрать несколько" }, "dark_mode_title": { "message": "Темная тема" @@ -286,10 +286,10 @@ "message": "неактивно" }, "drag_words_hint": { - "message": "Нажмите для выбора • Ctrl/Cmd+Клик для множественного выбора • Перетащите слова в списки для копирования" + "message": "Клик - выбрать • Ctrl+клик - несколько • Перетащить в список - переместить" }, "drag_lists_hint": { - "message": "Перетащите для изменения порядка • Ctrl+Клик для множественного выбора" + "message": "Перетащить - изменить порядок • Ctrl+клик - выбрать несколько" }, "showing_items": { "message": "Показано {start}-{end} из {total} слов" diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 6bd0906..13c2902 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -30,7 +30,7 @@ "message": "Uygula" }, "paste_hint": { - "message": "Kelimeleri veya ifadeleri buraya yapıştırın. Her yeni kelime/ifade bir sonraki satırdan başlamalıdır." + "message": "Satır başına bir kelime veya ifade" }, "apply_paste": { "message": "Kelimeleri Ekle" @@ -264,7 +264,7 @@ "message": "Ön Plan" }, "multi_select_hint": { - "message": "Seçmek için tıklayın • Çoklu seçim için Ctrl/Cmd+Tıklama" + "message": "Tıklama - seç • Ctrl+tıklama - birden fazla" }, "dark_mode_title": { "message": "Karanlık Mod" @@ -285,10 +285,10 @@ "message": "pasif" }, "drag_words_hint": { - "message": "Seçmek için tıklayın • Çoklu seçim için Ctrl/Cmd+Tıklama • Kopyalamak için kelimeleri listelere sürükleyin" + "message": "Tıklama - seç • Ctrl+tıklama - birden fazla • Listeye sürükle - taşı" }, "drag_lists_hint": { - "message": "Yeniden sıralamak için listeleri sürükleyin • Çoklu seçim için Ctrl+Tıklama" + "message": "Sürükle - sırala • Ctrl+tıklama - birden fazla" }, "showing_items": { "message": "{total} kelimeden {start}-{end} gösteriliyor" diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 5861fce..4d209ec 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -30,7 +30,7 @@ "message": "应用" }, "paste_hint": { - "message": "在此粘贴单词或短语。每个新单词/短语应从下一行开始。" + "message": "每行一个词或短语" }, "apply_paste": { "message": "添加单词" @@ -264,7 +264,7 @@ "message": "前景" }, "multi_select_hint": { - "message": "点击选择 • Ctrl/Cmd+点击多选" + "message": "点击 - 选择 • Ctrl+点击 - 多选" }, "dark_mode_title": { "message": "暗黑模式" @@ -285,10 +285,10 @@ "message": "未激活" }, "drag_words_hint": { - "message": "点击选择 • Ctrl/Cmd+点击多选 • 拖动单词到列表以复制" + "message": "点击 - 选择 • Ctrl+点击 - 多选 • 拖到列表 - 移动" }, "drag_lists_hint": { - "message": "拖动列表以重新排序 • Ctrl+点击多选" + "message": "拖动 - 排序 • Ctrl+点击 - 多选" }, "showing_items": { "message": "显示 {start}-{end} / 共 {total} 个单词" diff --git a/src/list-manager/ListManagerController.ts b/src/list-manager/ListManagerController.ts index ce8b3c7..589e003 100644 --- a/src/list-manager/ListManagerController.ts +++ b/src/list-manager/ListManagerController.ts @@ -579,30 +579,32 @@ const wordSearch = document.getElementById('wordSearch') as HTMLInputElement; event.dataTransfer?.setData('text/plain', JSON.stringify({ type: 'words', wordIndices })); if (event.dataTransfer) { - event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.effectAllowed = 'move'; } } private dropWordsOnList(wordIndices: number[], targetListIndex: number): void { const sourceList = this.lists[this.currentListIndex]; const targetList = this.lists[targetListIndex]; - + if (!sourceList || !targetList) return; if (targetListIndex === this.currentListIndex) return; // Can't drop on same list - const wordsToCopy = wordIndices + const wordsToMove = wordIndices .map(index => sourceList.words[index]) .filter(Boolean) - .map(word => ({ ...word })); // Create copies + .map(word => ({ ...word })); - if (wordsToCopy.length === 0) return; + if (wordsToMove.length === 0) return; - targetList.words.push(...wordsToCopy); + targetList.words.push(...wordsToMove); + const indicesToRemove = new Set(wordIndices); + sourceList.words = sourceList.words.filter((_, i) => !indicesToRemove.has(i)); + wordIndices.forEach(i => this.selectedWords.delete(i)); this.save(); - // Show feedback - const count = wordsToCopy.length; - const message = `Copied ${count} word${count > 1 ? 's' : ''} to "${targetList.name}"`; + const count = wordsToMove.length; + const message = `Moved ${count} word${count > 1 ? 's' : ''} to "${targetList.name}"`; console.log(message); }