So… this is possible with a partial.
Use a partial template to get the current language’s front matter value, and fallback to another language’s front matter value based on language weight (or alphabetically if weight is not set). For example:
layouts/_default/baseof.html
{{ with partial "get-page-param.html" (dict "page" . "param" "description") }}
<meta lang="{{ .lang }} "name="description" content="{{ .value }}">
{{ end }}
layouts/partials/get-page-param.html
{{ $value := "" }}
{{ $lang := ""}}
{{ with index $.page.Params $.param }}
{{ $value = . }}
{{ $lang = $.page.Language.Lang }}
{{ else }}
{{ range $p := $.page.Translations }}
{{ with index .Params $.param }}
{{ $value = . }}
{{ $lang = $p.Language.Lang }}
{{ break }}
{{ end }}
{{ end }}
{{ end }}
{{ return (dict "value" $value "lang" $lang) }}