# UI text and translations

Currently, PicMo's UI strings are only available in English. Contributions of other translations are welcomed!

## Category and emoji names

The emoji data provided by [Emojibase](https://emojibase.dev/) includes translated category and emoji names. The currently supported locales are [available on the Emojibase site](https://emojibase.dev/docs/datasets#supported-locales). However, PicMo adds two additional categories - Custom and Recently Used. These names are not translated in the Emojibase data because they are not part of the standard. By default, even when using a different locale, these names of these two categories will fall back to English.

## Specifying translations

Translations are contained in a simple module whose default export is an object mapping message keys to values. The current supported message keys are listed below (English bundle):

```javascript
export default {
  // Category names. If a translated category name is available in the category data, the values shown
  // here take precendence. If you want to use the category name provided by Emojibase, you can remove the category 
  // from the i18n bundle.
  'categories.activities': 'Activities',
  'categories.animals-nature': 'Animals & Nature',
  'categories.custom': 'Custom',
  'categories.flags': 'Flags',
  'categories.food-drink': 'Food & Drink',
  'categories.objects': 'Objects',
  'categories.people-body': 'People & Body',
  'categories.recents': 'Recently Used',
  'categories.smileys-emotion': 'Smileys & Emotion',
  'categories.symbols': 'Symbols',
  'categories.travel-places': 'Travel & Places',

  // Shown if there is an error creating or accessing the local emoji database.
  'error.load': 'Failed to load emojis',

  // Messages for the Recents category.
  'recents.clear': 'Clear recent emojis',
  'recents.none': 'You haven\'t selected any emojis yet.',

  // A retry button shown on the error view.
  'retry': 'Try again',

  // Tooltip/title for the clear search button in the search field.
  'search.clear': 'Clear search',

  // Shown when there is an error searching the emoji database.
  'search.error': 'Failed to search emojis',

  // Shown when no emojis match the search query.
  'search.notFound': 'No results found',

  // Placeholder for the search field.
  'search': 'Search emojis...'
};
```

To specify a different set of strings, simply create a module that exports these messages and pass it as the [`i18n`](../api/picmo/types/picker-options#i18n) option.
