# Language Keys Audit — app vs `/v1/settings/language` (collection v3.0.0)

- Keys referenced by the app (via `Strings.*`, `.tr`, `getTranslation()`): **214**
- Keys returned by the language API (`en`): **423**
- **Missing from API: 15** &nbsp;|&nbsp; Unused by app: 223

## Missing keys — backend-ready JSON

Add these to every language's `translate_key_values` (English values shown):

```json
{
  "Bonus": "Bonus",
  "Coupon Name": "Coupon Name",
  "Coupon is not available": "Coupon is not available",
  "Maximum Used": "Maximum Used",
  "My Coupons": "My Coupons",
  "New User Bonus": "New User Bonus",
  "Paystack": "Paystack",
  "Remaining": "Remaining",
  "Restart": "Restart",
  "Share Coupon": "Share Coupon",
  "Transaction type is not available": "Transaction type is not available",
  "alert": "Alert",
  "appLDate": "Date",
  "appLRetry": "Retry",
  "success": "Success"
}
```

## Missing keys — where they are used

| Key | English value | Used in |
|---|---|---|
| `Bonus` | Bonus | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Coupon Name` | Coupon Name | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Coupon is not available` | Coupon is not available | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Maximum Used` | Maximum Used | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `My Coupons` | My Coupons | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `New User Bonus` | New User Bonus | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Paystack` | Paystack | `lib/views/payment_information/controller/payment_information_controller.dart` |
| `Remaining` | Remaining | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Restart` | Restart | `lib/base/maintenance/maintenance_dialog.dart` |
| `Share Coupon` | Share Coupon | `lib/views/drawer_screens/screen/coupon/coupon_screen.dart` |
| `Transaction type is not available` | Transaction type is not available | `lib/views/dashboard/controller/dashboard_controller.dart` |
| `alert` | Alert | `lib/base/utils/custom_snackbar.dart` |
| `appLDate` | Date | `lib/base/widgets/transfer_log/transfer_log_card.dart` |
| `appLRetry` | Retry | `lib/base/widgets/others/error_state_widget.dart` |
| `success` | Success | `lib/base/utils/custom_snackbar.dart` |

> Note: these are literal keys/strings passed through the translating text widgets — the app resolves an unknown key to its bundled English value and then to the key itself, so they render correctly even before the backend adds them.

## API keys never used by the app (223)

Candidates for backend cleanup — no `.tr` call, `Strings` constant reference, or `getTranslation()` call resolves to them:

```
appLAccountHolderName  appLAccountName  appLAcquaintancesRelation  appLAddMoney
appLAddMoneyLog  appLAddNew  appLAddNewRecipient  appLAddSender
appLAdditionalAddressInfo  appLAlert  appLAmount  appLAmountInformation
appLAustralia  appLAvailableBalance  appLBackToHome  appLBank
appLBeneficiaries  appLBillingAddress  appLBkash  appLBonus
appLBrackBank  appLBusiness  appLCardHolder  appLChangeLanguage
appLCityBank  appLClientName  appLCode  appLCommunityOrGroupRelation
appLCompany  appLCompanyName  appLCompleted  appLConfirmRedeem
appLContinueAsGuest  appLContinuee  appLConvertAmount  appLConvertedAmount
appLCouponIsNot  appLCouponName  appLCreateAccount  appLCreateInvoice
appLCreateVoucher  appLCreditCardSampleText  appLCurrency  appLCurrentBalance
appLDashboard  appLDateOfBirth  appLDba  appLDdmmyyyy
appLDeleteAlert  appLDepositToBank  appLDummyMonth  appLEditRecipient
appLEditSender  appLEmailVerification  appLEndDate  appLEnterAccountHolderName
appLEnterAccountNumber  appLEnterBankName  appLEnterFirstName  appLEnterGmailOrUsername
appLEnterLastName  appLEnterPhoneNumber  appLEnterRecipientName  appLEnterStoreName
appLEnterTheOTPCodeSendTo  appLEnterZipCode  appLEnteredAmount  appLExchange
appLExchangeLog  appLFamily  appLFamilyRelation  appLFeesAndCharges
appLFilterByPeriod  appLFilterData  appLFriendshipRelation  appLFrom
appLFullName  appLGender  appLGetStarted  appLGift
appLHome  appLIndividual  appLIntervalFeesCharges  appLInvoiceDate
appLInvoiceNumber  appLInvoiceTo  appLItemDetails  appLItemName
appLKycForm  appLLandlordOrTenantRelationships  appLLimit  appLMaximumUsed
appLMedicine  appLMoneyDepositSuccess  appLMoneyExchange  appLMoneyIn
appLMoneyOut  appLMoneyOutLog  appLMoneyTransfer  appLMtcn
appLMyCoupons  appLMyInvoice  appLMyReceipt  appLMySender
appLMyVoucher  appLNationality  appLNewUSerBonus  appLNoSenderFound
appLNoStatementFound  appLNogod  appLNotUsed  appLNotes
appLNotification  appLNotifications  appLOfXRemit  appLOr
appLPaid  appLPayNow  appLPaymentInformation  appLPaymentSuccessful
appLPayoutPartner  appLPaypalUsd  appLPerfectMoneyPayment  appLPersonal
appLPickGoods  appLPlaceBasedRelationships  appLPleaseUploadTheImage  appLPostalCode
appLPreviewScreen  appLPrivacyPolicy  appLProfileLabel  appLProfileLog
appLProfitBalance  appLProfitLog  appLQrpayPayment  appLReceiveAmount
appLReceiver  appLReceivingBank  appLReceivingCountry  appLRecentTransaction
appLRecipient  appLRecipientCity  appLRecipientCountry  appLRecipientDetails
appLRecipientEmail  appLRecipientEmailAddress  appLRecipientPhoneNumber  appLRedeem
appLRedeemCode  appLRegisteredUser  appLRelationshipWithRecipient  appLRemaining
appLRequest  appLRequestLog  appLRequestMoney  appLRequestedAmount
appLResend  appLRetainedEarnings  appLRocket  appLSalary
appLSameAsContact  appLSaveUpTo  appLSavedSender  appLSelectBank
appLSelectCountry  appLSelectDocument  appLSelectDocumentType  appLSelectMethod
appLSelectMobileMethod  appLSelectPaymentGateway  appLSelectPickupPoint  appLSelectReceivingBank
appLSelectReceivingMethod  appLSelectRecipient  appLSelectRecipientCountry  appLSelectRelationship
appLSelectSendingPurpose  appLSelectSourceOfFund  appLSelectedSender  appLSendVerificationCode
appLSender  appLSenderName  appLSendingCountry  appLSent
appLShare  appLShareCoupon  appLShareRequestMoney  appLShouldArrive
appLStartDate  appLStatements  appLStatus  appLStoreName
appLSuccess  appLTeacherOrStudentRelation  appLTotalBill  appLTotalExchangedAmount
appLTotalPayable  appLTransactionId  appLTransactionLog  appLTransactionTypeMessage
appLTransfer  appLTransferFee  appLTransferLog  appLTrickGoods
appLTwoFASecurityLogMsg  appLType  appLUnPaid  appLUnitedBank
appLUnitedStates  appLUpdatePassword  appLUploadDocument  appLUsed
appLUserName  appLUserNameOrEmailAddress  appLValidThru  appLVerifiedCode
appLVerify  appLVoucher  appLWillGet  appLWorkOrProfessionalRelation
appLYouSending  appLYouTransfer  appLYourMoneyOutIsSuccess
```

## Footnote: `Strings` constants declared but never referenced in code (165)

Dead constants in `lib/service/language/english.dart` (their `appL*` values partly overlap the unused API keys above):

```
accountHolderName  acquaintancesRelation  addMoney  addMoneyLog  addNew
addNewRecipient  additionalAddressInfo  alert  amount  amountInformation
australia  availableBalance  backToHome  bank  beneficiaries
billingAddress  bkash  brackBank  business  cardHolder
changeLanguage  cityBank  clientName  code  communityOrGroupRelation
company  companyName  completed  confirmRedeem  continueAsGuest
convertedAmount  createAccount  createInvoice  createVoucher  creditCardSampleText
currency  dateOfBirth  dba  ddmmyyyy  depositToBank
dummyMonth  emailVerification  enterAccountHolderName  enterAccountNumber  enterBankName
enterGmailOrUsername  enterRecipientName  enterTheOTPCodeSendTo  enteredAmount  exchange
exchangeLog  family  familyRelation  friendshipRelation  from
fullName  gender  getStarted  gift  home
individual  intervalFeesCharges  invoiceDate  invoiceNumber  invoiceTo
itemDetails  itemName  landlordOrTenantRelationships  medicine  moneyExchange
moneyOut  moneyOutLog  moneyTransfer  mtcn  myInvoice
myReceipt  myVoucher  nationality  nogod  notUsed
notes  notification  ofXRemit  or  paid
payNow  paymentInformation  payoutPartner  paypalUsd  personal
pickGoods  placeBasedRelationships  postalCode  previewScreen  privacyPolicy
profileLabel  receiver  receivingBank  receivingCountry  recentTransaction
recipientCity  recipientCountry  recipientDetails  recipientEmail  recipientEmailAddress
recipientPhoneNumber  redeem  redeemCode  relationshipWithRecipient  request
requestLog  requestMoney  requestedAmount  resend  retainedEarnings
rocket  salary  sameAsContact  saveUpTo  selectCountry
selectDocumentType  selectMethod  selectMobileMethod  selectPaymentGateway  selectPickupPoint
selectReceivingBank  selectReceivingMethod  selectRecipient  selectRecipientCountry  selectRelationship
selectSendingPurpose  selectSourceOfFund  sendVerificationCode  sendingCountry  sent
share  shareRequestMoney  shouldArrive  status  success
teacherOrStudentRelation  totalBill  totalExchangedAmount  transactionLog  transfer
transferFee  transferLog  trickGoods  twoFASecurityLogMsg  unPaid
unitedBank  unitedStates  updatePassword  uploadDocument  used
userName  userNameOrEmailAddress  validThru  verifiedCode  verify
voucher  willGet  workOrProfessionalRelation  youSending  youTransfer
```
