Repository: louislam/uptime-kuma
File: src/components/notifications/SendGrid.vue (Vue)

Code before:
<template>    
    <!-- SendGrid fields -->
    <div class="mb-3">
      <label for="sendgrid-api-key" class="form-label">{{ $t("SendGrid API Key") }}</label>
      <input id="sendgrid-api-key" v-model="$parent.notification.sendgridApiKey" type="text" class="form-control" required>
    </div>
    <div class="mb-3">
      <label for="sendgrid-from-email" class="form-label">{{ $t("From Email") }}</label>
      <input id="sendgrid-from-email" v-model="$parent.notification.sendgridFromEmail" type="email" class="form-control" required>
    </div>
    <div class="mb-3">
      <label for="sendgrid-to-email" class="form-label">{{ $t("To Email") }}</label>
      <input id="sendgrid-to-email" v-model="$parent.notification.sendgridToEmail" type="email" class="form-control" required>
    </div>
    <div class="mb-3">
      <label for="sendgrid-cc-email" class="form-label">{{ $t("CC Email") }}</label>
      <input id="sendgrid-cc-email" v-model="$parent.notification.sendgridCcEmail" type="email" class="form-control">
      <small class="form-text text-muted">{{ $t("Separate multiple email addresses with commas") }}</small>
    </div>
    <div class="mb-3">
      <label for="sendgrid-bcc-email" class="form-label">{{ $t("BCC Email") }}</label>
      <input id="sendgrid-bcc-email" v-model="$parent.notification.sendgridBccEmail" type="email" class="form-control">
      <small class="form-text text-muted">{{ $t("Separate multiple email addresses with commas") }}</small>
    </div>
    <div class="mb-3">
      <label for="sendgrid-subject" class="form-label">{{ $t("Email Subject") }}</label>
      <input id="sendgrid-subject" v-model="$parent.notification.sendgridSubject" type="text" class="form-control" required>
      <small class="form-text text-muted">{{ $t("Default subject will be used if left empty") }}</small>
    </div>

Review comment (suggestion):
All translation keys need to be added to `en.json` to be avalile for translation.
Please review the translation keys that you have added ^^

Code after:
<template>
    <div class="mb-3">
        <label for="sendgrid-api-key" class="form-label">{{ $t("SendGrid API Key") }}</label>
        <HiddenInput id="push-api-key" v-model="$parent.notification.sendgridApiKey" :required="true" autocomplete="new-password"></HiddenInput>
    </div>
    <div class="mb-3">
        <label for="sendgrid-from-email" class="form-label">{{ $t("From Email") }}</label>
        <input id="sendgrid-from-email" v-model="$parent.notification.sendgridFromEmail" type="email" class="form-control" required>
    </div>
    <div class="mb-3">
        <label for="sendgrid-to-email" class="form-label">{{ $t("To Email") }}</label>
        <input id="sendgrid-to-email" v-model="$parent.notification.sendgridToEmail" type="email" class="form-control" required>
    </div>
    <div class="mb-3">
        <label for="sendgrid-cc-email" class="form-label">{{ $t("smtpCC") }}</label>
        <input id="sendgrid-cc-email" v-model="$parent.notification.sendgridCcEmail" type="email" class="form-control">
        <div class="form-text">{{ $t("Separate multiple email addresses with commas") }}</div>
    </div>
    <div class="mb-3">
        <label for="sendgrid-bcc-email" class="form-label">{{ $t("smtpBCC") }}</label>
        <input id="sendgrid-bcc-email" v-model="$parent.notification.sendgridBccEmail" type="email" class="form-control">
        <small class="form-text text-muted">{{ $t("Separate multiple email addresses with commas") }}</small>
    </div>
    <div class="mb-3">
        <label for="sendgrid-subject" class="form-label">{{ $t("Subject:") }}</label>
        <input id="sendgrid-subject" v-model="$parent.notification.sendgridSubject" type="text" class="form-control">
        <small class="form-text text-muted">{{ $t("leave blank for default subject") }}</small>
    </div>
    <i18n-t tag="p" keypath="More info on:" style="margin-top: 8px;">