> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ofatoura.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Languages, Storage, and Custom Modules

> Configure supported languages and RTL text direction, connect cloud file storage, manage order and KOT cancellation reasons, and view installed custom modules — all from Settings in the web admin.

These settings cover four distinct areas of system configuration: which languages are active in your account (and which display right-to-left), where uploaded files are stored, the cancellation reasons staff can select when voiding orders or KOTs, and which custom modules are installed. All of these require the **Manage Settings** permission.

## Language support

Settings in this section control which languages are available across the system and how text is rendered for each one.

<Steps>
  <Step title="Open Language Settings">
    In the web admin, go to **Settings** and select **Language Settings**.
  </Step>

  <Step title="Activate or deactivate a language">
    Each language in the list has an **Active** toggle. Turn it on to make the language available; turn it off to remove it from selection menus without deleting it.
  </Step>

  <Step title="Enable RTL for right-to-left languages">
    Languages such as Arabic (`ar`) and Farsi (`fa`) read right-to-left. Toggle the **RTL** switch on for any language that requires it so the interface and printed output render correctly.
  </Step>

  <Step title="Add a new language">
    Select **Add Language** and enter the language code (standard two-letter format, e.g., `en`, `ar`, `fr`, `de`, `tr`, `nl`, `pt`, `so`, `am`) and name. Set the Active and RTL toggles as needed, then save.
  </Step>

  <Step title="Edit or remove an existing language">
    Use the **Edit** button on any row to update the name or toggle settings. Use the **Delete** button to remove a language you no longer need.
  </Step>
</Steps>

<Note>
  The customer-facing site language is set separately under **Settings > App Settings**. Language Settings controls which languages are available system-wide; App Settings selects the default for your customer site.
</Note>

***

## Storage configuration

By default, oFatoura stores uploaded files (logos, menu images, QR codes, etc.) on the local server. You can switch to a cloud storage provider so files are served from and backed up to an external service.

<Steps>
  <Step title="Open Storage Settings">
    Go to **Settings** and select **Storage Settings**.
  </Step>

  <Step title="Choose a storage provider">
    Select one of the available options:

    | Provider                | Notes                                                        |
    | ----------------------- | ------------------------------------------------------------ |
    | **Local**               | Files stored on the server. No credentials required.         |
    | **AWS S3**              | Amazon's object storage service.                             |
    | **DigitalOcean Spaces** | DigitalOcean's S3-compatible storage.                        |
    | **Wasabi**              | Low-cost S3-compatible cloud storage.                        |
    | **MinIO**               | Self-hosted S3-compatible storage; requires an Endpoint URL. |
  </Step>

  <Step title="Enter credentials for your provider">
    Each cloud provider requires a set of credentials. Fill in the fields that appear when you select a provider:

    * **AWS S3:** Access Key, Secret Key, Bucket, Region
    * **DigitalOcean:** Key, Secret Key, Bucket, Region
    * **Wasabi:** Key, Access Key, Secret Key, Bucket, Region
    * **MinIO:** Access Key, Secret Key, Bucket, Region, Endpoint URL
  </Step>

  <Step title="Test the connection">
    Select **Test Connection** to verify that oFatoura can reach your storage bucket with the credentials you entered. Fix any errors before proceeding.
  </Step>

  <Step title="Migrate existing files (optional)">
    If you have files already stored locally and want to move them to the cloud, the page shows a count of local files. Select **Migrate Files** to transfer them. Wait for the migration to complete before navigating away.
  </Step>
</Steps>

<Warning>
  Test the connection successfully before saving. If credentials are wrong and you save, new uploads may fail until you correct them.
</Warning>

<Tip>
  After switching to cloud storage, your logo and menu images will be served from the cloud. If you notice missing images, check that the bucket is publicly readable or that signed URL permissions are configured correctly in your cloud provider's console.
</Tip>

***

## Cancellation settings

Cancellation reasons appear as a pick-list when a staff member voids or cancels an order or a kitchen ticket. Keeping this list accurate helps with reporting and accountability.

<Steps>
  <Step title="Open Cancellation Settings">
    Go to **Settings** and select **Cancellation Settings**.
  </Step>

  <Step title="Add a reason">
    Select **Add** and type the reason name (e.g., "Customer changed mind", "Wrong item entered", "Test order"). Save to add it to the list.
  </Step>

  <Step title="Edit an existing reason">
    Select the **Edit** button next to a reason, update the name, and save.
  </Step>

  <Step title="Delete a reason">
    Select **Delete** next to a reason you no longer need. This removes it from the pick-list going forward; past records that used it are not affected.
  </Step>
</Steps>

<Note>
  These reasons apply to both order cancellations on the web POS and KOT cancellations on the ePOS waiter app. Staff see this list at the moment they cancel, so clear, descriptive names make reporting more useful.
</Note>

***

## Custom modules

This section shows the custom modules and plugins installed on your account.

Go to **Settings** and select **Custom Modules**. You will see a list of all installed modules with their name, status, and version. Any enabled custom plugins also appear here. If your account includes a module upload area, you can provide updated module files through this screen.

<Note>
  The modules listed here reflect features that have been activated for your account, such as the Inventory or Kitchen module. You cannot enable or disable core platform modules from this screen — contact support if you need to change which modules are active on your plan.
</Note>

***

## Related

* [Branding, Theme, and Landing Page](/settings/branding-and-theme) — upload logos and set your theme color
* [Waiter App (ePOS) Settings](/settings/waiter-app-settings) — configure behavior on the waiter app
* [KOT Settings, Cancel Reasons, and Marking Items 86](/kitchen/kot-settings-and-86) — kitchen-level KOT configuration
* [Restaurant Information and Localization](/essential-setup/restaurant-information) — country, timezone, and default currency
