What is the best database design for multi-language data?
The primary disadvantage of your first option is that you must create/maintain a similar table structure for n different languages and your application must switch between them.  When a new language is added you will have to add table and modify your application.
Your second option is preferable of the two.  I will address some of your concerns.


If your security relies on the separation of data into different tables, then your security needs work.  Sure, separating them would provide some degree of additional security, but if you invest the time you save by not maintaining multiple tables into verifying/increasing your other security measures you will have far greater benefit.
When you query the data you can sort by language.
A WHERE clause on the country would retrieve data only for a particular country.


I recommend you store the primary details including the English names in simpler tables and then each table that has other language equivalents can have a language specific table containing every other language.  Something like this:

Languages
&nbsp;&nbsp;&nbsp;ID
&nbsp;&nbsp;&nbsp;Name

Drugs
&nbsp;&nbsp;&nbsp;ID
&nbsp;&nbsp;&nbsp;Price
&nbsp;&nbsp;&nbsp;Name
&nbsp;&nbsp;&nbsp;Interactions
&nbsp;&nbsp;&nbsp;Mechanism
&nbsp;&nbsp;&nbsp;Uses

DrugLanguages
&nbsp;&nbsp;&nbsp;DrugID
&nbsp;&nbsp;&nbsp;LanguageID
&nbsp;&nbsp;&nbsp;Name
&nbsp;&nbsp;&nbsp;Interactions
&nbsp;&nbsp;&nbsp;Mechanism
&nbsp;&nbsp;&nbsp;Uses

Companies
&nbsp;&nbsp;&nbsp;ID
&nbsp;&nbsp;&nbsp;Name
&nbsp;&nbsp;&nbsp;Address
&nbsp;&nbsp;&nbsp;Activity

CompanyLanguages
&nbsp;&nbsp;&nbsp;CompanyID
&nbsp;&nbsp;&nbsp;LanguageID
&nbsp;&nbsp;&nbsp;Name
&nbsp;&nbsp;&nbsp;Address
&nbsp;&nbsp;&nbsp;Activity

You should know that I have never done multilingual design, so my approach may have limitations that I do not fathom.