Sentence difficulty is all calculated on the English side, because it would be prohibitively expensive to translate before doing the calculation. It uses the vocabulary difficulty (via bloom filters - I'm planning to write a blog post with more detail on how I made it performant) and some grammar heuristics (punctuation, case/tense, etc).
Users don't automatically progress - perhaps I should have made that clearer. You choose your difficulty using the slider in the extension popup, deciding yourself when it's a good time to increase it.