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'); }