# changeLanguage

This asynchronous method allows you to change the language used by the Tyrads SDK. It updates the SDK's internal locale settings.

```dart
Tyrads.getInstance().changeLanguage("en");
```

#### Parameters:

* `languageCode` (String): A string representing the desired language code (e.g., "en" for English, "es" for Spanish, "fr" for French). This should be a valid ISO 639-1 language code.
* `supported Languages`: English (en), Spanish (es), Indonesian (id), Japanese (ja), Korean (ko) and Chinese (China, Simplified) (zh-Hans-CN)

#### Usage Example:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
Button(
  onClick = {
    CoroutineScope(Dispatchers.Main).launch {
      Tyrads.getInstance().changeLanguage('es'); // Change to Spanish
    }
  }
) {
  Text(text = "Change Language")
},
```

{% endtab %}

{% tab title="Java" %}

```java
private Button button;

button.setOnClickListener(
    v -> Tyrads.getInstance().changeLanguage(
            "id",
            new TyradsCallback {
                override fun onSuccess() {
                    Log.i("Tyrads", "Language changed successfully")
                }
        
                override fun onFailure(error: String) {
                    Log.e("Tyrads", "Failed to change language: $error")
                }
            }
        )
);
```

{% endtab %}
{% endtabs %}

#### Notes:

* This method persists the selected language in shared preferences so that it persists between app sessions.
* Make sure your application and the Tyrads SDK support the language code you are passing, otherwise english will be set.
* This method is asynchronous because it involves writing to shared preferences.
* Consider providing a language selection UI in your application that allows users to choose their preferred language if not Sdk itself provides user to select prefered language.
