Uses Cookies, then HTTP Accept-Language, then default, to negotiate
language setting.
The cookie name is 'lang', and the value can be any string which would
be valid in Accept-Language. This includes a trivial 2-char ISO code.
Language setting is returned as 2-char ISO code (though could be
more flexible in the future if needed).
HTML language is configured (attr), and a secondary per-language
scripts.html file is included.
As a hack Makefile generates the scripts_*.html files; typescript build
system will need to populate those appropriately as part of 'make
build-web' to finish integration.
* bskyweb: Makefile and dev env
This matches the setup for local dev testing in atproto and indigo
repos.
* gitignore: don't ignore self and .github/
* CI: golang build+test and lint actions
* bskyweb: better use of godotenv
A recent change from indigo.
* prettier: ignore top-level app.json
* CI: bump from golang 1.19 to 1.20
* bskyweb: update to golang 1.20