# IStringEntry

> Represents a resource entry whose localized value is a string.

## Definition

* **Type:** Interface
* **Namespace:** [Unity.Localization](/engine/6000.7/script-reference/unity/localization.md)
* **Assembly:** UnityEngine.LocalizationRuntimeModule

```csharp
public interface IStringEntry : IResourceEntry
```

## Remarks

A string entry stores the text for one key in one locale, returned by [IStringEntry.Value](/engine/6000.7/script-reference/unity/localization/istringentry/value.md) before any Smart String formatting is applied. Whether the value is formatted as a Smart String is a per-key flag on the collection's [SharedTableData](/engine/6000.7/script-reference/unity/localization/sharedtabledata.md), not a property of the entry. The built-in implementation is [StringEntry](/engine/6000.7/script-reference/unity/localization/stringentry.md); fetch one from a table with [ResourceTable.GetEntry](/engine/6000.7/script-reference/unity/localization/resourcetable/getentry.md) using [IStringEntry](/engine/6000.7/script-reference/unity/localization/istringentry.md) or [StringEntry](/engine/6000.7/script-reference/unity/localization/stringentry.md) as the type argument.

Additional Resources: [StringEntry](/engine/6000.7/script-reference/unity/localization/stringentry.md), [IResourceEntry](/engine/6000.7/script-reference/unity/localization/iresourceentry.md), [ResourceTable](/engine/6000.7/script-reference/unity/localization/resourcetable.md), [SharedTableData](/engine/6000.7/script-reference/unity/localization/sharedtabledata.md)

Read the localized text through the string entry view.

## Examples

```csharp
using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples
{
    public class IStringEntryOverviewExample
    {
        public void Run()
        {
            var shared = ScriptableObject.CreateInstance<SharedTableData>();
            shared.TableCollectionName = "UI Text";

            var table = ScriptableObject.CreateInstance<ResourceTable>();
            table.SharedData = shared;
            table.LocaleIdentifier = new LocaleIdentifier("en");

            table.AddStringEntry("greeting", "Hello");
            IStringEntry entry = table.GetEntry<IStringEntry>("greeting");

            Debug.Log(entry.Value);  // Hello
        }
    }
}
```

## Properties

| Property                                                                          | Description                                                        |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Value](/engine/6000.7/script-reference/unity/localization/istringentry/value.md) | The localized text for this entry, before Smart String formatting. |

## Inheritance

**Inherited Members:**

* [IResourceEntry.KeyId()](/engine/6000.7/script-reference/unity/localization/iresourceentry/keyid.md)
* [IResourceEntry.Metadata()](/engine/6000.7/script-reference/unity/localization/iresourceentry/metadata.md)
* [IResourceEntry.Table()](/engine/6000.7/script-reference/unity/localization/iresourceentry/table.md)
* [IResourceEntry.SharedEntry()](/engine/6000.7/script-reference/unity/localization/iresourceentry/sharedentry.md)
