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