refactor(telemetry): chart scale labels, calmer vitals and error styling, usage-first tabs

- sparklines get start/end date and max-value footers
- vitals rating shown by value color instead of badges
- error rows use plain counts, subtle resolve button, terse empty state
- telemetry tab order: usage, players, functions, events, errors; usage is default
This commit is contained in:
2026-08-25 22:35:16 -07:00
parent 7ea189aa61
commit fd0489a22f
12 changed files with 222 additions and 238 deletions
+9 -9
View File
@@ -4,11 +4,11 @@ import { Trans } from "@lingui/react/macro";
import { msg } from "@lingui/core/macro"; import { msg } from "@lingui/core/macro";
const TAB_ROUTES = { const TAB_ROUTES = {
usage: "/admin/telemetry/usage",
players: "/admin/telemetry/players",
functions: "/admin/telemetry/functions", functions: "/admin/telemetry/functions",
events: "/admin/telemetry/events", events: "/admin/telemetry/events",
errors: "/admin/telemetry/errors", errors: "/admin/telemetry/errors",
players: "/admin/telemetry/players",
usage: "/admin/telemetry/usage",
} as const; } as const;
type TabValue = keyof typeof TAB_ROUTES; type TabValue = keyof typeof TAB_ROUTES;
@@ -29,7 +29,7 @@ function TelemetryLayout() {
const activeTab = const activeTab =
(Object.keys(TAB_ROUTES) as TabValue[]).find((tab) => (Object.keys(TAB_ROUTES) as TabValue[]).find((tab) =>
pathname.endsWith(`/${tab}`) pathname.endsWith(`/${tab}`)
) ?? "functions"; ) ?? "usage";
return ( return (
<Tabs <Tabs
@@ -41,6 +41,12 @@ function TelemetryLayout() {
}} }}
> >
<Tabs.List mb="md" style={{ flexWrap: "nowrap", overflowX: "auto", overflowY: "hidden" }}> <Tabs.List mb="md" style={{ flexWrap: "nowrap", overflowX: "auto", overflowY: "hidden" }}>
<Tabs.Tab value="usage">
<Trans>Usage</Trans>
</Tabs.Tab>
<Tabs.Tab value="players">
<Trans>Players</Trans>
</Tabs.Tab>
<Tabs.Tab value="functions"> <Tabs.Tab value="functions">
<Trans>Functions</Trans> <Trans>Functions</Trans>
</Tabs.Tab> </Tabs.Tab>
@@ -50,12 +56,6 @@ function TelemetryLayout() {
<Tabs.Tab value="errors"> <Tabs.Tab value="errors">
<Trans>Errors</Trans> <Trans>Errors</Trans>
</Tabs.Tab> </Tabs.Tab>
<Tabs.Tab value="players">
<Trans>Players</Trans>
</Tabs.Tab>
<Tabs.Tab value="usage">
<Trans>Usage</Trans>
</Tabs.Tab>
</Tabs.List> </Tabs.List>
<Outlet /> <Outlet />
@@ -2,6 +2,6 @@ import { createFileRoute, redirect } from "@tanstack/react-router";
export const Route = createFileRoute("/_authed/admin/telemetry/")({ export const Route = createFileRoute("/_authed/admin/telemetry/")({
beforeLoad: () => { beforeLoad: () => {
throw redirect({ to: "/admin/telemetry/functions" }); throw redirect({ to: "/admin/telemetry/usage" });
}, },
}); });
@@ -54,7 +54,7 @@ export const ToolsList = () => {
<ListLink <ListLink
label={t`Telemetry`} label={t`Telemetry`}
Icon={PulseIcon} Icon={PulseIcon}
to="/admin/telemetry/functions" to="/admin/telemetry/usage"
/> />
<ListLink <ListLink
label={t`Award Badges`} label={t`Award Badges`}
@@ -1,9 +1,15 @@
import { Text } from "@mantine/core"; import { Group, Text } from "@mantine/core";
import { niceExtent, pointsToPath } from "./chart-path"; import { niceExtent, pointsToPath } from "./chart-path";
const VIEW_WIDTH = 240; const VIEW_WIDTH = 240;
const PAD = 3; const PAD = 3;
export interface SparklineScale {
start?: string;
end?: string;
formatValue?: (value: number) => string;
}
interface SparklineProps { interface SparklineProps {
data: number[]; data: number[];
series2?: number[]; series2?: number[];
@@ -11,6 +17,7 @@ interface SparklineProps {
showArea?: boolean; showArea?: boolean;
label?: string; label?: string;
color?: string; color?: string;
scale?: SparklineScale;
} }
export const Sparkline = ({ export const Sparkline = ({
@@ -20,6 +27,7 @@ export const Sparkline = ({
showArea = false, showArea = false,
label, label,
color = "var(--mantine-color-anchor)", color = "var(--mantine-color-anchor)",
scale,
}: SparklineProps) => { }: SparklineProps) => {
if (data.length === 0) { if (data.length === 0) {
return ( return (
@@ -38,7 +46,11 @@ export const Sparkline = ({
? `${path} L${VIEW_WIDTH - PAD},${height - PAD} L${PAD},${height - PAD} Z` ? `${path} L${VIEW_WIDTH - PAD},${height - PAD} L${PAD},${height - PAD} Z`
: null; : null;
return ( const allValues = series2?.length ? [...data, ...series2] : data;
const max = Math.max(...allValues);
const formatValue = scale?.formatValue ?? ((value: number) => value.toLocaleString());
const svg = (
<svg <svg
viewBox={`0 0 ${VIEW_WIDTH} ${height}`} viewBox={`0 0 ${VIEW_WIDTH} ${height}`}
preserveAspectRatio="none" preserveAspectRatio="none"
@@ -72,6 +84,25 @@ export const Sparkline = ({
)} )}
</svg> </svg>
); );
if (!scale) return svg;
return (
<div>
{svg}
<Group justify="space-between" gap="xs" mt={2}>
<Text size="xs" c="dimmed">
{scale.start}
</Text>
<Text size="xs" c="dimmed" style={{ fontVariantNumeric: "tabular-nums" }}>
↑{formatValue(max)}
</Text>
<Text size="xs" c="dimmed">
{scale.end}
</Text>
</Group>
</div>
);
}; };
export default Sparkline; export default Sparkline;
@@ -1,21 +1,32 @@
import { ReactNode } from "react"; import { ReactNode } from "react";
import { Box, Group, Stack, Text, UnstyledButton } from "@mantine/core"; import { Box, Group, Stack, Text, UnstyledButton } from "@mantine/core";
import Sparkline from "./sparkline"; import Sparkline, { SparklineScale } from "./sparkline";
interface StatTileProps { interface StatTileProps {
label: ReactNode; label: ReactNode;
value: ReactNode; value: ReactNode;
valueColor?: string;
delta?: number; delta?: number;
spark?: number[]; spark?: number[];
sparkScale?: SparklineScale;
caption?: ReactNode; caption?: ReactNode;
onClick?: () => void; onClick?: () => void;
} }
export const StatTile = ({ label, value, delta, spark, caption, onClick }: StatTileProps) => { export const StatTile = ({
label,
value,
valueColor,
delta,
spark,
sparkScale,
caption,
onClick,
}: StatTileProps) => {
const content = ( const content = (
<Stack gap={2}> <Stack gap={2}>
<Group gap="xs" align="baseline" wrap="nowrap"> <Group gap="xs" align="baseline" wrap="nowrap">
<Text fz="xl" fw={700} lh={1.2}> <Text fz="xl" fw={700} lh={1.2} c={valueColor}>
{value} {value}
</Text> </Text>
{delta !== undefined && delta !== 0 && ( {delta !== undefined && delta !== 0 && (
@@ -29,7 +40,9 @@ export const StatTile = ({ label, value, delta, spark, caption, onClick }: StatT
{label} {label}
</Text> </Text>
{caption && <Box>{caption}</Box>} {caption && <Box>{caption}</Box>}
{spark && spark.length > 0 && <Sparkline data={spark} height={28} />} {spark && spark.length > 0 && (
<Sparkline data={spark} height={28} scale={sparkScale} />
)}
</Stack> </Stack>
); );
@@ -1,9 +1,7 @@
import { Suspense, useMemo, useState } from "react"; import { Suspense, useMemo, useState } from "react";
import { useLingui } from "@lingui/react/macro"; import { Trans, useLingui } from "@lingui/react/macro";
import { Container, Divider, Group, Stack, Switch } from "@mantine/core"; import { Container, Divider, Group, Stack, Switch, Text } from "@mantine/core";
import { ChecksIcon } from "@phosphor-icons/react";
import { ListSkeleton } from "@/components/skeletons"; import { ListSkeleton } from "@/components/skeletons";
import EmptyState from "@/components/empty-state";
import { useClientErrorGroups } from "../../queries"; import { useClientErrorGroups } from "../../queries";
import { lastNDays } from "../../range"; import { lastNDays } from "../../range";
import { ErrorGroupRow } from "./error-group-row"; import { ErrorGroupRow } from "./error-group-row";
@@ -17,16 +15,13 @@ const ErrorGroupList = ({
to: string; to: string;
includeResolved: boolean; includeResolved: boolean;
}) => { }) => {
const { t } = useLingui();
const { data: groups } = useClientErrorGroups({ from, to, includeResolved }); const { data: groups } = useClientErrorGroups({ from, to, includeResolved });
if (groups.length === 0) { if (groups.length === 0) {
return ( return (
<EmptyState <Text size="sm" c="dimmed" px="md" py="xl" ta="center">
icon={<ChecksIcon size={32} />} <Trans>No unresolved errors</Trans>
title={t`No unresolved errors`} </Text>
description={t`Nothing has broken in the last 30 days. Keep it up.`}
/>
); );
} }
@@ -1,7 +1,6 @@
import { useState } from "react"; import { useState } from "react";
import { Trans, useLingui } from "@lingui/react/macro"; import { Trans, useLingui } from "@lingui/react/macro";
import { import {
Badge,
Box, Box,
Button, Button,
Code, Code,
@@ -42,9 +41,14 @@ export const ErrorGroupRow = ({ group }: { group: ClientErrorGroup }) => {
> >
<Stack gap={4}> <Stack gap={4}>
<Group gap="xs" wrap="nowrap"> <Group gap="xs" wrap="nowrap">
<Badge color={group.resolved ? "gray" : "red"} variant="light" size="sm"> <Text
{group.count.toLocaleString()} size="sm"
</Badge> fw={700}
c={group.resolved ? "dimmed" : "red"}
style={{ flexShrink: 0, fontVariantNumeric: "tabular-nums" }}
>
{group.count.toLocaleString()}×
</Text>
<Text size="sm" fw={600} lineClamp={2} style={{ minWidth: 0 }}> <Text size="sm" fw={600} lineClamp={2} style={{ minWidth: 0 }}>
{group.sample.message} {group.sample.message}
</Text> </Text>
@@ -85,7 +89,7 @@ export const ErrorGroupRow = ({ group }: { group: ClientErrorGroup }) => {
<Group justify="flex-end"> <Group justify="flex-end">
<Button <Button
size="xs" size="xs"
variant="light" variant="subtle"
color={group.resolved ? "yellow" : "green"} color={group.resolved ? "yellow" : "green"}
loading={resolveMutation.isPending} loading={resolveMutation.isPending}
onClick={() => onClick={() =>
@@ -1,7 +1,6 @@
import { Suspense, useMemo, useState } from "react"; import { Suspense, useMemo, useState } from "react";
import { Trans, useLingui } from "@lingui/react/macro"; import { Trans, useLingui } from "@lingui/react/macro";
import { import {
Badge,
Divider, Divider,
Group, Group,
SegmentedControl, SegmentedControl,
@@ -45,25 +44,18 @@ const vitalRating = (name: VitalName, value: number): "good" | "ok" | "poor" =>
return "ok"; return "ok";
}; };
const VitalBadge = ({ name, value }: { name: VitalName; value: number }) => { const vitalColor = (name: VitalName, value: number): string | undefined => {
const rating = vitalRating(name, value); const rating = vitalRating(name, value);
const color = rating === "good" ? "green" : rating === "ok" ? "yellow" : "red"; if (rating === "good") return undefined;
return ( return rating === "ok" ? "yellow.8" : "red";
<Badge color={color} variant="light" size="sm">
{rating === "good" ? (
<Trans>Good</Trans>
) : rating === "ok" ? (
<Trans>Needs improvement</Trans>
) : (
<Trans>Poor</Trans>
)}
</Badge>
);
}; };
const formatVital = (name: VitalName, value: number) => const formatVital = (name: VitalName, value: number) =>
name === "CLS" ? value.toFixed(2) : `${Math.round(value)}ms`; name === "CLS" ? value.toFixed(2) : `${Math.round(value)}ms`;
const dayLabel = (i18n: { date: (d: Date, opts?: Intl.DateTimeFormatOptions) => string }, day: string) =>
i18n.date(new Date(`${day}T12:00:00Z`), { month: "short", day: "numeric" });
const topItems = (totals: Map<string, number>, onClick?: (dim: string) => void) => const topItems = (totals: Map<string, number>, onClick?: (dim: string) => void) =>
[...totals.entries()] [...totals.entries()]
.sort((a, b) => b[1] - a[1]) .sort((a, b) => b[1] - a[1])
@@ -75,6 +67,7 @@ const topItems = (totals: Map<string, number>, onClick?: (dim: string) => void)
})); }));
const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: string }) => { const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: string }) => {
const { i18n } = useLingui();
const { data: rows } = useRollupRange({ const { data: rows } = useRollupRange({
metrics: ["server_fn.duration.p50", "server_fn.duration.p95"], metrics: ["server_fn.duration.p50", "server_fn.duration.p95"],
from, from,
@@ -87,7 +80,17 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
return ( return (
<Stack gap="xs"> <Stack gap="xs">
<Sparkline data={p50} series2={p95} height={64} showArea /> <Sparkline
data={p50}
series2={p95}
height={64}
showArea
scale={{
start: dayLabel(i18n, from),
end: dayLabel(i18n, to),
formatValue: (value) => `${Math.round(value)}ms`,
}}
/>
<Group gap="md"> <Group gap="md">
<Group gap={6}> <Group gap={6}>
<svg width={18} height={8} aria-hidden> <svg width={18} height={8} aria-hidden>
@@ -119,7 +122,7 @@ const FnDurationDetail = ({ fn, from, to }: { fn: string; from: string; to: stri
}; };
const UsageSections = ({ from, to }: { from: string; to: string }) => { const UsageSections = ({ from, to }: { from: string; to: string }) => {
const { t } = useLingui(); const { t, i18n } = useLingui();
const [selectedFn, setSelectedFn] = useState<string | null>(null); const [selectedFn, setSelectedFn] = useState<string | null>(null);
const { isOpen: fnDetailOpened, open: openFnDetail, close: closeFnDetail } = useSheet(); const { isOpen: fnDetailOpened, open: openFnDetail, close: closeFnDetail } = useSheet();
@@ -159,6 +162,7 @@ const UsageSections = ({ from, to }: { from: string; to: string }) => {
label={<Trans>Daily active players</Trans>} label={<Trans>Daily active players</Trans>}
value={(dauSeries[dauSeries.length - 1] ?? 0).toLocaleString()} value={(dauSeries[dauSeries.length - 1] ?? 0).toLocaleString()}
spark={dauSeries} spark={dauSeries}
sparkScale={{ start: dayLabel(i18n, from), end: dayLabel(i18n, to) }}
/> />
<SimpleGrid cols={3} spacing="sm"> <SimpleGrid cols={3} spacing="sm">
<StatTile <StatTile
@@ -200,9 +204,10 @@ const UsageSections = ({ from, to }: { from: string; to: string }) => {
<Trans>Errors</Trans> <Trans>Errors</Trans>
</Title> </Title>
<StatTile <StatTile
label={<Trans>Client errors per day</Trans>} label={<Trans>Client errors</Trans>}
value={errorSeries.reduce((sum, value) => sum + value, 0).toLocaleString()} value={errorSeries.reduce((sum, value) => sum + value, 0).toLocaleString()}
spark={errorSeries} spark={errorSeries}
sparkScale={{ start: dayLabel(i18n, from), end: dayLabel(i18n, to) }}
/> />
</Stack> </Stack>
@@ -218,7 +223,7 @@ const UsageSections = ({ from, to }: { from: string; to: string }) => {
key={name} key={name}
label={name} label={name}
value={value !== undefined ? formatVital(name, value) : "—"} value={value !== undefined ? formatVital(name, value) : "—"}
caption={value !== undefined ? <VitalBadge name={name} value={value} /> : undefined} valueColor={value !== undefined ? vitalColor(name, value) : undefined}
/> />
))} ))}
</SimpleGrid> </SimpleGrid>
+31 -47
View File
@@ -355,7 +355,7 @@ msgstr "2. Frühere Abgabe"
msgid "2nd place" msgid "2nd place"
msgstr "2. Platz" msgstr "2. Platz"
#: src/features/telemetry/components/usage-screen.tsx:258 #: src/features/telemetry/components/usage-screen.tsx:263
msgid "30d" msgid "30d"
msgstr "30 T" msgstr "30 T"
@@ -371,7 +371,7 @@ msgstr "3. Platz"
msgid "5s" msgid "5s"
msgstr "5 s" msgstr "5 s"
#: src/features/telemetry/components/usage-screen.tsx:257 #: src/features/telemetry/components/usage-screen.tsx:262
msgid "7d" msgid "7d"
msgstr "7 T" msgstr "7 T"
@@ -716,9 +716,9 @@ msgstr "Ausgewählten Spieler entfernen"
msgid "Client error spike" msgid "Client error spike"
msgstr "Anstieg von Client-Fehlern" msgstr "Anstieg von Client-Fehlern"
#: src/features/telemetry/components/usage-screen.tsx:203 #: src/features/telemetry/components/usage-screen.tsx:207
msgid "Client errors per day" msgid "Client errors"
msgstr "Client-Fehler pro Tag" msgstr "Client-Fehler"
#: src/components/sheet/modal.tsx:35 #: src/components/sheet/modal.tsx:35
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150
@@ -875,7 +875,7 @@ msgstr "Becher erzielt"
msgid "Custom Hex Code" msgid "Custom Hex Code"
msgstr "Benutzerdefinierter Hex-Code" msgstr "Benutzerdefinierter Hex-Code"
#: src/features/telemetry/components/usage-screen.tsx:159 #: src/features/telemetry/components/usage-screen.tsx:162
msgid "Daily active players" msgid "Daily active players"
msgstr "Täglich aktive Spieler" msgstr "Täglich aktive Spieler"
@@ -934,7 +934,7 @@ msgstr "Nachfolgende Matches wurden zurückgesetzt, da sich durch die Korrektur
msgid "Duration" msgid "Duration"
msgstr "Dauer" msgstr "Dauer"
#: src/features/telemetry/components/usage-screen.tsx:235 #: src/features/telemetry/components/usage-screen.tsx:240
msgid "Duration p50 / p95" msgid "Duration p50 / p95"
msgstr "Dauer p50 / p95" msgstr "Dauer p50 / p95"
@@ -996,7 +996,7 @@ msgstr "Enddatum (optional)"
msgid "End Match" msgid "End Match"
msgstr "Match beenden" msgstr "Match beenden"
#: src/features/telemetry/components/usage-screen.tsx:156 #: src/features/telemetry/components/usage-screen.tsx:159
msgid "Engagement" msgid "Engagement"
msgstr "Engagement" msgstr "Engagement"
@@ -1080,11 +1080,11 @@ msgstr "Gib deinen Namen ein"
msgid "Enter your phone number" msgid "Enter your phone number"
msgstr "Gib deine Telefonnummer ein" msgstr "Gib deine Telefonnummer ein"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group reopened" msgid "Error group reopened"
msgstr "Fehlergruppe wieder geöffnet" msgstr "Fehlergruppe wieder geöffnet"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group resolved" msgid "Error group resolved"
msgstr "Fehlergruppe behoben" msgstr "Fehlergruppe behoben"
@@ -1096,8 +1096,8 @@ msgstr "Fehlermeldung"
msgid "Error: {errorMessage}" msgid "Error: {errorMessage}"
msgstr "Fehler: {errorMessage}" msgstr "Fehler: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:51 #: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:200 #: src/features/telemetry/components/usage-screen.tsx:204
msgid "Errors" msgid "Errors"
msgstr "Fehler" msgstr "Fehler"
@@ -1109,7 +1109,7 @@ msgstr "Ereignisdetails"
msgid "Event name" msgid "Event name"
msgstr "Ereignisname" msgstr "Ereignisname"
#: src/app/routes/_authed/admin/telemetry.tsx:48 #: src/app/routes/_authed/admin/telemetry.tsx:54
msgid "Events" msgid "Events"
msgstr "Ereignisse" msgstr "Ereignisse"
@@ -1238,7 +1238,7 @@ msgstr "Free-Agent-Anmeldung"
msgid "Free Agents" msgid "Free Agents"
msgstr "Free Agents" msgstr "Free Agents"
#: src/features/telemetry/components/usage-screen.tsx:228 #: src/features/telemetry/components/usage-screen.tsx:233
msgid "Function" msgid "Function"
msgstr "Funktion" msgstr "Funktion"
@@ -1246,7 +1246,7 @@ msgstr "Funktion"
msgid "Function Name" msgid "Function Name"
msgstr "Funktionsname" msgstr "Funktionsname"
#: src/app/routes/_authed/admin/telemetry.tsx:45 #: src/app/routes/_authed/admin/telemetry.tsx:51
msgid "Functions" msgid "Functions"
msgstr "Funktionen" msgstr "Funktionen"
@@ -1264,10 +1264,6 @@ msgstr "Zurück"
msgid "Go Back" msgid "Go Back"
msgstr "Zurück" msgstr "Zurück"
#: src/features/telemetry/components/usage-screen.tsx:54
msgid "Good"
msgstr "Gut"
#: src/themes/seventies/manifest.ts:6 #: src/themes/seventies/manifest.ts:6
msgid "Groovy" msgid "Groovy"
msgstr "Groovy" msgstr "Groovy"
@@ -1375,7 +1371,7 @@ msgstr "Wenn du zum ersten Mal dabei bist, wähle <0>Neuer Spieler</0>, andernfa
msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song." msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song."
msgstr "Wichtig: Die Anmeldung als Free Agent garantiert keinen Turnierplatz. Um dir einen Platz zu sichern, muss sich ein Teammitglied über die App registrieren und einen Walkout-Song auswählen." msgstr "Wichtig: Die Anmeldung als Free Agent garantiert keinen Turnierplatz. Um dir einen Platz zu sichern, muss sich ein Teammitglied über die App registrieren und einen Walkout-Song auswählen."
#: src/features/telemetry/components/error-browser/error-browser.tsx:56 #: src/features/telemetry/components/error-browser/error-browser.tsx:51
msgid "Include resolved" msgid "Include resolved"
msgstr "Behobene einschließen" msgstr "Behobene einschließen"
@@ -1552,7 +1548,7 @@ msgstr "Turniere verwalten"
msgid "margin" msgid "margin"
msgstr "Differenz" msgstr "Differenz"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Mark resolved" msgid "Mark resolved"
msgstr "Als behoben markieren" msgstr "Als behoben markieren"
@@ -1620,7 +1616,7 @@ msgstr "Matchup"
msgid "Matchup details" msgid "Matchup details"
msgstr "Matchup-Details" msgstr "Matchup-Details"
#: src/features/telemetry/components/usage-screen.tsx:169 #: src/features/telemetry/components/usage-screen.tsx:173
msgid "MAU" msgid "MAU"
msgstr "MAU" msgstr "MAU"
@@ -1666,10 +1662,6 @@ msgstr "Mindestens 2 Spieler nötig, um Teams zu erstellen"
msgid "Need at least 4 teams to create a group stage format. Current team count: {0}" msgid "Need at least 4 teams to create a group stage format. Current team count: {0}"
msgstr "Mindestens 4 Teams nötig, um eine Gruppenphase zu erstellen. Aktuelle Teamanzahl: {0}" msgstr "Mindestens 4 Teams nötig, um eine Gruppenphase zu erstellen. Aktuelle Teamanzahl: {0}"
#: src/features/telemetry/components/usage-screen.tsx:56
msgid "Needs improvement"
msgstr "Verbesserungswürdig"
#: src/features/reactions/components/emoji-picker.tsx:23 #: src/features/reactions/components/emoji-picker.tsx:23
msgid "nerd" msgid "nerd"
msgstr "Nerd" msgstr "Nerd"
@@ -1830,7 +1822,7 @@ msgstr "Keine Turniere gefunden"
msgid "No Tournaments Yet" msgid "No Tournaments Yet"
msgstr "Noch keine Turniere" msgstr "Noch keine Turniere"
#: src/features/telemetry/components/error-browser/error-browser.tsx:27 #: src/features/telemetry/components/error-browser/error-browser.tsx:23
msgid "No unresolved errors" msgid "No unresolved errors"
msgstr "Keine offenen Fehler" msgstr "Keine offenen Fehler"
@@ -1846,10 +1838,6 @@ msgstr "Stimmt nicht"
msgid "Not right — enter our score" msgid "Not right — enter our score"
msgstr "Stimmt nicht — unser Ergebnis eingeben" msgstr "Stimmt nicht — unser Ergebnis eingeben"
#: src/features/telemetry/components/error-browser/error-browser.tsx:28
msgid "Nothing has broken in the last 30 days. Keep it up."
msgstr "In den letzten 30 Tagen ist nichts kaputtgegangen. Weiter so!"
#: src/features/settings/components/notifications-section.tsx:18 #: src/features/settings/components/notifications-section.tsx:18
#: src/features/settings/components/notifications-section.tsx:59 #: src/features/settings/components/notifications-section.tsx:59
msgid "Notifications" msgid "Notifications"
@@ -1941,15 +1929,15 @@ msgstr "Übersicht"
msgid "owo" msgid "owo"
msgstr "owo" msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:97 #: src/features/telemetry/components/usage-screen.tsx:100
msgid "p50" msgid "p50"
msgstr "p50" msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:113 #: src/features/telemetry/components/usage-screen.tsx:116
msgid "p95" msgid "p95"
msgstr "p95" msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:176 #: src/features/telemetry/components/usage-screen.tsx:180
msgid "Page views by route" msgid "Page views by route"
msgstr "Seitenaufrufe nach Route" msgstr "Seitenaufrufe nach Route"
@@ -2036,7 +2024,7 @@ msgstr "Spieler erfolgreich entfernt"
msgid "Player Stats" msgid "Player Stats"
msgstr "Spielerstatistiken" msgstr "Spielerstatistiken"
#: src/app/routes/_authed/admin/telemetry.tsx:54 #: src/app/routes/_authed/admin/telemetry.tsx:48
#: src/features/teams/components/team-profile/index.tsx:29 #: src/features/teams/components/team-profile/index.tsx:29
msgid "Players" msgid "Players"
msgstr "Spieler" msgstr "Spieler"
@@ -2050,10 +2038,6 @@ msgstr "Spieler sind erforderlich"
msgid "Playing on {0}" msgid "Playing on {0}"
msgstr "Wird auf {0} abgespielt" msgstr "Wird auf {0} abgespielt"
#: src/features/telemetry/components/usage-screen.tsx:58
msgid "Poor"
msgstr "Schlecht"
#: src/features/tournaments/components/group-stage-view.tsx:314 #: src/features/tournaments/components/group-stage-view.tsx:314
msgid "Populate Knockout Bracket" msgid "Populate Knockout Bracket"
msgstr "K.-o.-Runde befüllen" msgstr "K.-o.-Runde befüllen"
@@ -2137,7 +2121,7 @@ msgstr "Regional"
msgid "Regional Tournament" msgid "Regional Tournament"
msgstr "Regionalturnier" msgstr "Regionalturnier"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Reopen" msgid "Reopen"
msgstr "Wieder öffnen" msgstr "Wieder öffnen"
@@ -2154,7 +2138,7 @@ msgstr "Ergebnis melden"
msgid "Request failed" msgid "Request failed"
msgstr "Anfrage fehlgeschlagen" msgstr "Anfrage fehlgeschlagen"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:63 #: src/features/telemetry/components/error-browser/error-group-row.tsx:67
msgid "Resolved" msgid "Resolved"
msgstr "Behoben" msgstr "Behoben"
@@ -2359,7 +2343,7 @@ msgstr "Serie steht unentschieden"
msgid "Server function failing" msgid "Server function failing"
msgstr "Serverfunktion schlägt fehl" msgstr "Serverfunktion schlägt fehl"
#: src/features/telemetry/components/usage-screen.tsx:186 #: src/features/telemetry/components/usage-screen.tsx:190
msgid "Server functions" msgid "Server functions"
msgstr "Serverfunktionen" msgstr "Serverfunktionen"
@@ -2371,7 +2355,7 @@ msgstr "serverFn-Name"
msgid "Session" msgid "Session"
msgstr "Sitzung" msgstr "Sitzung"
#: src/features/telemetry/components/usage-screen.tsx:172 #: src/features/telemetry/components/usage-screen.tsx:176
msgid "Sessions" msgid "Sessions"
msgstr "Sitzungen" msgstr "Sitzungen"
@@ -2703,7 +2687,7 @@ msgstr "Die besten {0, plural, one {# Team} other {# Teams}} aus jeder Gruppe ko
msgid "Top {n} advance" msgid "Top {n} advance"
msgstr "Top {n} kommen weiter" msgstr "Top {n} kommen weiter"
#: src/features/telemetry/components/usage-screen.tsx:190 #: src/features/telemetry/components/usage-screen.tsx:194
msgid "Top functions by call count" msgid "Top functions by call count"
msgstr "Top-Funktionen nach Aufrufanzahl" msgstr "Top-Funktionen nach Aufrufanzahl"
@@ -2820,7 +2804,7 @@ msgstr "Team aktualisieren"
msgid "Update Tournament" msgid "Update Tournament"
msgstr "Turnier aktualisieren" msgstr "Turnier aktualisieren"
#: src/app/routes/_authed/admin/telemetry.tsx:57 #: src/app/routes/_authed/admin/telemetry.tsx:45
msgid "Usage" msgid "Usage"
msgstr "Nutzung" msgstr "Nutzung"
@@ -2867,7 +2851,7 @@ msgstr "Tipps ansehen"
msgid "Viewport" msgid "Viewport"
msgstr "Viewport" msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:213 #: src/features/telemetry/components/usage-screen.tsx:218
msgid "Vitals" msgid "Vitals"
msgstr "Vitals" msgstr "Vitals"
@@ -2906,7 +2890,7 @@ msgstr "Walkout-Segment ({segmentDuration}s)"
msgid "Walkout Song" msgid "Walkout Song"
msgstr "Walkout-Song" msgstr "Walkout-Song"
#: src/features/telemetry/components/usage-screen.tsx:165 #: src/features/telemetry/components/usage-screen.tsx:169
msgid "WAU" msgid "WAU"
msgstr "WAU" msgstr "WAU"
+31 -47
View File
@@ -355,7 +355,7 @@ msgstr "2. Earlier submission"
msgid "2nd place" msgid "2nd place"
msgstr "2nd place" msgstr "2nd place"
#: src/features/telemetry/components/usage-screen.tsx:258 #: src/features/telemetry/components/usage-screen.tsx:263
msgid "30d" msgid "30d"
msgstr "30d" msgstr "30d"
@@ -371,7 +371,7 @@ msgstr "3rd place"
msgid "5s" msgid "5s"
msgstr "5s" msgstr "5s"
#: src/features/telemetry/components/usage-screen.tsx:257 #: src/features/telemetry/components/usage-screen.tsx:262
msgid "7d" msgid "7d"
msgstr "7d" msgstr "7d"
@@ -716,9 +716,9 @@ msgstr "Clear selected player"
msgid "Client error spike" msgid "Client error spike"
msgstr "Client error spike" msgstr "Client error spike"
#: src/features/telemetry/components/usage-screen.tsx:203 #: src/features/telemetry/components/usage-screen.tsx:207
msgid "Client errors per day" msgid "Client errors"
msgstr "Client errors per day" msgstr "Client errors"
#: src/components/sheet/modal.tsx:35 #: src/components/sheet/modal.tsx:35
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150
@@ -875,7 +875,7 @@ msgstr "Cups Made"
msgid "Custom Hex Code" msgid "Custom Hex Code"
msgstr "Custom Hex Code" msgstr "Custom Hex Code"
#: src/features/telemetry/components/usage-screen.tsx:159 #: src/features/telemetry/components/usage-screen.tsx:162
msgid "Daily active players" msgid "Daily active players"
msgstr "Daily active players" msgstr "Daily active players"
@@ -934,7 +934,7 @@ msgstr "Downstream matches were reset because the correction changed who advance
msgid "Duration" msgid "Duration"
msgstr "Duration" msgstr "Duration"
#: src/features/telemetry/components/usage-screen.tsx:235 #: src/features/telemetry/components/usage-screen.tsx:240
msgid "Duration p50 / p95" msgid "Duration p50 / p95"
msgstr "Duration p50 / p95" msgstr "Duration p50 / p95"
@@ -996,7 +996,7 @@ msgstr "End Date (Optional)"
msgid "End Match" msgid "End Match"
msgstr "End Match" msgstr "End Match"
#: src/features/telemetry/components/usage-screen.tsx:156 #: src/features/telemetry/components/usage-screen.tsx:159
msgid "Engagement" msgid "Engagement"
msgstr "Engagement" msgstr "Engagement"
@@ -1080,11 +1080,11 @@ msgstr "Enter your name"
msgid "Enter your phone number" msgid "Enter your phone number"
msgstr "Enter your phone number" msgstr "Enter your phone number"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group reopened" msgid "Error group reopened"
msgstr "Error group reopened" msgstr "Error group reopened"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group resolved" msgid "Error group resolved"
msgstr "Error group resolved" msgstr "Error group resolved"
@@ -1096,8 +1096,8 @@ msgstr "Error Message"
msgid "Error: {errorMessage}" msgid "Error: {errorMessage}"
msgstr "Error: {errorMessage}" msgstr "Error: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:51 #: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:200 #: src/features/telemetry/components/usage-screen.tsx:204
msgid "Errors" msgid "Errors"
msgstr "Errors" msgstr "Errors"
@@ -1109,7 +1109,7 @@ msgstr "Event Details"
msgid "Event name" msgid "Event name"
msgstr "Event name" msgstr "Event name"
#: src/app/routes/_authed/admin/telemetry.tsx:48 #: src/app/routes/_authed/admin/telemetry.tsx:54
msgid "Events" msgid "Events"
msgstr "Events" msgstr "Events"
@@ -1238,7 +1238,7 @@ msgstr "Free Agent Enrollment"
msgid "Free Agents" msgid "Free Agents"
msgstr "Free Agents" msgstr "Free Agents"
#: src/features/telemetry/components/usage-screen.tsx:228 #: src/features/telemetry/components/usage-screen.tsx:233
msgid "Function" msgid "Function"
msgstr "Function" msgstr "Function"
@@ -1246,7 +1246,7 @@ msgstr "Function"
msgid "Function Name" msgid "Function Name"
msgstr "Function Name" msgstr "Function Name"
#: src/app/routes/_authed/admin/telemetry.tsx:45 #: src/app/routes/_authed/admin/telemetry.tsx:51
msgid "Functions" msgid "Functions"
msgstr "Functions" msgstr "Functions"
@@ -1264,10 +1264,6 @@ msgstr "Go back"
msgid "Go Back" msgid "Go Back"
msgstr "Go Back" msgstr "Go Back"
#: src/features/telemetry/components/usage-screen.tsx:54
msgid "Good"
msgstr "Good"
#: src/themes/seventies/manifest.ts:6 #: src/themes/seventies/manifest.ts:6
msgid "Groovy" msgid "Groovy"
msgstr "Groovy" msgstr "Groovy"
@@ -1375,7 +1371,7 @@ msgstr "If this is your first time participating, please select <0>New Player</0
msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song." msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song."
msgstr "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song." msgstr "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song."
#: src/features/telemetry/components/error-browser/error-browser.tsx:56 #: src/features/telemetry/components/error-browser/error-browser.tsx:51
msgid "Include resolved" msgid "Include resolved"
msgstr "Include resolved" msgstr "Include resolved"
@@ -1552,7 +1548,7 @@ msgstr "Manage Tournaments"
msgid "margin" msgid "margin"
msgstr "margin" msgstr "margin"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Mark resolved" msgid "Mark resolved"
msgstr "Mark resolved" msgstr "Mark resolved"
@@ -1620,7 +1616,7 @@ msgstr "Matchup"
msgid "Matchup details" msgid "Matchup details"
msgstr "Matchup details" msgstr "Matchup details"
#: src/features/telemetry/components/usage-screen.tsx:169 #: src/features/telemetry/components/usage-screen.tsx:173
msgid "MAU" msgid "MAU"
msgstr "MAU" msgstr "MAU"
@@ -1666,10 +1662,6 @@ msgstr "Need at least 2 players to create teams"
msgid "Need at least 4 teams to create a group stage format. Current team count: {0}" msgid "Need at least 4 teams to create a group stage format. Current team count: {0}"
msgstr "Need at least 4 teams to create a group stage format. Current team count: {0}" msgstr "Need at least 4 teams to create a group stage format. Current team count: {0}"
#: src/features/telemetry/components/usage-screen.tsx:56
msgid "Needs improvement"
msgstr "Needs improvement"
#: src/features/reactions/components/emoji-picker.tsx:23 #: src/features/reactions/components/emoji-picker.tsx:23
msgid "nerd" msgid "nerd"
msgstr "nerd" msgstr "nerd"
@@ -1830,7 +1822,7 @@ msgstr "No tournaments found"
msgid "No Tournaments Yet" msgid "No Tournaments Yet"
msgstr "No Tournaments Yet" msgstr "No Tournaments Yet"
#: src/features/telemetry/components/error-browser/error-browser.tsx:27 #: src/features/telemetry/components/error-browser/error-browser.tsx:23
msgid "No unresolved errors" msgid "No unresolved errors"
msgstr "No unresolved errors" msgstr "No unresolved errors"
@@ -1846,10 +1838,6 @@ msgstr "Not right"
msgid "Not right — enter our score" msgid "Not right — enter our score"
msgstr "Not right — enter our score" msgstr "Not right — enter our score"
#: src/features/telemetry/components/error-browser/error-browser.tsx:28
msgid "Nothing has broken in the last 30 days. Keep it up."
msgstr "Nothing has broken in the last 30 days. Keep it up."
#: src/features/settings/components/notifications-section.tsx:18 #: src/features/settings/components/notifications-section.tsx:18
#: src/features/settings/components/notifications-section.tsx:59 #: src/features/settings/components/notifications-section.tsx:59
msgid "Notifications" msgid "Notifications"
@@ -1941,15 +1929,15 @@ msgstr "Overview"
msgid "owo" msgid "owo"
msgstr "owo" msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:97 #: src/features/telemetry/components/usage-screen.tsx:100
msgid "p50" msgid "p50"
msgstr "p50" msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:113 #: src/features/telemetry/components/usage-screen.tsx:116
msgid "p95" msgid "p95"
msgstr "p95" msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:176 #: src/features/telemetry/components/usage-screen.tsx:180
msgid "Page views by route" msgid "Page views by route"
msgstr "Page views by route" msgstr "Page views by route"
@@ -2036,7 +2024,7 @@ msgstr "Player removed successfully"
msgid "Player Stats" msgid "Player Stats"
msgstr "Player Stats" msgstr "Player Stats"
#: src/app/routes/_authed/admin/telemetry.tsx:54 #: src/app/routes/_authed/admin/telemetry.tsx:48
#: src/features/teams/components/team-profile/index.tsx:29 #: src/features/teams/components/team-profile/index.tsx:29
msgid "Players" msgid "Players"
msgstr "Players" msgstr "Players"
@@ -2050,10 +2038,6 @@ msgstr "Players are required"
msgid "Playing on {0}" msgid "Playing on {0}"
msgstr "Playing on {0}" msgstr "Playing on {0}"
#: src/features/telemetry/components/usage-screen.tsx:58
msgid "Poor"
msgstr "Poor"
#: src/features/tournaments/components/group-stage-view.tsx:314 #: src/features/tournaments/components/group-stage-view.tsx:314
msgid "Populate Knockout Bracket" msgid "Populate Knockout Bracket"
msgstr "Populate Knockout Bracket" msgstr "Populate Knockout Bracket"
@@ -2137,7 +2121,7 @@ msgstr "Regional"
msgid "Regional Tournament" msgid "Regional Tournament"
msgstr "Regional Tournament" msgstr "Regional Tournament"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Reopen" msgid "Reopen"
msgstr "Reopen" msgstr "Reopen"
@@ -2154,7 +2138,7 @@ msgstr "Report Score"
msgid "Request failed" msgid "Request failed"
msgstr "Request failed" msgstr "Request failed"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:63 #: src/features/telemetry/components/error-browser/error-group-row.tsx:67
msgid "Resolved" msgid "Resolved"
msgstr "Resolved" msgstr "Resolved"
@@ -2359,7 +2343,7 @@ msgstr "Series is tied"
msgid "Server function failing" msgid "Server function failing"
msgstr "Server function failing" msgstr "Server function failing"
#: src/features/telemetry/components/usage-screen.tsx:186 #: src/features/telemetry/components/usage-screen.tsx:190
msgid "Server functions" msgid "Server functions"
msgstr "Server functions" msgstr "Server functions"
@@ -2371,7 +2355,7 @@ msgstr "serverFn name"
msgid "Session" msgid "Session"
msgstr "Session" msgstr "Session"
#: src/features/telemetry/components/usage-screen.tsx:172 #: src/features/telemetry/components/usage-screen.tsx:176
msgid "Sessions" msgid "Sessions"
msgstr "Sessions" msgstr "Sessions"
@@ -2703,7 +2687,7 @@ msgstr "Top {0, plural, one {# team} other {# teams}} from each group will advan
msgid "Top {n} advance" msgid "Top {n} advance"
msgstr "Top {n} advance" msgstr "Top {n} advance"
#: src/features/telemetry/components/usage-screen.tsx:190 #: src/features/telemetry/components/usage-screen.tsx:194
msgid "Top functions by call count" msgid "Top functions by call count"
msgstr "Top functions by call count" msgstr "Top functions by call count"
@@ -2820,7 +2804,7 @@ msgstr "Update Team"
msgid "Update Tournament" msgid "Update Tournament"
msgstr "Update Tournament" msgstr "Update Tournament"
#: src/app/routes/_authed/admin/telemetry.tsx:57 #: src/app/routes/_authed/admin/telemetry.tsx:45
msgid "Usage" msgid "Usage"
msgstr "Usage" msgstr "Usage"
@@ -2867,7 +2851,7 @@ msgstr "View Predictions"
msgid "Viewport" msgid "Viewport"
msgstr "Viewport" msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:213 #: src/features/telemetry/components/usage-screen.tsx:218
msgid "Vitals" msgid "Vitals"
msgstr "Vitals" msgstr "Vitals"
@@ -2906,7 +2890,7 @@ msgstr "Walkout Segment ({segmentDuration}s)"
msgid "Walkout Song" msgid "Walkout Song"
msgstr "Walkout Song" msgstr "Walkout Song"
#: src/features/telemetry/components/usage-screen.tsx:165 #: src/features/telemetry/components/usage-screen.tsx:169
msgid "WAU" msgid "WAU"
msgstr "WAU" msgstr "WAU"
+31 -47
View File
@@ -355,7 +355,7 @@ msgstr "2. Envío más temprano"
msgid "2nd place" msgid "2nd place"
msgstr "2do lugar" msgstr "2do lugar"
#: src/features/telemetry/components/usage-screen.tsx:258 #: src/features/telemetry/components/usage-screen.tsx:263
msgid "30d" msgid "30d"
msgstr "30d" msgstr "30d"
@@ -371,7 +371,7 @@ msgstr "3er lugar"
msgid "5s" msgid "5s"
msgstr "5s" msgstr "5s"
#: src/features/telemetry/components/usage-screen.tsx:257 #: src/features/telemetry/components/usage-screen.tsx:262
msgid "7d" msgid "7d"
msgstr "7d" msgstr "7d"
@@ -716,9 +716,9 @@ msgstr "Quitar jugador seleccionado"
msgid "Client error spike" msgid "Client error spike"
msgstr "Aumento de errores de cliente" msgstr "Aumento de errores de cliente"
#: src/features/telemetry/components/usage-screen.tsx:203 #: src/features/telemetry/components/usage-screen.tsx:207
msgid "Client errors per day" msgid "Client errors"
msgstr "Errores de cliente por día" msgstr "Errores de cliente"
#: src/components/sheet/modal.tsx:35 #: src/components/sheet/modal.tsx:35
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150
@@ -875,7 +875,7 @@ msgstr "Vasos anotados"
msgid "Custom Hex Code" msgid "Custom Hex Code"
msgstr "Código hex personalizado" msgstr "Código hex personalizado"
#: src/features/telemetry/components/usage-screen.tsx:159 #: src/features/telemetry/components/usage-screen.tsx:162
msgid "Daily active players" msgid "Daily active players"
msgstr "Jugadores activos diarios" msgstr "Jugadores activos diarios"
@@ -934,7 +934,7 @@ msgstr "Los partidos posteriores se reiniciaron porque la corrección cambió qu
msgid "Duration" msgid "Duration"
msgstr "Duración" msgstr "Duración"
#: src/features/telemetry/components/usage-screen.tsx:235 #: src/features/telemetry/components/usage-screen.tsx:240
msgid "Duration p50 / p95" msgid "Duration p50 / p95"
msgstr "Duración p50 / p95" msgstr "Duración p50 / p95"
@@ -996,7 +996,7 @@ msgstr "Fecha de fin (opcional)"
msgid "End Match" msgid "End Match"
msgstr "Terminar partido" msgstr "Terminar partido"
#: src/features/telemetry/components/usage-screen.tsx:156 #: src/features/telemetry/components/usage-screen.tsx:159
msgid "Engagement" msgid "Engagement"
msgstr "Interacción" msgstr "Interacción"
@@ -1080,11 +1080,11 @@ msgstr "Ingresa tu nombre"
msgid "Enter your phone number" msgid "Enter your phone number"
msgstr "Ingresa tu número de teléfono" msgstr "Ingresa tu número de teléfono"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group reopened" msgid "Error group reopened"
msgstr "Grupo de errores reabierto" msgstr "Grupo de errores reabierto"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group resolved" msgid "Error group resolved"
msgstr "Grupo de errores resuelto" msgstr "Grupo de errores resuelto"
@@ -1096,8 +1096,8 @@ msgstr "Mensaje de error"
msgid "Error: {errorMessage}" msgid "Error: {errorMessage}"
msgstr "Error: {errorMessage}" msgstr "Error: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:51 #: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:200 #: src/features/telemetry/components/usage-screen.tsx:204
msgid "Errors" msgid "Errors"
msgstr "Errores" msgstr "Errores"
@@ -1109,7 +1109,7 @@ msgstr "Detalles del evento"
msgid "Event name" msgid "Event name"
msgstr "Nombre del evento" msgstr "Nombre del evento"
#: src/app/routes/_authed/admin/telemetry.tsx:48 #: src/app/routes/_authed/admin/telemetry.tsx:54
msgid "Events" msgid "Events"
msgstr "Eventos" msgstr "Eventos"
@@ -1238,7 +1238,7 @@ msgstr "Inscripción de agente libre"
msgid "Free Agents" msgid "Free Agents"
msgstr "Agentes libres" msgstr "Agentes libres"
#: src/features/telemetry/components/usage-screen.tsx:228 #: src/features/telemetry/components/usage-screen.tsx:233
msgid "Function" msgid "Function"
msgstr "Función" msgstr "Función"
@@ -1246,7 +1246,7 @@ msgstr "Función"
msgid "Function Name" msgid "Function Name"
msgstr "Nombre de la función" msgstr "Nombre de la función"
#: src/app/routes/_authed/admin/telemetry.tsx:45 #: src/app/routes/_authed/admin/telemetry.tsx:51
msgid "Functions" msgid "Functions"
msgstr "Funciones" msgstr "Funciones"
@@ -1264,10 +1264,6 @@ msgstr "Regresar"
msgid "Go Back" msgid "Go Back"
msgstr "Regresar" msgstr "Regresar"
#: src/features/telemetry/components/usage-screen.tsx:54
msgid "Good"
msgstr "Bueno"
#: src/themes/seventies/manifest.ts:6 #: src/themes/seventies/manifest.ts:6
msgid "Groovy" msgid "Groovy"
msgstr "Setentero" msgstr "Setentero"
@@ -1375,7 +1371,7 @@ msgstr "Si es tu primera vez participando, selecciona <0>Nuevo jugador</0>; si n
msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song." msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song."
msgstr "Importante: inscribirte como agente libre no garantiza un lugar en el torneo. Para asegurar un lugar, un integrante del equipo debe registrarse en la app y elegir una canción de entrada." msgstr "Importante: inscribirte como agente libre no garantiza un lugar en el torneo. Para asegurar un lugar, un integrante del equipo debe registrarse en la app y elegir una canción de entrada."
#: src/features/telemetry/components/error-browser/error-browser.tsx:56 #: src/features/telemetry/components/error-browser/error-browser.tsx:51
msgid "Include resolved" msgid "Include resolved"
msgstr "Incluir resueltos" msgstr "Incluir resueltos"
@@ -1552,7 +1548,7 @@ msgstr "Administrar torneos"
msgid "margin" msgid "margin"
msgstr "margen" msgstr "margen"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Mark resolved" msgid "Mark resolved"
msgstr "Marcar como resuelto" msgstr "Marcar como resuelto"
@@ -1620,7 +1616,7 @@ msgstr "Enfrentamiento"
msgid "Matchup details" msgid "Matchup details"
msgstr "Detalles del enfrentamiento" msgstr "Detalles del enfrentamiento"
#: src/features/telemetry/components/usage-screen.tsx:169 #: src/features/telemetry/components/usage-screen.tsx:173
msgid "MAU" msgid "MAU"
msgstr "MAU" msgstr "MAU"
@@ -1666,10 +1662,6 @@ msgstr "Se necesitan al menos 2 jugadores para crear equipos"
msgid "Need at least 4 teams to create a group stage format. Current team count: {0}" msgid "Need at least 4 teams to create a group stage format. Current team count: {0}"
msgstr "Se necesitan al menos 4 equipos para crear un formato de fase de grupos. Equipos actuales: {0}" msgstr "Se necesitan al menos 4 equipos para crear un formato de fase de grupos. Equipos actuales: {0}"
#: src/features/telemetry/components/usage-screen.tsx:56
msgid "Needs improvement"
msgstr "Necesita mejorar"
#: src/features/reactions/components/emoji-picker.tsx:23 #: src/features/reactions/components/emoji-picker.tsx:23
msgid "nerd" msgid "nerd"
msgstr "nerd" msgstr "nerd"
@@ -1830,7 +1822,7 @@ msgstr "No se encontraron torneos"
msgid "No Tournaments Yet" msgid "No Tournaments Yet"
msgstr "Aún no hay torneos" msgstr "Aún no hay torneos"
#: src/features/telemetry/components/error-browser/error-browser.tsx:27 #: src/features/telemetry/components/error-browser/error-browser.tsx:23
msgid "No unresolved errors" msgid "No unresolved errors"
msgstr "No hay errores sin resolver" msgstr "No hay errores sin resolver"
@@ -1846,10 +1838,6 @@ msgstr "Incorrecto"
msgid "Not right — enter our score" msgid "Not right — enter our score"
msgstr "Incorrecto — ingresa nuestro marcador" msgstr "Incorrecto — ingresa nuestro marcador"
#: src/features/telemetry/components/error-browser/error-browser.tsx:28
msgid "Nothing has broken in the last 30 days. Keep it up."
msgstr "Nada se ha roto en los últimos 30 días. Sigue así."
#: src/features/settings/components/notifications-section.tsx:18 #: src/features/settings/components/notifications-section.tsx:18
#: src/features/settings/components/notifications-section.tsx:59 #: src/features/settings/components/notifications-section.tsx:59
msgid "Notifications" msgid "Notifications"
@@ -1941,15 +1929,15 @@ msgstr "Resumen"
msgid "owo" msgid "owo"
msgstr "owo" msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:97 #: src/features/telemetry/components/usage-screen.tsx:100
msgid "p50" msgid "p50"
msgstr "p50" msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:113 #: src/features/telemetry/components/usage-screen.tsx:116
msgid "p95" msgid "p95"
msgstr "p95" msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:176 #: src/features/telemetry/components/usage-screen.tsx:180
msgid "Page views by route" msgid "Page views by route"
msgstr "Vistas de página por ruta" msgstr "Vistas de página por ruta"
@@ -2036,7 +2024,7 @@ msgstr "Jugador eliminado con éxito"
msgid "Player Stats" msgid "Player Stats"
msgstr "Estadísticas de jugador" msgstr "Estadísticas de jugador"
#: src/app/routes/_authed/admin/telemetry.tsx:54 #: src/app/routes/_authed/admin/telemetry.tsx:48
#: src/features/teams/components/team-profile/index.tsx:29 #: src/features/teams/components/team-profile/index.tsx:29
msgid "Players" msgid "Players"
msgstr "Jugadores" msgstr "Jugadores"
@@ -2050,10 +2038,6 @@ msgstr "Los jugadores son obligatorios"
msgid "Playing on {0}" msgid "Playing on {0}"
msgstr "Reproduciendo en {0}" msgstr "Reproduciendo en {0}"
#: src/features/telemetry/components/usage-screen.tsx:58
msgid "Poor"
msgstr "Deficiente"
#: src/features/tournaments/components/group-stage-view.tsx:314 #: src/features/tournaments/components/group-stage-view.tsx:314
msgid "Populate Knockout Bracket" msgid "Populate Knockout Bracket"
msgstr "Llenar el bracket eliminatorio" msgstr "Llenar el bracket eliminatorio"
@@ -2137,7 +2121,7 @@ msgstr "Regional"
msgid "Regional Tournament" msgid "Regional Tournament"
msgstr "Torneo regional" msgstr "Torneo regional"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Reopen" msgid "Reopen"
msgstr "Reabrir" msgstr "Reabrir"
@@ -2154,7 +2138,7 @@ msgstr "Reportar marcador"
msgid "Request failed" msgid "Request failed"
msgstr "Falló la solicitud" msgstr "Falló la solicitud"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:63 #: src/features/telemetry/components/error-browser/error-group-row.tsx:67
msgid "Resolved" msgid "Resolved"
msgstr "Resuelto" msgstr "Resuelto"
@@ -2359,7 +2343,7 @@ msgstr "La serie está empatada"
msgid "Server function failing" msgid "Server function failing"
msgstr "Función del servidor fallando" msgstr "Función del servidor fallando"
#: src/features/telemetry/components/usage-screen.tsx:186 #: src/features/telemetry/components/usage-screen.tsx:190
msgid "Server functions" msgid "Server functions"
msgstr "Funciones del servidor" msgstr "Funciones del servidor"
@@ -2371,7 +2355,7 @@ msgstr "nombre de serverFn"
msgid "Session" msgid "Session"
msgstr "Sesión" msgstr "Sesión"
#: src/features/telemetry/components/usage-screen.tsx:172 #: src/features/telemetry/components/usage-screen.tsx:176
msgid "Sessions" msgid "Sessions"
msgstr "Sesiones" msgstr "Sesiones"
@@ -2703,7 +2687,7 @@ msgstr "{0, plural, one {El mejor equipo de cada grupo avanzará} other {Los mej
msgid "Top {n} advance" msgid "Top {n} advance"
msgstr "Los mejores {n} avanzan" msgstr "Los mejores {n} avanzan"
#: src/features/telemetry/components/usage-screen.tsx:190 #: src/features/telemetry/components/usage-screen.tsx:194
msgid "Top functions by call count" msgid "Top functions by call count"
msgstr "Funciones principales por cantidad de llamadas" msgstr "Funciones principales por cantidad de llamadas"
@@ -2820,7 +2804,7 @@ msgstr "Actualizar equipo"
msgid "Update Tournament" msgid "Update Tournament"
msgstr "Actualizar torneo" msgstr "Actualizar torneo"
#: src/app/routes/_authed/admin/telemetry.tsx:57 #: src/app/routes/_authed/admin/telemetry.tsx:45
msgid "Usage" msgid "Usage"
msgstr "Uso" msgstr "Uso"
@@ -2867,7 +2851,7 @@ msgstr "Ver predicciones"
msgid "Viewport" msgid "Viewport"
msgstr "Viewport" msgstr "Viewport"
#: src/features/telemetry/components/usage-screen.tsx:213 #: src/features/telemetry/components/usage-screen.tsx:218
msgid "Vitals" msgid "Vitals"
msgstr "Vitales" msgstr "Vitales"
@@ -2906,7 +2890,7 @@ msgstr "Segmento de entrada ({segmentDuration}s)"
msgid "Walkout Song" msgid "Walkout Song"
msgstr "Canción de entrada" msgstr "Canción de entrada"
#: src/features/telemetry/components/usage-screen.tsx:165 #: src/features/telemetry/components/usage-screen.tsx:169
msgid "WAU" msgid "WAU"
msgstr "WAU" msgstr "WAU"
+31 -47
View File
@@ -355,7 +355,7 @@ msgstr "2. 早い提出"
msgid "2nd place" msgid "2nd place"
msgstr "2位" msgstr "2位"
#: src/features/telemetry/components/usage-screen.tsx:258 #: src/features/telemetry/components/usage-screen.tsx:263
msgid "30d" msgid "30d"
msgstr "30日" msgstr "30日"
@@ -371,7 +371,7 @@ msgstr "3位"
msgid "5s" msgid "5s"
msgstr "5秒" msgstr "5秒"
#: src/features/telemetry/components/usage-screen.tsx:257 #: src/features/telemetry/components/usage-screen.tsx:262
msgid "7d" msgid "7d"
msgstr "7日" msgstr "7日"
@@ -716,9 +716,9 @@ msgstr "選択したプレイヤーを解除"
msgid "Client error spike" msgid "Client error spike"
msgstr "クライアントエラー急増" msgstr "クライアントエラー急増"
#: src/features/telemetry/components/usage-screen.tsx:203 #: src/features/telemetry/components/usage-screen.tsx:207
msgid "Client errors per day" msgid "Client errors"
msgstr "1日あたりのクライアントエラー数" msgstr "クライアントエラー"
#: src/components/sheet/modal.tsx:35 #: src/components/sheet/modal.tsx:35
#: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150 #: src/features/tournaments/components/started-tournament/sections/nav-grid.tsx:150
@@ -875,7 +875,7 @@ msgstr "決めたカップ"
msgid "Custom Hex Code" msgid "Custom Hex Code"
msgstr "カスタムHEXコード" msgstr "カスタムHEXコード"
#: src/features/telemetry/components/usage-screen.tsx:159 #: src/features/telemetry/components/usage-screen.tsx:162
msgid "Daily active players" msgid "Daily active players"
msgstr "デイリーアクティブプレイヤー数" msgstr "デイリーアクティブプレイヤー数"
@@ -934,7 +934,7 @@ msgstr "修正により勝ち上がりの相手が変わったため、以降の
msgid "Duration" msgid "Duration"
msgstr "所要時間" msgstr "所要時間"
#: src/features/telemetry/components/usage-screen.tsx:235 #: src/features/telemetry/components/usage-screen.tsx:240
msgid "Duration p50 / p95" msgid "Duration p50 / p95"
msgstr "所要時間 p50 / p95" msgstr "所要時間 p50 / p95"
@@ -996,7 +996,7 @@ msgstr "終了日(任意)"
msgid "End Match" msgid "End Match"
msgstr "試合を終了" msgstr "試合を終了"
#: src/features/telemetry/components/usage-screen.tsx:156 #: src/features/telemetry/components/usage-screen.tsx:159
msgid "Engagement" msgid "Engagement"
msgstr "エンゲージメント" msgstr "エンゲージメント"
@@ -1080,11 +1080,11 @@ msgstr "名前を入力"
msgid "Enter your phone number" msgid "Enter your phone number"
msgstr "電話番号を入力" msgstr "電話番号を入力"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group reopened" msgid "Error group reopened"
msgstr "エラーグループを再オープンしました" msgstr "エラーグループを再オープンしました"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:29 #: src/features/telemetry/components/error-browser/error-group-row.tsx:28
msgid "Error group resolved" msgid "Error group resolved"
msgstr "エラーグループを解決済みにしました" msgstr "エラーグループを解決済みにしました"
@@ -1096,8 +1096,8 @@ msgstr "エラーメッセージ"
msgid "Error: {errorMessage}" msgid "Error: {errorMessage}"
msgstr "エラー: {errorMessage}" msgstr "エラー: {errorMessage}"
#: src/app/routes/_authed/admin/telemetry.tsx:51 #: src/app/routes/_authed/admin/telemetry.tsx:57
#: src/features/telemetry/components/usage-screen.tsx:200 #: src/features/telemetry/components/usage-screen.tsx:204
msgid "Errors" msgid "Errors"
msgstr "エラー" msgstr "エラー"
@@ -1109,7 +1109,7 @@ msgstr "イベント詳細"
msgid "Event name" msgid "Event name"
msgstr "イベント名" msgstr "イベント名"
#: src/app/routes/_authed/admin/telemetry.tsx:48 #: src/app/routes/_authed/admin/telemetry.tsx:54
msgid "Events" msgid "Events"
msgstr "イベント" msgstr "イベント"
@@ -1238,7 +1238,7 @@ msgstr "フリーエージェント登録"
msgid "Free Agents" msgid "Free Agents"
msgstr "フリーエージェント" msgstr "フリーエージェント"
#: src/features/telemetry/components/usage-screen.tsx:228 #: src/features/telemetry/components/usage-screen.tsx:233
msgid "Function" msgid "Function"
msgstr "関数" msgstr "関数"
@@ -1246,7 +1246,7 @@ msgstr "関数"
msgid "Function Name" msgid "Function Name"
msgstr "関数名" msgstr "関数名"
#: src/app/routes/_authed/admin/telemetry.tsx:45 #: src/app/routes/_authed/admin/telemetry.tsx:51
msgid "Functions" msgid "Functions"
msgstr "関数" msgstr "関数"
@@ -1264,10 +1264,6 @@ msgstr "戻る"
msgid "Go Back" msgid "Go Back"
msgstr "戻る" msgstr "戻る"
#: src/features/telemetry/components/usage-screen.tsx:54
msgid "Good"
msgstr "良好"
#: src/themes/seventies/manifest.ts:6 #: src/themes/seventies/manifest.ts:6
msgid "Groovy" msgid "Groovy"
msgstr "グルーヴィー" msgstr "グルーヴィー"
@@ -1375,7 +1371,7 @@ msgstr "初めて参加する場合は<0>新しいプレイヤー</0>を、そ
msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song." msgid "Important: Enrolling as a free agent does not guarantee a tournament spot. To secure a spot, one team member must register through the app and select a walkout song."
msgstr "重要: フリーエージェントとして登録しても、トーナメントへの参加枠は保証されません。参加枠を確保するには、チームメンバーの1人がアプリから登録し、ウォークアウトソングを選択する必要があります。" msgstr "重要: フリーエージェントとして登録しても、トーナメントへの参加枠は保証されません。参加枠を確保するには、チームメンバーの1人がアプリから登録し、ウォークアウトソングを選択する必要があります。"
#: src/features/telemetry/components/error-browser/error-browser.tsx:56 #: src/features/telemetry/components/error-browser/error-browser.tsx:51
msgid "Include resolved" msgid "Include resolved"
msgstr "解決済みを含める" msgstr "解決済みを含める"
@@ -1552,7 +1548,7 @@ msgstr "トーナメント管理"
msgid "margin" msgid "margin"
msgstr "得点差" msgstr "得点差"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Mark resolved" msgid "Mark resolved"
msgstr "解決済みにする" msgstr "解決済みにする"
@@ -1620,7 +1616,7 @@ msgstr "対戦カード"
msgid "Matchup details" msgid "Matchup details"
msgstr "対戦カードの詳細" msgstr "対戦カードの詳細"
#: src/features/telemetry/components/usage-screen.tsx:169 #: src/features/telemetry/components/usage-screen.tsx:173
msgid "MAU" msgid "MAU"
msgstr "MAU" msgstr "MAU"
@@ -1666,10 +1662,6 @@ msgstr "チームを作成するには2人以上のプレイヤーが必要で
msgid "Need at least 4 teams to create a group stage format. Current team count: {0}" msgid "Need at least 4 teams to create a group stage format. Current team count: {0}"
msgstr "グループステージ形式を作成するには4チーム以上が必要です。現在のチーム数: {0}" msgstr "グループステージ形式を作成するには4チーム以上が必要です。現在のチーム数: {0}"
#: src/features/telemetry/components/usage-screen.tsx:56
msgid "Needs improvement"
msgstr "要改善"
#: src/features/reactions/components/emoji-picker.tsx:23 #: src/features/reactions/components/emoji-picker.tsx:23
msgid "nerd" msgid "nerd"
msgstr "オタク" msgstr "オタク"
@@ -1830,7 +1822,7 @@ msgstr "トーナメントが見つかりません"
msgid "No Tournaments Yet" msgid "No Tournaments Yet"
msgstr "トーナメントはまだありません" msgstr "トーナメントはまだありません"
#: src/features/telemetry/components/error-browser/error-browser.tsx:27 #: src/features/telemetry/components/error-browser/error-browser.tsx:23
msgid "No unresolved errors" msgid "No unresolved errors"
msgstr "未解決のエラーはありません" msgstr "未解決のエラーはありません"
@@ -1846,10 +1838,6 @@ msgstr "違う"
msgid "Not right — enter our score" msgid "Not right — enter our score"
msgstr "違う — スコアを入力" msgstr "違う — スコアを入力"
#: src/features/telemetry/components/error-browser/error-browser.tsx:28
msgid "Nothing has broken in the last 30 days. Keep it up."
msgstr "過去30日間、何も壊れていません。この調子です。"
#: src/features/settings/components/notifications-section.tsx:18 #: src/features/settings/components/notifications-section.tsx:18
#: src/features/settings/components/notifications-section.tsx:59 #: src/features/settings/components/notifications-section.tsx:59
msgid "Notifications" msgid "Notifications"
@@ -1941,15 +1929,15 @@ msgstr "概要"
msgid "owo" msgid "owo"
msgstr "owo" msgstr "owo"
#: src/features/telemetry/components/usage-screen.tsx:97 #: src/features/telemetry/components/usage-screen.tsx:100
msgid "p50" msgid "p50"
msgstr "p50" msgstr "p50"
#: src/features/telemetry/components/usage-screen.tsx:113 #: src/features/telemetry/components/usage-screen.tsx:116
msgid "p95" msgid "p95"
msgstr "p95" msgstr "p95"
#: src/features/telemetry/components/usage-screen.tsx:176 #: src/features/telemetry/components/usage-screen.tsx:180
msgid "Page views by route" msgid "Page views by route"
msgstr "ルート別ページビュー数" msgstr "ルート別ページビュー数"
@@ -2036,7 +2024,7 @@ msgstr "プレイヤーを削除しました"
msgid "Player Stats" msgid "Player Stats"
msgstr "プレイヤースタッツ" msgstr "プレイヤースタッツ"
#: src/app/routes/_authed/admin/telemetry.tsx:54 #: src/app/routes/_authed/admin/telemetry.tsx:48
#: src/features/teams/components/team-profile/index.tsx:29 #: src/features/teams/components/team-profile/index.tsx:29
msgid "Players" msgid "Players"
msgstr "プレイヤー" msgstr "プレイヤー"
@@ -2050,10 +2038,6 @@ msgstr "プレイヤーの選択が必要です"
msgid "Playing on {0}" msgid "Playing on {0}"
msgstr "{0}で再生中" msgstr "{0}で再生中"
#: src/features/telemetry/components/usage-screen.tsx:58
msgid "Poor"
msgstr "不良"
#: src/features/tournaments/components/group-stage-view.tsx:314 #: src/features/tournaments/components/group-stage-view.tsx:314
msgid "Populate Knockout Bracket" msgid "Populate Knockout Bracket"
msgstr "ノックアウトブラケットを作成" msgstr "ノックアウトブラケットを作成"
@@ -2137,7 +2121,7 @@ msgstr "地域"
msgid "Regional Tournament" msgid "Regional Tournament"
msgstr "地域トーナメント" msgstr "地域トーナメント"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:98 #: src/features/telemetry/components/error-browser/error-group-row.tsx:102
msgid "Reopen" msgid "Reopen"
msgstr "再オープン" msgstr "再オープン"
@@ -2154,7 +2138,7 @@ msgstr "スコアを報告"
msgid "Request failed" msgid "Request failed"
msgstr "リクエストに失敗しました" msgstr "リクエストに失敗しました"
#: src/features/telemetry/components/error-browser/error-group-row.tsx:63 #: src/features/telemetry/components/error-browser/error-group-row.tsx:67
msgid "Resolved" msgid "Resolved"
msgstr "解決済み" msgstr "解決済み"
@@ -2359,7 +2343,7 @@ msgstr "シリーズはタイです"
msgid "Server function failing" msgid "Server function failing"
msgstr "サーバー関数が失敗しています" msgstr "サーバー関数が失敗しています"
#: src/features/telemetry/components/usage-screen.tsx:186 #: src/features/telemetry/components/usage-screen.tsx:190
msgid "Server functions" msgid "Server functions"
msgstr "サーバー関数" msgstr "サーバー関数"
@@ -2371,7 +2355,7 @@ msgstr "serverFn名"
msgid "Session" msgid "Session"
msgstr "セッション" msgstr "セッション"
#: src/features/telemetry/components/usage-screen.tsx:172 #: src/features/telemetry/components/usage-screen.tsx:176
msgid "Sessions" msgid "Sessions"
msgstr "セッション数" msgstr "セッション数"
@@ -2703,7 +2687,7 @@ msgstr "各グループの上位{0, plural, one {#チーム} other {#チーム}}
msgid "Top {n} advance" msgid "Top {n} advance"
msgstr "上位{n}チームが勝ち上がり" msgstr "上位{n}チームが勝ち上がり"
#: src/features/telemetry/components/usage-screen.tsx:190 #: src/features/telemetry/components/usage-screen.tsx:194
msgid "Top functions by call count" msgid "Top functions by call count"
msgstr "呼び出し数の多い関数" msgstr "呼び出し数の多い関数"
@@ -2820,7 +2804,7 @@ msgstr "チームを更新"
msgid "Update Tournament" msgid "Update Tournament"
msgstr "トーナメントを更新" msgstr "トーナメントを更新"
#: src/app/routes/_authed/admin/telemetry.tsx:57 #: src/app/routes/_authed/admin/telemetry.tsx:45
msgid "Usage" msgid "Usage"
msgstr "利用状況" msgstr "利用状況"
@@ -2867,7 +2851,7 @@ msgstr "予想を見る"
msgid "Viewport" msgid "Viewport"
msgstr "ビューポート" msgstr "ビューポート"
#: src/features/telemetry/components/usage-screen.tsx:213 #: src/features/telemetry/components/usage-screen.tsx:218
msgid "Vitals" msgid "Vitals"
msgstr "バイタル" msgstr "バイタル"
@@ -2906,7 +2890,7 @@ msgstr "ウォークアウト区間({segmentDuration}秒)"
msgid "Walkout Song" msgid "Walkout Song"
msgstr "ウォークアウトソング" msgstr "ウォークアウトソング"
#: src/features/telemetry/components/usage-screen.tsx:165 #: src/features/telemetry/components/usage-screen.tsx:169
msgid "WAU" msgid "WAU"
msgstr "WAU" msgstr "WAU"