---
title: "tinymce.util.I18n"
description: "I18n class that handles translation of TinyMCE UI. Uses po style with csharp style parameters."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/"
md_url: "https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.util.i18n/index.md"
version: "latest"
last_updated: "2022-06-27T01:45:26Z"
tokens: 616
---
# tinymce.util.I18n

I18n class that handles translation of TinyMCE UI. Uses po style with csharp style parameters.

## Summary

### Methods

| Name | Summary | Defined by |
| --- | --- | --- |
| [add()](#add) | Adds translations for a specific language code. Translation keys are set to be case insensitive. | `I18n` |
| [getCode()](#getCode) | Returns the current language code. | `I18n` |
| [hasCode()](#hasCode) | Returns true/false if specified language pack exists. | `I18n` |
| [isRtl()](#isRtl) | Returns true/false if the currently active language pack is rtl or not. | `I18n` |
| [setCode()](#setCode) | Sets the current language code. | `I18n` |
| [translate()](#translate) | Translates the specified text. <br>It has a few formats: I18n.translate("Text"); I18n.translate(["Text {0}/{1}", 0, 1]); I18n.translate({raw: "Raw string"}); | `I18n` |

## Methods

### add()

```javascript
add(code: String, items: Object)
```
Adds translations for a specific language code.
Translation keys are set to be case insensitive.

#### Parameters

- `code (String)` - Language code like sv_SE.
- `items (Object)` - Name/value object where key is english and value is the translation.

### getCode()

```javascript
getCode(): String
```
Returns the current language code.

#### Return value

- `String` - Current language code.

### hasCode()

```javascript
hasCode(code: String): Boolean
```
Returns true/false if specified language pack exists.

#### Parameters

- `code (String)` - Code to check for.

#### Return value

- `Boolean` - True if the current language pack for the specified code exists.

### isRtl()

```javascript
isRtl(): Boolean
```
Returns true/false if the currently active language pack is rtl or not.

#### Return value

- `Boolean` - True if the current language pack is rtl.

### setCode()

```javascript
setCode(newCode: String)
```
Sets the current language code.

#### Parameters

- `newCode (String)` - Current language code.

### translate()

```javascript
translate(text: String | Object | Array): String
```
Translates the specified text.

It has a few formats:
I18n.translate("Text");
I18n.translate(["Text {0}/{1}", 0, 1]);
I18n.translate({raw: "Raw string"});

#### Parameters

- `text (String | Object | Array)` - Text to translate.

#### Return value

- `String` - String that got translated.
