# LocalizedStringList

> A localized string list stored as one table entry whose value is split on a separator.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Localization](/engine/6000.7/script-reference/unity/localization.md)
* **Assembly:** UnityEngine.LocalizationRuntimeModule
* **Inherits from:** [LocalizedString](/engine/6000.7/script-reference/unity/localization/localizedstring.md)
* **Implements:** [IVariable](/engine/6000.7/script-reference/unity/smartstrings/persistentvariables/ivariable.md), [ILocalizedStringList](/engine/6000.7/script-reference/unity/localization/ilocalizedstringlist.md)

```csharp
public class LocalizedStringList : LocalizedString, IVariable, ILocalizedStringList
```

## Remarks

The referenced entry holds every item in one value, for example `Low,Medium,High`, and the list splits it on [LocalizedStringList.Separator](/engine/6000.7/script-reference/unity/localization/localizedstringlist/separator.md). One entry keeps the items together for translators, who can reorder them per language. Splitting does not trim the value, so spaces around the separator stay part of the items.

Additional Resources: [ILocalizedStringList](/engine/6000.7/script-reference/unity/localization/ilocalizedstringlist.md), [LocalizedStringGroup](/engine/6000.7/script-reference/unity/localization/localizedstringgroup.md)

Resolve a list of options and fill a dropdown.

## Examples

```csharp
using System.Collections.Generic;
using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples
{
    public class LocalizedStringListExample
    {
        public async Awaitable Load()
        {
            // The entry's value holds every option, for example "Low,Medium,High".
            var options = new LocalizedStringList { Separator = "," };
            options.SetReference("My Strings", "QUALITY OPTIONS");
            List<string> values = await options.GetLocalizedListAsync();
            Debug.Log(values.Count);
        }
    }
}
```

## Properties

| Property                                                                                         | Description                                                 |
| ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| [Separator](/engine/6000.7/script-reference/unity/localization/localizedstringlist/separator.md) | The text that separates the items inside the entry's value. |

## Inheritance

**Inherited Members:**

* [LocalizedString.GetLocalizedStringAsync(Object\[\])](/engine/6000.7/script-reference/unity/localization/localizedstring/getlocalizedstringasync.md)
* [LocalizedString.GetLocalizedString(Object\[\])](/engine/6000.7/script-reference/unity/localization/localizedstring/getlocalizedstring.md)
* [LocalizedString.GetSourceValue(ISelectorInfo)](/engine/6000.7/script-reference/unity/localization/localizedstring/getsourcevalue.md)
* [LocalizedString.RefreshString()](/engine/6000.7/script-reference/unity/localization/localizedstring/refreshstring.md)
* [LocalizedString.LocalVariables()](/engine/6000.7/script-reference/unity/localization/localizedstring/localvariables.md)
* [LocalizedString.StringChanged()](/engine/6000.7/script-reference/unity/localization/localizedstring/stringchanged.md)
* [LocalizedEntry\<IStringEntry>.SetReference(TableReference, TableEntryReference)](/engine/6000.7/script-reference/unity/localization/localizedentry1/setreference.md)
* [LocalizedEntry\<IStringEntry>.GetEntryAsync(CancellationToken)](/engine/6000.7/script-reference/unity/localization/localizedentry1/getentryasync.md)
* [LocalizedEntry\<IStringEntry>.GetEntry()](/engine/6000.7/script-reference/unity/localization/localizedentry1/getentry.md)
* [LocalizedEntry\<IStringEntry>.TableEntryReference()](/engine/6000.7/script-reference/unity/localization/localizedentry1/tableentryreference.md)
* [LocalizedEntry\<IStringEntry>.IsEmpty()](/engine/6000.7/script-reference/unity/localization/localizedentry1/isempty.md)
* [LocalizedReference.ResolveOverrideLocale()](/engine/6000.7/script-reference/unity/localization/localizedreference/resolveoverridelocale.md)
* [LocalizedReference.ForceUpdate()](/engine/6000.7/script-reference/unity/localization/localizedreference/forceupdate.md)
* [LocalizedReference.TableReference()](/engine/6000.7/script-reference/unity/localization/localizedreference/tablereference.md)
* [LocalizedReference.LocaleOverride()](/engine/6000.7/script-reference/unity/localization/localizedreference/localeoverride.md)
* [LocalizedReference.EnableFallback()](/engine/6000.7/script-reference/unity/localization/localizedreference/enablefallback.md)
* [LocalizedReference.HasLocaleOverride()](/engine/6000.7/script-reference/unity/localization/localizedreference/haslocaleoverride.md)
* [Binding.SetGlobalLogLevel(BindingLogLevel)](/engine/6000.7/script-reference/unityengine/uielements/binding/setgloballoglevel.md)
* [Binding.GetGlobalLogLevel()](/engine/6000.7/script-reference/unityengine/uielements/binding/getgloballoglevel.md)
* [Binding.SetPanelLogLevel(IPanel, BindingLogLevel)](/engine/6000.7/script-reference/unityengine/uielements/binding/setpanelloglevel.md)
* [Binding.GetPanelLogLevel(IPanel)](/engine/6000.7/script-reference/unityengine/uielements/binding/getpanelloglevel.md)
* [Binding.ResetPanelLogLevel(IPanel)](/engine/6000.7/script-reference/unityengine/uielements/binding/resetpanelloglevel.md)
* [Binding.MarkDirty()](/engine/6000.7/script-reference/unityengine/uielements/binding/markdirty.md)
* [Binding.isDirty](/engine/6000.7/script-reference/unityengine/uielements/binding/isdirty.md)
* [Binding.updateTrigger](/engine/6000.7/script-reference/unityengine/uielements/binding/updatetrigger.md)
