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.