### Method

# GLib KeyFile get_locale_string_list

since: 2.6

#### Declaration

    gchar**
    g_key_file_get_locale_string_list (
      GKeyFile* key_file,
      const gchar* group_name,
      const gchar* key,
      const gchar* locale,
      gsize* length,
      GError** error
    )

#### Description

Returns the values associated with `key` under `group_name` translated in the given `locale` if available. 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 `NULL` is returned and `error` is set to `G_KEY_FILE_ERROR_KEY_NOT_FOUND`. If the values associated with `key` cannot be interpreted or no suitable translations can be found then the untranslated values are returned. The returned array is `NULL`-terminated, so `length` may optionally be `NULL`.

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`.

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

`length`

  Type: `gsize*`

  Return location for the number of returned strings or `NULL`.

  The argument will be set by the function.
  The argument can be `NULL`.

`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: An array of `utf8`

A newly allocated `NULL`-terminated string array or `NULL` if the key isn’t found. The string array should be freed with g_strfreev().

The array is `NULL`-terminated.
The length of the array is in the `length` argument.
The caller of the method takes ownership of the returned data, and is responsible for freeing it.
Each element is a NUL terminated UTF-8 string.