### Method

# GLib KeyFile get_locale_string

since: 2.6

#### Declaration [src]

    gchar*
    g_key_file_get_locale_string (
      GKeyFile* key_file,
      const gchar* group_name,
      const gchar* key,
      const gchar* locale,
      GError** error
    )

#### Description [src]

Returns the value associated with `key` under `group_name` translated in the given `locale` if available.

If `locale` is `C` then the untranslated value is returned (since GLib 2.84).

If `locale` is `NULL` then the current locale is assumed.

If `locale` is to be non-`NULL`, or if the current locale will change over the lifetime of the `GKeyFile`, it must be loaded with `G_KEY_FILE_KEEP_TRANSLATIONS` in order to load strings for all locales.

If `key` cannot be found then `G_KEY_FILE_ERROR_KEY_NOT_FOUND` is returned. If the value associated with `key` cannot be interpreted or no suitable translation can be found then the untranslated value is returned.

Available since: 2.6

#### Parameters

`group_name`

  Type: `const gchar*`

  A group name.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`key`

  Type: `const gchar*`

  A key.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`locale`

  Type: `const gchar*`

  A locale identifier or `NULL` to use the current locale.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gchar*`

A newly allocated string or `NULL` if the specified key cannot be found.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.