Failing feature for non-English world news
Editions now have a primary locale

So we can differentiate between a normal (English) edition and
non-English ones, we store a "primary locale". By default, this
is English, so existing documents should behave as before.
Editions fallback to their primary locale

globalize3 uses globalize_fallbacks when checking translated attribute
values. By default, it checks the for translations in the current
(globally-set) locale before falling back to whatever the default
locale is (i.e English). By overriding globalize_fallbacks, editions
will fallback to their primary locale instead of the default one,
meaning that non-English editions behave as expected (i.e. are valid)
when loaded in the default English locale.
Non-English editions do not get a slug

Because we cannot reliably generate readable slug strings for
non-English editions, we don't generate one, meaning that document
identification/param-generation will fallback to the document id.
Simplfy update slug logic

The unless / or clause was confusing so I've simplified it with a
guard clause. This uncovered a potential bug where the published?
check would return true even when the documents edition had been
unpublished because the published_edition association was returning
a cached edition.
Disable translations for non-English editions

If a user creates a non-English edition, then they forfeit their right
to translate it. We *could* in-theory allow this, but because the
specific use-case for this story is for news articles that are only
relevant to the local populous, we disable it to keep things simple.
Allow non-English world location news articles
Always save a slug, even for non-English editions

OK, so not having a slug set turns out to make things compicated on
front-end. Thinking on it, it actually makes more sense to save the
slug as the id for non-English editions, that way there is no
intrinsic difference between an English edition and a non-English one
as far as front-end is concerned.