diff --git a/src/components/ChangelogModal.tsx b/src/components/ChangelogModal.tsx index e601463a..88ceeba0 100644 --- a/src/components/ChangelogModal.tsx +++ b/src/components/ChangelogModal.tsx @@ -7,6 +7,7 @@ import { FlexColumn } from "./ui/Flexbox"; import LegacyModal from "./ui/legacy-modal/LegacyModal"; import Text from "./ui/Text"; import env from "@/common/env"; +import { t } from "i18next"; import { Show } from "solid-js"; export function ChangelogModal(props: { close: () => void }) { @@ -37,7 +38,7 @@ export function ChangelogModal(props: { close: () => void }) { return ( diff --git a/src/components/explore/ExploreDrawer.tsx b/src/components/explore/ExploreDrawer.tsx index 26a22ee5..544ecb25 100644 --- a/src/components/explore/ExploreDrawer.tsx +++ b/src/components/explore/ExploreDrawer.tsx @@ -128,10 +128,10 @@ function SupportItem() { />
- {t("settings.drawer.supportMe")} + {t("supportBlock.support")}
- Donate to get a supporter badge! + {t("supportBlock.supportDescription")}
diff --git a/src/components/member-context-menu/MemberContextMenu.tsx b/src/components/member-context-menu/MemberContextMenu.tsx index add4c5fa..e9e838fe 100644 --- a/src/components/member-context-menu/MemberContextMenu.tsx +++ b/src/components/member-context-menu/MemberContextMenu.tsx @@ -221,7 +221,7 @@ function Header(props: { userId: string }) {
-
Call Volume
+
{t("userContextMenu.callVolume")}
{ header.updateHeader({ - title: "Settings - Account", + title: t("settings.account.title"), iconName: "settings", }); }); @@ -74,7 +74,7 @@ export default function AccountSettings() { return ( - + setRequestSent(false)); }; - const requestStatus = () => (requestSent() ? "Saving..." : "Save Changes"); + const requestStatus = () => (requestSent() ? t("settings.account.saving") : t("settings.account.saveChangesButton")); const { createPortal } = useCustomPortal(); @@ -285,7 +285,7 @@ export function EditAccountPage(props: { z-index: 111; `} icon="email" - label="Email" + label={t("settings.account.email")} > - + setInputValue("username", v)} /> - + @@ -390,21 +390,21 @@ export function EditAccountPage(props: { onClick={onChangePasswordClick} style={{ "margin-bottom": "5px" }} > - Change Password + {t("settings.account.changePassword")} - Forgot Password + {t("settings.account.forgotPassword")} - +
diff --git a/src/components/settings/ActivityStatus.tsx b/src/components/settings/ActivityStatus.tsx index e6dbed98..3f1198c4 100644 --- a/src/components/settings/ActivityStatus.tsx +++ b/src/components/settings/ActivityStatus.tsx @@ -100,7 +100,7 @@ export default function WindowSettings() { return ( - + diff --git a/src/components/settings/CallSettings.tsx b/src/components/settings/CallSettings.tsx index 7648a0a7..14fa5fb2 100644 --- a/src/components/settings/CallSettings.tsx +++ b/src/components/settings/CallSettings.tsx @@ -23,7 +23,7 @@ const Container = styled("div")` -export default function NotificationsSettings() { +export default function CallSettings() { const { header } = useStore(); @@ -38,7 +38,7 @@ export default function NotificationsSettings() { return ( - + diff --git a/src/components/settings/ConnectionsSettings.tsx b/src/components/settings/ConnectionsSettings.tsx index f884661e..09ba7db0 100644 --- a/src/components/settings/ConnectionsSettings.tsx +++ b/src/components/settings/ConnectionsSettings.tsx @@ -15,12 +15,12 @@ const Container = styled("div")` padding: 10px; `; -export default function NotificationsSettings() { +export default function ConnectionsSettings() { const { header } = useStore(); createEffect(() => { header.updateHeader({ - title: "Settings - Notifications", + title: "Settings - Connections", iconName: "settings" }); }); @@ -29,7 +29,7 @@ export default function NotificationsSettings() { return ( - + @@ -50,7 +50,7 @@ function Connections() { function GoogleLink() { const {account} = useStore(); - const isConnected = () => account.user()?.connections.find(c => c.provider === "GOOGLE"); + const isConnected = () => account.user()?.connections?.find(c => c.provider === "GOOGLE"); const linkGoogle = () => { createGoogleAccountLink().then(url => { diff --git a/src/components/settings/CustomCssSettings.tsx b/src/components/settings/CustomCssSettings.tsx index 5a1a95b5..e355c770 100644 --- a/src/components/settings/CustomCssSettings.tsx +++ b/src/components/settings/CustomCssSettings.tsx @@ -44,7 +44,7 @@ export default function CustomCssSettings() { return ( - + diff --git a/src/components/settings/ExperimentSettings.tsx b/src/components/settings/ExperimentSettings.tsx index e95c88d5..dfb3229b 100644 --- a/src/components/settings/ExperimentSettings.tsx +++ b/src/components/settings/ExperimentSettings.tsx @@ -20,7 +20,7 @@ const Container = styled("div")` padding: 10px; `; -export default function LanguageSettings() { +export default function ExperimentsSettings() { const { header } = useStore(); createEffect(() => { @@ -33,7 +33,7 @@ export default function LanguageSettings() { return ( - + diff --git a/src/components/settings/InterfaceSettings.tsx b/src/components/settings/InterfaceSettings.tsx index ba4274e8..791d7722 100644 --- a/src/components/settings/InterfaceSettings.tsx +++ b/src/components/settings/InterfaceSettings.tsx @@ -48,7 +48,7 @@ export default function InterfaceSettings() { createEffect(() => { header.updateHeader({ - title: "Settings - Notifications", + title: "Settings - Interface", iconName: "settings", }); }); @@ -56,7 +56,7 @@ export default function InterfaceSettings() { return ( - + diff --git a/src/components/settings/LanguageSettings.tsx b/src/components/settings/LanguageSettings.tsx index 902ed0ce..c16b5f14 100644 --- a/src/components/settings/LanguageSettings.tsx +++ b/src/components/settings/LanguageSettings.tsx @@ -64,7 +64,7 @@ export default function LanguageSettings() { return ( - + diff --git a/src/components/settings/NotificationsSettings.tsx b/src/components/settings/NotificationsSettings.tsx index 95f99631..59000a04 100644 --- a/src/components/settings/NotificationsSettings.tsx +++ b/src/components/settings/NotificationsSettings.tsx @@ -47,7 +47,7 @@ export default function NotificationsSettings() { return ( - + diff --git a/src/components/settings/PrivacySettings.tsx b/src/components/settings/PrivacySettings.tsx index 480bf552..cb87b30a 100644 --- a/src/components/settings/PrivacySettings.tsx +++ b/src/components/settings/PrivacySettings.tsx @@ -41,7 +41,7 @@ export default function PrivacySettings() { return ( - + @@ -60,9 +60,9 @@ function LastOnlineOptions() { const friendRequestStatus = () => account.user()?.lastOnlineStatus; const radioboxItems = [ - { id: 0, label: "Hidden" }, - { id: 1, label: "Friends only" }, - { id: 2, label: "Friends and servers" } + { id: 0, label: t("settings.privacy.lastOnline.hidden") }, + { id: 1, label: t("settings.privacy.lastOnline.friendsOnly") }, + { id: 2, label: t("settings.privacy.lastOnline.friendsAndServers") } ]; const onChange = (item: RadioBoxItem) => { @@ -92,9 +92,9 @@ function DMOptions() { const friendRequestStatus = () => account.user()?.friendRequestStatus; const radioboxItems = [ - { id: 0, label: "Anyone" }, - { id: 1, label: "Servers only" }, - { id: 2, label: "Nobody" } + { id: 0, label: t("settings.privacy.friendRequest.anyone") }, + { id: 1, label: t("settings.privacy.friendRequest.serversOnly") }, + { id: 2, label: t("settings.privacy.friendRequest.nobody") } ]; const onChange = (item: RadioBoxItem) => { @@ -124,9 +124,9 @@ const DirectMessageBlock = () => { const currentDmStatus = () => account.user()?.dmStatus; const radioboxItems = [ - { id: 0, label: "Anyone" }, - { id: 1, label: "Friends & Servers only" }, - { id: 2, label: "Friends only" } + { id: 0, label: t("settings.privacy.directMessage.anyone") }, + { id: 1, label: t("settings.privacy.directMessage.friendsAndServersOnly") }, + { id: 2, label: t("settings.privacy.directMessage.friendsOnly") } ]; const onChange = (item: RadioBoxItem) => { diff --git a/src/components/settings/ProfileSettings.tsx b/src/components/settings/ProfileSettings.tsx index bc782c34..eaea5b1a 100644 --- a/src/components/settings/ProfileSettings.tsx +++ b/src/components/settings/ProfileSettings.tsx @@ -46,9 +46,9 @@ export default function ProfileSettings() { return ( - + - + diff --git a/src/components/settings/SettingsDrawer.tsx b/src/components/settings/SettingsDrawer.tsx index 0b59b29a..fdf07f6e 100644 --- a/src/components/settings/SettingsDrawer.tsx +++ b/src/components/settings/SettingsDrawer.tsx @@ -269,10 +269,10 @@ function SupportItem() { />
- {t("settings.drawer.supportMe")} + {t("supportBlock.support")}
- Donate to get a supporter badge! + {t("supportBlock.supportDescription")}
diff --git a/src/components/settings/SettingsHeader.tsx b/src/components/settings/SettingsHeader.tsx index e46cb0d9..df1d215c 100644 --- a/src/components/settings/SettingsHeader.tsx +++ b/src/components/settings/SettingsHeader.tsx @@ -15,6 +15,7 @@ import { useWindowProperties } from "@/common/useWindowProperties"; import { FriendStatus, RawUser } from "@/chat-api/RawData"; import { useResizeObserver } from "@/common/useResizeObserver"; import { settingsHeaderPreview } from "./SettingsPane"; +import { t } from "i18next"; const HeaderContainer = styled("div")` @@ -121,11 +122,11 @@ const SettingsHeader = (props: {bot?: RawUser}) => { - {serverCount()} servers + {serverCount()} {t("settings.header.servers")} - {friendCount()} friends + {friendCount()} {t("settings.header.friends")} - Manage Account + {t("settings.header.manageAccount")} diff --git a/src/components/settings/WindowSettings.tsx b/src/components/settings/WindowSettings.tsx index c69a0c55..a41a23a7 100644 --- a/src/components/settings/WindowSettings.tsx +++ b/src/components/settings/WindowSettings.tsx @@ -65,7 +65,7 @@ export default function WindowSettings() { return ( - + diff --git a/src/components/settings/developer/DeveloperApplicationBotCreateLinkSettings.tsx b/src/components/settings/developer/DeveloperApplicationBotCreateLinkSettings.tsx index 784721a0..7ea08565 100644 --- a/src/components/settings/developer/DeveloperApplicationBotCreateLinkSettings.tsx +++ b/src/components/settings/developer/DeveloperApplicationBotCreateLinkSettings.tsx @@ -61,7 +61,7 @@ export default function DeveloperApplicationBotCreateLinkSettings() { return ( - + diff --git a/src/components/settings/developer/DeveloperApplicationBotSettings.tsx b/src/components/settings/developer/DeveloperApplicationBotSettings.tsx index a70b633f..ad261aae 100644 --- a/src/components/settings/developer/DeveloperApplicationBotSettings.tsx +++ b/src/components/settings/developer/DeveloperApplicationBotSettings.tsx @@ -86,7 +86,7 @@ export default function DeveloperApplicationBotSettings() { return ( - + diff --git a/src/components/settings/developer/DeveloperApplicationSettings.tsx b/src/components/settings/developer/DeveloperApplicationSettings.tsx index ba80fa3d..b0eb968c 100644 --- a/src/components/settings/developer/DeveloperApplicationSettings.tsx +++ b/src/components/settings/developer/DeveloperApplicationSettings.tsx @@ -82,7 +82,7 @@ export default function DeveloperApplicationSetting() { return ( - + diff --git a/src/components/settings/developer/DeveloperApplicationsSettings.tsx b/src/components/settings/developer/DeveloperApplicationsSettings.tsx index a2282e59..14d4bfc8 100644 --- a/src/components/settings/developer/DeveloperApplicationsSettings.tsx +++ b/src/components/settings/developer/DeveloperApplicationsSettings.tsx @@ -51,7 +51,7 @@ export default function DeveloperApplicationsSettings() { return ( - + diff --git a/src/components/settings/developer/DeveloperSettings.tsx b/src/components/settings/developer/DeveloperSettings.tsx index 7708ac6a..0e878b0d 100644 --- a/src/components/settings/developer/DeveloperSettings.tsx +++ b/src/components/settings/developer/DeveloperSettings.tsx @@ -31,7 +31,7 @@ export default function DeveloperSettings() { return ( - + diff --git a/src/components/side-pane/create-server-modal/CreateServerModal.tsx b/src/components/side-pane/create-server-modal/CreateServerModal.tsx index 2cd11ede..f74afafe 100644 --- a/src/components/side-pane/create-server-modal/CreateServerModal.tsx +++ b/src/components/side-pane/create-server-modal/CreateServerModal.tsx @@ -3,32 +3,33 @@ import style from "./CreateServerModal.module.scss"; import Input from "@/components/ui/input/Input"; import { useCreateServerModalController } from "./useCreateServerModalController"; import { Notice } from "@/components/ui/Notice/Notice"; +import { t } from "i18next"; export function CreateServerModal(props: { close: () => void }) { const controller = useCreateServerModalController(props); return ( - + - + { > - + Исследовать.", + "publishNotice": "Публикация вашего сервера сделает его доступным на странице <1>исследовать.", "public": "Публичный", "publicDescription": "Сделать этот сервер публичным.", "bumpServer": "Продвинуть сервер", - "bumpServerDescription": "Продвинуть этот сервер в топ.", + "bumpServerDescription": "Продвинет сервер вверх списка.", "publishServerButton": "Опубликовать сервер", "unpublishServerButton": "Снять сервер с публикации" } @@ -160,19 +160,19 @@ "rolePermissions": { "admin": "Администратор", "adminDescription": "Включает все разрешения.", - "sendMessage": "Отправить сообщение", + "sendMessage": "Отправлять сообщения", "sendMessageDescription": "Разрешение на отправку сообщений на этом сервере. Администраторы сервера могут отправлять сообщения.", - "manageRoles": "Управление ролями", + "manageRoles": "Управлять ролями", "manageRolesDescription": "Разрешение на обновление или удаление ролей.", - "manageChannels": "Управление каналами", + "manageChannels": "Управлять каналами", "manageChannelsDescription": "Разрешение на обновление или удаление каналов.", - "kick": "Выгнать", - "kickDescription": "Разрешение выгонять пользователей", - "ban": "Забанить", - "banDescription": "Разрешение на бан пользователей.", - "mentionEveryone": "Упомянуть всех", + "kick": "Выгонять", + "kickDescription": "Разрешение выгонять пользователей.", + "ban": "Банить", + "banDescription": "Разрешение на блокировку пользователей.", + "mentionEveryone": "Упомянать всех", "mentionEveryoneDescription": "Разрешение упоминать @everyone. Администраторы сервера могут упоминать всех.", - "nicknameMember": "Поменять ник", + "nicknameMember": "Менять свое имя", "nicknameMemberDescription": "Разрешить пользователям менять свой ник на сервере." }, "channelPermissions": { @@ -195,7 +195,6 @@ "developer": "Для разработчиков", "applications": "Приложения", "experiments": "Эксперименты", - "supportMe": "Поддержать меня", "viewSource": "Посмотреть исходник", "changelog": "Изменения", "window-settings": "Настройки окна", @@ -203,42 +202,92 @@ "activity-status": "Статус активности", "tickets": "Тикеты", "privacy": "Конфиденциальность", - "connections": "Подключения" + "connections": "Подключения", + "profile": "Профиль" + }, + "header": { + "servers": "сервера(ов)", + "friends": "друга(ей)", + "manageAccount": "Управление аккаунтом" + }, + "account": { + "title": "Настройки - Аккаунт", + "email": "Email", + "username": "Имя пользователя", + "tag": "Тег", + "avatar": "Аватар", + "banner": "Баннер", + "supported": "Поддерживается", + "browse": "Выбрать", + "profile": "Профиль", + "profileDescription": "Изменить описание профиля или цвета", + "changePassword": "Изменить пароль", + "forgotPassword": "Забыли пароль", + "newPassword": "Новый пароль", + "newPasswordDescription": "Изменение вашего пароля приведет к выходу из системы в любом другом месте.", + "confirmNewPassword": "Подтвердите новый пароль", + "confirmNewPasswordDescription": "Подтвердите свой новый пароль", + "confirmCurrentPassword": "Введите текущий пароль", + "channelNotice": "Уведомление при ЛС", + "channelNoticeDescription": "Отображается, когда пользователь собирается написать вам в первый раз. Изменения вступят в силу после перезагрузки у стороны.", + "saving": "Сохранение...", + "saveButton": "Сохранить", + "saveChangesButton": "Сохранить изменения", + "deleteAccount": "Удалить мой аккаунт", + "deleteAccountDescription": "Это действие нельзя отменить!", + "deleteAccountNotice": "Вы должны покинуть / удалить все серверы, прежде чем сможете удалить свою учетную запись.", + "understoodButton": "Понял" }, "privacy": { + "lastOnline": { + "title": "Последнее время онлайн", + "description": "Настроить, кто может видеть ваше последнее время онлайн.", + "hidden": "Скрыто", + "friendsOnly": "Только друзья", + "friendsAndServers": "Друзья и участники серверов" + }, "directMessage": { "title": "Личное сообщение", - "description": "Установить, кто может отправлять вам личные сообщения.", + "description": "Настроить, кто может отправлять вам личные сообщения.", "anyone": "Все пользователи", "friendsAndServersOnly": "Только друзья и участники серверов", "friendsOnly": "Только друзья" }, + "friendRequest": { + "title": "Запрос на добавление в друзья", + "description": "Настроить, кто может отправлять вам запросы на добавление в друзья.", + "anyone": "Все пользователи", + "serversOnly": "Только участники серверов", + "nobody": "Никто" + }, "profileOptions": { "title": "Настройки профиля", "hideFollowers": "Скрыть подписчиков", "hideFollowersDescription": "Скрыть ваших подписчиков в профиле.", "hideFollowing": "Скрыть подписки", "hideFollowingDescription": "Скрыть пользователей, на которых вы подписаны из вашего профиля." - }, - "friendRequest": { - "title": "Запрос на добавление в друзья", - "description": "Установить, кто может отправлять вам запросы на добавление в друзья.", - "anyone": "Все пользователи", - "serversOnly": "Участники серверов", - "nobody": "Никто" - }, - "lastOnline": { - "description": "Установить, кто может видеть ваше последнее время онлайн.", - "title": "Последнее время онлайн" } } }, + "supportBlock": { + "support": "Пожертвование", + "supportDescription": "Получите специальное украшение!" + }, + "createServerModal": { + "title": "Создать сервер", + "notice": "18+ контент запрещён в любом виде.", + "serverName": "Имя сервера", + "placeholder": "Мой замечательный сервер", + "creating": "Создание...", + "createServerButton": "Создать", + "closeButton": "Отмена" + }, "serverContextMenu": { "markAsRead": "Отметить прочитанным", "invites": "Приглашения", "notifications": "Уведомления", "settings": "Настройки", - "copyId": "Копировать ID сервера", + "copyId": "Скопировать ID сервера", "leave": "Выйти", "notificationOptions": { "everything": "Все уведомления", @@ -249,11 +298,12 @@ "userContextMenu": { "viewProfile": "Просмотреть профиль", "sendMessage": "Отправить сообщение", - "copyId": "Копировать ID пользователя", + "copyId": "Скопировать ID пользователя", "editRoles": "Редактировать роли", "kick": "Выгнать", "ban": "Забанить", - "changeNickname": "Изменить ник" + "changeNickname": "Изменить имя", + "callVolume": "Громкость звука" }, "kickServerMemberModal": { "title": "Выгнать {{username}}", @@ -276,7 +326,7 @@ "editMessage": "Редактировать сообщение", "deleteMessage": "Удалить сообщение", "copyMessage": "Скопировать сообщение", - "copyId": "Копировать ID сообщения" + "copyId": "Скопировать ID сообщения" }, "profile": { "followButton": "Подписаться", @@ -284,7 +334,7 @@ "removeFriendButton": "Удалить из друзей", "addFriendButton": "Добавить в друзья", "pendingRequest": "Запрос дружбы отправлен", - "acceptRequestButton": "Принять запрос", + "acceptRequestButton": "Принять запрос дружбы", "messageButton": "Сообщение", "mutualFriends": "Общие друзья ({{count}})", "mutualServers": "Общие серверы ({{count}})", @@ -304,12 +354,12 @@ "someoneLikedYourPost": "<1>{{username}} понравился ваш пост!", "someoneFollowedYou": "<1>{{username}} подписался на вас!", "someoneRepliedToPost": "<1>{{username}} ответил на ваш пост!", - "createAPostInputPlaceholder": "Создать пост...", - "replyInputPlaceholder": "Ответить...", + "createAPostInputPlaceholder": "Написать пост...", + "replyInputPlaceholder": "Написать ответ...", "replyButton": "Ответить", - "createButton": "Создать", - "pollOptions": "Опции опроса", - "optionNumberPlaceholder": "Опция {{number}}" + "createButton": "Опубликовать", + "pollOptions": "Варианты голосования", + "optionNumberPlaceholder": "Ответ {{number}}" }, "informationDrawer": { "title": "Информация", diff --git a/src/locales/list/tr-tr.json b/src/locales/list/tr-tr.json index c79765eb..f64ce76a 100644 --- a/src/locales/list/tr-tr.json +++ b/src/locales/list/tr-tr.json @@ -200,7 +200,6 @@ "developer": "Geliştirici", "applications": "Uygulamalar", "experiments": "Deneysel Özellikler", - "supportMe": "Geliştiriciyi Destekle!", "viewSource": "Kaynak Kodu", "changelog": "Değişiklikler", "window-settings": "İstemci Ayarları", @@ -238,6 +237,9 @@ } } }, + "supportBlock": { + "support": "Geliştiriciyi Destekle!" + }, "serverContextMenu": { "markAsRead": "Okunmuş Olarak İşaretle", "invites": "Davetler", diff --git a/src/locales/list/uw-uw.json b/src/locales/list/uw-uw.json index 133878a9..d99eec0c 100644 --- a/src/locales/list/uw-uw.json +++ b/src/locales/list/uw-uw.json @@ -192,7 +192,6 @@ "developer": "devewopew", "applications": "appwications", "experiments": "expewiments", - "supportMe": "suppowt me", "viewSource": "view s-souwce", "changelog": "changewog", "window-settings": "Window Settings", @@ -230,6 +229,9 @@ } } }, + "supportBlock": { + "support": "suppowt me" + }, "userContextMenu": { "viewProfile": "view pwofiwe", "sendMessage": "Send Message", diff --git a/src/locales/list/zn-hant.json b/src/locales/list/zn-hant.json index fef8e1bd..c9f82626 100644 --- a/src/locales/list/zn-hant.json +++ b/src/locales/list/zn-hant.json @@ -174,7 +174,6 @@ "language": "語言", "notifications": "通知", "logout": "註銷", - "supportMe": "支持我", "viewSource": "查看原始碼", "changelog": "變更日誌", "window-settings": "視窗設定", @@ -183,7 +182,9 @@ "connections": "連接" } }, - + "supportBlock": { + "support": "支持我" + }, "userContextMenu": { "viewProfile": "查看個人資料", "sendMessage": "傳送訊息", diff --git a/src/pages/TicketPage.tsx b/src/pages/TicketPage.tsx index 80467307..1c2f1b05 100644 --- a/src/pages/TicketPage.tsx +++ b/src/pages/TicketPage.tsx @@ -146,7 +146,7 @@ export default function TicketPage() { /> - +