# Currencies & Languages

## Overview

The localization area lets you control two things customers see everywhere: the currencies they can be billed in and the languages the interface is offered in. You'll find them under Admin → Currencies and Admin → Languages.

Both pages work the same way — a stats strip, a table, and a way to set a single platform default.

## Currencies

The currency list defines which currencies workspaces can pick and how prices convert between them. Exchange rates are kept relative to USD (USD itself is always 1.0). Changing the default updates every user dashboard, invoice, and wallet display across the platform.

The page has a stats strip (total, active, system default, inactive), a default selector, a search box, and the currency table.

## Adding & Editing a Currency

Click Add currency to reveal the form. The same fields apply when editing an existing row.

Field | What it does
--- | ---
Name | Required. The display name, e.g. "Indian Rupee".
Code | Required and unique. The ISO code, e.g. `INR`.
Symbol | The symbol shown next to amounts, e.g. `₹`.
Precision | Required. Decimal places (0–6). Use 2 for most currencies, 0 for ones with no minor unit.
Exchange rate | Required. The rate relative to USD. Hit "Fetch live rates" to auto-fill.
Active | Whether the currency is offered to workspaces.

## Live Exchange Rates

The Fetch live rates button pulls current rates from a free public provider (open.er-api.com, no API key required) and bulk-updates every currency whose code appears in the response. USD stays pinned at 1.0. The action reports how many currencies were updated and is recorded in the audit log.

> Tip: Rates aren't fetched automatically — refresh them periodically (or before a big billing run) so conversions stay accurate. If the provider is unreachable, you'll get an error and your existing rates are left untouched.

## Setting the Default Currency & Toggling

The System default selector at the top sets the platform-wide default currency. New plans and displays fall back to it, and changing it immediately refreshes formatting across the app.

Each row can be toggled active/inactive or deleted.

> Caution: You cannot delete the currency that is currently the system default — the delete is blocked. Change the default to another currency first, then remove the old one.

## Languages

The languages page controls which languages new users and workspaces can pick from. Active languages appear in the user-side language switcher and in template / auto-reply pickers. The default language is the fallback for every brand-new account that hasn't chosen one yet.

The table shows each language's sort order, name and native name, text direction, active state, and a way to set it as default.

## The Fixed 20-Language Pack

WaDesk ships with a fixed pack of 20 languages, each with its own translation. For that reason, adding brand-new languages is intentionally turned off — a new language would need its own translation to display correctly. You can still fully manage the languages that ship.

Action | Available?
--- | ---
Toggle a language active/inactive | Yes
Edit native name, direction, sort order | Yes
Set a language as the platform default | Yes
Add a brand-new language | No (turned off until a translation for it is available)

## Text Direction (RTL)

Each language has a direction of either `ltr` (left-to-right) or `rtl` (right-to-left). Setting a language such as Arabic or Hebrew to `rtl` tells the app to mirror its layout for users on that language. You can edit a language's direction on its row.

## Setting the Default Language

To make a language the platform default, it must first be active — trying to default an inactive language prompts you to activate it first. Once set, the default applies to all newly created accounts, and the change shows up right away.

> Caution: As with currencies, you cannot delete the language that is currently the default. Pick a different default first, then remove it.