'Stem a Norwegian word and return the stemmed form.
:param word: The word that is stemmed.
:type word: str or unicode
:return: The stemmed form.
:rtype: unicode'

def stem(self, word):

    word = word.lower()
    if (word in self.stopwords):
        return word
    r1 = self._r1_scandinavian(word, self.__vowels)
    for suffix in self.__step1_suffixes:
        if r1.endswith(suffix):
            if (suffix in (u'erte', u'ert')):
                word = suffix_replace(word, suffix, u'er')
                r1 = suffix_replace(r1, suffix, u'er')
            elif (suffix == u's'):
                if ((word[(-2)] in self.__s_ending) or ((word[(-2)] == u'k') and (word[(-3)] not in self.__vowels))):
                    word = word[:(-1)]
                    r1 = r1[:(-1)]
            else:
                word = word[:(- len(suffix))]
                r1 = r1[:(- len(suffix))]
            break
    for suffix in self.__step2_suffixes:
        if r1.endswith(suffix):
            word = word[:(-1)]
            r1 = r1[:(-1)]
            break
    for suffix in self.__step3_suffixes:
        if r1.endswith(suffix):
            word = word[:(- len(suffix))]
            break
    return word
