diff options
author | W. Trevor King <wking@tremily.us> | 2019-03-05 21:15:01 -0800 |
---|---|---|
committer | W. Trevor King <wking@tremily.us> | 2019-03-05 22:02:50 -0800 |
commit | 69cb8639b406a6bd4b441073fcb27dc68be01fe8 (patch) | |
tree | ffd1c4da5d97d93237f6fcb22c6ee3430643bac0 /libpod/util_test.go | |
parent | 40f78439459d0899de8643661b8e996a1e2460d6 (diff) | |
download | podman-69cb8639b406a6bd4b441073fcb27dc68be01fe8.tar.gz podman-69cb8639b406a6bd4b441073fcb27dc68be01fe8.tar.bz2 podman-69cb8639b406a6bd4b441073fcb27dc68be01fe8.zip |
libpod/container_internal: Split locale at the first dot, etc.
We're going to feed this into Go's BCP 47 language parser. Language
tags have the form [1]:
language
["-" script]
["-" region]
*("-" variant)
*("-" extension)
["-" privateuse]
and locales have the form [2]:
[language[_territory][.codeset][@modifier]]
The modifier is useful for collation, but Go's language-based API
[3] does not provide a way for us to supply it. This code converts
our locale to a BCP 47 language by stripping the dot and later and
replacing the first underscore, if any, with a hyphen. This will
avoid errors like [4]:
WARN[0000] failed to parse language "en_US.UTF-8": language: tag is not well-formed
when feeding language.Parse(...).
[1]: https://tools.ietf.org/html/bcp47#section-2.1
[2]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
[3]: https://github.com/golang/go/issues/25340
[4]: https://github.com/containers/libpod/issues/2494
Signed-off-by: W. Trevor King <wking@tremily.us>
Diffstat (limited to 'libpod/util_test.go')
0 files changed, 0 insertions, 0 deletions