If you don't have a specific locale, you can just specify the language. Google give an example here: rel="alternate" hreflang="x"
If you have several alternate URLs targeted at users with the same
language but in different locales, it's a good idea to provide a
generic URL for geographically unspecified users. For example, you may
have specific URLs for English speakers in Ireland (en-ie), Canada
(en-ca), and Australia (en-au), but want all other English speakers to
see your generic English (en) page, and everyone else to see the
homepage. In this case you should specify the generic English-language
(en) page for searchers in, say, the UK. You can annotate this cluster
of pages using a Sitemap file or using HTML link tags like this:
<link rel=”alternate” href=”http://example.com/en-ie” hreflang=”en-ie” />
<link rel=”alternate” href=”http://example.com/en-ca” hreflang=”en-ca” />
<link rel=”alternate” href=”http://example.com/en-au” hreflang=”en-au” />
<link rel=”alternate” href=”http://example.com/en” hreflang=”en” />
So you could have:
<link rel=”alternate” href=”http://example.com/en-gb” hreflang=”en-gb” />
<link rel=”alternate” href=”http://example.com/en-us” hreflang=”en-us” />
<link rel=”alternate” href=”http://example.com/en” hreflang=”en” />
<link rel=”alternate” href=”http://example.com/de-at” hreflang=”de-at” />
<link rel=”alternate” href=”http://example.com/de-de” hreflang=”de-de” />
<link rel=”alternate” href=”http://example.com/de” hreflang=”de” />