Add localization support to admin status and error messages (#4631)

* Initial plan

* Add localization support to admin form status and error messages

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Format updated files with prettier

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Replace t() with Translation component in admin page JSX

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* update package-lock.json

* Update web/i18n/en/translation.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Copilot
2025-10-13 16:29:40 -07:00
committed by GitHub
co-authored by gabek Copilot copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Gabe Kangas
parent fd89c6e8f2
commit 383b80851b
18 changed files with 702 additions and 297 deletions
+60
View File
@@ -250,6 +250,66 @@ export const Localization = {
timestamp: 'Admin.timestamp',
message: 'Admin.message',
logs: 'Admin.logs',
// Form status messages
StatusMessages: {
updated: 'Admin.StatusMessages.updated',
tagsUpdated: 'Admin.StatusMessages.tagsUpdated',
variantsUpdated: 'Admin.StatusMessages.variantsUpdated',
videoCodecUpdated: 'Admin.StatusMessages.videoCodecUpdated',
latencyBufferUpdated: 'Admin.StatusMessages.latencyBufferUpdated',
deletingEmoji: 'Admin.StatusMessages.deletingEmoji',
emojiDeleted: 'Admin.StatusMessages.emojiDeleted',
convertingEmoji: 'Admin.StatusMessages.convertingEmoji',
uploadingEmoji: 'Admin.StatusMessages.uploadingEmoji',
emojiUploadedSuccessfully: 'Admin.StatusMessages.emojiUploadedSuccessfully',
thereWasAnError: 'Admin.StatusMessages.thereWasAnError',
fileSizeTooBig: 'Admin.StatusMessages.fileSizeTooBig',
fileTypeNotSupported: 'Admin.StatusMessages.fileTypeNotSupported',
pleaseEnterTag: 'Admin.StatusMessages.pleaseEnterTag',
tagAlreadyUsed: 'Admin.StatusMessages.tagAlreadyUsed',
},
// Actions page
Actions: {
title: 'Admin.Actions.title',
description: 'Admin.Actions.description',
readMoreLink: 'Admin.Actions.readMoreLink',
createNewAction: 'Admin.Actions.createNewAction',
createNewActionTitle: 'Admin.Actions.createNewActionTitle',
editActionTitle: 'Admin.Actions.editActionTitle',
modalDescription: 'Admin.Actions.modalDescription',
onlyHttpsSupported: 'Admin.Actions.onlyHttpsSupported',
readMoreAboutActions: 'Admin.Actions.readMoreAboutActions',
selectActionType: 'Admin.Actions.selectActionType',
linkOrEmbedUrl: 'Admin.Actions.linkOrEmbedUrl',
customHtml: 'Admin.Actions.customHtml',
htmlEmbedPlaceholder: 'Admin.Actions.htmlEmbedPlaceholder',
urlPlaceholder: 'Admin.Actions.urlPlaceholder',
titlePlaceholder: 'Admin.Actions.titlePlaceholder',
descriptionPlaceholder: 'Admin.Actions.descriptionPlaceholder',
iconPlaceholder: 'Admin.Actions.iconPlaceholder',
optionalBackgroundColor: 'Admin.Actions.optionalBackgroundColor',
openExternally: 'Admin.Actions.openExternally',
},
// Webhooks page
Webhooks: {
createNewWebhook: 'Admin.Webhooks.createNewWebhook',
webhookUrlPlaceholder: 'Admin.Webhooks.webhookUrlPlaceholder',
selectEvents: 'Admin.Webhooks.selectEvents',
selectAll: 'Admin.Webhooks.selectAll',
},
// Access Tokens page
AccessTokens: {
createNewAccessToken: 'Admin.AccessTokens.createNewAccessToken',
nameDescription: 'Admin.AccessTokens.nameDescription',
namePlaceholder: 'Admin.AccessTokens.namePlaceholder',
selectPermissions: 'Admin.AccessTokens.selectPermissions',
cannotEditAfterCreated: 'Admin.AccessTokens.cannotEditAfterCreated',
selectAll: 'Admin.AccessTokens.selectAll',
},
},
/**