Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

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

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

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.

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

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.

  • Ecosoft

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.