umami/scripts/translate-8-thai-khmer.cjs
Mike Cao e1ee5eba27
Some checks are pending
Node.js CI / build (push) Waiting to run
Translate all 51 locale files, reducing untranslated keys from 6,017 to 862.
12 batch translation scripts covering all language families: East Asian, Romance,
Germanic, Nordic, Slavic, Other European, South/Southeast Asian, Tamil, Sinhala,
Urdu, and Burmese. Remaining untranslated keys are intentional loanwords (URL, UTM,
SMS, etc.) and en-GB which is intentionally identical to en-US.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 13:04:45 -08:00

569 lines
30 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const dir = path.join(__dirname, '..', 'public', 'intl', 'messages');
const enUS = JSON.parse(fs.readFileSync(path.join(dir, 'en-US.json'), 'utf8'));
const translations = {
'th-TH': {
label: {
'access-code': 'รหัสเข้าถึง',
'account': 'บัญชี',
'action': 'การกระทำ',
'add': 'เพิ่ม',
'add-board': 'เพิ่มบอร์ด',
'add-description': 'เพิ่มคำอธิบาย',
'add-link': 'เพิ่มลิงก์',
'add-member': 'เพิ่มสมาชิก',
'add-pixel': 'เพิ่มพิกเซล',
'add-step': 'เพิ่มขั้นตอน',
'affiliate': 'พันธมิตร',
'after': 'หลัง',
'analysis': 'การวิเคราะห์',
'analytics': 'การวิเคราะห์ข้อมูล',
'application': 'แอปพลิเคชัน',
'apply': 'นำไปใช้',
'attribution': 'การระบุแหล่งที่มา',
'attribution-description': 'ดูว่าผู้ใช้มีปฏิสัมพันธ์กับการตลาดอย่างไรและอะไรกระตุ้นการแปลง',
'audience': 'กลุ่มเป้าหมาย',
'average': 'ค่าเฉลี่ย',
'before': 'ก่อน',
'boards': 'บอร์ด',
'breakdown': 'การแยกย่อย',
'browser': 'เบราว์เซอร์',
'campaign': 'แคมเปญ',
'campaigns': 'แคมเปญ',
'channel': 'ช่องทาง',
'channels': 'ช่องทาง',
'chart': 'แผนภูมิ',
'cities': 'เมือง',
'city': 'เมือง',
'clear-all': 'ล้างทั้งหมด',
'cohort': 'กลุ่มตัวอย่าง',
'cohorts': 'กลุ่มตัวอย่าง',
'compare': 'เปรียบเทียบ',
'compare-dates': 'เปรียบเทียบวันที่',
'confirm': 'ยืนยัน',
'contains': 'มี',
'content': 'เนื้อหา',
'continue': 'ดำเนินต่อ',
'conversion': 'การแปลง',
'conversion-rate': 'อัตราการแปลง',
'conversion-step': 'ขั้นตอนการแปลง',
'count': 'จำนวน',
'country': 'ประเทศ',
'create': 'สร้าง',
'create-report': 'สร้างรายงาน',
'create-team': 'สร้างทีม',
'create-user': 'สร้างผู้ใช้',
'created': 'สร้างเมื่อ',
'created-by': 'สร้างโดย',
'criteria': 'เกณฑ์',
'currency': 'สกุลเงิน',
'current': 'ปัจจุบัน',
'data': 'ข้อมูล',
'date': 'วันที่',
'day': 'วัน',
'delete-report': 'ลบรายงาน',
'delete-team': 'ลบทีม',
'delete-user': 'ลบผู้ใช้',
'description': 'คำอธิบาย',
'destination-url': 'URL ปลายทาง',
'details': 'รายละเอียด',
'device': 'อุปกรณ์',
'direct': 'ตรง',
'distinct-id': 'ID เฉพาะ',
'documentation': 'เอกสาร',
'does-not-contain': 'ไม่มี',
'does-not-include': 'ไม่รวม',
'doest-not-exist': 'ไม่มีอยู่',
'download': 'ดาวน์โหลด',
'dropoff': 'การออกจากระบบ',
'edit-dashboard': 'แก้ไขแดชบอร์ด',
'edit-member': 'แก้ไขสมาชิก',
'email': 'อีเมล',
'end-step': 'ขั้นตอนสุดท้าย',
'environment': 'สภาพแวดล้อม',
'event': 'เหตุการณ์',
'event-data': 'ข้อมูลเหตุการณ์',
'event-name': 'ชื่อเหตุการณ์',
'exclude-bounce': 'ยกเว้นการตีกลับ',
'exists': 'มีอยู่',
'false': 'เท็จ',
'field': 'ฟิลด์',
'fields': 'ฟิลด์',
'filter': 'ตัวกรอง',
'filters': 'ตัวกรอง',
'first-click': 'คลิกแรก',
'first-seen': 'เห็นครั้งแรก',
'funnel': 'ช่องทางขาย',
'funnel-description': 'ทำความเข้าใจอัตราการแปลงและการออกจากระบบของผู้ใช้',
'funnels': 'ช่องทางขาย',
'goal': 'เป้าหมาย',
'goals': 'เป้าหมาย',
'goals-description': 'ติดตามเป้าหมายสำหรับการดูหน้าเว็บและเหตุการณ์',
'greater-than': 'มากกว่า',
'greater-than-equals': 'มากกว่าหรือเท่ากับ',
'grouped': 'จัดกลุ่ม',
'growth': 'การเติบโต',
'hostname': 'ชื่อโฮสต์',
'hour': 'ชั่วโมง',
'includes': 'รวม',
'insight': 'ข้อมูลเชิงลึก',
'insights': 'ข้อมูลเชิงลึก',
'insights-description': 'เจาะลึกข้อมูลของคุณโดยใช้กลุ่มและตัวกรอง',
'invalid-url': 'URL ไม่ถูกต้อง',
'is': 'คือ',
'is-false': 'เป็นเท็จ',
'is-not': 'ไม่ใช่',
'is-not-set': 'ไม่ได้ตั้งค่า',
'is-set': 'ตั้งค่าแล้ว',
'is-true': 'เป็นจริง',
'join': 'เข้าร่วม',
'join-team': 'เข้าร่วมทีม',
'journey': 'เส้นทาง',
'journey-description': 'ทำความเข้าใจว่าผู้ใช้เดินทางผ่านเว็บไซต์ของคุณอย่างไร',
'journeys': 'เส้นทาง',
'last-click': 'คลิกสุดท้าย',
'last-months': '{x} เดือนล่าสุด',
'last-seen': 'เห็นล่าสุด',
'leave': 'ออก',
'leave-team': 'ออกจากทีม',
'less-than': 'น้อยกว่า',
'less-than-equals': 'น้อยกว่าหรือเท่ากับ',
'link': 'ลิงก์',
'links': 'ลิงก์',
'location': 'ตำแหน่ง',
'manage': 'จัดการ',
'manager': 'ผู้จัดการ',
'max': 'สูงสุด',
'medium': 'สื่อ',
'member': 'สมาชิก',
'members': 'สมาชิก',
'min': 'ต่ำสุด',
'minute': 'นาที',
'model': 'รุ่น',
'month': 'เดือน',
'my-account': 'บัญชีของฉัน',
'my-websites': 'เว็บไซต์ของฉัน',
'number-of-records': '{x} {x, plural, one {รายการ} other {รายการ}}',
'ok': 'ตกลง',
'online': 'ออนไลน์',
'organic-search': 'ค้นหาแบบออร์แกนิก',
'organic-shopping': 'ชอปปิ้งแบบออร์แกนิก',
'organic-social': 'โซเชียลแบบออร์แกนิก',
'organic-video': 'วิดีโอแบบออร์แกนิก',
'os': 'ระบบปฏิบัติการ',
'other': 'อื่นๆ',
'overview': 'ภาพรวม',
'page': 'หน้า',
'page-of': 'หน้า {current} จาก {total}',
'pageTitle': 'ชื่อหน้า',
'paid-ads': 'โฆษณาแบบจ่ายเงิน',
'paid-search': 'ค้นหาแบบจ่ายเงิน',
'paid-shopping': 'ชอปปิ้งแบบจ่ายเงิน',
'paid-social': 'โซเชียลแบบจ่ายเงิน',
'paid-video': 'วิดีโอแบบจ่ายเงิน',
'path': 'เส้นทาง',
'paths': 'เส้นทาง',
'pixel': 'พิกเซล',
'pixels': 'พิกเซล',
'preferences': 'การตั้งค่า',
'previous': 'ก่อนหน้า',
'previous-period': 'ช่วงก่อนหน้า',
'previous-year': 'ปีก่อนหน้า',
'profiles': 'โปรไฟล์',
'properties': 'คุณสมบัติ',
'property': 'คุณสมบัติ',
'queries': 'คิวรี',
'query': 'คิวรี',
'query-parameters': 'พารามิเตอร์คิวรี',
'referral': 'การอ้างอิง',
'referrer': 'ผู้อ้างอิง',
'regenerate': 'สร้างใหม่',
'region': 'ภูมิภาค',
'regions': 'ภูมิภาค',
'remaining': 'ที่เหลือ',
'remove': 'ลบ',
'remove-member': 'ลบสมาชิก',
'reports': 'รายงาน',
'retention': 'การรักษาผู้ใช้',
'retention-description': 'วัดความเหนียวแน่นของเว็บไซต์โดยติดตามว่าผู้ใช้กลับมาบ่อยแค่ไหน',
'revenue': 'รายได้',
'role': 'บทบาท',
'run-query': 'เรียกใช้คิวรี',
'save-cohort': 'บันทึกกลุ่มตัวอย่าง',
'save-segment': 'บันทึกเซ็กเมนต์',
'screen': 'หน้าจอ',
'search': 'ค้นหา',
'segment': 'เซ็กเมนต์',
'segments': 'เซ็กเมนต์',
'select': 'เลือก',
'select-date': 'เลือกวันที่',
'select-filter': 'เลือกตัวกรอง',
'select-role': 'เลือกบทบาท',
'select-website': 'เลือกเว็บไซต์',
'session': 'เซสชัน',
'session-data': 'ข้อมูลเซสชัน',
'sessions': 'เซสชัน',
'share': 'แชร์',
'sms': 'SMS',
'source': 'แหล่งที่มา',
'sources': 'แหล่งที่มา',
'start-step': 'ขั้นตอนเริ่มต้น',
'steps': 'ขั้นตอน',
'sum': 'ผลรวม',
'support': 'การสนับสนุน',
'switch-account': 'สลับบัญชี',
'table': 'ตาราง',
'tag': 'แท็ก',
'tags': 'แท็ก',
'team': 'ทีม',
'team-id': 'ID ทีม',
'team-manager': 'ผู้จัดการทีม',
'team-member': 'สมาชิกทีม',
'team-name': 'ชื่อทีม',
'team-owner': 'เจ้าของทีม',
'team-settings': 'การตั้งค่าทีม',
'team-view-only': 'ดูเฉพาะทีม',
'team-websites': 'เว็บไซต์ทีม',
'teams': 'ทีม',
'term': 'คำค้นหา',
'terms': 'เงื่อนไข',
'title': 'ชื่อ',
'total': 'รวม',
'total-records': 'จำนวนรายการทั้งหมด',
'traffic': 'ทราฟฟิก',
'transactions': 'ธุรกรรม',
'transfer': 'โอน',
'transfer-website': 'โอนเว็บไซต์',
'true': 'จริง',
'type': 'ประเภท',
'unique': 'ไม่ซ้ำ',
'unique-events': 'เหตุการณ์ไม่ซ้ำ',
'uniqueCustomers': 'ลูกค้าไม่ซ้ำ',
'untitled': 'ไม่มีชื่อ',
'update': 'อัปเดต',
'url': 'URL',
'user': 'ผู้ใช้',
'users': 'ผู้ใช้',
'utm': 'UTM',
'utm-campaign': 'UTM แคมเปญ',
'utm-content': 'UTM เนื้อหา',
'utm-description': 'ติดตามแคมเปญของคุณผ่านพารามิเตอร์ UTM',
'utm-medium': 'UTM สื่อ',
'utm-source': 'UTM แหล่งที่มา',
'utm-term': 'UTM คำค้นหา',
'value': 'ค่า',
'version': 'เวอร์ชัน',
'view': 'ดู',
'view-only': 'ดูอย่างเดียว',
'views-per-visit': 'การดูต่อการเยี่ยมชม',
'visits': 'การเยี่ยมชม',
'website': 'เว็บไซต์',
'website-id': 'ID เว็บไซต์',
'window': 'หน้าต่าง',
'yesterday': 'เมื่อวาน'
},
message: {
'action-confirmation': 'พิมพ์ {confirmation} ในช่องด้านล่างเพื่อยืนยัน',
'bad-request': 'คำขอไม่ถูกต้อง',
'collected-data': 'ข้อมูลที่เก็บรวบรวม',
'confirm-leave': 'คุณแน่ใจหรือไม่ว่าต้องการออกจาก <b>{target}</b>?',
'confirm-remove': 'คุณแน่ใจหรือไม่ว่าต้องการลบ <b>{target}</b>?',
'delete-team-warning': 'การลบทีมจะลบเว็บไซต์ทั้งหมดของทีมด้วย',
'event-log': '<b>{event}</b> บน <a>{url}</a>',
'forbidden': 'ไม่ได้รับอนุญาต',
'min-password-length': 'ความยาวขั้นต่ำ {n} ตัวอักษร',
'new-version-available': 'Umami เวอร์ชันใหม่ {version} พร้อมใช้งานแล้ว!',
'no-event-data': 'ไม่มีข้อมูลเหตุการณ์',
'no-team-websites': 'ทีมนี้ไม่มีเว็บไซต์',
'no-teams': 'คุณยังไม่ได้สร้างทีม',
'no-users': 'ไม่มีผู้ใช้',
'not-found': 'ไม่พบ',
'nothing-selected': 'ไม่ได้เลือกอะไร',
'reset-website': 'เพื่อรีเซ็ตเว็บไซต์นี้ พิมพ์ {confirmation} ในช่องด้านล่าง',
'sever-error': 'เกิดข้อผิดพลาดของเซิร์ฟเวอร์',
'team-already-member': 'คุณเป็นสมาชิกของทีมอยู่แล้ว',
'team-not-found': 'ไม่พบทีม',
'team-websites-info': 'เว็บไซต์สามารถดูได้โดยทุกคนในทีม',
'transfer-team-website-to-user': 'โอนเว็บไซต์นี้ไปยังบัญชีของคุณ?',
'transfer-user-website-to-team': 'เลือกทีมเพื่อโอนเว็บไซต์นี้',
'transfer-website': 'โอนความเป็นเจ้าของเว็บไซต์ไปยังบัญชีหรือทีมอื่น',
'triggered-event': 'เหตุการณ์ที่ถูกเรียก',
'unauthorized': 'ไม่ได้รับอนุญาต',
'user-deleted': 'ผู้ใช้ถูกลบแล้ว',
'viewed-page': 'หน้าที่ดู'
}
},
'km-KH': {
label: {
'account': 'គណនី',
'action': 'សកម្មភាព',
'add-link': 'បន្ថែមតំណ',
'add-pixel': 'បន្ថែមភីកសែល',
'analysis': 'ការវិភាគ',
'application': 'កម្មវិធី',
'audience': 'ទស្សនិកជន',
'campaign': 'យុទ្ធនាការ',
'channel': 'ឆានែល',
'chart': 'តារាង',
'cohorts': 'ក្រុមកូហ៊ត',
'criteria': 'លក្ខណវិនិច្ឆ័យ',
'destination-url': 'URL គោលដៅ',
'documentation': 'ឯកសារ',
'domain': 'ដូមែន',
'download': 'ទាញយក',
'dropoff': 'ការចាកចេញ',
'email': 'អ៊ីមែល',
'environment': 'បរិស្ថាន',
'exclude-bounce': 'មិនរាប់បញ្ចូលការលោតចេញ',
'field': 'វាល',
'fields': 'វាល',
'first-seen': 'ឃើញដំបូង',
'funnel-description': 'យល់ពីអត្រាបំលែងនិងការចាកចេញរបស់អ្នកប្រើ។',
'growth': 'កំណើន',
'hour': 'ម៉ោង',
'insights': 'ការយល់ដឹង',
'insights-description': 'ស្វែងរកឱ្យកាន់តែស៊ីជម្រៅក្នុងទិន្នន័យរបស់អ្នកដោយប្រើផ្នែកនិងតម្រង។',
'invalid-url': 'URL មិនត្រឹមត្រូវ',
'last-seen': 'ឃើញចុងក្រោយ',
'link': 'តំណ',
'location': 'ទីតាំង',
'login': 'ចូល',
'logout': 'ចេញ',
'max': 'អតិបរមា',
'min': 'អប្បបរមា',
'minute': 'នាទី',
'month': 'ខែ',
'number-of-records': '{x} {x, plural, one {កំណត់ត្រា} other {កំណត់ត្រា}}',
'ok': 'យល់ព្រម',
'online': 'អនឡាញ',
'os': 'ប្រព័ន្ធប្រតិបត្តិការ',
'path': 'ផ្លូវ',
'paths': 'ផ្លូវ',
'pixel': 'ភីកសែល',
'preferences': 'ចំណង់ចំណូលចិត្ត',
'profiles': 'ប្រវត្តិរូប',
'queries': 'សំណួរ',
'query': 'សំណួរ',
'regenerate': 'បង្កើតឡើងវិញ',
'retention-description': 'វាស់ស្ទង់ភាពស្អិតនៃគេហទំព័រដោយតាមដានថាអ្នកប្រើត្រលប់មកវិញញឹកញាប់ប៉ុណ្ណា។',
'revenue': 'ចំណូល',
'run-query': 'ដំណើរការសំណួរ',
'save-cohort': 'រក្សាទុកក្រុមកូហ៊ត',
'save-segment': 'រក្សាទុកផ្នែក',
'screen': 'អេក្រង់',
'segment': 'ផ្នែក',
'segments': 'ផ្នែក',
'session': 'វគ្គ',
'sessions': 'វគ្គ',
'sms': 'SMS',
'source': 'ប្រភព',
'sum': 'ផលបូក',
'support': 'ជំនួយ',
'switch-account': 'ប្ដូរគណនី',
'table': 'តារាង',
'team-view-only': 'មើលក្រុមតែប៉ុណ្ណោះ',
'term': 'ពាក្យស្វែងរក',
'traffic': 'ចរាចរណ៍',
'transactions': 'ប្រតិបត្តិការ',
'type': 'ប្រភេទ',
'unique': 'តែមួយ',
'unique-events': 'ព្រឹត្តិការណ៍តែមួយ',
'uniqueCustomers': 'អតិថិជនតែមួយ',
'update': 'ធ្វើបច្ចុប្បន្នភាព',
'url': 'URL',
'utm': 'UTM',
'utm-campaign': 'UTM យុទ្ធនាការ',
'utm-content': 'UTM មាតិកា',
'utm-medium': 'UTM មធ្យម',
'utm-source': 'UTM ប្រភព',
'utm-term': 'UTM ពាក្យ',
'value': 'តម្លៃ',
'version': 'កំណែ',
'view': 'មើល',
'views-per-visit': 'ការមើលក្នុងមួយដង',
'window': 'បង្អួច'
},
message: {
'bad-request': 'សំណើមិនត្រឹមត្រូវ',
'event-log': '<b>{event}</b> នៅ <a>{url}</a>',
'forbidden': 'ហាមឃាត់',
'not-found': 'រកមិនឃើញ',
'nothing-selected': 'មិនបានជ្រើសអ្វីទេ។',
'sever-error': 'កំហុសម៉ាស៊ីនមេ',
'triggered-event': 'ព្រឹត្តិការណ៍ដែលបានដំណើរការ',
'unauthorized': 'មិនមានសិទ្ធិ'
}
},
'bn-BD': {
label: {
'account': 'অ্যাকাউন্ট',
'action': 'কার্যক্রম',
'add-link': 'লিংক যোগ করুন',
'add-pixel': 'পিক্সেল যোগ করুন',
'analysis': 'বিশ্লেষণ',
'application': 'অ্যাপ্লিকেশন',
'audience': 'দর্শক',
'campaign': 'প্রচারণা',
'channel': 'চ্যানেল',
'chart': 'চার্ট',
'cohorts': 'কোহর্ট',
'criteria': 'মানদণ্ড',
'destination-url': 'গন্তব্য URL',
'documentation': 'ডকুমেন্টেশন',
'download': 'ডাউনলোড',
'email': 'ইমেইল',
'environment': 'পরিবেশ',
'exclude-bounce': 'বাউন্স বাদ দিন',
'growth': 'বৃদ্ধি',
'hour': 'ঘণ্টা',
'insights': 'অন্তর্দৃষ্টি',
'insights-description': 'সেগমেন্ট এবং ফিল্টার ব্যবহার করে আপনার ডেটায় আরও গভীরে যান।',
'invalid-url': 'অবৈধ URL',
'link': 'লিংক',
'location': 'অবস্থান',
'minute': 'মিনিট',
'month': 'মাস',
'number-of-records': '{x} {x, plural, one {রেকর্ড} other {রেকর্ড}}',
'ok': 'ঠিক আছে',
'online': 'অনলাইন',
'os': 'ওএস',
'overview': 'সংক্ষিপ্ত বিবরণ',
'page-of': 'পৃষ্ঠা {current} / {total}',
'pageTitle': 'পৃষ্ঠার শিরোনাম',
'pixel': 'পিক্সেল',
'preferences': 'পছন্দসমূহ',
'profiles': 'প্রোফাইল',
'queries': 'কোয়েরি',
'query': 'কোয়েরি',
'query-parameters': 'কোয়েরি প্যারামিটার',
'referrer': 'রেফারার',
'regenerate': 'পুনরায় তৈরি',
'region': 'অঞ্চল',
'regions': 'অঞ্চলসমূহ',
'remove': 'সরান',
'remove-member': 'সদস্য সরান',
'reports': 'রিপোর্ট',
'retention': 'ধরে রাখা',
'retention-description': 'ব্যবহারকারীরা কতবার ফিরে আসে তা ট্র্যাক করে আপনার ওয়েবসাইটের আঠালোতা পরিমাপ করুন।',
'role': 'ভূমিকা',
'run-query': 'কোয়েরি চালান',
'save-cohort': 'কোহর্ট সংরক্ষণ করুন',
'save-segment': 'সেগমেন্ট সংরক্ষণ করুন',
'screen': 'স্ক্রিন',
'search': 'অনুসন্ধান',
'segment': 'সেগমেন্ট',
'segments': 'সেগমেন্ট',
'select': 'নির্বাচন করুন',
'select-date': 'তারিখ নির্বাচন করুন',
'select-role': 'ভূমিকা নির্বাচন করুন',
'select-website': 'ওয়েবসাইট নির্বাচন করুন',
'sessions': 'সেশন',
'sms': 'SMS',
'source': 'উৎস',
'start-step': 'প্রারম্ভিক ধাপ',
'steps': 'ধাপসমূহ',
'sum': 'যোগফল',
'support': 'সহায়তা',
'switch-account': 'অ্যাকাউন্ট পরিবর্তন',
'table': 'টেবিল',
'team-view-only': 'শুধু টিম দেখুন',
'team-websites': 'টিম ওয়েবসাইট',
'teams': 'টিম',
'term': 'অনুসন্ধান শব্দ',
'title': 'শিরোনাম',
'total': 'মোট',
'total-records': 'মোট রেকর্ড',
'traffic': 'ট্রাফিক',
'transactions': 'লেনদেন',
'transfer': 'স্থানান্তর',
'transfer-website': 'ওয়েবসাইট স্থানান্তর',
'true': 'সত্য',
'type': 'ধরন',
'unique': 'অনন্য',
'unique-events': 'অনন্য ইভেন্ট',
'uniqueCustomers': 'অনন্য গ্রাহক',
'untitled': 'শিরোনামহীন',
'update': 'আপডেট',
'url': 'URL',
'user': 'ব্যবহারকারী',
'users': 'ব্যবহারকারীগণ',
'utm': 'UTM',
'utm-campaign': 'UTM প্রচারণা',
'utm-content': 'UTM বিষয়বস্তু',
'utm-description': 'UTM প্যারামিটারের মাধ্যমে আপনার প্রচারণা ট্র্যাক করুন।',
'utm-medium': 'UTM মাধ্যম',
'utm-source': 'UTM উৎস',
'utm-term': 'UTM শব্দ',
'value': 'মান',
'version': 'সংস্করণ',
'view': 'দেখুন',
'view-only': 'শুধু দেখুন',
'views-per-visit': 'প্রতি ভিজিটে দেখা',
'visits': 'ভিজিট',
'website': 'ওয়েবসাইট',
'website-id': 'ওয়েবসাইট ID',
'window': 'উইন্ডো',
'yesterday': 'গতকাল'
},
message: {
'action-confirmation': 'নিশ্চিত করতে নিচের বক্সে {confirmation} টাইপ করুন।',
'bad-request': 'অবৈধ অনুরোধ',
'collected-data': 'সংগৃহীত ডেটা',
'confirm-leave': 'আপনি কি নিশ্চিত যে আপনি <b>{target}</b> ত্যাগ করতে চান?',
'confirm-remove': 'আপনি কি নিশ্চিত যে আপনি <b>{target}</b> সরাতে চান?',
'delete-team-warning': 'একটি টিম মুছে ফেললে টিমের সব ওয়েবসাইটও মুছে যাবে।',
'event-log': '<a>{url}</a>-এ <b>{event}</b>',
'forbidden': 'নিষিদ্ধ',
'min-password-length': 'সর্বনিম্ন {n} অক্ষর',
'new-version-available': 'Umami {version}-এর নতুন সংস্করণ পাওয়া যাচ্ছে!',
'no-event-data': 'কোনো ইভেন্ট ডেটা পাওয়া যায়নি।',
'no-team-websites': 'এই টিমের কোনো ওয়েবসাইট নেই।',
'no-teams': 'আপনি কোনো টিম তৈরি করেননি।',
'no-users': 'কোনো ব্যবহারকারী নেই।',
'not-found': 'পাওয়া যায়নি',
'nothing-selected': 'কিছু নির্বাচন করা হয়নি।',
'reset-website': 'এই ওয়েবসাইট রিসেট করতে, নিচের বক্সে {confirmation} টাইপ করুন।',
'sever-error': 'সার্ভার ত্রুটি',
'team-already-member': 'আপনি ইতিমধ্যে টিমের সদস্য।',
'team-not-found': 'টিম পাওয়া যায়নি।',
'team-websites-info': 'ওয়েবসাইটগুলি টিমের যে কেউ দেখতে পারেন।',
'transfer-team-website-to-user': 'এই ওয়েবসাইটটি আপনার অ্যাকাউন্টে স্থানান্তর করবেন?',
'transfer-user-website-to-team': 'এই ওয়েবসাইটটি স্থানান্তর করার জন্য টিম নির্বাচন করুন।',
'transfer-website': 'ওয়েবসাইটের মালিকানা আপনার অ্যাকাউন্টে বা অন্য টিমে স্থানান্তর করুন।',
'triggered-event': 'ট্রিগার করা ইভেন্ট',
'unauthorized': 'অননুমোদিত',
'user-deleted': 'ব্যবহারকারী মুছে ফেলা হয়েছে।',
'viewed-page': 'দেখা পৃষ্ঠা'
}
}
};
for (const [locale, trans] of Object.entries(translations)) {
const filePath = path.join(dir, locale + '.json');
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
let count = 0;
for (const [section, keys] of Object.entries(trans)) {
for (const [key, value] of Object.entries(keys)) {
if (data[section] && key in data[section]) {
data[section][key] = value;
count++;
}
}
}
const sorted = {};
for (const section of Object.keys(enUS)) {
if (data[section]) {
sorted[section] = {};
for (const key of Object.keys(enUS[section])) {
if (key in data[section]) sorted[section][key] = data[section][key];
}
for (const key of Object.keys(data[section])) {
if (!(key in sorted[section])) sorted[section][key] = data[section][key];
}
}
}
fs.writeFileSync(filePath, JSON.stringify(sorted, null, 2) + '\n', 'utf8');
console.log('Updated ' + locale + ': ' + count + ' keys');
}