In my opinion both. Jack of many and master of few.
Knowing many languages widens your perspective towards possible solutions to a problem and a number of ways the problem can be solved efficiently. You know different paradigms and how those can be effectively incorporated in cross functional languages.
For instance if your favorite languages doesn't support closures (No native/ library level implementation present ) but, you got to know about them from some other language, you can implement them in your language to solve the issue more efficiently.