const transObj = {
  en: {
    connect_wallet: 'Connect wallet',
    disconnect: 'Disconnect',
    copied: 'Copied',
    copy_address: 'Copy address',
    connect: 'Connect',
    connecting: 'Connecting',
    connected: 'Connected',
    change_wallet: 'Change wallet',
    dialog_heading: 'Connect a wallet to continue',
    first_time_connect_notice: 'For first time connect, you might need to Create Wallet first.',
    install_carax_notice_heading: 'Install Carax Wallet',
    install_carax_notice_body: 'It will take you to a new website to install the Carax Wallet. Once the installation is complete, please refresh the website.',
    detected: 'Detected',
    not_detected: 'Not detected',
    connect_using_carax_app: "Connect using the Carax Wallet application ?",
    cancel: "Cancel"
  },
  vi: {
    connect_wallet: 'Kết nối ví',
    disconnect: 'Ngắt kết nối',
    copied: 'Đã copy',
    copy_address: 'Copy địa chỉ',
    connect: 'Kết nối',
    connecting: 'Đang kết nối',
    connected: 'Đã kết nối',
    change_wallet: 'Thay đổi ví',
    dialog_heading: 'Kết nối ví để tiếp tục',
    first_time_connect_notice: 'Ở lần kết nối đầu tiên, bạn có thể sẽ cần Tạo Ví trước.',
    install_carax_notice_heading: 'Cài đặt ví Carax',
    install_carax_notice_body:
      'Bạn sẽ được đưa tới trang mới để cài đặt ví Carax Wallet. Sau khi hoàn tất cài đặt, vui lòng tải lại website.',
    detected: 'Đã cài đặt',
    not_detected: 'Không tìm thấy',
    connect_using_carax_app: "Kết nối với ứng dụng Carax Wallet ?",
    cancel: "Huỷ bỏ"
  },
}

export type Translation = typeof transObj['en']
export type GetTranslationsParams = {
  locale?: keyof typeof transObj,
  customTransObj?: Partial<Translation>,
}

export const getTranslations = ({ locale, customTransObj }: GetTranslationsParams) => {
  const trans = transObj[locale || 'en'] || transObj.en

  return Object.assign(trans, customTransObj || {})
}
