Back to foundations

UI kit · Text and formats

Text and formats, the same in every app.

Dates, money, numbers, component labels and error messages are made once in the shared package. The examples on this page follow the page language.

Formats

Intl with id-ID and en-GB. An ISO date never moves a day; times are shown in WIB (Asia/Jakarta).

  • Date

    Input
    2026-07-13
    Result
    13 July 2026
  • School year

    Input
    2026-07-13 … 2027-06-30
    Result
    13 July 2026 – 30 June 2027
  • Time (WIB)

    Input
    2026-07-13T07:30:00Z
    Result
    14:30
  • Date and time (WIB)

    Input
    2026-07-13T07:30:00Z
    Result
    13 July 2026, 14:30
  • Rupiah

    Input
    1500000
    Result
    Rp 1.500.000
  • Number

    Input
    1234567.5
    Result
    1,234,567.5
  • Relative time

    Input
    -5 min
    Result
    5 minutes ago

Shared labels

@alfi/ui components take their text through props. The label objects are built from ui_ messages and checked against their interfaces by npm run check.

  • Dialog

    close
    Close
  • Save

    save
    Save
    saving
    Saving…
    saved
    Saved
  • Confirmation

    confirm
    Yes, continue
    cancel
    Cancel
  • List states

    loading
    Loading…
    retry
    Try again
    empty
    No data yet.
  • Field

    required
    Required
    optional
    Optional
  • Pagination

    Page 2 of 9

Shared error messages

One two-language message per case. The response body or a stack trace is never shown.

  • Status 401

    unauthorized

    Your session has ended. Please sign in again.

    Sesi Anda berakhir. Silakan masuk lagi.

  • Status 403

    forbidden

    You do not have permission to do this.

    Anda tidak memiliki izin untuk melakukan ini.

  • Status 404

    not_found

    The data you are looking for was not found.

    Data yang dicari tidak ditemukan.

  • Status 409

    conflict

    The data has changed or already exists. Reload, then try again.

    Data sudah berubah atau sudah ada. Muat ulang, lalu coba lagi.

  • Status 5xx

    internal

    Something went wrong in the system. Try again in a moment.

    Terjadi kesalahan pada sistem. Coba lagi sebentar lagi.

  • Status No response

    network

    Cannot connect. Check your internet connection, then try again.

    Tidak dapat terhubung. Periksa koneksi internet Anda, lalu coba lagi.

© 2026 Al Firdaus Foundation