Do not raise an exception (and thus crash the site) if there is no primary language translation for a page. Instead, just use the current page.

While this obviously should not happen if the site is correctly filled with content, a page that has no original translation in the primary language can easily be added. Switching languages would then raise an exception, which translates to an ugly 500 error. Just use the current page if that happens and hope for the best.