Is there a way to hide commands?
-
@Volkan-Çolak said:
My english is not perfect like yours
Mine’s perfect?? no…no…no…
Well, you CAN post here in your native language, and most browsers have a “translate this page” option and potential helpers can look at what you’ve written using that method…so if you think that will help you express yourself better, by all means, go ahead.
I do maintain, however, that you did change the problem fully.
Unfortunately, I’m out of ideas for you; maybe someone else has something that will help.
-
No, when you open the XML file in the browser, what you see is XML tags. You do not see HTML tags (ie,
<Data ss:Type="String">
is XML, not HTML). It shows the XML tags because unless you tell the browser how to interpret and present the XML, the browser will default to showing you the tags, because it cannot know what any random XML tag should be interpreted as in terms of equivalent HTML / presentation.I stand by my assertion that what you’re really asking for is an XML WYSIWYG editor, which hides the XML tags from you, allowing you to focus on just the content (the plaintext between the tags, “the part I want to see that visible”).
I just went and grabbed an example XML file , and opened it in Microsoft Word; when you tell MS Word to interpret the file as XML, it then gets rid of the tags, and just shows the underlying data. You would then be able to copy to your heart’s content. (I don’t know whether you’d be able to edit/save and still have it be valid XML.)
It would very much surprise me if free alternative word processors (such as OpenOffice or LibreOffice Writer) didn’t do something similar with XML. (Sorry, I would have tested, but the only OpenOffice I have access to right now is so old it doesn’t know what XML is. I’m sure a modern one would know.)
Alternatively, search around for “XML WYSIWYG editor” or similar.
Notepad++ is a great text editor, with lots of features and can be easily extended through plugins… but it is not a word processor, and it is not a WYSIWYG editor which tries to hide the underlying structure so you can focus on content. There may actually be a plugin that does what you want, but I don’t know of any.
-
Also, if all you’re wanting to do is clean out all the XML tags, so that you can copy the contents/data and do something else with it, you could use a pretty simple regular expression to strip the XML tags. (This wouldn’t let you edit the XML… ie, if you strip out the tags, make an edit, and hit save, it will save the plain text, without any of the XML structure)
- Find What =
(?s)<[^>]+>
- Replace with = `` (empty)
- regular expression
(Note, if your attribute values have a
>
, this won’t work.) - Find What =
-
Yes sadly i have >. Thanks for everything who trying to help, let me show you the “exactly” what i want. But it translates all codes as well. If i cannot find, i will try to “re-translate” tags to their original values but sadly i have many tags.
-
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