Is there a way to hide commands?
-
Hello, @volkan-çolak,
I saw, one minute ago, that you’re on-line on our site ! So, just be patient one hour, about, as I found out a solution to your problem and I’m preparing a post to give you the method ;-))
See you later,
guy038
-
Hello, @volkan-çolak, @peterjones, @scott-sumner and All,
Aaaaah ! Yes, it took me some time to completely figure out your tricky problem, but I finally found out a solution ;-)) This method is long enough and I advice you to read this post, completely, before going ahead with the different steps to perform !
This method consists, principally, in :
-
Some copy/paste operations, of course
-
An N++ sort operation
-
Several searches/replacements, which will use the regular expression search mode
In this respect, for each S/R, simply follow these steps :
-
Open the N++
Replace
dialog (Ctrl + H
) -
Type in ( or copy/paste ) the SEARCH regex in the Find what: zone
-
Type in ( or copy/paste ) the REPLACE regex in the Replace with: zone
-
Set the
Wrap around
option -
Select the
Regular expression
search mode -
Click on the
Replace All
button ( Do not use theReplace
button ! )
Well, now, let’s go !
- From your picture, I simply created a similar code, while trying to get a correct sequence, as below, which represents a short part of your data :
<Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Retreat</Data> </Cell> <Cell> <Data ss:Type="String">Tears</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.101.Text</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">The orc shamans want to join you.</Data> </Cell> <Cell> <Data ss:Type="String">The orc shamans want to join you.</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Accept</Data> </Cell> <Cell> <Data ss:Type="String">Accept</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row>
- First, I strongly advice you to do a copy of your original data
Remark : We, all, should act as Mother Nature does : it never uses
ADN
genetic code. It always replicates it, first, as anARN
sequence, which, then, is used for any bio-chemical action ! Believe me, it’s been working… … … for3,7
billion years !-
So, open a COPY of your original file, in Notepad++
-
Now, using the first S/R, below, it should extract all the white zones of text, that you spoke of, in your picture
SEARCH
(?s)\s*<.+?"String">\s*|<.+
REPLACE
\r\n
( or\n
if you work on Unix files )You should obtain the different lines, below :
Retreat Tears Dialog.Option.101.Text Scenario Data The orc shamans want to join you. The orc shamans want to join you. Dialog.Option.358.OptionText Scenario Data Accept Accept Dialog.Option.358.OptionText Scenario Data
- Choose, now, the menu command
Edit > Line Operations > Sort Lines Lexicographically Ascending
. your text becomes sorted, as below :
Accept Accept Dialog.Option.101.Text Dialog.Option.358.OptionText Dialog.Option.358.OptionText Retreat Scenario Data Scenario Data Scenario Data Tears The orc shamans want to join you. The orc shamans want to join you.
- Perform, then, the following S/R, in order to delete all duplicate lines of that list :
SEARCH
^(.*\R)\1+
REPLACE
\1
you should obtain this shortened list :
Accept Dialog.Option.101.Text Dialog.Option.358.OptionText Retreat Scenario Data Tears The orc shamans want to join you.
- Now, paste the different lines of this American-English text, on an on-line translator. You said that you generally, use the Google one, but, personally, I prefer the translator, below, based on neuronal networks, which is really very efficient ::-)
https://www.deepl.com/translator
Well. So, let’s imagine that we would like to translate in French, using deepl.com site. We get the French list, below, that we paste, back, in N++ :
Accepter Option.de.dialogue.101.Texte Option.Dialog.Option.358.OptionText Se retirer Données de scénario Larmes Les chamans orcs veulent se joindre à vous.
I simply changed the French nom "Retraite " with the French verb "Se retirer ", which is better, given the context !
-
Now, we’re about to build the correct file, in order to run our last S/R ! So, in a new N++ tab :
-
Insert your original data, first :
-
Add a new line, made up several equal signs as, for instance
==================
-
Append all the English sentences, that we extracted, at first step
-
Add, again, a line
==================
-
Finally, add the French sentences, obtained from the on-line translator
-
This text should be, as below :
<Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Retreat</Data> </Cell> <Cell> <Data ss:Type="String">Tears</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.101.Text</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">The orc shamans want to join you.</Data> </Cell> <Cell> <Data ss:Type="String">The orc shamans want to join you.</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Accept</Data> </Cell> <Cell> <Data ss:Type="String">Accept</Data> </Cell> <Cell> <Data ss:Type="String">Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Scenario Data</Data> </Cell> </Row> =================================================== Accept Dialog.Option.101.Text Dialog.Option.358.OptionText Retreat Scenario Data Tears The orc shamans want to join you. =================================================== Accepter Option.de.dialogue.101.Texte Option.Dialog.Option.358.OptionText Se Retirer Données de scénario Larmes Les chamans orcs veulent se joindre à vous.
Almost done !
- We just have to run the last regex S/R, below, which changes all American/English sentences, in your code, with the matched French translation of these sentences !
SEARCH
(?-s)(?<="String">)(.+?)(?=</Data>(?s).+^=+.*?\R\1\R(?-s)(?:.+\R){7}(.+))|(?s)^=+.+
REPLACE
\2
IMPORTANT : The number seven, in the syntax
{7}
, is the total number of lines translated. Thus, le number7
, in our example
After replacement, you’re left with the expected text, containing translated “white” sentences, only ;-))
<Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Se Retirer</Data> </Cell> <Cell> <Data ss:Type="String">Larmes</Data> </Cell> <Cell> <Data ss:Type="String">Option.de.dialogue.101.Texte</Data> </Cell> <Cell> <Data ss:Type="String">Données de scénario</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Les chamans orcs veulent se joindre à vous.</Data> </Cell> <Cell> <Data ss:Type="String">Les chamans orcs veulent se joindre à vous.</Data> </Cell> <Cell> <Data ss:Type="String">Option.Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Données de scénario</Data> </Cell> </Row> <Row ss:StyleID="s3"> <Cell> <Data ss:Type="String">Accepter</Data> </Cell> <Cell> <Data ss:Type="String">Accepter</Data> </Cell> <Cell> <Data ss:Type="String">Option.Dialog.Option.358.OptionText</Data> </Cell> <Cell> <Data ss:Type="String">Données de scénario</Data> </Cell> </Row>
Et voilà !
Next time, I’ll give you some explanations on the regexes used, if you want to !
Best Regards,
guy038
-
-
-
Assuming that says what I think it says (I saw “button vote … 10 votes”), I second that motion. Actually, I square that motion; I would give +100 for that answser. :-)
-
Hi, @jim-dailey and @peterJones,
Thank you, guys, but I believe that we should remain modest ! Anyway, you, both, provide very detailed posts on various topics, too ! So, I could return the compliment to you !
We, all, just do our best to help anyone, when we think of a right solution ;-))
Cheers,
guy038
-
guy038> Thank you, guys, but I believe that we should remain modest !
Not to invite or start a political war, but I have to say, you’ll never be President of the U.S. with that kind of attitude!
:-)
-
@guy038 Omg i haven’t read it yet but even if you succeed or not, you deserve respect. Before i begin (tonight i will available) i truly wanted to thank you so much!
-
@Jim-Dailey Ehm. First of all thank you but it seems my knowledge + my english is unsufficient for this :( i felt guilty but i wasn’t expected it to be a difficult like this. I was tought it could be the plugin that can hides html codes :(
-
I think we are having language difficulties.
I did not help answer your question at all, so I’m not sure why you would thank me. But, you are welcome!
I just tried to praise @guy038 for his amazing answer (using the site he mentioned, https://www.deepl.com/translator, so that I could post in French, which I assume is Guy’s native language).
Then made a poor joke about his reply to my French posting.
I think you will find Guy’s post very useful. Best of luck!
-
Hi, @jim-dailey,
To be honest, the Google translation, of the American/English text, of my previous post, in French, wasn’t so bad, either !
But I suppose that neuronal networks are, definitively, a
+
for translation matters and I was, also, a bit impressed by the press comments about DeepL translator performances ;-))Cheers,
guy038