Locale update patch (#229)

This commit is contained in:
Luke Vella 2022-07-21 17:11:10 +01:00 committed by GitHub
parent e0a5cfec39
commit f46c9b0348
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 108 additions and 100 deletions

View file

@ -42,7 +42,7 @@ const MobileNavigation: React.VoidFunctionComponent<{
openLoginModal: () => void;
}> = ({ openLoginModal }) => {
const { user } = useSession();
const { t } = useTranslation("app");
const { t } = useTranslation(["common", "app"]);
return (
<div
className="fixed top-0 z-40 flex h-12 w-full shrink-0 items-center justify-between border-b bg-gray-50
@ -58,7 +58,7 @@ const MobileNavigation: React.VoidFunctionComponent<{
className="flex w-full cursor-pointer items-center space-x-2 whitespace-nowrap rounded-md px-2 py-1 font-medium text-slate-600 transition-colors hover:bg-gray-200 hover:text-slate-600 hover:no-underline active:bg-gray-300"
>
<Login className="h-5 opacity-75" />
<span className="inline-block">{t("login")}</span>
<span className="inline-block">{t("app:login")}</span>
</button>
)}
<AnimatePresence initial={false}>
@ -96,7 +96,9 @@ const MobileNavigation: React.VoidFunctionComponent<{
className="group flex items-center whitespace-nowrap rounded-md px-2 py-1 font-medium text-slate-600 transition-colors hover:bg-gray-200 hover:text-slate-600 hover:no-underline active:bg-gray-300"
>
<Adjustments className="h-5 opacity-75 group-hover:text-primary-500" />
<span className="ml-2 hidden sm:block">{t("preferences")}</span>
<span className="ml-2 hidden sm:block">
{t("app:preferences")}
</span>
</button>
}
>
@ -110,7 +112,7 @@ const MobileNavigation: React.VoidFunctionComponent<{
className="group flex items-center rounded-md px-2 py-1 font-medium text-slate-600 transition-colors hover:bg-gray-200 hover:text-slate-600 hover:no-underline active:bg-gray-300"
>
<Menu className="w-5 group-hover:text-primary-500" />
<span className="ml-2 hidden sm:block">{t("menu")}</span>
<span className="ml-2 hidden sm:block">{t("app:menu")}</span>
</button>
}
>
@ -124,13 +126,13 @@ const MobileNavigation: React.VoidFunctionComponent<{
const AppMenu: React.VoidFunctionComponent<{ className?: string }> = ({
className,
}) => {
const { t } = useTranslation("app");
const { t } = useTranslation(["common", "app"]);
return (
<div className={clsx("space-y-1", className)}>
<Link href="/new">
<a className="flex cursor-pointer items-center space-x-2 whitespace-nowrap rounded-md px-2 py-1 pr-4 font-medium text-slate-600 transition-colors hover:bg-gray-200 hover:text-slate-600 hover:no-underline active:bg-gray-300">
<Pencil className="h-5 opacity-75 " />
<span className="inline-block">{t("newPoll")}</span>
<span className="inline-block">{t("app:newPoll")}</span>
</a>
</Link>
<a
@ -140,7 +142,7 @@ const AppMenu: React.VoidFunctionComponent<{ className?: string }> = ({
rel="noreferrer"
>
<Support className="h-5 opacity-75" />
<span className="inline-block">{t("support")}</span>
<span className="inline-block">{t("common:support")}</span>
</a>
</div>
);
@ -150,7 +152,7 @@ const UserDropdown: React.VoidFunctionComponent<
DropdownProps & { openLoginModal: () => void }
> = ({ children, openLoginModal, ...forwardProps }) => {
const { logout, user } = useSession();
const { t } = useTranslation("app");
const { t } = useTranslation(["common", "app"]);
const modalContext = useModalContext();
if (!user) {
return null;
@ -161,7 +163,7 @@ const UserDropdown: React.VoidFunctionComponent<
{user.isGuest ? (
<DropdownItem
icon={Question}
label={t("whatsThis")}
label={t("app:whatsThis")}
onClick={() => {
modalContext.render({
showClose: true,
@ -180,14 +182,14 @@ const UserDropdown: React.VoidFunctionComponent<
</div>
</div>
</div>
<p>{t("guestSessionNotice")}</p>
<p>{t("app:guestSessionNotice")}</p>
<div>
<a
href="https://support.rallly.co/guest-sessions"
target="_blank"
rel="noreferrer"
>
{t("guestSessionReadMore")}
{t("app:guestSessionReadMore")}
</a>
</div>
</div>
@ -206,19 +208,19 @@ const UserDropdown: React.VoidFunctionComponent<
) : null}
<DropdownItem
icon={Logout}
label={user.isGuest ? t("forgetMe") : t("logout")}
label={user.isGuest ? t("app:forgetMe") : t("app:logout")}
onClick={() => {
if (user?.isGuest) {
modalContext.render({
title: t("areYouSure"),
description: t("endingGuestSessionNotice"),
title: t("app:areYouSure"),
description: t("app:endingGuestSessionNotice"),
onOk: logout,
okButtonProps: {
type: "danger",
},
okText: t("endSession"),
cancelText: t("cancel"),
okText: t("app:endSession"),
cancelText: t("app:cancel"),
});
} else {
logout();
@ -233,7 +235,7 @@ const StandardLayout: React.VoidFunctionComponent<{
children?: React.ReactNode;
}> = ({ children, ...rest }) => {
const { user } = useSession();
const { t } = useTranslation("app");
const { t } = useTranslation(["common", "app"]);
const [loginModal, openLoginModal] = useModal({
footer: null,
overlayClosable: true,
@ -257,7 +259,7 @@ const StandardLayout: React.VoidFunctionComponent<{
<Link href="/new">
<a className="group mb-1 flex items-center space-x-3 whitespace-nowrap rounded-md px-3 py-1 font-medium text-slate-600 transition-colors hover:bg-slate-500/10 hover:text-slate-600 hover:no-underline active:bg-slate-500/20">
<Pencil className="h-5 opacity-75 group-hover:text-primary-500 group-hover:opacity-100" />
<span className="grow text-left">{t("newPoll")}</span>
<span className="grow text-left">{t("app:newPoll")}</span>
</a>
</Link>
<a
@ -267,14 +269,14 @@ const StandardLayout: React.VoidFunctionComponent<{
rel="noreferrer"
>
<Support className="h-5 opacity-75 group-hover:text-primary-500 group-hover:opacity-100" />
<span className="grow text-left">{t("support")}</span>
<span className="grow text-left">{t("common:support")}</span>
</a>
<Popover
placement="right-start"
trigger={
<button className="group flex w-full items-center space-x-3 whitespace-nowrap rounded-md px-3 py-1 font-medium text-slate-600 transition-colors hover:bg-slate-500/10 hover:text-slate-600 hover:no-underline active:bg-slate-500/20">
<Adjustments className="h-5 opacity-75 group-hover:text-primary-500 group-hover:opacity-100" />
<span className="grow text-left">{t("preferences")}</span>
<span className="grow text-left">{t("app:preferences")}</span>
<DotsVertical className="h-4 text-slate-500 opacity-0 transition-opacity group-hover:opacity-100" />
</button>
}
@ -287,7 +289,7 @@ const StandardLayout: React.VoidFunctionComponent<{
className="group flex w-full items-center space-x-3 whitespace-nowrap rounded-md px-3 py-1 font-medium text-slate-600 transition-colors hover:bg-slate-500/10 hover:text-slate-600 hover:no-underline active:bg-slate-500/20"
>
<Login className="h-5 opacity-75 group-hover:text-primary-500 group-hover:opacity-100" />
<span className="grow text-left">{t("login")}</span>
<span className="grow text-left">{t("app:login")}</span>
</button>
)}
</div>
@ -313,7 +315,7 @@ const StandardLayout: React.VoidFunctionComponent<{
{user.shortName}
</div>
<div className="truncate text-xs text-slate-500">
{user.isGuest ? t("guest") : t("user")}
{user.isGuest ? t("app:guest") : t("app:user")}
</div>
</div>
<DotsVertical className="h-4 text-slate-500 opacity-0 transition-opacity group-hover:opacity-100" />
@ -345,16 +347,16 @@ const StandardLayout: React.VoidFunctionComponent<{
className="text-sm text-slate-400 transition-colors hover:text-primary-500 hover:no-underline"
rel="noreferrer"
>
{t("support")}
{t("common:support")}
</a>
<Link href="https://github.com/lukevella/rallly/discussions">
<a className="text-sm text-slate-400 transition-colors hover:text-primary-500 hover:no-underline">
{t("discussions")}
{t("common:discussions")}
</a>
</Link>
<Link href="https://blog.rallly.co">
<a className="text-sm text-slate-400 transition-colors hover:text-primary-500 hover:no-underline">
{t("blog")}
{t("common:blog")}
</a>
</Link>
<div className="hidden text-slate-300 lg:block">&bull;</div>
@ -385,7 +387,7 @@ const StandardLayout: React.VoidFunctionComponent<{
className="inline-flex h-8 items-center rounded-full bg-slate-100 pl-2 pr-3 text-sm text-slate-400 transition-colors hover:bg-primary-500 hover:text-white hover:no-underline focus:ring-2 focus:ring-primary-500 focus:ring-offset-1 active:bg-primary-600"
>
<Cash className="mr-1 inline-block w-5" />
<span>{t("donate")}</span>
<span>{t("app:donate")}</span>
</a>
</div>
</div>