If you look at
In[1]:= FullForm[{"dog", "cat"}]
you see
Out[1]//FullForm= List["dog", "cat"]
If you do the same with
In[2]:= FullForm["dog" -> "cat"]
you see
Out[2]//FullForm= Rule["dog", "cat"]
So if you could just change List into Rule you would be done. Looking at the help page for Apply shows it does exactly that.
But you want to do this to lots of pairs in a list. Looking at the help page for Map shows it will do the same thing to every item in a list.
Really understanding how to use this should give you a whole new level of skill and ability in Mathematica.
Note: There are some shortcuts in Mathematica that will let you save a few keystrokes. Some of those use things like # and &. Those could be used to write this using a few less characters, but then you would need to learn how # and & work. The result should be the same. And you can learn that as needed.
In[1]:= text = {"The frog ate the dog", "The cat bit the frog"};
pairs = {{"frog", "goat"}, {"dog", "hampster"}, {"cat", "pig"}};
changeListToRule[x_] := Apply[Rule, x];
rules = Map[changeListToRule, pairs]
Out[3]= {"frog" -> "goat", "dog" -> "hampster", "cat" -> "pig"}
In[4]:= StringReplace[text, rules]
Out[4]= {"The goat ate the hampster", "The pig bit the goat"}