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 = {
'ur-PK': {
label: {
// A
'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': 'اوسط',
// B
'before': 'پہلے',
'boards': 'بورڈز',
'breakdown': 'تفصیلی تجزیہ',
'browser': 'براؤزر',
// C
'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': 'موجودہ',
// D
'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': 'ڈراپ آف',
// E
'edit-dashboard': 'ڈیش بورڈ میں ترمیم',
'edit-member': 'رکن میں ترمیم',
'email': 'ای میل',
'end-step': 'آخری مرحلہ',
'environment': 'ماحول',
'event': 'واقعہ',
'event-data': 'واقعہ ڈیٹا',
'event-name': 'واقعہ کا نام',
'exclude-bounce': 'اچھال خارج کریں',
'exists': 'موجود ہے',
// F
'false': 'غلط',
'field': 'فیلڈ',
'fields': 'فیلڈز',
'filter': 'فلٹر',
'filters': 'فلٹرز',
'first-click': 'پہلا کلک',
'first-seen': 'پہلی بار دیکھا گیا',
'funnel': 'فنل',
'funnel-description': 'صارفین کی تبدیلی اور ڈراپ آف شرح کو سمجھیں۔',
'funnels': 'فنلز',
// G
'goal': 'ہدف',
'goals': 'اہداف',
'goals-description': 'صفحہ کے نظاروں اور واقعات کے لیے اپنے اہداف کی نگرانی کریں۔',
'greater-than': 'سے زیادہ',
'greater-than-equals': 'سے زیادہ یا مساوی',
'grouped': 'گروپ شدہ',
'growth': 'نمو',
// H
'hostname': 'ہوسٹ نام',
'hour': 'گھنٹہ',
// I
'includes': 'مشتمل ہے',
'insight': 'بصیرت',
'insights': 'بصیرتیں',
'insights-description': 'سیگمنٹس اور فلٹرز استعمال کرکے اپنے ڈیٹا میں گہرائی سے جائیں۔',
'invalid-url': 'غلط URL',
'is': 'ہے',
'is-false': 'غلط ہے',
'is-not': 'نہیں ہے',
'is-not-set': 'سیٹ نہیں ہے',
'is-set': 'سیٹ ہے',
'is-true': 'درست ہے',
// J
'join': 'شامل ہوں',
'join-team': 'ٹیم میں شامل ہوں',
'journey': 'سفر',
'journey-description': 'سمجھیں کہ صارفین آپ کی ویب سائٹ پر کیسے تشریف لے جاتے ہیں۔',
'journeys': 'سفر',
// L
'language': 'زبان',
'last-click': 'آخری کلک',
'last-months': 'پچھلے {x} مہینے',
'last-seen': 'آخری بار دیکھا گیا',
'leave': 'چھوڑیں',
'leave-team': 'ٹیم چھوڑیں',
'less-than': 'سے کم',
'less-than-equals': 'سے کم یا مساوی',
'link': 'لنک',
'links': 'لنکس',
'location': 'مقام',
// M
'manage': 'انتظام کریں',
'manager': 'منتظم',
'max': 'زیادہ سے زیادہ',
'medium': 'میڈیم',
'member': 'رکن',
'members': 'اراکین',
'min': 'کم سے کم',
'minute': 'منٹ',
'model': 'ماڈل',
'month': 'مہینہ',
'my-account': 'میرا اکاؤنٹ',
'my-websites': 'میری ویب سائٹس',
// N
'none': 'کوئی نہیں',
'number-of-records': '{x} {x, plural, one {ریکارڈ} other {ریکارڈز}}',
'online': 'آن لائن',
'organic-search': 'نامیاتی تلاش',
'organic-shopping': 'نامیاتی خریداری',
'organic-social': 'نامیاتی سوشل',
'organic-video': 'نامیاتی ویڈیو',
// O
'other': 'دیگر',
'overview': 'جائزہ',
// P
'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': 'خصوصیت',
// Q
'queries': 'استفسارات',
'query': 'استفسار',
'query-parameters': 'استفسار پیرامیٹرز',
// R
'referral': 'حوالہ',
'referrer': 'حوالہ دہندہ',
'regenerate': 'دوبارہ بنائیں',
'region': 'علاقہ',
'regions': 'علاقے',
'remaining': 'باقی',
'remove': 'ہٹائیں',
'remove-member': 'رکن ہٹائیں',
'reports': 'رپورٹیں',
'retention': 'برقراری',
'retention-description': 'یہ جانچیں کہ صارفین کتنی بار واپس آتے ہیں اور آپ کی ویب سائٹ کتنی پرکشش ہے۔',
'revenue': 'آمدنی',
'role': 'کردار',
'run-query': 'استفسار چلائیں',
// S
'save-cohort': 'کوہارٹ محفوظ کریں',
'save-segment': 'سیگمنٹ محفوظ کریں',
'screen': 'اسکرین',
'screens': 'اسکرینز',
'search': 'تلاش',
'segment': 'سیگمنٹ',
'segments': 'سیگمنٹس',
'select': 'منتخب کریں',
'select-date': 'تاریخ منتخب کریں',
'select-filter': 'فلٹر منتخب کریں',
'select-role': 'کردار منتخب کریں',
'select-website': 'ویب سائٹ منتخب کریں',
'session': 'سیشن',
'session-data': 'سیشن ڈیٹا',
'sessions': 'سیشنز',
'share': 'شیئر کریں',
'source': 'ذریعہ',
'sources': 'ذرائع',
'start-step': 'شروعاتی مرحلہ',
'steps': 'مراحل',
'sum': 'کل',
'support': 'معاونت',
'switch-account': 'اکاؤنٹ تبدیل کریں',
// T
'table': 'ٹیبل',
'tag': 'ٹیگ',
'tags': 'ٹیگز',
'team': 'ٹیم',
'team-manager': 'ٹیم منتظم',
'team-member': 'ٹیم رکن',
'team-name': 'ٹیم کا نام',
'team-owner': 'ٹیم مالک',
'team-settings': 'ٹیم ترتیبات',
'team-view-only': 'ٹیم صرف دیکھنے کے لیے',
'team-websites': 'ٹیم ویب سائٹس',
'teams': 'ٹیمیں',
'term': 'اصطلاح',
'terms': 'شرائط',
'theme': 'تھیم',
'title': 'عنوان',
'total': 'کل',
'total-records': 'کل ریکارڈز',
'traffic': 'ٹریفک',
'transactions': 'لین دین',
'transfer': 'منتقلی',
'transfer-website': 'ویب سائٹ منتقل کریں',
'true': 'درست',
'type': 'قسم',
// U
'unique': 'منفرد',
'unique-events': 'منفرد واقعات',
'uniqueCustomers': 'منفرد گاہک',
'untitled': 'بے عنوان',
'update': 'اپ ڈیٹ',
'user': 'صارف',
'users': 'صارفین',
'utm-description': 'UTM پیرامیٹرز کے ذریعے اپنی مہمات کی نگرانی کریں۔',
// V
'value': 'قدر',
'version': 'ورژن',
'view': 'دیکھیں',
'view-only': 'صرف دیکھیں',
'views-per-visit': 'فی وزٹ نظارے',
'visits': 'وزٹس',
'website': 'ویب سائٹ',
// W
'window': 'ونڈو',
'yesterday': 'کل'
},
message: {
'action-confirmation': 'تصدیق کے لیے نیچے دیے گئے خانے میں {confirmation} ٹائپ کریں۔',
'bad-request': 'غلط درخواست',
'collected-data': 'جمع شدہ ڈیٹا',
'confirm-leave': 'کیا آپ واقعی {target} چھوڑنا چاہتے ہیں؟',
'confirm-remove': 'کیا آپ واقعی {target} کو ہٹانا چاہتے ہیں؟',
'delete-team-warning': 'ٹیم حذف کرنے سے ٹیم کی تمام ویب سائٹس بھی حذف ہو جائیں گی۔',
'event-log': '{url} پر {event}',
'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');
}