Sorry, I just saw your comment about "these".

n_plural and plural are getting written in each iteration of the "for element in" loop.

Also, after a second look, you could do

for raw_elm in plural.split(';'):
    element = raw_elm.strip()
    if element.startswith('nplurals='):

instead. It seems more readable to me, but only marginally; and I say "seems" because I'm not sure it actually is.