Could one algorithm fetch keywords from texts of different natural languages? I am new to practicing NLP and most topics related, but I want to make a program that can gather and extract data for me on its own.

To be more specific, I want to tell the program "I want more information on this topic(i.e heart attacks)", and then the program shall find, gather and extract meaningful texts on the topic from around the www.

I happen to live in Norway, which means that most interesting data will be in English, but I also want to fetch interesting data found in Norwegian.

One challenge is the differences in stop words. For instance, "are" and "and" are both stop words in English and subjects in Norwegian.
Other challenges are also likely to occur.

So my question is: Would I need to create separate algorithms for every natural language to be interpreted?
There are a few ways to deal with this issue.  Python has a package called NLTK which contains stop word lists for several languages (including English and Norwegian).  You can simply use this package, it's usage is as follows:

&gt;&gt;&gt; from nltk.corpus import stopwords
&gt;&gt;&gt; stop = stopwords.words('english')
&gt;&gt;&gt; sentence = "this is a foo bar sentence"
&gt;&gt;&gt; print [i for i in sentence.split() if i not in stop]
  ['foo', 'bar', 'sentence']


Alternatively, a method for automatically suppressing stop words is called tf-idf;  tf-idf is commonly used in search engines so that the most important words are promoted to the forefront.  In your case, I would suspect you'd want to have IDF scores for both English and Norwegian and apply only the appropriate one on a language to language basis.

http://en.wikipedia.org/wiki/Tf%E2%80%93idf