Delete Chinese text after comparing two XML documents



  • I compare two language file and the program xmlTreeNav brings them together , and now remove every Chinese phrase is very long. Help please with regular expressions. This is part of this XML document. Chinese text always comes first and starts with = " and ends with |

    	<MessageBox>
    		<ContextMenuXmlEditWarning title="編輯快顯功能表|Редактирование contextMenu" message="編輯 contextMenu.xml 可以變更 Notepad++ 快顯功能表。 修改 contextMenu.xml 後必須重新啟動 Notepad++ 才會生效。|Редактирование contextMenu.xml позволяет настроить свое всплывающее контекстное меню в Notepad++.&#10;Вы должны перезапустить Notepad++, чтобы изменения вступили в силу." />
    		<NppHelpAbsentWarning title="檔案不存在|Файла не существует" message=" 不存在。請在 Notepad++ 網站上下載。|&#10;не существует. Пожалуйста, загрузите его с сайта Notepad++." />
    		<SaveCurrentModifWarning title="警告|Сохранение текущих изменений" message="您必須儲存目前的修改。 儲存修改後將無法復原。 您確定要繼續嗎?|Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" />
    		<LoseUndoAbilityWarning title="警告|Потеря возможности отката" message="您必須儲存目前的修改。 儲存修改後將無法復原。 您確定要繼續嗎?|Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" />
    		<CannotMoveDoc title="移至新 Notepad++ 實體|Переход к новому экземпляру Notepad++" message="文件已被修改,請在儲存後再試一次。|Документ был изменен, сохраните его и повторите попытку." />
    		<DocReloadWarning title="重新載入|Перезагрузка" message="您確定要重新載入目前文件,並捨棄在 Notepad++ 中所做的修改嗎?|Все внесенные изменения будут потеряны!&#10;Продолжить?" />
    		<FileLockedWarning title="儲存失敗|Сохранение не удалось" message="請確認此檔案是否正由其他程式開啟。|Пожалуйста, проверьте открыт ли этот файл в другом приложении." />
    		<FileAlreadyOpenedInNpp title="已開啟|" message="這個檔案已在 Notepad++ 中開啟。|Файл уже открыт в Notepad++." />
    		<DeleteFileFailed title="刪除失敗|Удаление файла" message="檔案刪除失敗。|Не удалось удалить файл" />
    		<NbFileToOpenImportantWarning title="開啟檔案|Очень большое количество файлов" message="您確定要開啟全數 $INT_REPLACE$ 個檔案嗎?|$INT_REPLACE$ файла(ов) будут открыты.&#10;Продолжить?" />
    		<SettingsOnCloudError title="雲端設定|Параметры Облака" message="設定的雲端路徑位於一個唯讀的磁碟或未擁有寫入權限的資料夾,因此您的「雲端」設定將被清除。 請在「偏好設定」中重新設定。|Похоже, что путь для облака указан на диск или папку с пометкой только для чтения.&#10;Вам необходимо открыть доступ или получить права на запись.&#10;Ваши параметры облака будут отменены. Пожалуйста сбросьте значение в окне Настройки..." />
    		<FilePathNotFoundWarning title="開啟檔案|Открытие Файла" message="您試圖開啟的文件不存在。|Файл, который вы пытаетесь открыть, не существует." />
    		<SessionFileInvalidError title="無法開啟工作階段|Не удалось загрузить Сессию" message="工作階段檔案無效或已被損毀。|Файл сессии поврежден или недействителен." />
    		<DroppingFolderAsProjectModeWarning title="操作無效|Неправильное действие" message="您只能單獨拖放文件或資料夾,但不能同時拖放,因為您在「偏好設定」「預設資料夾」中關閉了「拖放資料夾時開啟資料夾中所有文件,而不啟動資料夾工作區」的選項。 請啟用此選項,然後再試一次。|Вы можете применить только файлы или папки, но не обе, потому что вы перетаскиваете в режиме Папка как Проект.&#10;вы должны включить &quot;Открыть все файлы папки при перетаскивании, вместо запуска Папка как Рабочая Область&quot; в &quot;Директорию По Умолчанию&quot;, чтобы эта операция работала зайдите в Настройки." />
    		<SortingError title="排序錯誤|Ошибка сортировки" message="第 $INT_REPLACE$ 行無法執行數字排序。|Невозможно выполнить числовую сортировку из-за строки $INT_REPLACE$." />
    		<ColumnModeTip title="多欄選取提示|Режим Столбца" message="請使用「ALT + 鼠標選擇」或「Alt + Shift + 箭頭鍵」以切換到多欄選取。|Пожалуйста, используйте &quot;ALT+Выделение Мышкой&quot; или &quot;Alt+Shift+Клавиши Стрелок&quot; для переключения в режим столбца." />
    		<BufferInvalidWarning title="儲存失敗|Ошибка Сохранения" message="緩衝區無效。|Не удается сохранить: Недопустимый буфер." />
    		<DoSaveOrNot title="儲存檔案|Сохранение" message="您要儲存「$STR_REPLACE$」嗎?|Сохранить файл &quot;$STR_REPLACE$&quot;?" />
    		<DoCloseOrNot title="保留文件|Удержание несуществующего файла" message="檔案「$STR_REPLACE$」已不存在。 您在 Notepad++ 中保存這個文件嗎?|Файла &quot;$STR_REPLACE$&quot; больше не существует.&#10;Удержать этот файл в редакторе?" />
    		<DoDeleteOrNot title="刪除檔案|Удаление файла" message="您確定要刪除並關閉「$STR_REPLACE$」嗎?|Файл &quot;$STR_REPLACE$&quot;&#10;будет закрыт и удалён в Корзину.&#10;Продолжить?" />
    		<NoBackupDoSaveFile title="儲存|Сохранение" message="您的備份文件已從外部刪除。 請儲存「$STR_REPLACE$」,否則您的數據將會遺失。 您要儲存嗎?|Файл резервной копии не найден (удалён извне).&#10;Сохраните его, иначе ваши данные будут потеряны.&#10;Вы хотите сохранить файл &quot;$STR_REPLACE$&quot; ?" />
    		<DoReloadOrNot title="重新載入|Обновление файла" message="「$STR_REPLACE$」已被其他程式修改。 您要重新載入此文件嗎?|&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?" />
    		<DoReloadOrNotAndLooseChange title="重新載入|Обновление файла" message="「$STR_REPLACE$」已被其他程式修改。 您要重新載入並捨棄在 Notepad++ 中所做的修改嗎?|&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?&#10;Но вы потеряете все внесенные изменения в Notepad++?" />
    		<PrehistoricSystemDetected title="系統過舊|Обнаружена доисторическая система" message="很抱歉,此功能不適用於過舊的系統。|Кажется, вы все еще используете доисторическую систему. Извините, но эта функция работает только на современных системах." />
    		<XpUpdaterProblem title="Notepad++ 更新程式|Обновление Notepad++" message="更新程式與 XP 的保全系統不兼容。 您要直接到 Notepad++ 網頁下載最新版本嗎?|Обновление Notepad++ не совместимо с XP из-за устаревшего уровня безопасности.&#10;Хотите перейти на страницу Notepad++, чтобы загрузить последнюю версию?" />
    		<DocTooDirtyToMonitor title="監控錯誤|Проблема Мониторинга" message="文件已被修改,請在監視前儲存文件。|Документ в работе. Сохраните внесённые изменения перед его мониторингом." />
    		<DocNoExistToMonitor title="監控錯誤|Проблема Мониторинга" message="文件不存在,因此無法進行監視。|Для мониторинга файл должен существовать." />
    		<FileTooBigToOpen title="文件太大|Проблема с размером файла" message="文件太大,無法使用 Notepad++ 開啟。|Файл слишком велик, чтобы открыть его в Notepad++" />
    		<CreateNewFileOrNot title="開新檔案|Создание нового файла" message="「$STR_REPLACE$」不存在。您要開新檔案嗎?|&quot;$STR_REPLACE$&quot; не существует. Создать его?" />
    		<CreateNewFileError title="開新檔案|Создание нового файла" message="無法開新檔案「$STR_REPLACE$」。|Не удается создать файл &quot;$STR_REPLACE$&quot;." />
    		<OpenFileError title="錯誤|ОШИБКА" message="無法開啟「$STR_REPLACE$」|Невозможно открыть файл &quot;$STR_REPLACE$&quot;." />
    		<FileBackupFailed title="文件備份失敗|Ошибка файла Резервного Копирования" message="以前版本的檔案無法儲存到「$STR_REPLACE$」的備份目錄中。您要儲存此文件嗎?|Предыдущая версия файла не может быть сохранена в каталоге резервного копирования &quot;$STR_REPLACE$&quot;.&#10;&#10;Вы хотите сохранить текущий файл так или иначе?" />
    		<LoadStylersFailed title="載入失敗|Ошибка загрузки stylers.xml" message="載入「$STR_REPLACE$」失敗。|Ошибка загрузки &quot;$STR_REPLACE$&quot;!" />
    		<LoadLangsFailed title="載入失敗|Конфигуратор" message="載入 langs.xml 失敗。 您要回復它嗎?|Ошибка загрузки langs.xml!&#10;Вы хотите восстановить свой langs.xml?" />
    		<LoadLangsFailedFinal title="載入失敗|Конфигуратор" message="載入 langs.xml 失敗。|Ошибка загрузки langs.xml!" />
    		<FolderAsWorspaceSubfolderExists title="加入錯誤|Проблема при добавлении &quot;Папка как Рабочая Область&quot;" message="您要添加的目錄已以子目錄型態存在中。 如欲添加「$STR_REPLACE$」,請先將其根目錄從資料夾工作區中移除。|Подпапка папки, которую вы хотите добавить, уже существует.&#10;Пожалуйста, удалите её корень, прежде чем добавить папку &quot;$STR_REPLACE$&quot;." />
    		<ProjectPanelChanged title="$STR_REPLACE$" message="工作區已被修改。您要儲存它嗎?|Рабочая область была изменена. Вы хотите сохранить её?" />
    		<ProjectPanelChangedSaveError title="$STR_REPLACE$" message="工作區儲存失敗。|Ваше рабочая область не сохранена." />
    		<ProjectPanelOpenDoSaveDirtyWsOrNot title="開啟工作區|Открытие Рабочей Области" message="目前的工作區已被修改。您要儲存目前的專案嗎?|Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" />
    		<ProjectPanelNewDoSaveDirtyWsOrNot title="新工作區|Новая Рабочая Область" message="目前的工作區已被修改。您要儲存目前的專案嗎?|Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" />
    		<ProjectPanelOpenFailed title="無法開啟工作區|Открытие Рабочей Области" message="工作區檔案無效或已被損毀。|Не удалось открыть рабочую область.&#10;Похоже файл, который нужно открыть, является недопустимым файлом проекта." />
    		<ProjectPanelRemoveFolderFromProject title="從專案中刪除資料夾|Удаление папки из проекта" message="所有子目錄將被刪除。您確定要從專案中刪除此資料夾嗎?|Все подэлементы будут удалены.&#10;Вы действительно хотите удалить эту папку из проекта?" />
    		<ProjectPanelRemoveFileFromProject title="從專案中刪除文件|Удаление файла из проекта" message="您確定要從專案中刪除此文件嗎?|Вы действительно хотите удалить этот файл из проекта?" />
    		<ProjectPanelReloadError title="重新載入工作區|Перезагрузка Рабочей Области" message="找不到要重新載入的檔案。|Не удается найти файл для перезагрузки." />
    		<ProjectPanelReloadDirty title="重新載入工作區|Перезагрузка Рабочей Области" message="目前的工作區已被修改。您要重新載入並捨棄所做的修改嗎?|Текущее рабочая область была изменена. Перезагрузка отменит все изменения.&#10;Вы хотите продолжить?" />
    		<UDLNewNameError title="自訂程式語言錯誤|Ошибка Польз. Имени" message="此名稱已被另一個程式語言使用。請重新命名。|Это имя используется другим языком.&#10;Пожалуйста, дайте ему другое имя." />
    		<UDLRemoveCurrentLang title="刪除語言|Удаление текущего языка" message="您確定要刪除目前的自訂程式語言嗎?|Вы уверены?" />
    		<SCMapperDoDeleteOrNot title="刪除快速鍵|Вы уверены?" message="您確定要刪除這個快速鍵嗎?|Вы действительно хотите удалить эту горячую клавишу?" />
    		<FindCharRangeValueError title="輸入值範圍錯誤|Проблема со значением диапазона" message="您輸入的值應在 0 到 255 之間。如要搜尋大於 255 的字元,請在「尋找」對話方塊中使用「規則運算式」。|Вы должны ввести от 0 и до 255." />
    		<OpenInAdminMode title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" />
    		<OpenInAdminModeWithoutCloseCurrent title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" />
    		<OpenInAdminModeFailed title="Не удалось открыть в режиме Администратора" message="Notepad++ не может быть открыто в режиме Администратора." />
    	</MessageBox>


  • Or how to set himself xmlTreeNav so he added only the missing lines, not to fully combine the two language files.



  • @andrecool-68

    if you just want to remove all chinese texts between "and | (also removing the |) this regex will work on your given example:

    find what: "(.*?)\|
    replace with: "
    search mode: regular expression

    now hit “replace all”

    note:
    titles like:
    <OpenInAdminMode title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" />
    which don’t contain any chinese text, will not be modified.



  • Hello, @andrecool-68, @Meta-chuh and All,

    The main Chinese characters belongs to the Unicode block CJK Unified Ideographs (Han), with codepoint in the range [4E00-9FEF]

    http://www.unicode.org/charts/PDF/U4E00.pdf

    The Chinese punctuation characters belongs to the Unicode block CJK Symbols and Punctuation, with codepoint in the range [3000-303F]

    http://www.unicode.org/charts/PDF/U3000.pdf

    So, if you want to get rid of all chinese characters, in your XML file, simply use the following regex S/R :

    SEARCH [\x{3000}-\x{303F}\x{4E00}-\x{9FEF}]+

    REPLACE Leave EMPTY


    Just for information, note that if , after deleting all these chinese characters, we go on deleting, in your example, all Cyrillic characters, below :

    http://www.unicode.org/charts/PDF/U0400.pdf

    with the regex [\x{0400}-\x{04FF}]+

    as well as all basic ASCII characters, with the regex [\x{0020}-\x{007E}]+, it remains, only, the two chars and , which belong to the Unicode block Halfwidth and Fullwidth Forms

    http://www.unicode.org/charts/PDF/UFF00.pdf

    Best regards

    guy038

    P.S. :

    To have an overview of all world characters and punctuation, just refer to the page , below ,-))

    http://www.unicode.org/charts/



  • @Meta-Chuh

    	<MessageBox diff:status="below">
    		<ContextMenuXmlEditWarning title="編輯快顯功能表|Редактирование contextMenu" message="編輯 contextMenu.xml 可以變更 Notepad++ 快顯功能表。 修改 contextMenu.xml 後必須重新啟動 Notepad++ 才會生效。|Редактирование contextMenu.xml позволяет настроить свое всплывающее контекстное меню в Notepad++.&#10;Вы должны перезапустить Notepad++, чтобы изменения вступили в силу." diff:status="modified"/>
    		<NppHelpAbsentWarning title="檔案不存在|Файла не существует" message=" 不存在。請在 Notepad++ 網站上下載。|&#10;не существует. Пожалуйста, загрузите его с сайта Notepad++." diff:status="modified"/>
    		<SaveCurrentModifWarning title="警告|Сохранение текущих изменений" message="您必須儲存目前的修改。 儲存修改後將無法復原。 您確定要繼續嗎?|Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" diff:status="modified"/>
    		<LoseUndoAbilityWarning title="警告|Потеря возможности отката" message="您必須儲存目前的修改。 儲存修改後將無法復原。 您確定要繼續嗎?|Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" diff:status="modified"/>
    		<CannotMoveDoc title="移至新 Notepad++ 實體|Переход к новому экземпляру Notepad++" message="文件已被修改,請在儲存後再試一次。|Документ был изменен, сохраните его и повторите попытку." diff:status="modified"/>
    		<DocReloadWarning title="重新載入|Перезагрузка" message="您確定要重新載入目前文件,並捨棄在 Notepad++ 中所做的修改嗎?|Все внесенные изменения будут потеряны!&#10;Продолжить?" diff:status="modified"/>
    		<FileLockedWarning title="儲存失敗|Сохранение не удалось" message="請確認此檔案是否正由其他程式開啟。|Пожалуйста, проверьте открыт ли этот файл в другом приложении." diff:status="modified"/>
    		<FileAlreadyOpenedInNpp title="已開啟|" message="這個檔案已在 Notepad++ 中開啟。|Файл уже открыт в Notepad++." diff:status="modified"/>
    		<DeleteFileFailed title="刪除失敗|Удаление файла" message="檔案刪除失敗。|Не удалось удалить файл" diff:status="modified"/>
    		<NbFileToOpenImportantWarning title="開啟檔案|Очень большое количество файлов" message="您確定要開啟全數 $INT_REPLACE$ 個檔案嗎?|$INT_REPLACE$ файла(ов) будут открыты.&#10;Продолжить?" diff:status="modified"/>
    		<SettingsOnCloudError title="雲端設定|Параметры Облака" message="設定的雲端路徑位於一個唯讀的磁碟或未擁有寫入權限的資料夾,因此您的「雲端」設定將被清除。 請在「偏好設定」中重新設定。|Похоже, что путь для облака указан на диск или папку с пометкой только для чтения.&#10;Вам необходимо открыть доступ или получить права на запись.&#10;Ваши параметры облака будут отменены. Пожалуйста сбросьте значение в окне Настройки..." diff:status="modified"/>
    		<FilePathNotFoundWarning title="開啟檔案|Открытие Файла" message="您試圖開啟的文件不存在。|Файл, который вы пытаетесь открыть, не существует." diff:status="modified"/>
    		<SessionFileInvalidError title="無法開啟工作階段|Не удалось загрузить Сессию" message="工作階段檔案無效或已被損毀。|Файл сессии поврежден или недействителен." diff:status="modified"/>
    		<DroppingFolderAsProjectModeWarning title="操作無效|Неправильное действие" message="您只能單獨拖放文件或資料夾,但不能同時拖放,因為您在「偏好設定」「預設資料夾」中關閉了「拖放資料夾時開啟資料夾中所有文件,而不啟動資料夾工作區」的選項。 請啟用此選項,然後再試一次。|Вы можете применить только файлы или папки, но не обе, потому что вы перетаскиваете в режиме Папка как Проект.&#10;вы должны включить &quot;Открыть все файлы папки при перетаскивании, вместо запуска Папка как Рабочая Область&quot; в &quot;Директорию По Умолчанию&quot;, чтобы эта операция работала зайдите в Настройки." diff:status="modified"/>
    		<SortingError title="排序錯誤|Ошибка сортировки" message="第 $INT_REPLACE$ 行無法執行數字排序。|Невозможно выполнить числовую сортировку из-за строки $INT_REPLACE$." diff:status="modified"/>
    		<ColumnModeTip title="多欄選取提示|Режим Столбца" message="請使用「ALT + 鼠標選擇」或「Alt + Shift + 箭頭鍵」以切換到多欄選取。|Пожалуйста, используйте &quot;ALT+Выделение Мышкой&quot; или &quot;Alt+Shift+Клавиши Стрелок&quot; для переключения в режим столбца." diff:status="modified"/>
    		<BufferInvalidWarning title="儲存失敗|Ошибка Сохранения" message="緩衝區無效。|Не удается сохранить: Недопустимый буфер." diff:status="modified"/>
    		<DoSaveOrNot title="儲存檔案|Сохранение" message="您要儲存「$STR_REPLACE$」嗎?|Сохранить файл &quot;$STR_REPLACE$&quot;?" diff:status="modified"/>
    		<DoCloseOrNot title="保留文件|Удержание несуществующего файла" message="檔案「$STR_REPLACE$」已不存在。 您在 Notepad++ 中保存這個文件嗎?|Файла &quot;$STR_REPLACE$&quot; больше не существует.&#10;Удержать этот файл в редакторе?" diff:status="modified"/>
    		<DoDeleteOrNot title="刪除檔案|Удаление файла" message="您確定要刪除並關閉「$STR_REPLACE$」嗎?|Файл &quot;$STR_REPLACE$&quot;&#10;будет закрыт и удалён в Корзину.&#10;Продолжить?" diff:status="modified"/>
    		<NoBackupDoSaveFile title="儲存|Сохранение" message="您的備份文件已從外部刪除。 請儲存「$STR_REPLACE$」,否則您的數據將會遺失。 您要儲存嗎?|Файл резервной копии не найден (удалён извне).&#10;Сохраните его, иначе ваши данные будут потеряны.&#10;Вы хотите сохранить файл &quot;$STR_REPLACE$&quot; ?" diff:status="modified"/>
    		<DoReloadOrNot title="重新載入|Обновление файла" message="「$STR_REPLACE$」已被其他程式修改。 您要重新載入此文件嗎?|&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?" diff:status="modified"/>
    		<DoReloadOrNotAndLooseChange title="重新載入|Обновление файла" message="「$STR_REPLACE$」已被其他程式修改。 您要重新載入並捨棄在 Notepad++ 中所做的修改嗎?|&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?&#10;Но вы потеряете все внесенные изменения в Notepad++?" diff:status="modified"/>
    		<PrehistoricSystemDetected title="系統過舊|Обнаружена доисторическая система" message="很抱歉,此功能不適用於過舊的系統。|Кажется, вы все еще используете доисторическую систему. Извините, но эта функция работает только на современных системах." diff:status="modified"/>
    		<XpUpdaterProblem title="Notepad++ 更新程式|Обновление Notepad++" message="更新程式與 XP 的保全系統不兼容。 您要直接到 Notepad++ 網頁下載最新版本嗎?|Обновление Notepad++ не совместимо с XP из-за устаревшего уровня безопасности.&#10;Хотите перейти на страницу Notepad++, чтобы загрузить последнюю версию?" diff:status="modified"/>
    		<DocTooDirtyToMonitor title="監控錯誤|Проблема Мониторинга" message="文件已被修改,請在監視前儲存文件。|Документ в работе. Сохраните внесённые изменения перед его мониторингом." diff:status="modified"/>
    		<DocNoExistToMonitor title="監控錯誤|Проблема Мониторинга" message="文件不存在,因此無法進行監視。|Для мониторинга файл должен существовать." diff:status="modified"/>
    		<FileTooBigToOpen title="文件太大|Проблема с размером файла" message="文件太大,無法使用 Notepad++ 開啟。|Файл слишком велик, чтобы открыть его в Notepad++" diff:status="modified"/>
    		<CreateNewFileOrNot title="開新檔案|Создание нового файла" message="「$STR_REPLACE$」不存在。您要開新檔案嗎?|&quot;$STR_REPLACE$&quot; не существует. Создать его?" diff:status="modified"/>
    		<CreateNewFileError title="開新檔案|Создание нового файла" message="無法開新檔案「$STR_REPLACE$」。|Не удается создать файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<OpenFileError title="錯誤|ОШИБКА" message="無法開啟「$STR_REPLACE$」|Невозможно открыть файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<FileBackupFailed title="文件備份失敗|Ошибка файла Резервного Копирования" message="以前版本的檔案無法儲存到「$STR_REPLACE$」的備份目錄中。您要儲存此文件嗎?|Предыдущая версия файла не может быть сохранена в каталоге резервного копирования &quot;$STR_REPLACE$&quot;.&#10;&#10;Вы хотите сохранить текущий файл так или иначе?" diff:status="modified"/>
    		<LoadStylersFailed title="載入失敗|Ошибка загрузки stylers.xml" message="載入「$STR_REPLACE$」失敗。|Ошибка загрузки &quot;$STR_REPLACE$&quot;!" diff:status="modified"/>
    		<LoadLangsFailed title="載入失敗|Конфигуратор" message="載入 langs.xml 失敗。 您要回復它嗎?|Ошибка загрузки langs.xml!&#10;Вы хотите восстановить свой langs.xml?" diff:status="modified"/>
    		<LoadLangsFailedFinal title="載入失敗|Конфигуратор" message="載入 langs.xml 失敗。|Ошибка загрузки langs.xml!" diff:status="modified"/>
    		<FolderAsWorspaceSubfolderExists title="加入錯誤|Проблема при добавлении &quot;Папка как Рабочая Область&quot;" message="您要添加的目錄已以子目錄型態存在中。 如欲添加「$STR_REPLACE$」,請先將其根目錄從資料夾工作區中移除。|Подпапка папки, которую вы хотите добавить, уже существует.&#10;Пожалуйста, удалите её корень, прежде чем добавить папку &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<ProjectPanelChanged title="$STR_REPLACE$" message="工作區已被修改。您要儲存它嗎?|Рабочая область была изменена. Вы хотите сохранить её?" diff:status="modified"/>
    		<ProjectPanelChangedSaveError title="$STR_REPLACE$" message="工作區儲存失敗。|Ваше рабочая область не сохранена." diff:status="modified"/>
    		<ProjectPanelOpenDoSaveDirtyWsOrNot title="開啟工作區|Открытие Рабочей Области" message="目前的工作區已被修改。您要儲存目前的專案嗎?|Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" diff:status="modified"/>
    		<ProjectPanelNewDoSaveDirtyWsOrNot title="新工作區|Новая Рабочая Область" message="目前的工作區已被修改。您要儲存目前的專案嗎?|Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" diff:status="modified"/>
    		<ProjectPanelOpenFailed title="無法開啟工作區|Открытие Рабочей Области" message="工作區檔案無效或已被損毀。|Не удалось открыть рабочую область.&#10;Похоже файл, который нужно открыть, является недопустимым файлом проекта." diff:status="modified"/>
    		<ProjectPanelRemoveFolderFromProject title="從專案中刪除資料夾|Удаление папки из проекта" message="所有子目錄將被刪除。您確定要從專案中刪除此資料夾嗎?|Все подэлементы будут удалены.&#10;Вы действительно хотите удалить эту папку из проекта?" diff:status="modified"/>
    		<ProjectPanelRemoveFileFromProject title="從專案中刪除文件|Удаление файла из проекта" message="您確定要從專案中刪除此文件嗎?|Вы действительно хотите удалить этот файл из проекта?" diff:status="modified"/>
    		<ProjectPanelReloadError title="重新載入工作區|Перезагрузка Рабочей Области" message="找不到要重新載入的檔案。|Не удается найти файл для перезагрузки." diff:status="modified"/>
    		<ProjectPanelReloadDirty title="重新載入工作區|Перезагрузка Рабочей Области" message="目前的工作區已被修改。您要重新載入並捨棄所做的修改嗎?|Текущее рабочая область была изменена. Перезагрузка отменит все изменения.&#10;Вы хотите продолжить?" diff:status="modified"/>
    		<UDLNewNameError title="自訂程式語言錯誤|Ошибка Польз. Имени" message="此名稱已被另一個程式語言使用。請重新命名。|Это имя используется другим языком.&#10;Пожалуйста, дайте ему другое имя." diff:status="modified"/>
    		<UDLRemoveCurrentLang title="刪除語言|Удаление текущего языка" message="您確定要刪除目前的自訂程式語言嗎?|Вы уверены?" diff:status="modified"/>
    		<SCMapperDoDeleteOrNot title="刪除快速鍵|Вы уверены?" message="您確定要刪除這個快速鍵嗎?|Вы действительно хотите удалить эту горячую клавишу?" diff:status="modified"/>
    		<FindCharRangeValueError title="輸入值範圍錯誤|Проблема со значением диапазона" message="您輸入的值應在 0 到 255 之間。如要搜尋大於 255 的字元,請在「尋找」對話方塊中使用「規則運算式」。|Вы должны ввести от 0 и до 255." diff:status="modified"/>
    		<OpenInAdminMode title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" diff:status="added"/>
    		<OpenInAdminModeWithoutCloseCurrent title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" diff:status="added"/>
    		<OpenInAdminModeFailed title="Не удалось открыть в режиме Администратора" message="Notepad++ не может быть открыто в режиме Администратора." diff:status="added"/>
    	</MessageBox>


  • This regular expression has removed almost everything correctly except this section of code. Here it turned out not quite right.

    	<MessageBox diff:status="below">
    		<ContextMenuXmlEditWarning title="Редактирование contextMenu"Редактирование contextMenu.xml позволяет настроить свое всплывающее контекстное меню в Notepad++.&#10;Вы должны перезапустить Notepad++, чтобы изменения вступили в силу." diff:status="modified"/>
    		<NppHelpAbsentWarning title="Файла не существует"&#10;не существует. Пожалуйста, загрузите его с сайта Notepad++." diff:status="modified"/>
    		<SaveCurrentModifWarning title="Сохранение текущих изменений"Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" diff:status="modified"/>
    		<LoseUndoAbilityWarning title="Потеря возможности отката"Вы должны сохранить текущие изменения.&#10;Все сохраненные изменения не смогут быть отменены.&#10;&#10;Продолжить?" diff:status="modified"/>
    		<CannotMoveDoc title="Переход к новому экземпляру Notepad++"Документ был изменен, сохраните его и повторите попытку." diff:status="modified"/>
    		<DocReloadWarning title="Перезагрузка"Все внесенные изменения будут потеряны!&#10;Продолжить?" diff:status="modified"/>
    		<FileLockedWarning title="Сохранение не удалось"Пожалуйста, проверьте открыт ли этот файл в другом приложении." diff:status="modified"/>
    		<FileAlreadyOpenedInNpp title=""Файл уже открыт в Notepad++." diff:status="modified"/>
    		<DeleteFileFailed title="Удаление файла"Не удалось удалить файл" diff:status="modified"/>
    		<NbFileToOpenImportantWarning title="Очень большое количество файлов"$INT_REPLACE$ файла(ов) будут открыты.&#10;Продолжить?" diff:status="modified"/>
    		<SettingsOnCloudError title="Параметры Облака"Похоже, что путь для облака указан на диск или папку с пометкой только для чтения.&#10;Вам необходимо открыть доступ или получить права на запись.&#10;Ваши параметры облака будут отменены. Пожалуйста сбросьте значение в окне Настройки..." diff:status="modified"/>
    		<FilePathNotFoundWarning title="Открытие Файла"Файл, который вы пытаетесь открыть, не существует." diff:status="modified"/>
    		<SessionFileInvalidError title="Не удалось загрузить Сессию"Файл сессии поврежден или недействителен." diff:status="modified"/>
    		<DroppingFolderAsProjectModeWarning title="Неправильное действие"Вы можете применить только файлы или папки, но не обе, потому что вы перетаскиваете в режиме Папка как Проект.&#10;вы должны включить &quot;Открыть все файлы папки при перетаскивании, вместо запуска Папка как Рабочая Область&quot; в &quot;Директорию По Умолчанию&quot;, чтобы эта операция работала зайдите в Настройки." diff:status="modified"/>
    		<SortingError title="Ошибка сортировки"Невозможно выполнить числовую сортировку из-за строки $INT_REPLACE$." diff:status="modified"/>
    		<ColumnModeTip title="Режим Столбца"Пожалуйста, используйте &quot;ALT+Выделение Мышкой&quot; или &quot;Alt+Shift+Клавиши Стрелок&quot; для переключения в режим столбца." diff:status="modified"/>
    		<BufferInvalidWarning title="Ошибка Сохранения"Не удается сохранить: Недопустимый буфер." diff:status="modified"/>
    		<DoSaveOrNot title="Сохранение"Сохранить файл &quot;$STR_REPLACE$&quot;?" diff:status="modified"/>
    		<DoCloseOrNot title="Удержание несуществующего файла"Файла &quot;$STR_REPLACE$&quot; больше не существует.&#10;Удержать этот файл в редакторе?" diff:status="modified"/>
    		<DoDeleteOrNot title="Удаление файла"Файл &quot;$STR_REPLACE$&quot;&#10;будет закрыт и удалён в Корзину.&#10;Продолжить?" diff:status="modified"/>
    		<NoBackupDoSaveFile title="Сохранение"Файл резервной копии не найден (удалён извне).&#10;Сохраните его, иначе ваши данные будут потеряны.&#10;Вы хотите сохранить файл &quot;$STR_REPLACE$&quot; ?" diff:status="modified"/>
    		<DoReloadOrNot title="Обновление файла"&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?" diff:status="modified"/>
    		<DoReloadOrNotAndLooseChange title="Обновление файла"&quot;$STR_REPLACE$&quot;&#10;&#10;Этот файл был изменен другой программой.&#10;Вы хотите обновить его?&#10;Но вы потеряете все внесенные изменения в Notepad++?" diff:status="modified"/>
    		<PrehistoricSystemDetected title="Обнаружена доисторическая система"Кажется, вы все еще используете доисторическую систему. Извините, но эта функция работает только на современных системах." diff:status="modified"/>
    		<XpUpdaterProblem title="Обновление Notepad++"Обновление Notepad++ не совместимо с XP из-за устаревшего уровня безопасности.&#10;Хотите перейти на страницу Notepad++, чтобы загрузить последнюю версию?" diff:status="modified"/>
    		<DocTooDirtyToMonitor title="Проблема Мониторинга"Документ в работе. Сохраните внесённые изменения перед его мониторингом." diff:status="modified"/>
    		<DocNoExistToMonitor title="Проблема Мониторинга"Для мониторинга файл должен существовать." diff:status="modified"/>
    		<FileTooBigToOpen title="Проблема с размером файла"Файл слишком велик, чтобы открыть его в Notepad++" diff:status="modified"/>
    		<CreateNewFileOrNot title="Создание нового файла"&quot;$STR_REPLACE$&quot; не существует. Создать его?" diff:status="modified"/>
    		<CreateNewFileError title="Создание нового файла"Не удается создать файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<OpenFileError title="ОШИБКА"Невозможно открыть файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<FileBackupFailed title="Ошибка файла Резервного Копирования"Предыдущая версия файла не может быть сохранена в каталоге резервного копирования &quot;$STR_REPLACE$&quot;.&#10;&#10;Вы хотите сохранить текущий файл так или иначе?" diff:status="modified"/>
    		<LoadStylersFailed title="Ошибка загрузки stylers.xml"Ошибка загрузки &quot;$STR_REPLACE$&quot;!" diff:status="modified"/>
    		<LoadLangsFailed title="Конфигуратор"Ошибка загрузки langs.xml!&#10;Вы хотите восстановить свой langs.xml?" diff:status="modified"/>
    		<LoadLangsFailedFinal title="Конфигуратор"Ошибка загрузки langs.xml!" diff:status="modified"/>
    		<FolderAsWorspaceSubfolderExists title="Проблема при добавлении &quot;Папка как Рабочая Область&quot;"Подпапка папки, которую вы хотите добавить, уже существует.&#10;Пожалуйста, удалите её корень, прежде чем добавить папку &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<ProjectPanelChanged title="Рабочая область была изменена. Вы хотите сохранить её?" diff:status="modified"/>
    		<ProjectPanelChangedSaveError title="Ваше рабочая область не сохранена." diff:status="modified"/>
    		<ProjectPanelOpenDoSaveDirtyWsOrNot title="Открытие Рабочей Области"Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" diff:status="modified"/>
    		<ProjectPanelNewDoSaveDirtyWsOrNot title="Новая Рабочая Область"Текущая рабочая область была изменена. Вы хотите сохранить текущий проект?" diff:status="modified"/>
    		<ProjectPanelOpenFailed title="Открытие Рабочей Области"Не удалось открыть рабочую область.&#10;Похоже файл, который нужно открыть, является недопустимым файлом проекта." diff:status="modified"/>
    		<ProjectPanelRemoveFolderFromProject title="Удаление папки из проекта"Все подэлементы будут удалены.&#10;Вы действительно хотите удалить эту папку из проекта?" diff:status="modified"/>
    		<ProjectPanelRemoveFileFromProject title="Удаление файла из проекта"Вы действительно хотите удалить этот файл из проекта?" diff:status="modified"/>
    		<ProjectPanelReloadError title="Перезагрузка Рабочей Области"Не удается найти файл для перезагрузки." diff:status="modified"/>
    		<ProjectPanelReloadDirty title="Перезагрузка Рабочей Области"Текущее рабочая область была изменена. Перезагрузка отменит все изменения.&#10;Вы хотите продолжить?" diff:status="modified"/>
    		<UDLNewNameError title="Ошибка Польз. Имени"Это имя используется другим языком.&#10;Пожалуйста, дайте ему другое имя." diff:status="modified"/>
    		<UDLRemoveCurrentLang title="Удаление текущего языка"Вы уверены?" diff:status="modified"/>
    		<SCMapperDoDeleteOrNot title="Вы уверены?"Вы действительно хотите удалить эту горячую клавишу?" diff:status="modified"/>
    		<FindCharRangeValueError title="Проблема со значением диапазона"Вы должны ввести от 0 и до 255." diff:status="modified"/>
    		<OpenInAdminMode title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" diff:status="added"/>
    		<OpenInAdminModeWithoutCloseCurrent title="Ошибка сохранения" message="Файл не может быть сохранен и может быть защищён.&#10;Хотите запустить Notepad++ в режиме администратора?" diff:status="added"/>
    		<OpenInAdminModeFailed title="Не удалось открыть в режиме Администратора" message="Notepad++ не может быть открыто в режиме Администратора." diff:status="added"/>
    	</MessageBox>


  • @andrecool-68
    let’s combine @guy038 's regex with mine, and it should work on your second example:

    find what: "[\x{3000}-\x{303F}\x{4E00}-\x{9FEF}](.*?)\|
    replace with: "

    note: this new regex will only work if the first character after a " is chinese

    @guy038
    your original regex leaves out the | which should also be removed.



  • @guy038

    This removes all Chinese characters, but the fact is that the phrase starts with this character = " and ends with this character |
    And along with the Chinese symbols there may be other symbols including Latin.

    <DoSaveOrNot title=“儲存檔案|Сохранение” message=“您要儲存「$STR_REPLACE$」嗎?|Сохранить файл “$STR_REPLACE$”?” diff:status=“modified”/>



  • @andrecool-68

    yes, you are correct, sorry.

    please try this modified one:

    find what: "(.*?)[\x{3000}-\x{303F}\x{4E00}-\x{9FEF}](.*?)\|
    replace with: "

    with this one any text can start, end, or have latin characters in between.
    text will only be removed if chinese is somewhere, anywhere between " and |



  • @Meta-Chuh

    It turned out very well here.

    			<Item id="Режим Поиска" diff:status="modified"/>
    			<Item id="Обычный" diff:status="modified"/>
    			<Item id="Регуляр. выражен." diff:status="modified"/>
    			<Item id="Расширенный (\n, \r, \t, \0, \x...)" diff:status="modified"/>
    			<Item id="и новые строки" diff:status="modified"/>
    		</FindInFinder>
    		<SHA256FromFilesDlg title="從檔案產生 SHA-256" diff:status="removed">
    			<Item id="1922" name="從檔案產生 SHA-256..." diff:status="removed"/>
    			<Item id="1924" name="複製到剪貼簿" diff:status="removed"/>
    			<Item id="2" name="關閉" diff:status="removed"/>
    		</SHA256FromFilesDlg>
    

    It didn’t work out right here.

    		<FileTooBigToOpen title="Проблема с размером файла"Файл слишком велик, чтобы открыть его в Notepad++" diff:status="modified"/>
    		<CreateNewFileOrNot title="Создание нового файла"&quot;$STR_REPLACE$&quot; не существует. Создать его?" diff:status="modified"/>
    		<CreateNewFileError title="Создание нового файла"Не удается создать файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>
    		<OpenFileError title="ОШИБКА"Невозможно открыть файл &quot;$STR_REPLACE$&quot;." diff:status="modified"/>


  • @andrecool-68

    one more ;-)

    find what: ="(.*?)[\x{3000}-\x{303F}\x{4E00}-\x{9FEF}](.*?)\|
    replace with: ="

    i’ve now added = to the search, because the old regex started at the end " instead of the beginning " under certain circumstances.

    note: i’m not a regex guru like @guy038 and i obviously underestimated how many conditions you have to think of in your head, before writing a regex.
    i’m more of the “trial and error” dude ;-)



  • It is very bad that there is no utility to work with the localization of Notepad++, a simple comparison of files does not always give a good result. Since the strings in the XML language files do not go in their order. This can be seen by comparing Chinese and Russian.



  • @Meta-Chuh
    Here’s what happened here:

          <Item menuId="&amp;Файл"/>
          <Item menuId="&amp;Правка"/>
          <Item menuId="По&amp;иск"/>
          <Item menuId="&amp;Вид"/>
          <Item menuId="&amp;Кодировки"/>
          <Item menuId="&amp;Синтаксисы"/>
          <Item menuId="&amp;Опции"/>
          <Item menuId="Инстр&amp;ументы"/>
          <Item menuId="&amp;Макросы"/>
          <Item menuId="&amp;Запуск"/>
          <Item idName="Плаги&amp;ны"/>
          <Item idName="Вкл&amp;адки"/>
    

    And should be so:

    				<Item menuId="file" name="&amp;Файл"/>
    				<Item menuId="edit" name="&amp;Правка"/>
    				<Item menuId="search" name="По&amp;иск"/>
    				<Item menuId="view" name="&amp;Вид"/>
    				<Item menuId="encoding" name="&amp;Кодировки"/>
    				<Item menuId="language" name="&amp;Синтаксисы"/>
    				<Item menuId="settings" name="&amp;Опции"/>
    				<Item menuId="tools" name="Инстр&amp;ументы"/>
    				<Item menuId="macro" name="&amp;Макросы"/>
    				<Item menuId="run" name="&amp;Запуск"/>
    				<Item idName="Plugins" name="Плаги&amp;ны"/>
    				<Item idName="Window"  name="Вкл&amp;адки"/>
    

    Probably regular expressions will not be able to fix the mess that is made xmlTreeNav. Need to look for an alternative to xmlTreeNav (this is not a good tool for XML localization)



  • Hi, @andrecool-68, @Meta-chuh and All,

    @meta-chuh :

    Ah, yes ! Your last attempt, adding the = sign is the right one because your former regex deleted the message = part !

    @Andrecool-68 :

    Now, I’ve got the problem : you want to delete the part of values, of the two attributes title and message, after the =" string, till the nearest | character included, but only if  this range contains, at least, one Chinese character ;-))

    So, the following regex S/R :

    • SEARCH (?-s)\x20(title|message)="\K.*?[\x{3000}-\x{303F}\x{4E00}-\x{9FEF}].*?\|

    • REPLACE Leave EMPTY

    • Option Regular expression

    • Option Wrap around, if necessary

    • Click on the Replace All button, exclusively ( because of the \K syntax )

    Et voilà !

    I tested the result of our two regexes, Chuh, and they do produce the same replaced text ;-))

    Cheers,

    guy038



  • @guy038

    You’ll laugh but it worked for this piece of code and left the rest unchanged.



  • @guy038

    that’s why you are the guru ;-)

    it is always astonishing how many things you are capable of thinking ahead so quickly.
    like a game of chess, where you know the outcome of the game, even before a user makes the first draw.

    this example looked so easy to me at first, but i have missed to think about so many things in advance, and this clearly shows the limits of my “trial and error” attempts.

    ps: i thought you were skiing today … or are you writing from your mobile phone, while you are actually cruising down the slopes at the same time ? 😉👍



  • @Meta-Chuh

    We have in Israel, plus 22 degrees Celsius , and it is very difficult in this weather to ski)))



  • Thank you all very much for your help!



  • @andrecool-68

    We have in Israel, plus 22 degrees Celsius , and it is very difficult in this weather to ski)))

    😂 i would like to have your temperatures and climate around here too, plus a cocktail on a beach, with chillout music and happy people all around 👍



  • Hi, @meta-chuh,

    Please, not a “regex guru”. Only a guy who always keeps his eyes amazed at the important text changes that these little pieces of code can produce !


    Sorry, Chuh, I did not write on my mobile phone while skiing ! Unlike young people, I still need a screen, with a fairly size to feel comfortable, while writing a post on our forum ;-))

    Actually, though weather was marvelous, and probably due to my recent indisposition, I was a bit tired last afternoon and I just stopped, up there, with a colleague, … … … for a beer, looking at the nice panorama around ! But, we’ve planned an other ski-day, next Thursday, on the “Les Menuires - St Martin de Belleville” ski area !

    Here is my modified “slopes map” picture, which shows the “Meribel - Les Menuires - Val Thorens” areas and part of Courchevel, on the left !

    img

    BR

    guy038


Log in to reply