"""Language constants module. This module provides language-specific constants and mappings for datetime expressions, weekdays, months, and other linguistic elements used throughout the application. It supports multiple languages (currently Chinese and English) and facilitates internationalization of temporal and linguistic processing. """ from ..enumeration.language_enum import LanguageEnum # This dictionary maps languages to lists of words related to datetime expressions. # It aids in recognizing and processing datetime mentions in text, enhancing the system's ability to understand # temporal context across different languages. DATATIME_WORD_LIST = { LanguageEnum.CN: [ "天", "周", "月", "年", "星期", "点", "分钟", "小时", "秒", "上午", "下午", "早上", "早晨", "晚上", "中午", "日", "夜", "清晨", "傍晚", "凌晨", "岁", ], LanguageEnum.EN: [ # Units of Time "year", "yr", "month", "mo", "week", "wk", "day", "d", "hour", "hr", "minute", "min", "second", "sec", # Days of the Week "Monday", "Mon", "Tuesday", "Tue", "Tues", "Wednesday", "Wed", "Thursday", "Thu", "Thur", "Thurs", "Friday", "Fri", "Saturday", "Sat", "Sunday", "Sun", # Months of the Year "January", "Jan", "February", "Feb", "March", "Mar", "April", "Apr", "May", "May", "June", "Jun", "July", "Jul", "August", "Aug", "September", "Sep", "Sept", "October", "Oct", "November", "Nov", "December", "Dec", # Relative Time References "Today", "Tomorrow", "Tmrw", "Yesterday", "Yday", "Now", "Morning", "AM", "a.m.", "Afternoon", "PM", "p.m.", "Evening", "Night", "Midnight", "Noon", # Seasonal References "Spring", "Summer", "Autumn", "Fall", "Winter", # General Time References "Century", "cent.", "Decade", "Millennium", "Quarter", "Q1", "Q2", "Q3", "Q4", "Semester", "Fortnight", "Weekend", ], } # A mapping of weekdays for each supported language, facilitating calendar-related operations and understanding # within the application. WEEKDAYS = { LanguageEnum.CN: [ "周一", "周二", "周三", "周四", "周五", "周六", "周日", ], LanguageEnum.EN: [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", ], } MONTH_DICT = { LanguageEnum.CN: [ "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月", ], LanguageEnum.EN: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ], } # Constants for the word 'none' in different languages NONE_WORD = { LanguageEnum.CN: "无", LanguageEnum.EN: "none", } # Constants for the word 'repeated' in different languages REPEATED_WORD = { LanguageEnum.CN: "重复", LanguageEnum.EN: "repeated", } # Constants for the word 'contradictory' in different languages CONTRADICTORY_WORD = { LanguageEnum.CN: "矛盾", LanguageEnum.EN: "contradiction", } # Constants for the phrase 'included' in different languages CONTAINED_WORD = { LanguageEnum.CN: "被包含", LanguageEnum.EN: "contained", } # Constants for the symbol ':' in different languages' representations COLON_WORD = { LanguageEnum.CN: ":", LanguageEnum.EN: ":", } # Constants for the symbol ',' in different languages' representations COMMA_WORD = { LanguageEnum.CN: ",", LanguageEnum.EN: ",", } # Default human name placeholders for different languages DEFAULT_HUMAN_NAME = { LanguageEnum.CN: "用户", LanguageEnum.EN: "user", } # Mapping of datetime terms from natural language to standardized keys for each supported language DATATIME_KEY_MAP = { LanguageEnum.CN: { "年": "year", "月": "month", "日": "day", "周": "week", "星期几": "weekday", }, LanguageEnum.EN: { "Year": "year", "Month": "month", "Day": "day", "Week": "week", "Weekday": "weekday", }, } # Phrase for indicating inferred time in different languages TIME_INFER_WORD = { LanguageEnum.CN: "推断时间", LanguageEnum.EN: "Inference time", } USER_NAME_EXPRESSION = { LanguageEnum.CN: "用户姓名是{name}。", LanguageEnum.EN: "User's name is {name}.", }