Here's the search process: What screen? FooScreen. OK, go to the FooScreenMessages.properties file.
What language? French. OK, go to the FooScreenMessages_fr.properties file.
What message key? "some.error.message". OK, open FooScreenMessages_fr.properties file, hit 'ctrl-s' for search, and start typing the key 'some.error.message'.
Yes, but if you have multiple screens to change, you end up opening and closing a bunch over and over again. Suppose you had a query like:
\n select * from messages \n where appID='nerg'\n and screen='blah' and msgKey='zok' and language='french'\n
Then you would only have to edit the search parameters for each one. (Some browsers can be made to prompt if you put a special marker in place of a parameter.) There is no open-open-open, close-close-close, open-open-open.... pattern that a file editor would have to keep going through. (Yeah, I know, you can write editor scripts.)
And suppose we needed to change the word 'back' to 'previous' in *multiple* screens:
\n select * from messages \n where msgText like '%back%' and language='english'\n
We can then get a list, inspect it to see which ones need changing, and then change those we want. (I am assuming that we want to study each one rather than a sudden bulk change.) Your approach would take longer because you have to open and close each file/screen that needs a change. The query brings it all together in one edit-grid. In fact, the query approach will immediatly tell us how many need changing. You would have to go to grep first.