Thai Localization - Base Utils Thai

Collection of all Thai fonts, Convert month/year/number to thai

Technical Name:
l10n_th_base_utils
Version:
18.0
License:
Author:
Ecosoft
https://odoo-community.org/web/image/product.template/716734/image_1920?unique=c44f3f4
  • Odoo Version

Read the rules established to regulate the OCA (Bylaws )

Odoo Community Association

Thai Localization - Base Utils Thai

Beta License: AGPL-3 OCA/l10n-thailand Translate me on Weblate Try me on Runboat

This module is a utility package for Thailand, providing helper functions commonly used in Thai-specific contexts.

It includes features such as:

  • Conversion between Arabic and Thai numerals
  • Thai month name and Buddhist calendar (Thai year) conversion
  • Thai font support:
    • Font THSrisakdi
    • Font THSarabunNew
    • Font THSarabun
    • Font THNiramitAS
    • Font THMaliGrade6
    • Font THKrub
    • Font THKoHo
    • Font THKodchasal
    • Font THK2DJuly8
    • Font THFahkwang
    • Font THCharmonman
    • Font THCharmofAU
    • Font THChakraPetch
    • Font THBaijam
    • Font AngsanaNew
    • Font Webdings

Table of contents

Configuration

To configure the Thai font, go to Settings > General Settings > Business Documents > Configure Document Layout, then select the desired font and click Save.

Usage

This module provides a utility model thai.utils for Thai localization features such as number and date formatting. You can either call the methods directly via the environment, or inherit the abstract model in your own modules.

Example

thai_utils = self.env["thai.utils"]

# Convert Arabic to Thai numerals
thai_number = thai_utils.to_thai_number("1234567890")  # → ๑๒๓๔๕๖๗๘๙๐

# Convert Thai to Arabic numerals
arabic_number = thai_utils.to_arabic_number("๐๘๙")  # → 089

# Get Thai full month name
month_name = thai_utils.thai_month_name(12)  # → ธันวาคม

# Get Thai abbreviated month name
month_abbr = thai_utils.thai_month_name(12, short=True)  # → ธ.ค.

# Format date to Thai date string
from datetime import date

formatted_date = thai_utils.format_thai_date(date(2025, 7, 2))  # → 2 กรกฎาคม 2568

formatted_date_short_month = thai_utils.format_thai_date(date(2025, 7, 2), month_format="short")  # → 2 ก.ค. 2568

formatted_date_numeric_month = thai_utils.format_thai_date(date(2025, 7, 2), month_format="numeric", format_date="{day:02d}{month}{year}")  # → 02072568

formatted_year_thai = thai_utils.format_thai_date(date(2025, 7, 2), format_date="{year}")  # → 2568

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Ecosoft

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

Saran440

This module is part of the OCA/l10n-thailand project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products