Skip to content

Locale API

Method Name Request Type Response Type Description
LocaleSet LocaleMessage Empty System-wide locale broadcast
TimezoneSet TimezoneMessage Empty System-wide timezone broadcast

Empty message

Field Type Label Description
key LocaleMacroKey e.g., LC_TIME, LC_NUMERIC
value string e.g., en_US.UTF-8
Field Type Label Description
assignments LocaleAssignment repeated List of locale assignments
Field Type Label Description
Timezone string String with timezone value. Format: tz database name, usually Area/City or Etc/GMT+3.

Locale macros as defined in locale(7)

Name Number Description
LANG 0
LC_ADDRESS 1
LC_COLLATE 2
LC_CTYPE 3
LC_IDENTIFICATION 4
LC_MONETARY 5
LC_MESSAGES 6
LC_MEASUREMENT 7
LC_NAME 8
LC_NUMERIC 9
LC_PAPER 10
LC_TELEPHONE 11
LC_TIME 12
LC_ALL 13
.proto Type Notes Go Type
double float64
float float32
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64
uint32 Uses variable-length encoding. uint32
uint64 Uses variable-length encoding. uint64
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64
sfixed32 Always four bytes. int32
sfixed64 Always eight bytes. int64
bool bool
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string
bytes May contain any arbitrary sequence of bytes. []byte