Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcf1b28c22 | ||
|
|
f14d8ce693 | ||
|
|
2317a82106 | ||
|
|
a523e13bfd | ||
|
|
1be75240dd | ||
|
|
7275da7303 | ||
|
|
bc498449d3 | ||
|
|
3937f7ed2b | ||
|
|
d6de3f830f | ||
|
|
ef5ff30b13 | ||
|
|
37faf592b7 | ||
|
|
76bd1e80f7 | ||
|
|
042d076efa | ||
|
|
b9e4ab78ef | ||
|
|
90a9bb9cf1 | ||
|
|
5fb4976ec9 | ||
|
|
d6a9bc6c4b | ||
|
|
0dcdcd2960 | ||
|
|
e96a51f31c | ||
|
|
1507d869c7 | ||
|
|
b932711f08 | ||
|
|
1522794733 | ||
|
|
e00ff8ceca | ||
|
|
8e72311bc6 | ||
|
|
a8c70d784c | ||
|
|
0df7f21130 | ||
|
|
6852f586ea | ||
|
|
1414fecade | ||
|
|
c1d11236ae | ||
|
|
d09ad2cdc0 | ||
|
|
9ce5bacd22 | ||
|
|
1d761be05b | ||
|
|
c875541001 | ||
|
|
16f4d2c072 | ||
|
|
b491582637 | ||
|
|
c6a654191c | ||
|
|
8461aa65d5 | ||
|
|
b04eef1479 | ||
|
|
7bff6644d8 | ||
|
|
8da780c868 | ||
|
|
dd1e37e579 |
@@ -93,6 +93,13 @@ FLAG_DISABLE_EMAIL_AUTH="false"
|
||||
# This is useful if you are using a machine with limited resources, like a Raspberry Pi.
|
||||
FLAG_DISABLE_IMAGE_PROCESSING="false"
|
||||
|
||||
# This flag disables API rate limiting for authentication endpoints.
|
||||
# Rate limiting is enabled by default in production to prevent abuse.
|
||||
FLAG_DISABLE_API_RATE_LIMIT="false"
|
||||
|
||||
# This flag shows sponsor placements on the public landing page.
|
||||
FLAG_SHOW_SPONSORS="false"
|
||||
|
||||
# Allows dynamic OAuth client registration to use any parseable redirect URI,
|
||||
# including custom schemes, private hosts, and non-loopback http:// URLs.
|
||||
# WARNING: Enabling this on a public or multi-tenant deployment can enable phishing
|
||||
|
||||
@@ -249,3 +249,24 @@ jobs:
|
||||
script: |
|
||||
cd docker
|
||||
./manage_stack.sh up reactive_resume
|
||||
|
||||
- name: Purge Cloudflare cache
|
||||
if: ${{ needs.mode.outputs.release == 'true' }}
|
||||
env:
|
||||
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
response=$(curl -fsS --max-time 10 --retry 3 --retry-delay 5 --retry-connrefused -X POST \
|
||||
"https://api.cloudflare.com/client/v4/zones/${CLOUDFLARE_ZONE_ID}/purge_cache" \
|
||||
-H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
--data '{"purge_everything":true}')
|
||||
|
||||
if [ "$(jq -r '.success' <<< "$response")" != "true" ]; then
|
||||
echo "$response" | jq .
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Cloudflare cache purged successfully."
|
||||
|
||||
@@ -39,6 +39,21 @@ Internal packages are source-consumed through `package.json` export maps that po
|
||||
- The builder shell lives under `apps/web/src/routes/builder/$resumeId`. The nested preview route is client-only (`ssr: false`), while the public resume route `apps/web/src/routes/$username/$slug.tsx` uses `ssr: "data-only"`.
|
||||
- Browser-only resume preview code lives under `apps/web/src/features/resume/preview`, and public resume PDF viewer code lives under `apps/web/src/features/resume/public`. Keep PDF.js/canvas/browser APIs out of SSR paths and out of `packages/pdf`.
|
||||
- The isomorphic oRPC client is in `apps/web/src/libs/orpc/client.ts`; server calls use an in-process router client and browser calls use `/api/rpc` with credentials included.
|
||||
- For React components with explicit props, prefer a named TypeScript props type over inline object annotations in the function signature, especially once the props include more than one field or generics. For example:
|
||||
|
||||
```ts
|
||||
type IntentSelectFieldProps<TValue extends string> = {
|
||||
label: string;
|
||||
id: string;
|
||||
value: TValue | undefined;
|
||||
options: readonly ComboboxOption<TValue>[];
|
||||
onChange: (value: TValue | undefined) => void;
|
||||
};
|
||||
|
||||
function IntentSelectField<TValue extends string>(props: IntentSelectFieldProps<TValue>) {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### Package and feature boundaries
|
||||
|
||||
|
||||
@@ -31,6 +31,20 @@ Reactive Resume makes building resumes straightforward. Pick a template, fill in
|
||||
|
||||
Built with privacy as a core principle, Reactive Resume gives you complete ownership of your data. The codebase is fully open-source under the MIT license, with no tracking, no ads, and no hidden costs.
|
||||
|
||||
## Sponsors
|
||||
|
||||
Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Thank you to every sponsor who helps fund hosting, maintenance, and continued development for the community.
|
||||
|
||||
<p>
|
||||
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume">
|
||||
<img src="apps/web/public/sponsors/atlas-cloud-logo-white.svg" alt="Atlas Cloud" width="320" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume) supports Reactive Resume as a project sponsor. Atlas Cloud provides a unified AI platform for developers, with access to hundreds of models for chat, image generation, video generation, media processing, and GPU cloud workloads through one API key, one endpoint, and one billing account.
|
||||
|
||||
If your company would like to sponsor Reactive Resume, email [hello@amruthpillai.com](mailto:hello@amruthpillai.com).
|
||||
|
||||
## Features
|
||||
|
||||
**Resume Building**
|
||||
|
||||
@@ -17,24 +17,24 @@
|
||||
"#react-pdf-renderer": "@react-pdf/renderer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^3.0.79",
|
||||
"@ai-sdk/google": "^3.0.79",
|
||||
"@ai-sdk/openai": "^3.0.65",
|
||||
"@ai-sdk/openai-compatible": "^2.0.48",
|
||||
"@aws-sdk/client-s3": "^3.1053.0",
|
||||
"@better-auth/api-key": "^1.6.11",
|
||||
"@better-auth/drizzle-adapter": "^1.6.11",
|
||||
"@better-auth/infra": "^0.2.8",
|
||||
"@better-auth/oauth-provider": "^1.6.11",
|
||||
"@better-auth/passkey": "^1.6.11",
|
||||
"@hono/node-server": "^2.0.4",
|
||||
"@ai-sdk/anthropic": "^3.0.85",
|
||||
"@ai-sdk/google": "^3.0.83",
|
||||
"@ai-sdk/openai": "^3.0.72",
|
||||
"@ai-sdk/openai-compatible": "^2.0.51",
|
||||
"@aws-sdk/client-s3": "^3.1070.0",
|
||||
"@better-auth/api-key": "^1.6.19",
|
||||
"@better-auth/drizzle-adapter": "^1.6.19",
|
||||
"@better-auth/infra": "^0.2.14",
|
||||
"@better-auth/oauth-provider": "^1.6.19",
|
||||
"@better-auth/passkey": "^1.6.19",
|
||||
"@hono/node-server": "^2.0.5",
|
||||
"@modelcontextprotocol/sdk": "^1.29.0",
|
||||
"@orpc/client": "^1.14.3",
|
||||
"@orpc/experimental-ratelimit": "^1.14.3",
|
||||
"@orpc/json-schema": "^1.14.3",
|
||||
"@orpc/openapi": "^1.14.3",
|
||||
"@orpc/server": "^1.14.3",
|
||||
"@orpc/zod": "^1.14.3",
|
||||
"@orpc/client": "^1.14.6",
|
||||
"@orpc/experimental-ratelimit": "^1.14.6",
|
||||
"@orpc/json-schema": "^1.14.6",
|
||||
"@orpc/openapi": "^1.14.6",
|
||||
"@orpc/server": "^1.14.6",
|
||||
"@orpc/zod": "^1.14.6",
|
||||
"@react-pdf/renderer": "^4.5.1",
|
||||
"@reactive-resume/api": "workspace:*",
|
||||
"@reactive-resume/auth": "workspace:*",
|
||||
@@ -46,29 +46,29 @@
|
||||
"@sindresorhus/slugify": "^3.0.0",
|
||||
"@t3-oss/env-core": "^0.13.11",
|
||||
"@uiw/color-convert": "^2.10.3",
|
||||
"ai": "^6.0.191",
|
||||
"ai": "^6.0.207",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.6.11",
|
||||
"better-auth": "1.6.19",
|
||||
"cjk-regex": "^3.4.0",
|
||||
"deepmerge-ts": "^7.1.5",
|
||||
"dompurify": "^3.4.5",
|
||||
"dompurify": "^3.4.10",
|
||||
"dotenv": "^17.4.2",
|
||||
"drizzle-orm": "1.0.0-rc.3",
|
||||
"drizzle-zod": "1.0.0-beta.14-a36c63d",
|
||||
"es-toolkit": "^1.47.0",
|
||||
"es-toolkit": "^1.47.1",
|
||||
"fast-json-patch": "^3.1.1",
|
||||
"hono": "^4.12.23",
|
||||
"hono": "^4.12.25",
|
||||
"jsonrepair": "^3.14.0",
|
||||
"node-html-parser": "^7.1.0",
|
||||
"nodemailer": "^8.0.8",
|
||||
"ollama-ai-provider-v2": "^3.5.1",
|
||||
"nodemailer": "^9.0.0",
|
||||
"ollama-ai-provider-v2": "^3.6.0",
|
||||
"pg": "^8.21.0",
|
||||
"phosphor-icons-react-pdf": "^0.1.3",
|
||||
"react": "^19.2.6",
|
||||
"react-email": "^6.3.3",
|
||||
"react": "^19.2.7",
|
||||
"react-email": "^6.6.3",
|
||||
"react-pdf-html": "^2.1.5",
|
||||
"resumable-stream": "^2.2.12",
|
||||
"sharp": "^0.34.5",
|
||||
"sharp": "^0.35.1",
|
||||
"ts-pattern": "^5.9.0",
|
||||
"unique-names-generator": "^4.7.1",
|
||||
"uuid": "^14.0.0",
|
||||
@@ -76,13 +76,13 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^25.9.1",
|
||||
"@types/node": "^25.9.3",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.15",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260526.1",
|
||||
"tsdown": "^0.22.0",
|
||||
"tsx": "^4.22.3",
|
||||
"@types/react": "^19.2.17",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260617.2",
|
||||
"tsdown": "^0.22.3",
|
||||
"tsx": "^4.22.4",
|
||||
"typescript": "^6.0.3",
|
||||
"vitest": "^4.1.7"
|
||||
"vitest": "^4.1.9"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export const appVersion = typeof __APP_VERSION__ === "undefined" ? "0.0.0" : __APP_VERSION__;
|
||||
@@ -8,6 +8,7 @@ const mocks = vi.hoisted(() => ({
|
||||
handleHealth: vi.fn(),
|
||||
handleUpload: vi.fn(),
|
||||
handleMcp: vi.fn(),
|
||||
handleResumePdfDownload: vi.fn(),
|
||||
handleMcpServerCard: vi.fn(),
|
||||
handleOAuthAuthorizationServer: vi.fn(),
|
||||
handleOAuthProtectedResource: vi.fn(),
|
||||
@@ -66,6 +67,10 @@ vi.mock("../mcp/handler", () => ({
|
||||
handleMcp: mocks.handleMcp,
|
||||
}));
|
||||
|
||||
vi.mock("./resume-pdf", () => ({
|
||||
handleResumePdfDownload: mocks.handleResumePdfDownload,
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
mocks.handleAuth.mockResolvedValue(new Response("auth"));
|
||||
@@ -75,6 +80,7 @@ beforeEach(() => {
|
||||
mocks.handleHealth.mockReturnValue(new Response("health"));
|
||||
mocks.handleUpload.mockResolvedValue(new Response("upload"));
|
||||
mocks.handleMcp.mockResolvedValue(new Response("mcp"));
|
||||
mocks.handleResumePdfDownload.mockResolvedValue(new Response("pdf"));
|
||||
mocks.handleMcpServerCard.mockReturnValue(new Response("server-card"));
|
||||
mocks.handleOAuthAuthorizationServer.mockReturnValue(new Response("oauth-authorization-server"));
|
||||
mocks.handleOAuthProtectedResource.mockReturnValue(new Response("oauth-protected-resource"));
|
||||
@@ -101,6 +107,19 @@ describe("createApp", () => {
|
||||
expect(mocks.handleAuth).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("routes signed resume PDF downloads before the web fallback", async () => {
|
||||
const { createApp } = await import("./app");
|
||||
const app = createApp();
|
||||
const request = new Request("http://localhost:3001/api/resumes/resume-1/pdf?token=signed");
|
||||
|
||||
const response = await app.fetch(request);
|
||||
|
||||
await expect(response.text()).resolves.toBe("pdf");
|
||||
expect(mocks.handleResumePdfDownload).toHaveBeenCalledWith(request, "resume-1");
|
||||
expect(mocks.serveWebDistStatic).not.toHaveBeenCalled();
|
||||
expect(mocks.handleWebApp).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it.each([
|
||||
["GET", "/robots.txt", "robots", mocks.handleRobots],
|
||||
["HEAD", "/robots.txt", "", mocks.handleRobots],
|
||||
|
||||
@@ -15,6 +15,7 @@ import { handleUpload } from "../static/uploads";
|
||||
import { handleWebApp, handleWebAppHead, serveWebDistStatic } from "../static/web";
|
||||
import { handleAuth, handleOAuth } from "./auth";
|
||||
import { handleHealth } from "./health";
|
||||
import { handleResumePdfDownload } from "./resume-pdf";
|
||||
|
||||
export function createApp() {
|
||||
const app = new Hono();
|
||||
@@ -26,6 +27,7 @@ export function createApp() {
|
||||
app.get("/api/auth/oauth", (c) => handleOAuth(c.req.raw));
|
||||
app.all("/api/auth/*", (c) => handleAuth(c.req.raw));
|
||||
app.get("/api/health", () => handleHealth());
|
||||
app.get("/api/resumes/:id/pdf", (c) => handleResumePdfDownload(c.req.raw, c.req.param("id")));
|
||||
app.get("/api/uploads/*", (c) => handleUpload(c.req.raw));
|
||||
app.get("/uploads/*", (c) => handleUpload(c.req.raw));
|
||||
app.get("/schema.json", () => handleSchemaJson());
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const mocks = vi.hoisted(() => ({
|
||||
createResumePdfDownload: vi.fn(),
|
||||
verifyResumePdfDownloadToken: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("@reactive-resume/api/features/resume/export", () => ({
|
||||
createResumePdfDownload: mocks.createResumePdfDownload,
|
||||
verifyResumePdfDownloadToken: mocks.verifyResumePdfDownloadToken,
|
||||
}));
|
||||
|
||||
const { handleResumePdfDownload } = await import("./resume-pdf");
|
||||
|
||||
describe("handleResumePdfDownload", () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
it("renders the PDF when the signed URL token is valid", async () => {
|
||||
const pdf = new File([new Uint8Array([37, 80, 68, 70])], "Scizor.pdf", { type: "application/pdf" });
|
||||
mocks.verifyResumePdfDownloadToken.mockReturnValueOnce({
|
||||
ok: true,
|
||||
resumeId: "resume-1",
|
||||
userId: "user-1",
|
||||
expiresAt: "2026-06-01T10:10:00.000Z",
|
||||
});
|
||||
mocks.createResumePdfDownload.mockResolvedValueOnce({
|
||||
headers: { "content-disposition": 'attachment; filename="Scizor.pdf"' },
|
||||
body: pdf,
|
||||
});
|
||||
|
||||
const response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf?token=signed"),
|
||||
"resume-1",
|
||||
);
|
||||
|
||||
expect(response.status).toBe(200);
|
||||
expect(response.headers.get("Content-Type")).toBe("application/pdf");
|
||||
expect(response.headers.get("Content-Disposition")).toBe('attachment; filename="Scizor.pdf"');
|
||||
expect(response.headers.get("Cache-Control")).toBe("private, no-store");
|
||||
expect(await response.text()).toBe("%PDF");
|
||||
expect(mocks.createResumePdfDownload).toHaveBeenCalledWith({ id: "resume-1", userId: "user-1" });
|
||||
});
|
||||
|
||||
it("rejects missing, invalid, and expired tokens before rendering", async () => {
|
||||
let response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf"),
|
||||
"resume-1",
|
||||
);
|
||||
expect(response.status).toBe(401);
|
||||
expect(mocks.createResumePdfDownload).not.toHaveBeenCalled();
|
||||
|
||||
mocks.verifyResumePdfDownloadToken.mockReturnValueOnce({ ok: false, reason: "invalid_signature" });
|
||||
response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf?token=bad"),
|
||||
"resume-1",
|
||||
);
|
||||
expect(response.status).toBe(401);
|
||||
expect(mocks.createResumePdfDownload).not.toHaveBeenCalled();
|
||||
|
||||
mocks.verifyResumePdfDownloadToken.mockReturnValueOnce({ ok: false, reason: "expired" });
|
||||
response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf?token=expired"),
|
||||
"resume-1",
|
||||
);
|
||||
expect(response.status).toBe(410);
|
||||
expect(mocks.createResumePdfDownload).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,53 @@
|
||||
import { createResumePdfDownload, verifyResumePdfDownloadToken } from "@reactive-resume/api/features/resume/export";
|
||||
|
||||
function unauthorizedResponse() {
|
||||
return new Response("Unauthorized", {
|
||||
status: 401,
|
||||
headers: {
|
||||
"Cache-Control": "private, no-store",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function expiredResponse() {
|
||||
return new Response("Download link expired", {
|
||||
status: 410,
|
||||
headers: {
|
||||
"Cache-Control": "private, no-store",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function errorStatus(error: unknown) {
|
||||
const code = typeof error === "object" && error && "code" in error ? (error as { code?: unknown }).code : undefined;
|
||||
return code === "NOT_FOUND" ? 404 : 500;
|
||||
}
|
||||
|
||||
export async function handleResumePdfDownload(request: Request, id: string) {
|
||||
const token = new URL(request.url).searchParams.get("token");
|
||||
if (!token) return unauthorizedResponse();
|
||||
|
||||
const verification = verifyResumePdfDownloadToken({ resumeId: id, token });
|
||||
if (!verification.ok) return verification.reason === "expired" ? expiredResponse() : unauthorizedResponse();
|
||||
|
||||
try {
|
||||
const download = await createResumePdfDownload({ id, userId: verification.userId });
|
||||
|
||||
return new Response(download.body, {
|
||||
headers: {
|
||||
"Content-Type": download.body.type || "application/pdf",
|
||||
"Content-Disposition": download.headers["content-disposition"],
|
||||
"Cache-Control": "private, no-store",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("[PDF Download]", error);
|
||||
return new Response("Failed to generate resume PDF", {
|
||||
status: errorStatus(error),
|
||||
headers: {
|
||||
"Cache-Control": "private, no-store",
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { onError } from "@orpc/client";
|
||||
import { createRouterClient } from "@orpc/server";
|
||||
import router from "@reactive-resume/api/routers";
|
||||
import { MCP_TOOL_NAME, registerPrompts, registerResources, registerTools } from "@reactive-resume/mcp";
|
||||
import { appVersion } from "../app-version";
|
||||
import { getRequestLocale } from "../rpc/locale";
|
||||
|
||||
function createRequestClient(request: Request): RouterClient<typeof router> {
|
||||
@@ -25,7 +26,7 @@ export async function createMcpServer(request: Request) {
|
||||
const server = new McpServer(
|
||||
{
|
||||
name: "reactive-resume",
|
||||
version: __APP_VERSION__,
|
||||
version: appVersion,
|
||||
title: "Reactive Resume",
|
||||
websiteUrl: "https://rxresu.me",
|
||||
description:
|
||||
@@ -52,6 +53,7 @@ export async function createMcpServer(request: Request) {
|
||||
`Read schema at \`resume://_meta/schema\`; read resume JSON via \`resume://{id}\` or \`${MCP_TOOL_NAME.getResume}\`.`,
|
||||
`Apply body edits with JSON Patch through \`${MCP_TOOL_NAME.patchResume}\`.`,
|
||||
`Change name, slug, tags, or public visibility with \`${MCP_TOOL_NAME.updateResume}\` (returns canonical share URL; anonymous access only when \`isPublic\` is true; passwords are managed in the web app only).`,
|
||||
`Create short-lived authenticated PDF download URLs with \`${MCP_TOOL_NAME.downloadResumePdf}\`.`,
|
||||
`Import full ResumeData JSON with \`${MCP_TOOL_NAME.importResume}\`; read saved AI analysis with \`${MCP_TOOL_NAME.getResumeAnalysis}\`.`,
|
||||
].join(" "),
|
||||
},
|
||||
|
||||
@@ -8,6 +8,7 @@ import { downloadResumePdfProcedure } from "@reactive-resume/api/features/resume
|
||||
import router from "@reactive-resume/api/routers";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
import { resumeDataSchema } from "@reactive-resume/schema/resume/data";
|
||||
import { appVersion } from "../app-version";
|
||||
import { mergeResponseHeaders } from "../http/headers";
|
||||
import { getRequestLocale } from "../rpc/locale";
|
||||
|
||||
@@ -44,7 +45,7 @@ export async function handleOpenApi(request: Request) {
|
||||
const spec = await openAPIGenerator.generate(openAPIRouter, {
|
||||
info: {
|
||||
title: "Reactive Resume",
|
||||
version: __APP_VERSION__,
|
||||
version: appVersion,
|
||||
description: "Reactive Resume API",
|
||||
license: { name: "MIT", url: "https://github.com/amruthpillai/reactive-resume/blob/main/LICENSE" },
|
||||
contact: { name: "Amruth Pillai", email: "hello@amruthpillai.com", url: "https://amruthpillai.com" },
|
||||
|
||||
@@ -2,6 +2,7 @@ import { oauthProviderAuthServerMetadata, oauthProviderOpenIdConfigMetadata } fr
|
||||
import { auth } from "@reactive-resume/auth/config";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
import { buildMcpServerCard } from "@reactive-resume/mcp/server-card";
|
||||
import { appVersion } from "../app-version";
|
||||
|
||||
const oauthAuthorizationServerHandler = oauthProviderAuthServerMetadata(auth);
|
||||
const openIdConfigurationHandler = oauthProviderOpenIdConfigMetadata(auth);
|
||||
@@ -11,7 +12,7 @@ export function handleWellKnownFallback() {
|
||||
}
|
||||
|
||||
export function handleMcpServerCard() {
|
||||
return Response.json(buildMcpServerCard(__APP_VERSION__), {
|
||||
return Response.json(buildMcpServerCard(appVersion), {
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Cache-Control": "public, max-age=60, stale-while-revalidate=120",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import z from "zod";
|
||||
import { resumeDataSchema } from "@reactive-resume/schema/resume/data";
|
||||
import { appVersion } from "../app-version";
|
||||
|
||||
export function handleSchemaJson() {
|
||||
const resumeDataJSONSchema = z.toJSONSchema(resumeDataSchema);
|
||||
@@ -12,7 +13,7 @@ export function handleSchemaJson() {
|
||||
"Surrogate-Control": "max-age=86400",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
"X-Robots-Tag": "index, follow",
|
||||
ETag: __APP_VERSION__,
|
||||
ETag: appVersion,
|
||||
Vary: "Accept",
|
||||
},
|
||||
});
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: af\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Toep"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Toepassingstatistiek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Toegepaste Reëls"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabies"
|
||||
@@ -438,6 +442,10 @@ msgstr "Vra enigiets oor hierdie CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspekverhouding"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Heg lêers aan"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinees (Tradisioneel)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Kies 'n model en CV-konsep."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Kies 'n bestaande gesprek vanaf die sybalk, of begin 'n nuwe konsep-gefo
|
||||
msgid "Circle"
|
||||
msgstr "Sirkel"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Klaar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Vee seleksie uit"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik hier om 'n lêer te kies om in te voer"
|
||||
@@ -953,6 +967,10 @@ msgstr "Pasgemaakte OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Pasgemaakte afdelings"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Pasgemaakte style"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tsjeggies"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Wys"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Versteek alle ikone op die CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Versteek ikone"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Versteek skakelonderstreep"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Versteek alle ikone op die CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Verberg wagwoord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Versteek Afdelingsikone"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Hoog"
|
||||
msgid "Highlight"
|
||||
msgstr "Merk"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Kleurmerk"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Nog geen paswoorde geregistreer nie."
|
||||
msgid "No results found."
|
||||
msgstr "Geen resultate gevind nie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Geen stylreëls nog nie."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Geen getoetste verskaffer nie"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reaktiewe CV is gratis en oopbron. As dit jou gehelp het, oorweeg dit as
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is oopbron, privaatheid-gefokus en heeltemal gratis. Anders as ander hervatbouers, wys dit nie advertensies nie, spoor nie jou data na nie en sluit nie funksies agter 'n betaalmuur nie."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Herstel"
|
||||
msgid "Reset Password"
|
||||
msgstr "Herstel wagwoord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stel styl terug"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Herstel jou wagwoord"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Roemeens"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotasie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "reël"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "reëls"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Voer jou eerste ontleding uit om 'n puntkaart, sterkpunte en geprioritiseerde voorstelle te kry."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Tekskleur"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Die agent benodig jou insette."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Besig om jou wagwoord by te werk..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Besig om jou CV by te werk..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Laai aanhegsels op"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Laai prent op"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zoem uit"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zoeloe"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: am\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Amharic\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "መተግበሪያ"
|
||||
msgid "Application Statistics"
|
||||
msgstr "የመተግበሪያ ስታቲስቲክስ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "የተተገበሩ ህጎች"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "ዓረብኛ"
|
||||
@@ -438,6 +442,10 @@ msgstr "ስለዚህ የስራ ልምድ መግለጫ ማንኛውንም ነገ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "የመገናኛ መጠን"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ፋይሎችን አያይዝ"
|
||||
@@ -649,6 +657,7 @@ msgstr "ቻይንኛ (ባለባለት)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ሞዴል ይምረጡ እና የሪዚሜ ረቂቅ ይምረጡ።"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "ከጎን አሞሌው ላይ አንድ ነባር ውይይት ይምረ
|
||||
msgid "Circle"
|
||||
msgstr "ክብ"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "አጽዳ"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ምርጫን አጽዳ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ፋይል ለማምጣት ለመምረጥ እዚህ ጠቅ ያድርጉ"
|
||||
@@ -953,6 +967,10 @@ msgstr "ብጁ OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "ብጁ ክፍሎች"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "ብጁ ቅጦች"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "ቼክኛ"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "አሳይ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "በየታሪክ ማቅረቢያው ላይ ያሉ ሁሉንም አዶዎች ደብቅ"
|
||||
msgid "Hide Icons"
|
||||
msgstr "አዶዎችን ደብቅ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "የአገናኝ መስመሩን ደብቅ"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "በየታሪክ ማቅረቢያው ላይ ያሉ ሁሉንም አዶዎ
|
||||
msgid "Hide password"
|
||||
msgstr "የይለፍ ቃል ደብቅ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "የክፍል አዶዎችን ደብቅ"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "ከፍተኛ"
|
||||
msgid "Highlight"
|
||||
msgstr "አብራጭ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "የድምቀት ቀለም"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ሒንዱኛ"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "እስካሁን ምንም ፓስኪዎች አልተመዘገቡም።"
|
||||
msgid "No results found."
|
||||
msgstr "ምንም ውጤት አልተገኘም።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "እስካሁን የቅጥ ደንቦች የሉም።"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "የተፈተነ አቅራቢ የለም"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "ምላሽ ሰጪ የስራ ልምድ (Reactive) ነፃ እና ክፍት
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ክፍት ምንጭ፣ ግላዊነትን የሚመርጥ እና ፍጹም ነፃ ነው። ከሌሎች የየታሪክ ማቅረቢያዎች የተለየ ምክንያቱ ማስታወቂያ አያሳይም፣ መረጃዎን አይከታተልም፣ ባህሪዎችንም በክፍያ ግድግዳ አያስገባም።"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "ዳግም ለመጀመር"
|
||||
msgid "Reset Password"
|
||||
msgstr "የይለፍ ቃል ዳግም አስጀምር"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ቅጥን ዳግም አስጀምር"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "የይለፍ ቃልዎን ዳግም ያስጀምሩ"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "ሮማኒያንኛ"
|
||||
msgid "Rotation"
|
||||
msgstr "ማሽከርከር"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "ደንብ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "ደንቦች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "የውጤት ካርድ፣ ጥንካሬዎች እና ቅድሚያ የተሰጣቸው አስተያየቶችን ለማግኘት የመጀመሪያ ትንተናዎን ያከናውኑ።"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "የጽሁፍ ቀለም"
|
||||
msgid "Thai"
|
||||
msgstr "ታይኛ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ወኪሉ የእርስዎን ግብዓት ይፈልጋል።"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "የይለፍ ቃልዎን በመዘመን ላይ…"
|
||||
msgid "Updating your resume..."
|
||||
msgstr "የየታሪክዎን በመዘመን ላይ…"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "አባሪዎችን ስቀል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "ምስል ስቀል"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "አጉር"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ዙሉ"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "التطبيق"
|
||||
msgid "Application Statistics"
|
||||
msgstr "إحصاءات التطبيق"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "القواعد المطبقة"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "العربية"
|
||||
@@ -438,6 +442,10 @@ msgstr "اسأل عن أي شيء بخصوص هذه السيرة الذاتية"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبة الأبعاد"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "إرفاق الملفات"
|
||||
@@ -649,6 +657,7 @@ msgstr "الصينية (التقليدية)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "اختر نموذجًا واكتب مسودة سيرة ذاتية."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "اختر محادثة موجودة من الشريط الجانبي، أ
|
||||
msgid "Circle"
|
||||
msgstr "دائرة"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "واضح"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "كليرست"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "انقر هنا لتحديد ملف لاستيراده"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth مخصص"
|
||||
msgid "Custom Sections"
|
||||
msgstr "أقسام مخصصة"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "أنماط مخصصة"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "التشيكية"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "إخفاء"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "إخفاء جميع الأيقونات في السيرة الذاتية"
|
||||
msgid "Hide Icons"
|
||||
msgstr "إخفاء الأيقونات"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "إخفاء الرابط (تسطير)"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "إخفاء جميع الأيقونات في السيرة الذاتية"
|
||||
msgid "Hide password"
|
||||
msgstr "إخفاء كلمة المرور"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "إخفاء أيقونات الأقسام"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "عالية"
|
||||
msgid "Highlight"
|
||||
msgstr "تمييز"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "لون مميز"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "الهندية"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "لم يتم تسجيل أي مفاتيح مرور حتى الآن."
|
||||
msgid "No results found."
|
||||
msgstr "لم نعثر على نتائج."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "لا توجد قواعد أسلوبية حتى الآن."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "لم يتم اختبار أي مزود خدمة"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "برنامج Reactive Resume مجاني ومفتوح المصدر. إذ
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume مفتوح المصدر ويركز على الخصوصية ومجاني تمامًا. وعلى عكس أدوات إنشاء السير الذاتية الأخرى، لا يعرض إعلانات، ولا يتتبع بياناتك، ولا يقيّد ميزاتك خلف جدار دفع."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "إعادة تعيين"
|
||||
msgid "Reset Password"
|
||||
msgstr "إعادة تعيين كلمة المرور"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "إعادة ضبط النمط"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "إعادة تعيين كلمة المرور"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "الرومانية"
|
||||
msgid "Rotation"
|
||||
msgstr "الدوران"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "قاعدة"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "قواعد"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "قم بإجراء تحليلك الأول للحصول على بطاقة الأداء ونقاط القوة والاقتراحات ذات الأولوية."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "لون النص"
|
||||
msgid "Thai"
|
||||
msgstr "التايلاندية"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "يحتاج الوكيل إلى رأيك."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "جاري تحديث كلمة المرور..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "جاري تحديث سيرتك الذاتية..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "تحميل المرفقات"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "تحميل الصورة"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "تصغير"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "الزولو"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: az\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Azerbaijani\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Tətbiq"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Tətbiq Statistikası"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Tətbiq olunan Qaydalar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Ərəb"
|
||||
@@ -438,6 +442,10 @@ msgstr "Bu CV haqqında hər hansı bir sual verin"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporsiya"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Faylları əlavə edin"
|
||||
@@ -649,6 +657,7 @@ msgstr "Çin (Ənənəvi)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Bir model seçin və qaralamanı davam etdirin."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Yan paneldən mövcud bir söhbət seçin və ya qaralamaya yönəlmiş
|
||||
msgid "Circle"
|
||||
msgstr "Dairə"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Açıq"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Seçimi təmizləyin"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "İdxal üçün fayl seçmək üçün bura klikləyin"
|
||||
@@ -953,6 +967,10 @@ msgstr "Fərdiləşdirilmiş OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Xüsusi Bölmələr"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Xüsusi Stillər"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Çex"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Gizlət"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Özgeçmişdəki bütün ikonları gizlət"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Nişanları gizlət"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Linkin Alt Xəttini Gizlət"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Özgeçmişdəki bütün ikonları gizlət"
|
||||
msgid "Hide password"
|
||||
msgstr "Şifrəni gizlət"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Bölmə İkonlarını Gizlət"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Yüksək"
|
||||
msgid "Highlight"
|
||||
msgstr "Vurğula"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Vurğulama Rəngi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hind"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Hələ heç bir giriş açarı qeydiyyatdan keçməyib."
|
||||
msgid "No results found."
|
||||
msgstr "Nəticə tapılmadı."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Hələ ki, stil qaydaları yoxdur."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Test edilmiş provayder yoxdur"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume pulsuz və açıq mənbəlidir. Əgər sizə kömək edi
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume açıq mənbəlidir, məxfilik yönümlüdür və tamamilə pulsuzdur. Digər özgeçmiş qurucularından fərqli olaraq, o reklamlara yer vermir, məlumatınızı izləmir və funksiyaları ödəniş divarının arxasında məhdudlaşdırmır."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Sıfırla"
|
||||
msgid "Reset Password"
|
||||
msgstr "Parolu Sıfırla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stilini Sıfırla"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Parolunuzu sıfırlayın"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumın"
|
||||
msgid "Rotation"
|
||||
msgstr "Döndürmə"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "qayda"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "qaydalar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "İlk təhlilinizi işə salın, skor kartı, güclü tərəflər və prioritetləşdirilmiş təkliflər əldə edin."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Mətn Rəngi"
|
||||
msgid "Thai"
|
||||
msgstr "Tay"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agentin sizin fikrinizə ehtiyacı var."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Parolunuz yenilənir..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Özgeçmişiniz yenilənir..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Əlavələri yükləyin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Şəkil yüklə"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Uzaqlaşdır"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bg\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Приложение"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Статистика на приложението"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Приложени правила"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Арабски"
|
||||
@@ -438,6 +442,10 @@ msgstr "Попитайте нещо относно тази автобиогра
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Съотношение на страните"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Прикачи файлове"
|
||||
@@ -649,6 +657,7 @@ msgstr "Китайски (традиционен)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Изберете модел и чернова на автобиография."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Изберете съществуващ разговор от стран
|
||||
msgid "Circle"
|
||||
msgstr "Кръг"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clear"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Изчистване на избора"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Кликнете тук, за да изберете файл за импортиране"
|
||||
@@ -953,6 +967,10 @@ msgstr "Потребителски OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Потребителски раздели"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Персонализирани стилове"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Чешки"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Скриване"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Скриване на всички икони в автобиографията"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Скриване на икони"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Скриване на подчертаната връзка"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Скриване на всички икони в автобиограф
|
||||
msgid "Hide password"
|
||||
msgstr "Скриване на паролата"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Скриване на иконите на секциите"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Висока"
|
||||
msgid "Highlight"
|
||||
msgstr "Маркер за подчертаване"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Цвят на акцента"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Хинди"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Все още няма регистрирани ключове за до
|
||||
msgid "No results found."
|
||||
msgstr "Няма намерени резултати."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Все още няма стилови правила."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Няма тестван доставчик"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume е безплатен и с отворен код. Ак
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume е с отворен код, фокусиран върху поверителността и напълно безплатен. За разлика от други конструктори на автобиографии, той не показва реклами, не проследява данните ви и не ограничава функциите зад платена стена."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Нулиране"
|
||||
msgid "Reset Password"
|
||||
msgstr "Нулиране на паролата"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Нулиране на стила"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Нулирайте паролата си"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Румънски"
|
||||
msgid "Rotation"
|
||||
msgstr "Завъртане"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "правило"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "правила"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Извършете първия си анализ, за да получите карта с резултати, силни страни и предложения по приоритети."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Цвят на текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тайландски"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Агентът се нуждае от вашето мнение."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Актуализиране на паролата ви..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Актуализиране на автобиографията ви..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Качване на прикачени файлове"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Качване на снимка"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Намаляване"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулуски"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bengali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "অ্যাপ"
|
||||
msgid "Application Statistics"
|
||||
msgstr "অ্যাপ্লিকেশন পরিসংখ্যান"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "প্রয়োগকৃত নিয়মাবলী"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "আরবি"
|
||||
@@ -438,6 +442,10 @@ msgstr "এই জীবনবৃত্তান্ত সম্পর্কে
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "আকারের অনুপাত"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ফাইলগুলো সংযুক্ত করুন"
|
||||
@@ -649,6 +657,7 @@ msgstr "চীনা (প্রচলিত)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "একটি মডেল বেছে নিন এবং জীবনবৃত্তান্তের খসড়া তৈরি করুন।"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "সাইডবার থেকে একটি চলমান আল
|
||||
msgid "Circle"
|
||||
msgstr "বৃত্ত"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "স্বচ্ছ"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "নির্বাচন পরিষ্কার করুন"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ইমপোর্ট করার জন্য এখান ক্লিক করে একটি ফাইল নির্বাচন করুন"
|
||||
@@ -953,6 +967,10 @@ msgstr "কাস্টম OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "কাস্টম বিভাগসমূহ"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "কাস্টম স্টাইল"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "চেক"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "লুকান"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "জীবনবৃত্তান্তে সব আইকন লুকিয়ে রাখুন"
|
||||
msgid "Hide Icons"
|
||||
msgstr "আইকন লুকান"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "লিঙ্ক আন্ডারলাইন লুকান"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "জীবনবৃত্তান্তে সব আইকন লুক
|
||||
msgid "Hide password"
|
||||
msgstr "পাসওয়ার্ড লুকান"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "সেকশন আইকন লুকান"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "উচ্চ"
|
||||
msgid "Highlight"
|
||||
msgstr "হাইলাইট"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "হাইলাইট রঙ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "হিন্দি"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "এখনও কোনো পাসকি নিবন্ধিত হ
|
||||
msgid "No results found."
|
||||
msgstr "কোন ফলাফল খুঁজে পাওয়া যায়নি।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "এখনো কোনো স্টাইল নিয়ম ঠিক করা হয়নি।"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "কোন পরীক্ষিত সরবরাহকারী নেই"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "রিঅ্যাক্টিভ রেজ্যুমে বিনা
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume মুক্ত উৎস, গোপনীয়তা-কেন্দ্রিক এবং সম্পূর্ণ বিনামূল্যে। অন্য জীবনবৃত্তান্ত নির্মাতাদের মতো এটি কোনো বিজ্ঞাপন দেখায় না, আপনার ডেটা ট্র্যাক করে না, বা ফিচারগুলো পেওয়ালের আড়ালে আটকে রাখে না।"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "রিসেট"
|
||||
msgid "Reset Password"
|
||||
msgstr "পাসওয়ার্ড রিসেট করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "স্টাইল রিসেট করুন"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "আপনার পাসওয়ার্ড রিসেট করুন"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "রোমানিয়ান"
|
||||
msgid "Rotation"
|
||||
msgstr "রোটেশন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "নিয়ম"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "নিয়ম"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "আপনার প্রথম বিশ্লেষণ চালান একটি স্কোরকার্ড, শক্তি এবং অগ্রাধিকারপ্রাপ্ত পরামর্শ পেতে।"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "টেক্সটের রঙ"
|
||||
msgid "Thai"
|
||||
msgstr "থাই"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "এজেন্টের আপনার মতামত প্রয়োজন।"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "আপনার পাসওয়ার্ড আপডেট করা
|
||||
msgid "Updating your resume..."
|
||||
msgstr "আপনার জীবনবৃত্তান্ত আপডেট করা হচ্ছে..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "সংযুক্তি আপলোড করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "ছবি আপলোড করুন"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "জুম আউট"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "জুলু"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ca\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplicació"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Estadístiques de l’aplicació"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Normes aplicades"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Àrab"
|
||||
@@ -438,6 +442,10 @@ msgstr "Pregunta qualsevol cosa sobre aquest currículum"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relació d’aspecte"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Adjunta fitxers"
|
||||
@@ -649,6 +657,7 @@ msgstr "Xinès (tradicional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Trieu un model i un esborrany de currículum."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Trieu una conversa existent de la barra lateral o inicieu un fil nou cen
|
||||
msgid "Circle"
|
||||
msgstr "Cercle"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Esborra la selecció"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Fes clic aquí per seleccionar un fitxer per importar"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalitzat"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Seccions personalitzades"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Estils personalitzats"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Txec"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Amaga"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Amaga totes les icones del currículum"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Amaga les icones"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Amaga el subratllat d'enllaços"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Amaga totes les icones del currículum"
|
||||
msgid "Hide password"
|
||||
msgstr "Amagar contrasenya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Amaga les icones de secció"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Alt"
|
||||
msgid "Highlight"
|
||||
msgstr "Ressaltat"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Color de ressaltat"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Encara no s'han registrat cap clau d'accés."
|
||||
msgid "No results found."
|
||||
msgstr "No s’han trobat resultats."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Encara no hi ha regles d'estil."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Cap proveïdor provat"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume és gratuït i de codi obert. Si t'ha ajudat, considera
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume és de codi obert, centrat en la privadesa i completament gratuït. A diferència d’altres creadors de currículums, no mostra anuncis, no rastreja les dades ni limita les funcions darrere d’un mur de pagament."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Restableix"
|
||||
msgid "Reset Password"
|
||||
msgstr "Restableix la contrasenya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Restableix l'estil"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Restableix la contrasenya"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Romanès"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotació"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regles"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Executa la teva primera anàlisi per obtenir un quadre de comandament, els punts forts i suggeriments prioritzats."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Color del text"
|
||||
msgid "Thai"
|
||||
msgstr "Tai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "L'agent necessita la teva opinió."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "S’està actualitzant la contrasenya..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "S’està actualitzant el currículum..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Puja fitxers adjunts"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Pujar foto"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Allunya"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulú"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: cs\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikace"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistiky aplikace"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Použitá pravidla"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabština"
|
||||
@@ -438,6 +442,10 @@ msgstr "Zeptejte se na cokoli ohledně tohoto životopisu"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Poměr stran"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Přiložit soubory"
|
||||
@@ -649,6 +657,7 @@ msgstr "Čínština (tradiční)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Vyberte si model a návrh životopisu."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Vyberte existující konverzaci z postranního panelu nebo začněte nov
|
||||
msgid "Circle"
|
||||
msgstr "Kruh"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Přehledně"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Vymazat výběr"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknutím zde vyberte soubor k importu"
|
||||
@@ -953,6 +967,10 @@ msgstr "Vlastní OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Vlastní sekce"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Vlastní styly"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Skrýt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Skrýt všechny ikony v životopisu"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Skrýt ikony"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Skrýt podtržení odkazu"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Skrýt všechny ikony v životopisu"
|
||||
msgid "Hide password"
|
||||
msgstr "Skrýt heslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Skrýt ikony sekcí"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Vysoká"
|
||||
msgid "Highlight"
|
||||
msgstr "Zvýraznění"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Barva zvýraznění"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindština"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Zatím nebyly zaregistrovány žádné pasové klíče."
|
||||
msgid "No results found."
|
||||
msgstr "Nebyly nalezeny žádné výsledky."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Zatím žádná stylistická pravidla."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Žádný ověřený poskytovatel"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume je zdarma a má otevřený zdrojový kód. Pokud vám po
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je open source, zaměřené na soukromí a zcela zdarma. Na rozdíl od jiných nástrojů pro tvorbu životopisů nezobrazuje reklamy, nesleduje vaše data a neomezuje funkce za paywallem."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Resetovat"
|
||||
msgid "Reset Password"
|
||||
msgstr "Obnovit heslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Obnovit styl"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Obnovte své heslo"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumunština"
|
||||
msgid "Rotation"
|
||||
msgstr "Otočení"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "pravidlo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "pravidla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Proveďte první analýzu a získejte hodnotící tabulku, silné stránky a návrhy priorit."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Barva textu"
|
||||
msgid "Thai"
|
||||
msgstr "Thajština"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agent potřebuje váš vstup."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Aktualizace hesla…"
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Aktualizace životopisu…"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Nahrát přílohy"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Nahrát obrázek"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Oddálit"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: da\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Applikationsstatistik"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Anvendte regler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisk"
|
||||
@@ -438,6 +442,10 @@ msgstr "Spørg om noget om dette CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Billedformat"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Vedhæft filer"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kinesisk (traditionelt)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Vælg en model og et udkast til CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Vælg en eksisterende samtale fra sidebjælken, eller start en ny tråd
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Klar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Ryd valg"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik her for at vælge en fil, der skal importeres"
|
||||
@@ -953,6 +967,10 @@ msgstr "Brugerdefineret OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Brugerdefinerede afsnit"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Brugerdefinerede stilarter"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tjekkisk"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Skjul alle ikoner på CV'et"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Skjul ikoner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Skjul linkunderstregning"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Skjul alle ikoner på CV'et"
|
||||
msgid "Hide password"
|
||||
msgstr "Skjul adgangskode"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Skjul sektionsikoner"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Høj"
|
||||
msgid "Highlight"
|
||||
msgstr "Fremhæv"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Fremhævelsesfarve"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ingen nøgler registreret endnu."
|
||||
msgid "No results found."
|
||||
msgstr "Ingen resultater fundet."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ingen stilregler endnu."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Ingen testet udbyder"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume er gratis og open source. Hvis det har hjulpet dig, så
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume er open-source, fokuserer på privatliv og er helt gratis. I modsætning til andre CV-byggere viser det ingen reklamer, sporer ikke dine data og begrænser ikke funktioner bag en betalingsmur."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Nulstil"
|
||||
msgid "Reset Password"
|
||||
msgstr "Nulstil adgangskode"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Nulstil stil"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Nulstil din adgangskode"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumænsk"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "herske"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regler"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Kør din første analyse for at få et scorekort, styrker og prioriterede forslag."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Tekstfarve"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agenten har brug for din input."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Opdaterer din adgangskode..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Opdaterer dit CV..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Upload vedhæftede filer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Upload billede"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zoom ud"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Anwendungsstatistiken"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Angewandte Regeln"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
@@ -438,6 +442,10 @@ msgstr "Fragen Sie alles zu diesem Lebenslauf"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Seitenverhältnis"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Anhängen von Dateien"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinesisch (traditionell)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Wählen Sie ein Modell und erstellen Sie einen Lebenslaufentwurf."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Wählen Sie eine bestehende Konversation aus der Seitenleiste oder start
|
||||
msgid "Circle"
|
||||
msgstr "Kreis"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Klar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Auswahl löschen"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Hier klicken, um eine Datei zum Importieren auszuwählen"
|
||||
@@ -953,6 +967,10 @@ msgstr "Benutzerdefiniertes OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Benutzerdefinierte Abschnitte"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Benutzerdefinierte Stile"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tschechisch"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ausblenden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Alle Icons im Lebenslauf ausblenden"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Symbole ausblenden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Link ausblenden Unterstreichung"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Alle Icons im Lebenslauf ausblenden"
|
||||
msgid "Hide password"
|
||||
msgstr "Passwort verbergen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Abschnittssymbole ausblenden"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Hoch"
|
||||
msgid "Highlight"
|
||||
msgstr "Hervorheben"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Hervorhebungsfarbe"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Noch keine Passkeys registriert."
|
||||
msgid "No results found."
|
||||
msgstr "Keine Ergebnisse gefunden."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Noch keine Stilregeln."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Kein geprüfter Anbieter"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume ist kostenlos und Open Source. Wenn es Ihnen geholfen ha
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ist Open Source, datenschutzorientiert und vollständig kostenlos. Anders als andere Lebenslauf-Builder zeigt es keine Werbung an, trackt deine Daten nicht und versteckt keine Funktionen hinter einer Bezahlschranke."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Zurücksetzen"
|
||||
msgid "Reset Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stil zurücksetzen"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Setzen Sie Ihr Passwort zurück"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumänisch"
|
||||
msgid "Rotation"
|
||||
msgstr "Drehung"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "Regeln"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Führen Sie Ihre erste Analyse durch, um eine Scorecard, Stärken und priorisierte Vorschläge zu erhalten."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Textfarbe"
|
||||
msgid "Thai"
|
||||
msgstr "Thailändisch"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Der Agent benötigt Ihre Mithilfe."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Ihr Passwort wird aktualisiert..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Ihr Lebenslauf wird aktualisiert..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Anhänge hochladen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Bild hochladen"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Herauszoomen"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: el\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Εφαρμογή"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Στατιστικά εφαρμογής"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Εφαρμοσμένοι κανόνες"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Αραβικά"
|
||||
@@ -438,6 +442,10 @@ msgstr "Ρωτήστε οτιδήποτε σχετικά με αυτό το βι
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Αναλογία διαστάσεων"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Επισύναψη αρχείων"
|
||||
@@ -649,6 +657,7 @@ msgstr "Κινέζικα (Παραδοσιακά)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Επιλέξτε ένα μοντέλο και γράψτε το βιογραφικό σας ως προσχέδιο."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Επιλέξτε μια υπάρχουσα συζήτηση από τη
|
||||
msgid "Circle"
|
||||
msgstr "Κύκλος"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Σαφής"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Εκκαθάριση επιλογής"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Κάντε κλικ εδώ για να επιλέξετε ένα αρχείο προς εισαγωγή"
|
||||
@@ -953,6 +967,10 @@ msgstr "Προσαρμοσμένο OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Προσαρμοσμένες ενότητες"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Προσαρμοσμένα στυλ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Τσεχικά"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Απόκρυψη"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Απόκρυψη όλων των εικονιδίων στο βιογραφικό σημείωμα"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Απόκρυψη εικονιδίων"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Απόκρυψη υπογράμμισης συνδέσμου"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Απόκρυψη όλων των εικονιδίων στο βιογρ
|
||||
msgid "Hide password"
|
||||
msgstr "Απόκρυψη κωδικού πρόσβασης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Απόκρυψη εικονιδίων ενότητας"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Υψηλή"
|
||||
msgid "Highlight"
|
||||
msgstr "Επισήμανση"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Χρώμα επισήμανσης"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Χίντι"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Δεν έχουν καταχωρηθεί ακόμη passkeys."
|
||||
msgid "No results found."
|
||||
msgstr "Δεν βρέθηκαν αποτελέσματα."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Δεν υπάρχουν ακόμα κανόνες στυλ."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Δεν υπάρχει δοκιμασμένος πάροχος"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Το Reactive Resume είναι δωρεάν και ανοιχτού κ
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Το Reactive Resume είναι ανοικτού κώδικα, με έμφαση στο απόρρητο και εντελώς δωρεάν. Σε αντίθεση με άλλους κατασκευαστές βιογραφικών σημειωμάτων, δεν εμφανίζει διαφημίσεις, δεν παρακολουθεί τα δεδομένα σας και δεν περιορίζει τις λειτουργίες του πίσω από paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Επαναφορά"
|
||||
msgid "Reset Password"
|
||||
msgstr "Επαναφορά κωδικού πρόσβασης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Επαναφορά στυλ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Επαναφορά κωδικού πρόσβασης"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Ρουμανικά"
|
||||
msgid "Rotation"
|
||||
msgstr "Περιστροφή"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "κανόνας"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "κανόνες"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Εκτελέστε την πρώτη σας ανάλυση για να λάβετε έναν πίνακα βαθμολογίας, τα δυνατά σημεία και τις προτάσεις με προτεραιότητες."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Χρώμα κειμένου"
|
||||
msgid "Thai"
|
||||
msgstr "Ταϊλανδικά"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Ο πράκτορας χρειάζεται τη συμβολή σας."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Ενημέρωση του κωδικού πρόσβασής σας..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Ενημέρωση του βιογραφικού σας σημειώματος..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Μεταφόρτωση συνημμένων"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Ανέβασμα εικόνας"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Σμίκρυνση"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Ζουλού"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: en_GB\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: English, United Kingdom\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Application Statistics"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Applied Rules"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabic"
|
||||
@@ -438,6 +442,10 @@ msgstr "Ask anything about this resume"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspect Ratio"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Attach files"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinese (Traditional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Choose a model and resume draft."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Choose an existing conversation from the sidebar, or start a new draft-f
|
||||
msgid "Circle"
|
||||
msgstr "Circle"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clear"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Clear selection"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Click here to select a file to import"
|
||||
@@ -953,6 +967,10 @@ msgstr "Custom OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Custom Sections"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Custom Styles"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Czech"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Hide"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Hide all icons on the resume"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Hide Icons"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Hide Link Underline"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Hide all icons on the resume"
|
||||
msgid "Hide password"
|
||||
msgstr "Hide password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Hide Section Icons"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "High"
|
||||
msgid "Highlight"
|
||||
msgstr "Highlight"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Highlight Color"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "No passkeys registered yet."
|
||||
msgid "No results found."
|
||||
msgstr "No results found."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "No style rules yet."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "No tested provider"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume is free and open source. If it has helped you, please co
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Reset"
|
||||
msgid "Reset Password"
|
||||
msgstr "Reset Password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Reset Style"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Reset your password"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Romanian"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "rule"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "rules"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Text Colour"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "The agent needs your input."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Updating your password..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Updating your resume..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Upload attachments"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Upload picture"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zoom out"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -368,6 +368,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Application Statistics"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Applied Rules"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabic"
|
||||
@@ -433,6 +437,10 @@ msgstr "Ask anything about this resume"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspect Ratio"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Attach files"
|
||||
@@ -644,6 +652,7 @@ msgstr "Chinese (Traditional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Choose a model and resume draft."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -661,11 +670,16 @@ msgstr "Choose an existing conversation from the sidebar, or start a new draft-f
|
||||
msgid "Circle"
|
||||
msgstr "Circle"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clear"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Clear selection"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Click here to select a file to import"
|
||||
@@ -948,6 +962,10 @@ msgstr "Custom OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Custom Sections"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Custom Styles"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Czech"
|
||||
@@ -1728,8 +1746,12 @@ msgid "Hide"
|
||||
msgstr "Hide"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Hide all icons on the resume"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Hide Icons"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Hide Link Underline"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1749,6 +1771,10 @@ msgstr "Hide all icons on the resume"
|
||||
msgid "Hide password"
|
||||
msgstr "Hide password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Hide Section Icons"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1758,6 +1784,10 @@ msgstr "High"
|
||||
msgid "Highlight"
|
||||
msgstr "Highlight"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Highlight Color"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2242,6 +2272,10 @@ msgstr "No passkeys registered yet."
|
||||
msgid "No results found."
|
||||
msgstr "No results found."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "No style rules yet."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "No tested provider"
|
||||
@@ -2618,6 +2652,10 @@ msgstr "Reactive Resume is free and open source. If it has helped you, please co
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2709,6 +2747,10 @@ msgstr "Reset"
|
||||
msgid "Reset Password"
|
||||
msgstr "Reset Password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Reset Style"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Reset your password"
|
||||
@@ -2785,6 +2827,14 @@ msgstr "Romanian"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "rule"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "rules"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
@@ -3272,6 +3322,10 @@ msgstr "Text Color"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "The agent needs your input."
|
||||
@@ -3703,6 +3757,10 @@ msgstr "Updating your password..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Updating your resume..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Upload attachments"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Upload picture"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplicación"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Estadísticas de la aplicación"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Reglas aplicadas"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
@@ -438,6 +442,10 @@ msgstr "Haz cualquier pregunta sobre este currículum."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relación de aspecto"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Adjuntar archivos"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chino (tradicional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Elige un modelo y un borrador de currículum."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Selecciona una conversación existente en la barra lateral o inicia un n
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Claro"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Selección clara"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Haz clic aquí para seleccionar un archivo para importar"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalizado"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Secciones personalizadas"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Estilos personalizados"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Checo"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ocultar todos los iconos en el currículum"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ocultar iconos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ocultar enlace subrayado"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ocultar todos los iconos en el currículum"
|
||||
msgid "Hide password"
|
||||
msgstr "Ocultar contraseña"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Iconos de ocultar sección"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Alta"
|
||||
msgid "Highlight"
|
||||
msgstr "Resaltado"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Color de resaltado"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Aún no se ha registrado ninguna llave de paso."
|
||||
msgid "No results found."
|
||||
msgstr "No se han encontrado resultados."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Aún no hay reglas de estilo."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "No hay ningún proveedor probado"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume es gratuito y de código abierto. Si te ha sido útil, c
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume es de código abierto, centrado en la privacidad y completamente gratuito. A diferencia de otros creadores de currículums, no muestra anuncios, no rastrea tus datos ni limita tus funciones tras un muro de pago."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Restablecer"
|
||||
msgid "Reset Password"
|
||||
msgstr "Restablecer contraseña"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Restablecer estilo"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Restablecer tu contraseña"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumano"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotación"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "normas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Realice su primer análisis para obtener un cuadro de mando, los puntos fuertes y las sugerencias priorizadas."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Color del texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandés"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "El agente necesita tu opinión."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Actualizando tu contraseña..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Actualizando tu currículum..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Subir archivos adjuntos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Subir foto"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Alejar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulú"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fa\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "اپ"
|
||||
msgid "Application Statistics"
|
||||
msgstr "آمار اپلیکیشن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "قوانین کاربردی"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "عربی"
|
||||
@@ -438,6 +442,10 @@ msgstr "در مورد این رزومه هر سوالی دارید بپرسید"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبت تصویر"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "پیوست کردن فایلها"
|
||||
@@ -649,6 +657,7 @@ msgstr "چینی (سنتی)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "یک مدل انتخاب کنید و پیشنویس رزومه را بنویسید."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "یک مکالمه موجود را از نوار کناری انتخاب
|
||||
msgid "Circle"
|
||||
msgstr "دایره"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "شفاف"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "انتخاب را پاک کنید"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "برای انتخاب فایل برای وارد کردن، اینجا کلیک کنید"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth سفارشی"
|
||||
msgid "Custom Sections"
|
||||
msgstr "بخشهای سفارشی"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "سبکهای سفارشی"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "چکی"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "پنهان کردن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "تمام آیکونها را روی رزومه مخفی کن"
|
||||
msgid "Hide Icons"
|
||||
msgstr "پنهان کردن آیکونها"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "پنهان کردن زیرخط لینک"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "تمام آیکونها را روی رزومه مخفی کن"
|
||||
msgid "Hide password"
|
||||
msgstr "پنهان کردن رمز عبور"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "پنهان کردن آیکنهای بخش"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "بالا"
|
||||
msgid "Highlight"
|
||||
msgstr "هایلایت"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "رنگ برجسته"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "هندی"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "هنوز هیچ کلید عبوری ثبت نشده است."
|
||||
msgid "No results found."
|
||||
msgstr "موردی یافت نشد."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "هنوز هیچ قانون سبکی وجود ندارد."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "هیچ ارائه دهنده آزمایش شده ای وجود ندارد"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "رزومه واکنشی رایگان و متنباز است. اگر
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume متنباز، حریمخصوصیمحور و کاملاً رایگان است. برخلاف سایر رزومهسازها، هیچ تبلیغی نشان نمیدهد، دادههای شما را رهگیری نمیکند و قابلیتهایتان را پشت دیوار پرداخت محدود نمیکند."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "ریست"
|
||||
msgid "Reset Password"
|
||||
msgstr "تنظیم مجدد گذرواژه"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "تنظیم مجدد سبک"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "تنظیم مجدد گذرواژهٔ شما"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "رومانیایی"
|
||||
msgid "Rotation"
|
||||
msgstr "چرخش"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "قاعده"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "قوانین"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "اولین تحلیل خود را اجرا کنید تا کارت امتیاز، نقاط قوت و پیشنهادهای اولویتبندیشده را دریافت کنید."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "رنگ متن"
|
||||
msgid "Thai"
|
||||
msgstr "تایلندی"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "نماینده به نظرات شما نیاز دارد."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "در حال بهروزرسانی گذرواژه شما..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "در حال بهروزرسانی رزومه شما..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "آپلود پیوستها"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "بارگذاری تصویر"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "کوچکنمایی"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "زولو"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Sovellus"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Sovelluksen tilastot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Sovelletut säännöt"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "arabia"
|
||||
@@ -438,6 +442,10 @@ msgstr "Kysy mitä tahansa tästä ansioluettelosta"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Kuvasuhde"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Liitä tiedostoja"
|
||||
@@ -649,6 +657,7 @@ msgstr "kiina (perinteinen)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Valitse malli ja ansioluettelon luonnos."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Valitse olemassa oleva keskustelu sivupalkista tai aloita uusi luonnosty
|
||||
msgid "Circle"
|
||||
msgstr "Ympyrä"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Kirkas"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Tyhjennä valinta"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Napsauta tästä valitaksesi tuotavan tiedoston"
|
||||
@@ -953,6 +967,10 @@ msgstr "Mukautettu OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Mukautetut osiot"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Mukautetut tyylit"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "tšekki"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Piilota"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Piilota kaikki ansioluettelon ikonit"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Piilota kuvakkeet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Piilota linkin alleviivaus"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Piilota kaikki ansioluettelon ikonit"
|
||||
msgid "Hide password"
|
||||
msgstr "Piilota salasana"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Piilota osiokuvakkeet"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Korkea"
|
||||
msgid "Highlight"
|
||||
msgstr "Korostus"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Korostusväri"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ei vielä rekisteröityjä kulkulupia."
|
||||
msgid "No results found."
|
||||
msgstr "Tuloksia ei löytynyt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ei vielä tyylisääntöjä."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Ei testattua tarjoajaa"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume on ilmainen ja avoimen lähdekoodin työkalu. Jos siitä
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume on avoimen lähdekoodin, yksityisyyteen keskittyvä ja täysin ilmainen. Toisin kuin monet muut ansioluettelon laatijat, se ei näytä mainoksia, seuraa tietojasi tai piilota ominaisuuksia maksumuurin taakse."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Palauta"
|
||||
msgid "Reset Password"
|
||||
msgstr "Palauta salasana"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Palauta tyyli"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Palauta salasanasi"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "romania"
|
||||
msgid "Rotation"
|
||||
msgstr "Kierrätys"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "sääntö"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "säännöt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Suorita ensimmäinen analyysi, jotta saat tuloskortin, vahvuudet ja priorisoidut ehdotukset."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Tekstiväri"
|
||||
msgid "Thai"
|
||||
msgstr "thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Välittäjä tarvitsee panostasi."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Päivitetään salasanaasi..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Päivitetään ansioluetteloasi..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Lähetä liitteitä"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Lataa kuva"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Loitonna"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistiques d'application"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Règles appliquées"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabe"
|
||||
@@ -438,6 +442,10 @@ msgstr "Posez toutes vos questions concernant ce CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Format d'image"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Joindre des fichiers"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinois (traditionnel)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Choisissez un modèle et un brouillon de CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Choisissez une conversation existante dans la barre latérale, ou créez
|
||||
msgid "Circle"
|
||||
msgstr "Cercle"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clair"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Sélection claire"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Cliquez ici pour sélectionner un fichier à importer"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personnalisé"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Sections personnalisées"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Styles personnalisés"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tchèque"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Masquer toutes les icônes du CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Masquer les icônes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Masquer le lien Souligner"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Masquer toutes les icônes du CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Cacher le mot de passe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Masquer les icônes de section"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Haut"
|
||||
msgid "Highlight"
|
||||
msgstr "Mettre en surbrillance"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Couleur de surbrillance"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Aucun passe-partout n'a encore été enregistré."
|
||||
msgid "No results found."
|
||||
msgstr "Aucun résultat trouvé."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Pas encore de règles de style."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Fournisseur non testé"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume est un logiciel libre et gratuit. S'il vous a été util
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume est un logiciel libre, respectueux de la vie privée et entièrement gratuit. Contrairement à d'autres outils de création de CV, il n'affiche pas de publicité, ne suit pas vos données et ne limite pas vos fonctionnalités derrière un mur payant."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Réinitialiser"
|
||||
msgid "Reset Password"
|
||||
msgstr "Réinitialiser le mot de passe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Réinitialiser le style"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Réinitialisez votre mot de passe"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Roumain"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "règle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "règles"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Effectuez votre première analyse pour obtenir un tableau de bord, des points forts et des suggestions classées par ordre de priorité."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Couleur du texte"
|
||||
msgid "Thai"
|
||||
msgstr "Thaïlandais"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "L'agent a besoin de votre contribution."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Mise à jour de votre mot de passe..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Mise à jour de votre CV..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Télécharger des pièces jointes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Télécharger l'image"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zoom arrière"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zoulou"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: he\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "יישום"
|
||||
msgid "Application Statistics"
|
||||
msgstr "סטטיסטיקת היישום"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "כללים יישומיים"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "ערבית"
|
||||
@@ -438,6 +442,10 @@ msgstr "שאלו כל דבר בנוגע לקורות חיים אלה"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "יחס גובה־רוחב"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "צרף קבצים"
|
||||
@@ -649,6 +657,7 @@ msgstr "סינית (מסורתית)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "בחר מודל וטיוטת קורות חיים."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "בחר שיחה קיימת מסרגל הצד, או התחל שרשור
|
||||
msgid "Circle"
|
||||
msgstr "עיגול"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "נקה"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "נקה את הבחירה"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "לחץ כאן כדי לבחור קובץ לייבוא"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth מותאם אישית"
|
||||
msgid "Custom Sections"
|
||||
msgstr "סעיפים מותאמים אישית"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "סגנונות מותאמים אישית"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "צ׳כית"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "הסתרה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "הסתרת כל הסמלים בקורות החיים"
|
||||
msgid "Hide Icons"
|
||||
msgstr "הסתר סמלים"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "הסתר קו תחתון של קישור"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "הסתרת כל הסמלים בקורות החיים"
|
||||
msgid "Hide password"
|
||||
msgstr "הסתר סיסמה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "הסתר סמלי מדור"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "גבוה"
|
||||
msgid "Highlight"
|
||||
msgstr "סימון"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "צבע סימון"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "הינדי"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "עדיין לא נרשמו מפתחות גישה."
|
||||
msgid "No results found."
|
||||
msgstr "לא נמצאו תוצאות."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "עדיין אין חוקי סגנון."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "אין ספק שנבדק"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "ריאקטיבי קורות חיים הם חינמיים ובקוד פת
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume הוא בקוד פתוח, ממוקד פרטיות וחינמי לחלוטין. בניגוד לבוני קורות חיים אחרים, הוא לא מציג פרסומות, לא עוקב אחרי הנתונים שלך ולא נועל יכולות מאחורי חומת תשלום."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "איפוס"
|
||||
msgid "Reset Password"
|
||||
msgstr "איפוס סיסמה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "איפוס סגנון"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "איפוס הסיסמה שלך"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "רומנית"
|
||||
msgid "Rotation"
|
||||
msgstr "סיבוב"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "כְּלָל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "כללים"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "בצע את הניתוח הראשון שלך כדי לקבל דוח ביצועים, נקודות חוזק והצעות מסודרות לפי סדר עדיפויות."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "צבע כתב"
|
||||
msgid "Thai"
|
||||
msgstr "תאית"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "הסוכן זקוק לתשומתך."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "מעדכן את הסיסמה שלך..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "מעדכן את קורות החיים שלך..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "העלאת קבצים מצורפים"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "העלה תמונה"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "התרחקות"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "זולו"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "ऐप"
|
||||
msgid "Application Statistics"
|
||||
msgstr "ऐप आँकड़े"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू नियम"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "अरबी"
|
||||
@@ -438,6 +442,10 @@ msgstr "इस रिज्यूमे के बारे में कुछ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "फ़ाइलों को संलग्न करें"
|
||||
@@ -649,6 +657,7 @@ msgstr "चीनी (परंपरागत)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "एक मॉडल चुनें और रिज्यूमे का ड्राफ्ट तैयार करें।"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "साइडबार से किसी मौजूदा बात
|
||||
msgid "Circle"
|
||||
msgstr "गोला"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "स्पष्ट"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "चयन साफ़ करें"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "इम्पोर्ट करने के लिए फ़ाइल चुनने हेतु यहाँ क्लिक करें"
|
||||
@@ -953,6 +967,10 @@ msgstr "कस्टम OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "कस्टम अनुभाग"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "कस्टम शैलियाँ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "चेक"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "छुपायें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "रेज़्यूमे पर सभी आइकॉन छुपाएँ"
|
||||
msgid "Hide Icons"
|
||||
msgstr "आइकन छिपाएँ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "लिंक के नीचे की रेखा छिपाएँ"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "रेज़्यूमे पर सभी आइकॉन छुप
|
||||
msgid "Hide password"
|
||||
msgstr "पासवर्ड छिपाएँ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "सेक्शन आइकन छिपाएँ"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "उच्च"
|
||||
msgid "Highlight"
|
||||
msgstr "हाइलाइट"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "हाइलाइट रंग"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "हिन्दी"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "अभी तक कोई पासकी पंजीकृत नह
|
||||
msgid "No results found."
|
||||
msgstr "कोई परिणाम नहीं मिला।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "अभी तक कोई शैली संबंधी नियम नहीं हैं।"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "कोई परीक्षित प्रदाता नहीं"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "रिएक्टिव रिज्यूम मुफ़्त और
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ओपन‑सोर्स, गोपनीयता‑केंद्रित और पूरी तरह मुफ़्त है। अन्य रेज़्यूमे बिल्डर के विपरीत, यह विज्ञापन नहीं दिखाता, आपका डेटा ट्रैक नहीं करता और न ही आपकी सुविधाओं को पेवॉल के पीछे सीमित करता है।"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "रीसेट"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रीसेट करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रीसेट करें"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "अपना पासवर्ड रीसेट करें"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "रोमानियाई"
|
||||
msgid "Rotation"
|
||||
msgstr "रोटेशन"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "नियम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "नियम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "अपना पहला विश्लेषण चलाएँ ताकि आपको एक स्कोरकार्ड, ताकतें और प्राथमिकता-आधारित सुझाव मिल सकें।"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "अक्षरों का रंग"
|
||||
msgid "Thai"
|
||||
msgstr "थाई"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "एजेंट को आपके सुझाव की आवश्यकता है।"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "आपका पासवर्ड अपडेट किया जा
|
||||
msgid "Updating your resume..."
|
||||
msgstr "आपका रेज़्यूमे अपडेट किया जा रहा है..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "संलग्नक अपलोड करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "तस्वीर अपलोड करें"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "ज़ूम आउट"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ज़ुलु"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hu\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Alkalmazás"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Alkalmazásstatisztikák"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Alkalmazott szabályok"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "arab"
|
||||
@@ -438,6 +442,10 @@ msgstr "Kérdezzen bármit erről az önéletrajzról"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Méretarány"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Fájlok csatolása"
|
||||
@@ -649,6 +657,7 @@ msgstr "kínai (hagyományos)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Válasszon egy modellt és önéletrajz-tervezetet."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Válasszon egy meglévő beszélgetést az oldalsávon, vagy indítson e
|
||||
msgid "Circle"
|
||||
msgstr "Kör"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Tiszta"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Kijelölés törlése"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kattints ide az importálandó fájl kiválasztásához"
|
||||
@@ -953,6 +967,10 @@ msgstr "Egyéni OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Egyéni szekciók"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Egyéni stílusok"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "cseh"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Elrejtés"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Az önéletrajz összes ikonjának elrejtése"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ikonok elrejtése"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Hivatkozás aláhúzásának elrejtése"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Az önéletrajz összes ikonjának elrejtése"
|
||||
msgid "Hide password"
|
||||
msgstr "Jelszó elrejtése"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Szakasz ikonok elrejtése"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Magas"
|
||||
msgid "Highlight"
|
||||
msgstr "Kiemelés"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Kiemelő szín"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Még nincsenek regisztrált kulcsok."
|
||||
msgid "No results found."
|
||||
msgstr "Nincs találat."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Stílusra még nincsenek szabályok."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nincs tesztelt szolgáltató"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "A Reactive Resume ingyenes és nyílt forráskódú. Ha segített, kérj
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "A Reactive Resume nyílt forráskódú, adatvédelem‑központú és teljesen ingyenes. Más önéletrajz‑készítőkkel ellentétben nem jelenít meg hirdetéseket, nem követi az adataidat, és nem zár funkciókat fizetős fal mögé."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Visszaállítás"
|
||||
msgid "Reset Password"
|
||||
msgstr "Jelszó visszaállítása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stílus visszaállítása"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Jelszó visszaállítása"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Román"
|
||||
msgid "Rotation"
|
||||
msgstr "Forgatás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "szabály"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "szabályok"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Futtassa le az első elemzést, hogy kapjon egy értékelőlapot, erősségeket és rangsorolt javaslatokat."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Szövegszín"
|
||||
msgid "Thai"
|
||||
msgstr "thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Az ügynöknek szüksége van az Ön közreműködésére."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Jelszó frissítése..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Önéletrajz frissítése..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Mellékletek feltöltése"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Kép feltöltése"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Kicsinyítés"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: id\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikasi"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistik Aplikasi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Aturan yang Diterapkan"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arab"
|
||||
@@ -438,6 +442,10 @@ msgstr "Tanyakan apa pun tentang resume ini."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Rasio Aspek"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Lampirkan file"
|
||||
@@ -649,6 +657,7 @@ msgstr "Cina (Tradisional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Pilih model dan draf resume."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Pilih percakapan yang sudah ada dari bilah sisi, atau mulai utas baru ya
|
||||
msgid "Circle"
|
||||
msgstr "Lingkaran"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Jelas"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Hapus pilihan"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik di sini untuk memilih file yang akan diimpor"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth khusus"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Bagian Kustom"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Gaya Kustom"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Ceko"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Sembunyikan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Sembunyikan semua ikon di resume"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Sembunyikan Ikon"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Sembunyikan Garis Bawah Tautan"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Sembunyikan semua ikon di resume"
|
||||
msgid "Hide password"
|
||||
msgstr "Sembunyikan kata sandi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Sembunyikan Ikon Bagian"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Tinggi"
|
||||
msgid "Highlight"
|
||||
msgstr "Sorot"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Warna Sorot"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Belum ada kunci sandi yang terdaftar."
|
||||
msgid "No results found."
|
||||
msgstr "Tidak ada hasil."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Belum ada aturan gaya."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Tidak ada penyedia yang teruji"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume gratis dan bersifat open source. Jika aplikasi ini berma
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume bersifat sumber terbuka, berfokus pada privasi, dan sepenuhnya gratis. Tidak seperti pembuat resume lainnya, aplikasi ini tidak menampilkan iklan, melacak data Anda, atau membatasi fitur di balik paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Atur Ulang"
|
||||
msgid "Reset Password"
|
||||
msgstr "Atur Ulang Kata Sandi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Atur Ulang Gaya"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Atur ulang kata sandi Anda"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumania"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotasi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "aturan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "aturan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Jalankan analisis pertama Anda untuk mendapatkan kartu skor, kekuatan, dan saran yang diprioritaskan."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Warna Teks"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agen tersebut membutuhkan masukan Anda."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Memperbarui kata sandi Anda..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Memperbarui resume Anda..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Unggah lampiran"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Unggah gambar"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Perkecil"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistiche dell'applicazione"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regole applicate"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabo"
|
||||
@@ -438,6 +442,10 @@ msgstr "Chiedi qualsiasi cosa su questo curriculum"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporzioni"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Allega i file"
|
||||
@@ -649,6 +657,7 @@ msgstr "Cinese (tradizionale)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Scegli un modello e una bozza di curriculum."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Scegli una conversazione esistente dalla barra laterale oppure avvia una
|
||||
msgid "Circle"
|
||||
msgstr "Cerchio"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Libero"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Cancella selezione"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Fai clic qui per selezionare un file da importare"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalizzato"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Sezioni personalizzate"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Stili personalizzati"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Ceco"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Nascondi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Nascondi tutte le icone sul curriculum"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Nascondi icone"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Nascondi il collegamento sottolineato"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Nascondi tutte le icone sul curriculum"
|
||||
msgid "Hide password"
|
||||
msgstr "Nascondere la password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Nascondi le icone della sezione"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Alto"
|
||||
msgid "Highlight"
|
||||
msgstr "Evidenzia"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Colore di evidenziazione"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Non sono ancora stati registrati dei passepartout."
|
||||
msgid "No results found."
|
||||
msgstr "Nessun risultato trovato."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Non sono ancora state definite delle regole di stile."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nessun fornitore segnalato"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume è gratuito e open source. Se ti è stato utile, conside
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume è open source, incentrato sulla privacy e completamente gratuito. A differenza di altri generatori di curriculum, non mostra annunci, non traccia i tuoi dati e non limita le funzionalità dietro un paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Ripristina"
|
||||
msgid "Reset Password"
|
||||
msgstr "Reimposta password"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Ripristina stile"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Reimposta la tua password"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumeno"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotazione"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regola"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regole"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Esegua la prima analisi per ottenere una scorecard, i punti di forza e i suggerimenti prioritari."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Colore del testo"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "L'agente ha bisogno del tuo contributo."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Aggiornamento della tua password in corso..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Aggiornamento del tuo curriculum in corso..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Carica allegati"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Carica l'immagine"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Rimpicciolisci"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: km\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Khmer\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "កម្មវិធី"
|
||||
msgid "Application Statistics"
|
||||
msgstr "ស្ថិតិកម្មវិធី"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ច្បាប់ដែលបានអនុវត្ត"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabic"
|
||||
@@ -438,6 +442,10 @@ msgstr "សួរអ្វីមួយអំពីប្រវត្តិរូ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "សមាមាត្រទ្រង់ទ្រាយ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ភ្ជាប់ឯកសារ"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinese (Traditional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ជ្រើសរើសគំរូ និងប្រវត្តិរូបសង្ខេប។"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "ជ្រើសរើសការសន្ទនាដែលមានស
|
||||
msgid "Circle"
|
||||
msgstr "រង្វង់"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "សម្អាត"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "សម្អាតការជ្រើសរើស"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ចុចទីនេះដើម្បីជ្រើសឯកសារមួយដើម្បីនាំចូល"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth ផ្ទាល់ខ្លួន"
|
||||
msgid "Custom Sections"
|
||||
msgstr "ផ្នែកផ្ទាល់ខ្លួន"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "រចនាប័ទ្មផ្ទាល់ខ្លួន"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Czech"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "លាក់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "លាក់រូបតំណាងទាំងអស់លើប្រវត្តិរូប"
|
||||
msgid "Hide Icons"
|
||||
msgstr "លាក់រូបតំណាង"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "លាក់បន្ទាត់ក្រោមតំណ"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "លាក់រូបតំណាងទាំងអស់លើ
|
||||
msgid "Hide password"
|
||||
msgstr "លាក់ពាក្យសម្ងាត់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "លាក់រូបតំណាងផ្នែក"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "ខ្ពស់"
|
||||
msgid "Highlight"
|
||||
msgstr "រំលេច"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "ពណ៌បន្លិច"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "មិនទាន់មាន passkey បានចុះឈ្មោះ
|
||||
msgid "No results found."
|
||||
msgstr "រកមិនឃើញលទ្ធផល។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "មិនទាន់មានច្បាប់រចនាប័ទ្មនៅឡើយទេ។"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "គ្មានអ្នកផ្តល់សេវាដែលបានធ្វើតេស្តទេ"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume គឺឥតគិតថ្លៃ និងជាប្
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume គឺបើកប្រភព ផ្តោតលើភាពឯកជន និងឥតគិតថ្លៃទាំងស្រុង។ ខុសពីកម្មវិធីបង្កើតប្រវត្តិរូបផ្សេងៗ វាមិនបង្ហាញពាណិជ្ជកម្ម មិនតាមដានទិន្នន័យរបស់អ្នក ហើយមិនកំណត់មុខងារពីក្រោយ paywall ឡើយ។"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "កំណត់ឡើងវិញ"
|
||||
msgid "Reset Password"
|
||||
msgstr "កំណត់ពាក្យសម្ងាត់ឡើងវិញ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "កំណត់រចនាប័ទ្មឡើងវិញ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "កំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Romanian"
|
||||
msgid "Rotation"
|
||||
msgstr "មុំបង្វែរ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "គ្រប់គ្រង"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "ច្បាប់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "ដំណើរការវិភាគលើកដំបូងរបស់អ្នកដើម្បីទទួលបានតារាងពិន្ទុ ចំណុចខ្លាំង និងសំណើដែលបានកំណត់អាទិភាព។"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "ពណ៌អត្ថបទ"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ភ្នាក់ងារត្រូវការមតិយោបល់ពីអ្នក។"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "កំពុងបច្ចុប្បន្នភាពពាក
|
||||
msgid "Updating your resume..."
|
||||
msgstr "កំពុងបច្ចុប្បន្នភាពប្រវត្តិរូបរបស់អ្នក..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "ផ្ទុកឡើងឯកសារភ្ជាប់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "អាប់ឡូដរូបភាព"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "បង្រួម"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: kn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Kannada\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "ಆ್ಯಪ್"
|
||||
msgid "Application Statistics"
|
||||
msgstr "ಅಪ್ಲಿಕೇಶನ್ ಅಂಕಿಅಂಶಗಳು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ಅನ್ವಯವಾಗುವ ನಿಯಮಗಳು"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "ಅರೇಬಿಕ್"
|
||||
@@ -438,6 +442,10 @@ msgstr "ಈ ರೆಸ್ಯೂಮ್ ಬಗ್ಗೆ ಏನಾದರೂ ಕೇ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ಆಕಾರ ಅನುಪಾತ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ಫೈಲ್ಗಳನ್ನು ಲಗತ್ತಿಸಿ"
|
||||
@@ -649,6 +657,7 @@ msgstr "ಚೈನೀಸ್ (ಸಾಂಪ್ರದಾಯಿಕ)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ಮಾದರಿ ಮತ್ತು ಪುನರಾರಂಭದ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಆರಿಸಿ."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "ಸೈಡ್ಬಾರ್ನಿಂದ ಅಸ್ತಿತ್ವದ
|
||||
msgid "Circle"
|
||||
msgstr "ವೃತ್ತ"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "ತೆರವುಗೊಳಿಸಿ"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ಆಯ್ಕೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ಆಮದು ಮಾಡಲು ಕಡತವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ"
|
||||
@@ -953,6 +967,10 @@ msgstr "ಕಸ್ಟಮ್ OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "ಕಸ್ಟಮ್ ವಿಭಾಗಗಳು"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "ಕಸ್ಟಮ್ ಶೈಲಿಗಳು"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "ಚೆಕ್"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "ಮರೆಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "ರೆಸ್ಯೂಮ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಐಕಾನ್ಗಳನ್ನು ಮರೆಮಾಡಿ"
|
||||
msgid "Hide Icons"
|
||||
msgstr "ಐಕಾನ್ಗಳನ್ನು ಮರೆಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "ಲಿಂಕ್ ಅಂಡರ್ಲೈನ್ ಅನ್ನು ಮರೆಮಾಡಿ"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "ರೆಸ್ಯೂಮ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಐಕಾ
|
||||
msgid "Hide password"
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ಮರೆಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "ವಿಭಾಗ ಐಕಾನ್ಗಳನ್ನು ಮರೆಮಾಡಿ"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "ಹೆಚ್ಚು"
|
||||
msgid "Highlight"
|
||||
msgstr "ಹೈಲೈಟ್ ಮಾಡಿ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "ಬಣ್ಣವನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ಹಿಂದಿ"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "ಇನ್ನೂ ಯಾವುದೇ ಪಾಸ್ಕೀಗಳು ನೋ
|
||||
msgid "No results found."
|
||||
msgstr "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬರಲಿಲ್ಲ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "ಇನ್ನೂ ಯಾವುದೇ ಶೈಲಿಯ ನಿಯಮಗಳಿಲ್ಲ."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "ಪರೀಕ್ಷಿಸದ ಪೂರೈಕೆದಾರರು ಇಲ್ಲ."
|
||||
@@ -2623,6 +2657,10 @@ msgstr "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ ಉಚಿತ ಮ
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ಮುಕ್ತ-ಮೂಲ, ಗೌಪ್ಯತಿಗೆ ಪ್ರಾಧಾನ್ಯ ನೀಡುವ ಹಾಗು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿದೆ. ಇತರೆ ರೆಸ್ಯೂಮ್ ನಿರ್ಮಾಪಕರಿಗಿಂತ ವಿಭಿನ್ನವಾಗಿ, ಇದು ಜಾಹೀರಾತುಗಳನ್ನು ತೋರಿಸುವುದಿಲ್ಲ, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದಿಲ್ಲ, ಅಥವಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪೇಯ್ವಾಲ್ ಹಿಂದೆ ಮಿತಿ ಮಾಡುವುದಿಲ್ಲ."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "ಮರುಹೊಂದಿಸಿ"
|
||||
msgid "Reset Password"
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ಶೈಲಿಯನ್ನು ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "ರೊಮೇನಿಯನ್"
|
||||
msgid "Rotation"
|
||||
msgstr "ಭ್ರಮನ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "ನಿಯಮ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "ನಿಯಮಗಳು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "ಸ್ಕೋರ್ಕಾರ್ಡ್, ಬಲಗಳು ಮತ್ತು ಆದ್ಯತೆಯ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಲು ನಿಮ್ಮ ಮೊದಲ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಚಲಾಯಿಸಿ."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "ಅಕ್ಷರದ ಬಣ್ಣ"
|
||||
msgid "Thai"
|
||||
msgstr "ಥಾಯ್"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ಏಜೆಂಟ್ಗೆ ನಿಮ್ಮ ಸಲಹೆಯ ಅಗತ್ಯವಿದೆ."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನವೀ
|
||||
msgid "Updating your resume..."
|
||||
msgstr "ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "ಲಗತ್ತುಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "ಚಿತ್ರವನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ಜೂಲೂ"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "앱"
|
||||
msgid "Application Statistics"
|
||||
msgstr "애플리케이션 통계"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "적용된 규칙"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "아랍어"
|
||||
@@ -438,6 +442,10 @@ msgstr "이력서에 대해 궁금한 점이 있으면 무엇이든 물어보세
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "가로세로 비율"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "파일 첨부"
|
||||
@@ -649,6 +657,7 @@ msgstr "중국어(번체)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "모델을 선택하고 이력서 초안을 작성하세요."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "사이드바에서 기존 대화를 선택하거나, 초안 작성에
|
||||
msgid "Circle"
|
||||
msgstr "원"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "지우기"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "선택 해제"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "가져올 파일을 선택하려면 여기를 클릭하세요"
|
||||
@@ -953,6 +967,10 @@ msgstr "사용자 지정 OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "사용자 지정 섹션"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "사용자 지정 스타일"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "체코어"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "숨기기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "이력서의 모든 아이콘 숨기기"
|
||||
msgid "Hide Icons"
|
||||
msgstr "아이콘 숨기기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "링크 밑줄 숨기기"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "이력서의 모든 아이콘 숨기기"
|
||||
msgid "Hide password"
|
||||
msgstr "비밀번호 숨기기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "섹션 아이콘 숨기기"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "높음"
|
||||
msgid "Highlight"
|
||||
msgstr "형광펜"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "하이라이트 색상"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "힌디어"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "아직 등록된 패스키가 없습니다."
|
||||
msgid "No results found."
|
||||
msgstr "결과가 없습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "아직 스타일 규칙은 없습니다."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "검증되지 않은 제공업체"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume는 무료 오픈 소스 소프트웨어입니다. 도움
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume는 오픈 소스, 개인정보 보호 중심, 완전 무료 서비스입니다. 다른 이력서 작성 도구와 달리 광고를 표시하지 않고, 데이터를 추적하지 않으며, 기능을 페이월 뒤에 숨기지도 않습니다."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "초기화"
|
||||
msgid "Reset Password"
|
||||
msgstr "비밀번호 재설정"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "스타일 재설정"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "비밀번호 재설정"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "루마니아어"
|
||||
msgid "Rotation"
|
||||
msgstr "회전"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "규칙"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "규칙"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "첫 번째 분석을 실행하여 스코어카드, 강점, 우선순위가 지정된 제안을 확인하세요."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "텍스트 색상"
|
||||
msgid "Thai"
|
||||
msgstr "태국어"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "상담원이 고객님의 입력을 필요로 합니다."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "비밀번호를 업데이트하는 중입니다..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "이력서를 업데이트하는 중입니다..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "첨부 파일을 업로드하세요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "사진 업로드"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "축소"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "줄루어"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Programa"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Programos statistika"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Taikomos taisyklės"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabų"
|
||||
@@ -438,6 +442,10 @@ msgstr "Klauskite bet ko apie šį gyvenimo aprašymą"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Vaizdo santykis"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Pridėti failus"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kinų (tradicinė)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Pasirinkite modelį ir gyvenimo aprašymo juodraštį."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Šoninėje juostoje pasirinkite esamą pokalbį arba pradėkite naują,
|
||||
msgid "Circle"
|
||||
msgstr "Apskritimas"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Skaidrus"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Išvalyti pasirinkimą"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Spustelėkite čia, kad pasirinktumėte importuojamą failą"
|
||||
@@ -953,6 +967,10 @@ msgstr "Pasirinktinis OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Pasirinktiniai skyriai"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Pasirinktiniai stiliai"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Čekų"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Paslėpti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Paslėpti visas ikonas gyvenimo aprašyme"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Slėpti piktogramas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Slėpti nuorodos pabraukimą"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Paslėpti visas ikonas gyvenimo aprašyme"
|
||||
msgid "Hide password"
|
||||
msgstr "Paslėpti slaptažodį"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Slėpti skyrių piktogramas"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Aukštas"
|
||||
msgid "Highlight"
|
||||
msgstr "Paryškinti"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Paryškinimo spalva"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Kol kas neužregistruota jokių passkeys."
|
||||
msgid "No results found."
|
||||
msgstr "Rezultatų nerasta."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Stiliaus taisyklių dar nėra."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nėra patikrinto tiekėjo"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "„Reactive Resume“ yra nemokamas ir atvirojo kodo. Jei jis jums padė
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "„Reactive Resume“ yra atvirojo kodo, orientuota į privatumą ir visiškai nemokama. Skirtingai nei kiti gyvenimo aprašymų kūrėjai, ji nerodo reklamų, nerenka jūsų duomenų ir neapriboja funkcijų už mokamos sienos."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Nustatyti iš naujo"
|
||||
msgid "Reset Password"
|
||||
msgstr "Atkurti slaptažodį"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Atstatyti stilių"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Atkurkite slaptažodį"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumunų"
|
||||
msgid "Rotation"
|
||||
msgstr "Sukimas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "taisyklė"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "taisyklės"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Atlikite pirmąją analizę, kad gautumėte rezultatų lentelę, stipriąsias puses ir prioritetinius pasiūlymus."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Teksto spalva"
|
||||
msgid "Thai"
|
||||
msgstr "Tajų"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agentui reikia jūsų indėlio."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Atnaujinamas jūsų slaptažodis..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Atnaujinamas jūsų gyvenimo aprašymas..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Įkelti priedus"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Įkelti nuotrauką"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Tolinti"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulų"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Latvian\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Lietotne"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Lietotnes statistika"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Piemērotie noteikumi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arābu"
|
||||
@@ -438,6 +442,10 @@ msgstr "Jautājiet jebko par šo CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcijas"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Pievienot failus"
|
||||
@@ -649,6 +657,7 @@ msgstr "Ķīniešu (tradicionālā)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Izvēlieties modeli un CV melnrakstu."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Sānjoslā izvēlieties esošu sarunu vai sāciet jaunu, uz melnrakstu o
|
||||
msgid "Circle"
|
||||
msgstr "Aplis"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Skaidrs"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Notīrīt atlasi"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Noklikšķiniet šeit, lai izvēlētos importējamo failu"
|
||||
@@ -953,6 +967,10 @@ msgstr "Pielāgotais OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Pielāgotās sadaļas"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Pielāgoti stili"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Čehu"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Slēpt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Paslēpt visas ikonas CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Slēpt ikonas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Slēpt saites pasvītrojumu"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Paslēpt visas ikonas CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Paslēpt paroli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Slēpt sadaļu ikonas"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Augsts"
|
||||
msgid "Highlight"
|
||||
msgstr "Izcelt"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Izcelt krāsu"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Pagaidām nav reģistrēti pases taustiņi."
|
||||
msgid "No results found."
|
||||
msgstr "Rezultāti nav atrasti."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Vēl nav stila noteikumu."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nav pārbaudīta pakalpojumu sniedzēja"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive CV ir bezmaksas un atvērtā koda resurss. Ja tas jums ir palī
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ir atvērtā pirmkoda, uz privātumu vērsts un pilnīgi bezmaksas. Atšķirībā no citiem CV veidotājiem tas nerāda reklāmas, neizseko jūsu datus un neierobežo funkcijas ar maksas sienu."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Atiestatīt"
|
||||
msgid "Reset Password"
|
||||
msgstr "Atiestatīt paroli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Atiestatīt stilu"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Atiestatīt paroli"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumāņu"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotācija"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "noteikums"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "noteikumi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Veiciet pirmo analīzi, lai iegūtu rezultātu tabulu, stiprās puses un prioritizētus ieteikumus."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Teksta krāsa"
|
||||
msgid "Thai"
|
||||
msgstr "Taju"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Aģentam ir nepieciešama jūsu ieguldījums."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Tiek atjaunināta jūsu parole..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Tiek atjaunināts jūsu CV..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Augšupielādēt pielikumus"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Augšupielādēt attēlu"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Tālināt"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ml\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malayalam\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "ആപ്പ്"
|
||||
msgid "Application Statistics"
|
||||
msgstr "ആപ്ലിക്കേഷൻ സ്റ്റാറ്റിസ്റ്റിക്സ്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ബാധകമായ നിയമങ്ങൾ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "അറബിക്"
|
||||
@@ -438,6 +442,10 @@ msgstr "ഈ റെസ്യൂമെയെക്കുറിച്ച് എന
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ആസ്പെക്ട് റേഷ്യോ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ഫയലുകൾ അറ്റാച്ചുചെയ്യുക"
|
||||
@@ -649,6 +657,7 @@ msgstr "ചൈനീസ് (ട്രഡീഷണൽ)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ഒരു മോഡൽ തിരഞ്ഞെടുത്ത് ഡ്രാഫ്റ്റ് റെസ്യൂമെ ചെയ്യുക."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "സൈഡ്ബാറിൽ നിന്ന് നിലവിലു
|
||||
msgid "Circle"
|
||||
msgstr "വൃത്തം"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "വ്യക്തമാക്കുക"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "തിരഞ്ഞെടുപ്പ് മായ്ക്കുക"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ഇംപോർട്ട് ചെയ്യാൻ ഒരു ഫയൽ തിരഞ്ഞെടുക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക"
|
||||
@@ -953,6 +967,10 @@ msgstr "ഇഷ്ടാനുസൃത OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "കസ്റ്റം സെക്ഷനുകൾ"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "ഇഷ്ടാനുസൃത ശൈലികൾ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "ചെക്ക്"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "മറയ്ക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "റിസ്യൂമിലെ എല്ലാ ഐക്കണുകളും മറയ്ക്കുക"
|
||||
msgid "Hide Icons"
|
||||
msgstr "ഐക്കണുകൾ മറയ്ക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "ലിങ്ക് അടിവര മറയ്ക്കുക"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "റിസ്യൂമിലെ എല്ലാ ഐക്കണുകള
|
||||
msgid "Hide password"
|
||||
msgstr "പാസ്വേഡ് മറയ്ക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "വിഭാഗ ഐക്കണുകൾ മറയ്ക്കുക"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "ഉയർന്ന"
|
||||
msgid "Highlight"
|
||||
msgstr "ഹൈലൈറ്റ്"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "നിറം ഹൈലൈറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ഹിന്ദി"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "ഇതുവരെ പാസ്കീകൾ രജിസ്റ്റ
|
||||
msgid "No results found."
|
||||
msgstr "ഒരൊന്നുമാത്രം ഫലങ്ങളൊന്നും ലഭ്യമല്ല."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "ഇതുവരെ സ്റ്റൈൽ നിയമങ്ങളൊന്നുമില്ല."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "പരിശോധിച്ച ദാതാവില്ല."
|
||||
@@ -2623,6 +2657,10 @@ msgstr "റിയാക്ടീവ് റെസ്യൂമെ സൌജന്
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ഓപ്പൺ സോഴ്സും സ്വകാര്യത കേന്ദ്രീകൃതവുമായ, പൂർണ്ണമായും സൗജന്യമായൊരു ആപ്പാണ്. മറ്റ് റിസ്യൂം ബിൽഡറുകളെ അപേക്ഷിച്ച്, ഇത് പരസ്യങ്ങൾ കാണിക്കുകയോ, നിങ്ങളുടെ ഡാറ്റ ട്രാക്ക് ചെയ്യുകയോ, സവിശേഷതകൾ പേയ്വാളിന് പിന്നിൽ ഒതുക്കുകയോ ചെയ്യുന്നില്ല."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "റീസെറ്റ് ചെയ്യുക"
|
||||
msgid "Reset Password"
|
||||
msgstr "പാസ്വേഡ് റീസെറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "സ്റ്റൈൽ പുനഃസജ്ജമാക്കുക"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് റീസെറ്റ് ചെയ്യുക"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "റൊമാനിയൻ"
|
||||
msgid "Rotation"
|
||||
msgstr "ററോട്ടേഷൻ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "ഭരണം"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "നിയമങ്ങൾ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "നിങ്ങളുടെ ആദ്യ വിശകലനം നടത്തി ഒരു സ്കോർകാർഡ്, ശക്തികൾ, മുൻഗണനാ നിർദ്ദേശങ്ങൾ എന്നിവ നേടുക."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "ടെക്സ്റ്റ് നിറം"
|
||||
msgid "Thai"
|
||||
msgstr "തായ്"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ഏജന്റിന് നിങ്ങളുടെ അഭിപ്രായം ആവശ്യമാണ്."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "നിങ്ങളുടെ പാസ്വേഡ് അപ്ഡ
|
||||
msgid "Updating your resume..."
|
||||
msgstr "നിങ്ങളുടെ റിസ്യൂം അപ്ഡേറ്റ് ചെയ്യുന്നു..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "അറ്റാച്ചുമെന്റുകൾ അപ്ലോഡ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "ചിത്രം അപ്ലോഡ് ചെയ്യുക"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "സൂളു"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: mr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Marathi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "अॅप"
|
||||
msgid "Application Statistics"
|
||||
msgstr "अॅप्लिकेशन आकडेवारी"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू केलेले नियम"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "अरबी"
|
||||
@@ -438,6 +442,10 @@ msgstr "या रिझ्युमेबद्दल काहीही वि
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "प्रसर गुणोत्तर"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "फाईल्स जोडा"
|
||||
@@ -649,6 +657,7 @@ msgstr "चीनी (परंपरागत)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "मॉडेल आणि रिझ्युमेचा मसुदा निवडा."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "साइडबारमधून आधीपासून सुरू
|
||||
msgid "Circle"
|
||||
msgstr "गोलाकार"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "स्पष्ट"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "निवड साफ करा"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "इम्पोर्ट करण्यासाठी फाईल निवडण्यासाठी येथे क्लिक करा"
|
||||
@@ -953,6 +967,10 @@ msgstr "सानुकूल OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "सानुकूल विभाग"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "सानुकूल शैली"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "चेक"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "लपवा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "रेझ्युमेवरील सर्व आयकन्स लपवा"
|
||||
msgid "Hide Icons"
|
||||
msgstr "चिन्हे लपवा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "लिंक लपवा"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "रेझ्युमेवरील सर्व आयकन्स ल
|
||||
msgid "Hide password"
|
||||
msgstr "पासवर्ड लपवा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "विभाग चिन्हे लपवा"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "उच्च"
|
||||
msgid "Highlight"
|
||||
msgstr "हायलाइट"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "हायलाइट रंग"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "हिंदी"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "अद्याप कोणतीही पासकी नोंदव
|
||||
msgid "No results found."
|
||||
msgstr "कोणतेही परिणाम आढळले नाहीत."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "अद्याप शैलीचे नियम नाहीत."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "कोणताही तपासलेला प्रदाता नाही"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "रिॲक्टिव्ह रिझ्युमे मोफत आ
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume हे मुक्त-स्रोत, गोपनीयता-केंद्रित आणि पूर्णपणे मोफत आहे. इतर रेझ्युमे बिल्डर्सप्रमाणेच नाही, हे जाहिराती दाखवत नाही, तुमचा डेटा ट्रॅक करत नाही किंवा फिचर्स पेवॉलच्या मागे मर्यादित करत नाही."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "रीसेट करा"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रीसेट करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रीसेट करा"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "तुमचा पासवर्ड रीसेट करा"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "रोमानियन"
|
||||
msgid "Rotation"
|
||||
msgstr "रोटेशन"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "नियम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "नियम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "तुमचे पहिले विश्लेषण चालवा आणि स्कोरकार्ड, सामर्थ्ये आणि प्राधान्यक्रमाने सुचवलेल्या सूचना मिळवा."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "मजकुराचा रंग"
|
||||
msgid "Thai"
|
||||
msgstr "थाई"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "एजंटला तुमच्या माहितीची आवश्यकता आहे."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "तुमचा पासवर्ड अपडेट केला ज
|
||||
msgid "Updating your resume..."
|
||||
msgstr "तुमचा रेझ्युमे अपडेट केला जात आहे..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "संलग्नक अपलोड करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "चित्र अपलोड करा"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "बाहेर झूम करा"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "झुलू"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ms\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malay\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Apl"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistik Aplikasi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Peraturan yang Digunakan"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Bahasa Arab"
|
||||
@@ -438,6 +442,10 @@ msgstr "Tanya apa-apa sahaja tentang resume ini"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Nisbah Aspek"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Lampirkan fail"
|
||||
@@ -649,6 +657,7 @@ msgstr "Cina (Tradisional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Pilih model dan draf resume."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Pilih perbualan sedia ada daripada bar sisi atau mulakan thread berfokus
|
||||
msgid "Circle"
|
||||
msgstr "Bulatan"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Jelas"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Kosongkan pilihan"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik di sini untuk memilih fail untuk diimport"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth Tersuai"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Seksyen Tersuai"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Gaya Tersuai"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Czech"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Sembunyi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Sembunyikan semua ikon pada resume"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Sembunyikan Ikon"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Sembunyikan Garis Bawah Pautan"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Sembunyikan semua ikon pada resume"
|
||||
msgid "Hide password"
|
||||
msgstr "Sembunyikan kata laluan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Sembunyikan Ikon Bahagian"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Tinggi"
|
||||
msgid "Highlight"
|
||||
msgstr "Sorot"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Warna Serlahan"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Tiada kunci laluan yang didaftarkan lagi."
|
||||
msgid "No results found."
|
||||
msgstr "Tiada keputusan dijumpai."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Tiada peraturan gaya lagi."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Tiada pembekal yang diuji"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Resume Reaktif adalah percuma dan sumber terbuka. Jika ia telah membantu
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ialah sumber terbuka, berfokuskan privasi dan benar-benar percuma. Tidak seperti pembina resume yang lain, ia tidak memaparkan iklan, menjejak data anda atau mengehadkan ciri di sebalik dinding bayaran."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Tetapkan Semula"
|
||||
msgid "Reset Password"
|
||||
msgstr "Tetapkan Semula Kata Laluan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Tetapkan Semula Gaya"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Tetapkan semula kata laluan anda"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rom"
|
||||
msgid "Rotation"
|
||||
msgstr "Putaran"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "peraturan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "peraturan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Jalankan analisis pertama anda untuk mendapatkan kad skor, kekuatan, dan cadangan yang diutamakan."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Warna Teks"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Ejen memerlukan input anda."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Mengemas kini kata laluan anda..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Mengemas kini resume anda..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Muat naik lampiran"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Muat naik gambar"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zum keluar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ne\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Nepali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "एप"
|
||||
msgid "Application Statistics"
|
||||
msgstr "अनुप्रयोग तथ्याङ्क"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू नियमहरू"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "अरबी"
|
||||
@@ -438,6 +442,10 @@ msgstr "यो बायोडाटा बारे केहि सोध्
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात (Aspect Ratio)"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "फाइलहरू संलग्न गर्नुहोस्"
|
||||
@@ -649,6 +657,7 @@ msgstr "चिनियाँ (परम्परागत)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "एउटा मोडेल छान्नुहोस् र मस्यौदा पुनः सुरु गर्नुहोस्।"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "साइडबारबाट अवस्थित कुराका
|
||||
msgid "Circle"
|
||||
msgstr "वृत्त"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "स्पष्ट"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "चयन खाली गर्नुहोस्"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "आयात गर्न फाइल छान्न यहाँ क्लिक गर्नुहोस्"
|
||||
@@ -953,6 +967,10 @@ msgstr "अनुकूलित OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "अनुकूल (Custom) खण्डहरू"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "अनुकूलन शैलीहरू"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "चेक"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "ल्यুকाउनुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "बायोडाटाबाट सबै आइकनहरू लुकाउनुहोस्"
|
||||
msgid "Hide Icons"
|
||||
msgstr "आइकनहरू लुकाउनुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "लिङ्क अन्डरलाइन लुकाउनुहोस्"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "बायोडाटाबाट सबै आइकनहरू लु
|
||||
msgid "Hide password"
|
||||
msgstr "पासवर्ड लुकाउनुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "खण्ड आइकनहरू लुकाउनुहोस्"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "उच्च"
|
||||
msgid "Highlight"
|
||||
msgstr "हाइलाइट"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "हाइलाइट रङ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "हिन्दी"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "अहिलेसम्म कुनै पासकी दर्ता
|
||||
msgid "No results found."
|
||||
msgstr "कुनै परिणाम फेला परेन।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "अहिलेसम्म कुनै शैली नियमहरू छैनन्।"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "परीक्षण गरिएको कुनै प्रदायक छैन"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "प्रतिक्रियाशील रिजुमे नि:श
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume खुला-स्रोत, गोपनीयता-केन्द्रित र पूर्ण रूपमा निःशुल्क छ। अन्य बायोडाटा निर्माण गर्ने साधनहरूको विपरीत, यसले विज्ञापन देखाउँदैन, तपाईंको डाटा ट्र्याक गर्दैन, वा सुविधालाई भुक्तानी पछाडि थुन्न्दैन।"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "रिसेट गर्नुहोस्"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रिसेट गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रिसेट गर्नुहोस्"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "तपाईंको पासवर्ड रिसेट गर्नुहोस्"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "रुमानियन"
|
||||
msgid "Rotation"
|
||||
msgstr "घुमाउने कोण (Rotation)"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "नियम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "नियमहरू"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "स्कोरकार्ड, शक्तिहरू, र प्राथमिकता दिइएका सुझावहरू प्राप्त गर्न आफ्नो पहिलो विश्लेषण चलाउनुहोस्।"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "पाठ रङ"
|
||||
msgid "Thai"
|
||||
msgstr "थाइ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "एजेन्टलाई तपाईंको सुझाव चाहिन्छ।"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "तपाईंको पासवर्ड अद्यावधिक
|
||||
msgid "Updating your resume..."
|
||||
msgstr "तपाईंको बायोडाटा अद्यावधिक हुँदैछ..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "संलग्नकहरू अपलोड गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "तस्बिर अपलोड गर्नुहोस्"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "जूम आउट"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "जुलु"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Applicatiestatistieken"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Toegepaste regels"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
@@ -438,6 +442,10 @@ msgstr "Stel gerust al je vragen over dit cv."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Beeldverhouding"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Voeg bestanden toe"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinees (traditioneel)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Kies een model en stel een concept-cv op."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Kies een bestaand gesprek uit de zijbalk of start een nieuw discussieond
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Duidelijk"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Selectie wissen"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik hier om een bestand te selecteren om te importeren"
|
||||
@@ -953,6 +967,10 @@ msgstr "Aangepaste OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Aangepaste secties"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Aangepaste stijlen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tsjechisch"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Verbergen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Alle pictogrammen op het cv verbergen"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Pictogrammen verbergen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Link onderstrepen verbergen"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Alle pictogrammen op het cv verbergen"
|
||||
msgid "Hide password"
|
||||
msgstr "Wachtwoord verbergen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Sectiepictogrammen verbergen"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Hoog"
|
||||
msgid "Highlight"
|
||||
msgstr "Markeren"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Markeer de kleur"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Er zijn nog geen paskeys geregistreerd."
|
||||
msgid "No results found."
|
||||
msgstr "Geen resultaten gevonden."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Er zijn nog geen stijlregels."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Geen geteste provider"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume is gratis en open source. Als het je geholpen heeft, ove
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is open-source, privacygericht en volledig gratis. In tegenstelling tot andere cv-bouwers toont het geen advertenties, volgt het uw gegevens niet en beperkt het uw functies niet achter een betaalmuur."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Resetten"
|
||||
msgid "Reset Password"
|
||||
msgstr "Wachtwoord resetten"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stijl opnieuw instellen"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Reset uw wachtwoord"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Roemeens"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotatie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regels"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Voer uw eerste analyse uit om een scorekaart, sterke punten en geprioriteerde suggesties te krijgen."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Tekstkleur"
|
||||
msgid "Thai"
|
||||
msgstr "Thais"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "De agent heeft uw input nodig."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Uw wachtwoord wordt bijgewerkt..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Uw cv wordt bijgewerkt..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Bijlagen uploaden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Afbeelding uploaden"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Uitzoomen"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: no\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Applikasjonsstatistikk"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Anvendte regler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisk"
|
||||
@@ -438,6 +442,10 @@ msgstr "Spør om hva som helst om denne CV-en"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Størrelsesforhold"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Legg ved filer"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kinesisk (tradisjonell)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Velg en modell og et utkast til CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Velg en eksisterende samtale fra sidefeltet, eller start en ny utkastfok
|
||||
msgid "Circle"
|
||||
msgstr "Sirkel"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Tøm"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Fjern valg"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klikk her for å velge en fil å importere"
|
||||
@@ -953,6 +967,10 @@ msgstr "Egendefinert OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Tilpassede seksjoner"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Tilpassede stiler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tsjekkisk"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Skjul"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Skjul alle ikoner på CV-en"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Skjul ikoner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Skjul lenkeunderstrek"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Skjul alle ikoner på CV-en"
|
||||
msgid "Hide password"
|
||||
msgstr "Skjul passord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Skjul seksjonsikoner"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Høy"
|
||||
msgid "Highlight"
|
||||
msgstr "Fremhev"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Uthevingsfarge"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ingen passnøkler registrert ennå."
|
||||
msgid "No results found."
|
||||
msgstr "Ingen resultater funnet."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ingen stilregler ennå."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Ingen testet leverandør"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume er gratis og har åpen kildekode. Hvis det har hjulpet d
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume er åpen kildekode, personvernfokusert og helt gratis. I motsetning til andre CV-byggere viser den ikke annonser, sporer ikke dataene dine og begrenser ikke funksjoner bak en betalingsmur."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Tilbakestill"
|
||||
msgid "Reset Password"
|
||||
msgstr "Tilbakestill passord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Tilbakestill stil"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Tilbakestill passordet ditt"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumensk"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotasjon"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regler"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Kjør din første analyse for å få et poengkort, styrker og prioriterte forslag."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Tekstfarge"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agenten trenger din innspill."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Oppdaterer passordet ditt..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Oppdaterer CV-en din..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Last opp vedlegg"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Last opp bilde"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zoom ut"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: or\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Odia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "ଆପ୍"
|
||||
msgid "Application Statistics"
|
||||
msgstr "ଆପ୍ଲିକେସନ୍ ସଂଖ୍ୟାତ୍ମକ ତଥ୍ୟ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ଲାଗୁ ହୋଇଥିବା ନିୟମଗୁଡ଼ିକ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "ଆରବୀ"
|
||||
@@ -438,6 +442,10 @@ msgstr "ଏହି ରିଜ୍ୟୁମ୍ ବିଷୟରେ କିଛି ବ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ଆସ୍ପେକ୍ଟ ଅନୁପାତ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ଫାଇଲ୍ ସଂଲଗ୍ନ କରନ୍ତୁ"
|
||||
@@ -649,6 +657,7 @@ msgstr "ଚାଇନିଜ୍ (ପାରମ୍ପରିକ)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ଏକ ମଡେଲ୍ ବାଛନ୍ତୁ ଏବଂ ଡ୍ରାଫ୍ଟ ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ।"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "ସାଇଡବାରରୁ ଏକ ପୂର୍ବରୁ ଥିବା
|
||||
msgid "Circle"
|
||||
msgstr "ବୃତ୍ତ"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "ସଫା କରନ୍ତୁ"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ଚୟନ ଖାଲି କରନ୍ତୁ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ଆୟାତ କରିବା ପାଇଁ ଫାଇଲ୍ ଚୟନ କରିବାକୁ ଏଠାରେ କ୍ଲିକ୍ କରନ୍ତୁ"
|
||||
@@ -953,6 +967,10 @@ msgstr "କଷ୍ଟମ୍ OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "କଷ୍ଟମ୍ ବିଭାଗଗୁଡିକ"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "କଷ୍ଟମ୍ ଷ୍ଟାଇଲ୍ସ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "ଚେକ୍"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "ଲୁଚାନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "ରେଜ୍ୟୁମେର ସମସ୍ତ ଆଇକନ୍ ଲୁଚାନ୍ତୁ"
|
||||
msgid "Hide Icons"
|
||||
msgstr "ଚିତ୍ରସଂକେତଗୁଡିକୁ ଲୁଚାନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "ଲିଙ୍କ ଅଣ୍ଡରଲାଇନ୍ ଲୁଚାନ୍ତୁ"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "ରେଜ୍ୟୁମେର ସମସ୍ତ ଆଇକନ୍ ଲୁଚା
|
||||
msgid "Hide password"
|
||||
msgstr "ପାସୱାର୍ଡ ଲୁଚାନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "ବିଭାଗ ଆଇକନଗୁଡ଼ିକୁ ଲୁଚାନ୍ତୁ"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "ଉଚ୍ଚ"
|
||||
msgid "Highlight"
|
||||
msgstr "ହାଇଲାଇଟ୍"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "ହାଇଲାଇଟ୍ ରଙ୍ଗ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ହିନ୍ଦୀ"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ପାସକି ପଞ୍
|
||||
msgid "No results found."
|
||||
msgstr "କୌଣସି ଫଳାଫଳ ମିଳିଲା ନାହିଁ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ଷ୍ଟାଇଲ୍ ନିୟମ ନାହିଁ।"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "କୌଣସି ପରୀକ୍ଷିତ ପ୍ରଦାନକାରୀ ନାହାଁନ୍ତି"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "ପ୍ରତିକ୍ରିୟାଶୀଳ ରିଜ୍ୟୁମ୍ ମ
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ଖୋଲା‑ମୂଳ, ଗୋପନୀୟତା‑କେନ୍ଦ୍ରିତ ଏବଂ ସଂପୂର୍ଣ୍ଣ ଭାବରେ ନିଶୁଳ୍କ। ଅନ୍ୟ ରେଜ୍ୟୁମେ ବିଲ୍ଡରଗୁଡିକ ଭଳି ଏହା ବିଜ୍ଞାପନ ଦେଖାଏ ନାହିଁ, ଆପଣଙ୍କ ତଥ୍ୟକୁ ଟ୍ରାକ୍ କରେ ନାହିଁ, କିମ୍ବା ପେୱାଲ୍ ପଛରେ ବିଶେଷତାଗୁଡିକୁ ଆଟକାଇ ରଖେ ନାହିଁ।"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "ରିସେଟ୍ କରନ୍ତୁ"
|
||||
msgid "Reset Password"
|
||||
msgstr "ପାସୱାର୍ଡ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ଷ୍ଟାଇଲ୍ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "ରୋମାନିଆନ୍"
|
||||
msgid "Rotation"
|
||||
msgstr "ଘୁର୍ଣ୍ଣନ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "ନିୟମ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "ନିୟମ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "ସ୍କୋରକାର୍ଡ, ଶକ୍ତି ଏବଂ ପ୍ରାଥମିକତାଭିତ୍ତିକ ପରାମର୍ଶ ପାଇବା ପାଇଁ ଆପଣଙ୍କ ପ୍ରଥମ ବିଶ୍ଳେଷଣ ଚଲାନ୍ତୁ।"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "ପାଠ୍ୟ ରଙ୍ଗ"
|
||||
msgid "Thai"
|
||||
msgstr "ଥାଇ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ଏଜେଣ୍ଟଙ୍କୁ ଆପଣଙ୍କ ମତାମତ ଆବଶ୍ୟକ।"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ଅଦ୍ୟତନ ହେଉ
|
||||
msgid "Updating your resume..."
|
||||
msgstr "ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ଅଦ୍ୟତନ ହେଉଛି..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "ଆଟାଚମେଣ୍ଟ୍ ଅପଲୋଡ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "ଛବି ଅପଲୋଡ୍ କରନ୍ତୁ"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ଜୁଲୁ"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikacja"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statystyki aplikacji"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Zastosowane zasady"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabski"
|
||||
@@ -438,6 +442,10 @@ msgstr "Zapytaj o wszystko na temat tego CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcje obrazu"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Dołącz pliki"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chiński (tradycyjny)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Wybierz model i szkic CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Wybierz istniejącą konwersację z paska bocznego lub rozpocznij nowy w
|
||||
msgid "Circle"
|
||||
msgstr "Koło"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Wyczyść wybór"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknij tutaj, aby wybrać plik do importu"
|
||||
@@ -953,6 +967,10 @@ msgstr "Niestandardowy OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Sekcje niestandardowe"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Style niestandardowe"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Czeski"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ukryj"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ukryj wszystkie ikony w CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ukryj ikony"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ukryj podkreślenie linku"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ukryj wszystkie ikony w CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Proszę ukryć hasło"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Ukryj ikony sekcji"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Wysoki"
|
||||
msgid "Highlight"
|
||||
msgstr "Zakreślenie"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Podświetl kolor"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Nie zarejestrowano jeszcze żadnych kluczy dostępu."
|
||||
msgid "No results found."
|
||||
msgstr "Brak wyników."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Nie ma jeszcze reguł dotyczących stylu."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Brak sprawdzonego dostawcy"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume jest darmowy i ma otwarte oprogramowanie. Jeśli Ci pomo
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume jest open-source, skupione na prywatności i całkowicie darmowe. W przeciwieństwie do innych kreatorów CV nie wyświetla reklam, nie śledzi Twoich danych ani nie ukrywa funkcji za paywallem."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Zresetuj"
|
||||
msgid "Reset Password"
|
||||
msgstr "Zresetuj hasło"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Resetuj styl"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Zresetuj swoje hasło"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumuński"
|
||||
msgid "Rotation"
|
||||
msgstr "Obrót"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "reguła"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "zasady"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Proszę przeprowadzić pierwszą analizę, aby uzyskać kartę wyników, mocne strony i sugestie dotyczące priorytetów."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Kolor tekstu"
|
||||
msgid "Thai"
|
||||
msgstr "Tajski"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agent potrzebuje Twojej opinii."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Aktualizowanie hasła..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Aktualizowanie CV..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Prześlij załączniki"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Proszę przesłać zdjęcie"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Pomniejsz"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplicativo"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Estatísticas do aplicativo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regras Aplicadas"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
@@ -438,6 +442,10 @@ msgstr "Pergunte qualquer coisa sobre este currículo."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção da imagem"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Anexar arquivos"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinês (Tradicional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Escolha um modelo e um rascunho de currículo."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Escolha uma conversa existente na barra lateral ou inicie uma nova discu
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Limpo"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Limpar seleção"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Clique aqui para selecionar um arquivo para importar"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalizado"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Seções personalizadas"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Estilos personalizados"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tcheco"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ocultar todos os ícones no currículo"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ocultar ícones"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ocultar link sublinhado"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ocultar todos os ícones no currículo"
|
||||
msgid "Hide password"
|
||||
msgstr "Ocultar senha"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Ocultar ícones de seção"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Alta"
|
||||
msgid "Highlight"
|
||||
msgstr "Realce"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Cor de destaque"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ainda não há chaves de acesso registradas."
|
||||
msgid "No results found."
|
||||
msgstr "Nenhum resultado encontrado."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ainda não há regras de estilo."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nenhum fornecedor testado"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil,
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "O Reactive Resume é de código aberto, focado em privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, ele não exibe anúncios, não rastreia seus dados e não limita recursos atrás de um paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Redefinir"
|
||||
msgid "Reset Password"
|
||||
msgstr "Redefinir senha"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Redefinir estilo"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Redefinir a sua senha"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Romeno"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotação"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regra"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regras"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Faça sua primeira análise para obter um quadro de resultados, pontos fortes e sugestões priorizadas."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Cor do texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandês"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "O agente precisa da sua opinião."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Atualizando sua senha..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Atualizando seu currículo..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Anexar arquivos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Carregar imagem"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Diminuir zoom"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplicação"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Estatísticas da aplicação"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regras Aplicadas"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
@@ -438,6 +442,10 @@ msgstr "Pergunte qualquer coisa sobre este currículo."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Anexar ficheiros"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chinês (tradicional)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Escolha um modelo e um esboço de currículo."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Escolha uma conversa existente na barra lateral ou inicie uma nova discu
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Limpar seleção"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Clique aqui para selecionar um ficheiro para importar"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalizado"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Secções personalizadas"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Estilos personalizados"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Checo"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ocultar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ocultar todos os ícones no currículo"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ocultar ícones"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ocultar link sublinhado"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ocultar todos os ícones no currículo"
|
||||
msgid "Hide password"
|
||||
msgstr "Ocultar palavra-passe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Ocultar ícones de secção"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Elevado"
|
||||
msgid "Highlight"
|
||||
msgstr "Realce"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Cor de destaque"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ainda não há chaves de acesso registadas."
|
||||
msgid "No results found."
|
||||
msgstr "Nenhum resultado encontrado."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ainda não existem regras de estilo."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Nenhum fornecedor testado"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil,
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "O Reactive Resume é de código aberto, focado na privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, não mostra anúncios, não rastreia os seus dados nem limita funcionalidades atrás de um paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Repor"
|
||||
msgid "Reset Password"
|
||||
msgstr "Repor senha"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Redefinir estilo"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Repor a sua senha"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Romeno"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotação"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regra"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regras"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Execute a sua primeira análise para obter um quadro de pontuação, pontos fortes e sugestões prioritárias."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Cor do texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandês"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "O agente precisa da sua opinião."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "A atualizar a sua senha..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "A atualizar o seu currículo..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Anexar ficheiros"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Carregar imagem"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Afastar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ro\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:31\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Romanian\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplicație"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistici aplicație"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Reguli aplicate"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabă"
|
||||
@@ -438,6 +442,10 @@ msgstr "Întreabă orice despre acest CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Raport de aspect"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Atașați fișiere"
|
||||
@@ -649,6 +657,7 @@ msgstr "Chineză (tradițională)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Alegeți un model și o schiță de CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Alege o conversație existentă din bara laterală sau începe un nou fi
|
||||
msgid "Circle"
|
||||
msgstr "Cerc"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clar"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Ștergeți selecția"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Faceți clic aici pentru a selecta un fișier de importat"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth personalizat"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Secțiuni personalizate"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Stiluri personalizate"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Cehă"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ascunde"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ascunde toate iconițele de pe CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ascunde pictogramele"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ascunde sublinierea linkului"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ascunde toate iconițele de pe CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Ascundeți parola"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Ascundeți pictogramele secțiunii"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Înaltă"
|
||||
msgid "Highlight"
|
||||
msgstr "Evidențiere"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Culoare evidențiere"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Nicio cheie de acces înregistrată încă."
|
||||
msgid "No results found."
|
||||
msgstr "Nu s-a găsit niciun rezultat."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Încă nu există reguli de stil."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Niciun furnizor testat"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume este gratuit și open source. Dacă te-a ajutat, te rug
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume este open-source, axat pe confidențialitate și complet gratuit. Spre deosebire de alți constructori de CV-uri, nu afișează reclame, nu vă urmărește datele și nu limitează funcționalitățile în spatele unui paywall."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Resetează"
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetați parola"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Resetare stil"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Resetați-vă parola"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Română"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotire"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regulă"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "reguli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Efectuați prima analiză pentru a obține o fișă de evaluare, puncte forte și sugestii prioritizate."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Culoare text"
|
||||
msgid "Thai"
|
||||
msgstr "Thailandeză"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agentul are nevoie de contribuția dumneavoastră."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Se actualizează parola..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Se actualizează CV-ul..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Încărcați atașamente"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Încărcați imaginea"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Micșorează"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Приложение"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Статистика приложения"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Применяемые правила"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Арабский"
|
||||
@@ -438,6 +442,10 @@ msgstr "Задайте любой вопрос по поводу этого ре
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Соотношение сторон"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Прикрепить файлы"
|
||||
@@ -649,6 +657,7 @@ msgstr "Китайский (традиционный)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Выберите образец и черновик резюме."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Выберите существующую беседу на боково
|
||||
msgid "Circle"
|
||||
msgstr "Круг"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Clear"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Четкий выбор"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Нажмите здесь, чтобы выбрать файл для импорта"
|
||||
@@ -953,6 +967,10 @@ msgstr "Пользовательский OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Пользовательские разделы"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Пользовательские стили"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Чешский"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Скрыть"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Скрыть все иконки в резюме"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Скрыть значки"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Скрыть подчеркивание ссылки"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Скрыть все иконки в резюме"
|
||||
msgid "Hide password"
|
||||
msgstr "Скрыть пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Скрыть значки разделов"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Высокий"
|
||||
msgid "Highlight"
|
||||
msgstr "Подсветка"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Цвет выделения"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Хинди"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Паски пока не зарегистрированы."
|
||||
msgid "No results found."
|
||||
msgstr "Результатов не найдено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Пока нет никаких правил стиля."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Нет проверенного поставщика"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume — бесплатный проект с открыты
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume — это проект с открытым исходным кодом, ориентированный на конфиденциальность и полностью бесплатный. В отличие от других конструкторов резюме, он не показывает рекламу, не отслеживает ваши данные и не ограничивает функции платной подпиской."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Сброс"
|
||||
msgid "Reset Password"
|
||||
msgstr "Сбросить пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Сбросить стиль"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Сбросить пароль"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Румынский"
|
||||
msgid "Rotation"
|
||||
msgstr "Поворот"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "правило"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "правила"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Проведите свой первый анализ, чтобы получить оценочный лист, сильные стороны и приоритетные предложения."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Цвет текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тайский"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Агенту необходима ваша помощь."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Обновление пароля..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Обновление вашего резюме..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Загрузить вложения"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Загрузите картинку"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Уменьшить"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikácia"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Štatistiky aplikácie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Použité pravidlá"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabčina"
|
||||
@@ -438,6 +442,10 @@ msgstr "Opýtajte sa na čokoľvek ohľadom tohto životopisu"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Pomer strán"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Priložiť súbory"
|
||||
@@ -649,6 +657,7 @@ msgstr "Čínština (tradičná)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Vyberte si model a návrh životopisu."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Vyberte existujúcu konverzáciu z bočného panela alebo začnite nové
|
||||
msgid "Circle"
|
||||
msgstr "Kruh"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Jasné"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Vymazať výber"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknutím sem vyber súbor na import"
|
||||
@@ -953,6 +967,10 @@ msgstr "Vlastný OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Vlastné sekcie"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Vlastné štýly"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Skryť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Skryť všetky ikony v životopise"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Skryť ikony"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Skryť podčiarknutie odkazu"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Skryť všetky ikony v životopise"
|
||||
msgid "Hide password"
|
||||
msgstr "Skryť heslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Skryť ikony sekcií"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Vysoká"
|
||||
msgid "Highlight"
|
||||
msgstr "Zvýraznenie"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Farba zvýraznenia"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindčina"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Zatiaľ neboli zaregistrované žiadne pasové kľúče."
|
||||
msgid "No results found."
|
||||
msgstr "Nenašli sa žiadne výsledky."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Zatiaľ žiadne pravidlá štýlu."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Žiadny testovaný poskytovateľ"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume je bezplatný a má otvorený zdrojový kód. Ak vám po
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je open‑source, zamerané na súkromie a úplne zadarmo. Na rozdiel od iných nástrojov na tvorbu životopisov nezobrazuje reklamy, nesleduje tvoje dáta a neuzamyká funkcie za paywallom."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Resetovať"
|
||||
msgid "Reset Password"
|
||||
msgstr "Obnoviť heslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Obnoviť štýl"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Obnov svoje heslo"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumunčina"
|
||||
msgid "Rotation"
|
||||
msgstr "Otočenie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "pravidlo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "pravidlá"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Spustite prvú analýzu, aby ste získali hodnotiacu tabuľku, silné stránky a prioritné návrhy."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Farba textu"
|
||||
msgid "Thai"
|
||||
msgstr "Thajčina"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agent potrebuje váš názor."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Aktualizujem tvoje heslo..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Aktualizujem tvoj životopis..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Nahrať prílohy"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Nahrať obrázok"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Oddialiť"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikacija"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistika aplikacije"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Uporabljena pravila"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabščina"
|
||||
@@ -438,6 +442,10 @@ msgstr "Vprašajte karkoli o tem življenjepisu"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Razmerje stranic"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Priložite datoteke"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kitajščina (tradicionalna)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Izberite model in osnutek življenjepisa."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "V stranski vrstici izberite obstoječi pogovor ali začnite novo nit, os
|
||||
msgid "Circle"
|
||||
msgstr "Krog"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Jasno"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Počisti izbor"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknite tukaj za izbiro datoteke za uvoz"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth po meri"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Poljubni razdelki"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Slogi po meri"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Češčina"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Skrij"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Skrij vse ikone na življenjepisu"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Skrij ikone"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Skrij podčrtano povezavo"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Skrij vse ikone na življenjepisu"
|
||||
msgid "Hide password"
|
||||
msgstr "Skrijte geslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Skrij ikone razdelkov"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Visoka"
|
||||
msgid "Highlight"
|
||||
msgstr "Označi"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Barva označevanja"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindujščina"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Registriranih še ni nobenih ključev pasov."
|
||||
msgid "No results found."
|
||||
msgstr "Ni rezultatov."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Še ni slogovnih pravil."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Ni preizkušenega ponudnika"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume je brezplačen in odprtokoden. Če vam je pomagal, prosi
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je odprtokoden, osredotočen na zasebnost in popolnoma brezplačen. Za razliko od drugih graditeljev življenjepisov ne prikazuje oglasov, ne sledi vašim podatkom in ne omejuje funkcij z zidovi plačila."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Ponastavi"
|
||||
msgid "Reset Password"
|
||||
msgstr "Ponastavi geslo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Ponastavi slog"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Ponastavite svoje geslo"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "romunščina"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotacija"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "pravilo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "pravila"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Izvedite prvo analizo in pridobite preglednico, prednosti in prednostne predloge."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Barva besedila"
|
||||
msgid "Thai"
|
||||
msgstr "tajščina"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agent potrebuje vaše mnenje."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Posodabljanje vašega gesla..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Posodabljanje vašega življenjepisa..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Naloži priloge"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Naloži sliko"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Oddalji"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zuluščina"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sq\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Albanian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Aplikacioni"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Statistikat e aplikacionit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Rregullat e zbatuara"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisht"
|
||||
@@ -438,6 +442,10 @@ msgstr "Pyetni për çdo gjë në lidhje me këtë CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcioni"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Bashkëngjit skedarë"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kinezçe (Tradicionale)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Zgjidhni një model dhe rifilloni draftin."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Zgjidh një bisedë ekzistuese nga shiriti anësor ose fillo një temë
|
||||
msgid "Circle"
|
||||
msgstr "Rreth"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "E qartë"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Fshij përzgjedhjen"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klikoni këtu për të zgjedhur një skedar për importim"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth i personalizuar"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Rubrika të personalizuara"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Stilet e Personalizuara"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Çekisht"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Fshih"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Fshih të gjitha ikonat në CV"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Fshih ikonat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Fshih nënvizimin e lidhjes"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Fshih të gjitha ikonat në CV"
|
||||
msgid "Hide password"
|
||||
msgstr "Fshi fjalëkalimin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Fshih ikonat e seksionit"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "I lartë"
|
||||
msgid "Highlight"
|
||||
msgstr "Thekso"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Ngjyra e theksimit"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Indisht (Hindi)"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Ende nuk janë regjistruar asnjë fjalëkalim."
|
||||
msgid "No results found."
|
||||
msgstr "Nuk u gjetën rezultate."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Ende nuk ka rregulla stili."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Asnjë ofrues i testuar"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive CV është falas dhe me kod të hapur. Nëse ju ka ndihmuar, ju
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume është me burim të hapur, i përqendruar te privatësia dhe krejtësisht falas. Ndryshe nga ndërtuesit e tjerë të CV-ve, nuk shfaq reklama, nuk gjurmon të dhënat tuaja dhe nuk i kufizon veçoritë pas një muri pagese."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Rivendos"
|
||||
msgid "Reset Password"
|
||||
msgstr "Rivendos fjalëkalimin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Rivendos stilin"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Rivendosni fjalëkalimin tuaj"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumanisht"
|
||||
msgid "Rotation"
|
||||
msgstr "Rrotullimi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "sundoj"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "rregulla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Ekzekutoni analizën tuaj të parë për të marrë një kartë rezultatesh, pikat e forta dhe sugjerime të prioritizuara."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Ngjyra e tekstit"
|
||||
msgid "Thai"
|
||||
msgstr "Tajlandisht"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agjenti ka nevojë për kontributin tuaj."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Po përditësohet fjalëkalimi juaj..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Po përditësohet CV-ja juaj..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Ngarko bashkëngjitjet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Ngarko foton"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zvogëlo"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Апликација"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Статистика апликације"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Примењена правила"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Арапски"
|
||||
@@ -438,6 +442,10 @@ msgstr "Питајте било шта о овом животопису"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Однос стране"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Приложи датотеке"
|
||||
@@ -649,6 +657,7 @@ msgstr "Кинески (традиционални)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Изаберите модел и нацртајте животопис."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Изаберите постојећи разговор са бочне
|
||||
msgid "Circle"
|
||||
msgstr "Круг"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Јасно"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Обриши избор"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Кликните овде да изаберете датотеку за увоз"
|
||||
@@ -953,6 +967,10 @@ msgstr "Прилагођени OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Прилагођени одељци"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Прилагођени стилови"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Чешки"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Сакриј"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Сакриј све иконице на резимеу"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Сакриј иконе"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Сакриј подвучену везу"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Сакриј све иконице на резимеу"
|
||||
msgid "Hide password"
|
||||
msgstr "Сакриј лозинку"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Сакриј иконе одељака"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Високо"
|
||||
msgid "Highlight"
|
||||
msgstr "Истакни"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Боја истицања"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Хинди"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Још нису регистровани никакви кључеви
|
||||
msgid "No results found."
|
||||
msgstr "Нема резултата."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Још нема стилских правила."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Нема тестираног добављача"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Реактивни резиме је бесплатан и отворе
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Реактивни Резиме је отвореног кода, усмерен на приватност и потпуно бесплатан. За разлику од других алата за креирање резимеа, не приказује огласе, не прати ваше податке и не ограничава функције иза платног зида."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Ресетуј"
|
||||
msgid "Reset Password"
|
||||
msgstr "Ресетуј лозинку"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Ресетуј стил"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Ресетујте своју лозинку"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Румунски"
|
||||
msgid "Rotation"
|
||||
msgstr "Ротација"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "правило"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "правила"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Покрените прву анализу да бисте добили контролну таблу, снаге и приоритезоване предлоге."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Боја текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тајландски"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Агенту је потребан ваш допринос."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Ажурирање ваше лозинке..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Ажурирање вашег резимеа..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Отпреми прилоге"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Отпреми фотографију"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Умањи"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "App"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Applikationsstatistik"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Tillämpade regler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arabiska"
|
||||
@@ -438,6 +442,10 @@ msgstr "Fråga vad som helst om detta CV"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Bildförhållande"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Bifoga filer"
|
||||
@@ -649,6 +657,7 @@ msgstr "Kinesiska (traditionell)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Välj en modell och ett utkast till CV."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Välj en befintlig konversation från sidofältet eller starta en ny utk
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Klart"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Rensa valet"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klicka här för att välja en fil att importera"
|
||||
@@ -953,6 +967,10 @@ msgstr "Anpassad OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Anpassade avsnitt"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Anpassade stilar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tjeckiska"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Dölj"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Dölj alla ikoner på CV:t"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Dölj ikoner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Dölj länkunderstrykning"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Dölj alla ikoner på CV:t"
|
||||
msgid "Hide password"
|
||||
msgstr "Dölj lösenord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Dölj sektionsikoner"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Hög"
|
||||
msgid "Highlight"
|
||||
msgstr "Markera"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Markeringsfärg"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Inga nycklar registrerade ännu."
|
||||
msgid "No results found."
|
||||
msgstr "Inga resultat hittades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Inga stilregler än."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Ingen testad leverantör"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume är gratis och har öppen källkod. Om det har hjälpt d
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume har en öppen källkod, är integritetsfokuserat och helt gratis. Till skillnad från andra CV-byggare visas inga annonser, spårar dig inte och gömmer inte funktioner bakom en betalvägg."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Återställ"
|
||||
msgid "Reset Password"
|
||||
msgstr "Återställ lösenord"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Återställ stil"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Återställ ditt lösenord"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumänska"
|
||||
msgid "Rotation"
|
||||
msgstr "Rotation"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "regel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "regler"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Kör din första analys för att få ett scorecard, styrkor och prioriterade förslag."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Textfärg"
|
||||
msgid "Thai"
|
||||
msgstr "Thailändska"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agenten behöver din input."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Uppdaterar ditt lösenord..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Uppdaterar ditt CV..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Ladda upp bilagor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Ladda upp bild"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Zooma ut"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ta\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Tamil\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "செயலி"
|
||||
msgid "Application Statistics"
|
||||
msgstr "செயலி புள்ளிவிபரங்கள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "பயன்படுத்தப்பட்ட விதிகள்"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "அரபிக்"
|
||||
@@ -438,6 +442,10 @@ msgstr "இந்த சுயவிவரம் பற்றி எதையு
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ஒப்புத்திணைவு விகிதம்"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "கோப்புகளை இணைக்கவும்"
|
||||
@@ -649,6 +657,7 @@ msgstr "சீனம் (சம்பிரதாய)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ஒரு மாதிரியையும் சுயவிவர வரைவையும் தேர்வு செய்யவும்."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "பக்கப் பட்டியில் இருந்து ஏ
|
||||
msgid "Circle"
|
||||
msgstr "வட்டம்"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "தெளிவான"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "தெளிவான தேர்வு"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "இறக்குமதி செய்ய ஒரு கோப்பை தேர்ந்தெடுக்க இங்கே கிளிக் செய்யவும்"
|
||||
@@ -953,6 +967,10 @@ msgstr "தனிப்பயன் OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "தனிப்பயன் பகுதிகள்"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "தனிப்பயன் பாணிகள்"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "செக்"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "மறை"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "ரெஸ்யூமியில் உள்ள அனைத்து ஐகான்களையும் மறைக்கவும்"
|
||||
msgid "Hide Icons"
|
||||
msgstr "சின்னங்களை மறைக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "இணைப்பு அடிக்கோட்டை மறைக்கவும்"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "ரெஸ்யூமியில் உள்ள அனைத்து
|
||||
msgid "Hide password"
|
||||
msgstr "கடவுச்சொல்லை மறை"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "பிரிவு சின்னங்களை மறைக்கவும்"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "உயர்"
|
||||
msgid "Highlight"
|
||||
msgstr "ஹைலைட்"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "ஹைலைட் நிறம்"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ஹிந்தி"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "இன்னும் கடவுச்சொற்கள் எது
|
||||
msgid "No results found."
|
||||
msgstr "எந்த முடிவுகளும் கிடைக்கவில்லை."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "இன்னும் பாணி விதிகள் எதுவும் இல்லை."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "சோதிக்கப்பட்ட வழங்குநர் இல்லை"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "ரியாக்டிவ் ரெஸ்யூம் இலவசம
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume திறந்த மூலமாகவும், தனியுரிமை மீது கவனம் செலுத்தியதாகவும், முற்றிலும் இலவசமாகவும் உள்ளது. மற்ற ரெஸ்யூம் பில்டர்களைப் போல் இது விளம்பரங்களை காட்டாது, உங்கள் தரவை கண்காணிக்காது, அல்லது அம்சங்களை கட்டண சுவருக்கு பின்னால் பூட்டாது."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "மீட்டமை"
|
||||
msgid "Reset Password"
|
||||
msgstr "கடவுச்சொல்லை மீட்டமைக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "பாணியை மீட்டமைக்கவும்"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "உங்கள் கடவுச்சொல்லை மீட்டமைக்கவும்"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "ரோமேனியன்"
|
||||
msgid "Rotation"
|
||||
msgstr "சுழற்சி"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "விதி"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "விதிகள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "மதிப்பெண் அட்டை, பலங்கள் மற்றும் முன்னுரிமைப்படுத்தப்பட்ட பரிந்துரைகளைப் பெற உங்கள் முதல் பகுப்பாய்வை இயக்கவும்."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "எழுத்து நிறம்"
|
||||
msgid "Thai"
|
||||
msgstr "தாய்"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "முகவருக்கு உங்கள் கருத்து தேவைப்படுகிறது."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "உங்கள் கடவுச்சொல்லை புதுப
|
||||
msgid "Updating your resume..."
|
||||
msgstr "உங்கள் ரெஸ்யூமியை புதுப்பித்து கொண்டிருக்கிறது..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "இணைப்புகளைப் பதிவேற்றவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "படத்தைப் பதிவேற்றவும்"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "சிறிதாக்கு"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ஜூலு"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: te\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "యాప్"
|
||||
msgid "Application Statistics"
|
||||
msgstr "యాప్ గణాంకాలు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "వర్తింపజేసిన నియమాలు"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "అరబిక్"
|
||||
@@ -438,6 +442,10 @@ msgstr "ఈ రెజ్యూమె గురించి ఏమైనా అ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "కారక నిష్పత్తి"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "ఫైళ్లను జతచేయండి"
|
||||
@@ -649,6 +657,7 @@ msgstr "చైనీస్ (సాంప్రదాయ)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "ఒక నమూనా మరియు రెజ్యూమె ముసాయిదాను ఎంచుకోండి."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "సైడ్బార్ నుండి ఇప్పటికే ఉ
|
||||
msgid "Circle"
|
||||
msgstr "వృత్తం"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "తొలగించు"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "స్పష్టమైన ఎంపిక"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ఇంపోర్ట్ చేయడానికి ఫైల్ ను ఎంచుకోవడానికి ఇక్కడ క్లిక్ చేయండి"
|
||||
@@ -953,6 +967,10 @@ msgstr "కస్టమ్ OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "కస్టమ్ విభాగాలు"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "కస్టమ్ స్టైల్స్"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "చెక్"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "హైడ్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "జీవన చరిత్రపై అన్ని చిహ్నాలను దాచండి"
|
||||
msgid "Hide Icons"
|
||||
msgstr "చిహ్నాలను దాచండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "లింక్ అండర్లైన్ను దాచండి"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "జీవన చరిత్రపై అన్ని చిహ్నా
|
||||
msgid "Hide password"
|
||||
msgstr "పాస్వర్డ్ దాచు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "విభాగం చిహ్నాలను దాచండి"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "అధిక"
|
||||
msgid "Highlight"
|
||||
msgstr "హైలైట్"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "హైలైట్ రంగు"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "హిందీ"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "ఇంకా పాస్కీలు నమోదు కాలేద
|
||||
msgid "No results found."
|
||||
msgstr "ఏ ఫలితాలు లభించలేదు."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "ఇంకా శైలి నియమాలు ఏవీ లేవు."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "పరీక్షించిన ప్రొవైడర్ లేదు"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "రియాక్టివ్ రెజ్యూమ్ ఉచితం
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ఓపెన్సోర్స్, గోప్యతపై దృష్టి సారించినది మరియు పూర్తిగా ఉచితం. ఇతర జీవన చరిత్ర తయారీదార్ల వలె ప్రకటనలను చూపించదు, మీ డేటాను ట్రాక్ చేయదు, లేదా ఫీచర్లను వాలుతో పరిమితం చేయదు."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "రీసెట్ చేయండి"
|
||||
msgid "Reset Password"
|
||||
msgstr "పాస్వర్డ్ రీసెట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "శైలిని రీసెట్ చేయండి"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "మీ పాస్వర్డ్ను రీసెట్ చేయండి"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "రోమేనియన్"
|
||||
msgid "Rotation"
|
||||
msgstr "రోటేషన్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "నియమం"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "నియమాలు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "స్కోర్కార్డ్, బలాలు మరియు ప్రాధాన్యతా సూచనలను పొందడానికి మీ మొదటి విశ్లేషణను అమలు చేయండి."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "టెక్స్ట్ కలర్"
|
||||
msgid "Thai"
|
||||
msgstr "థాయ్"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ఏజెంట్కు మీ సమాచారం అవసరం."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "మీ పాస్వర్డ్ను నవీకరిస్
|
||||
msgid "Updating your resume..."
|
||||
msgstr "మీ రిజ్యూమ్ను నవీకరిస్తోంది..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "జోడింపులను అప్లోడ్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "చిత్రాన్ని అప్లోడ్ చేయండి"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "జూమ్ అవుట్ చేయండి"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "జులు"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: th\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "แอป"
|
||||
msgid "Application Statistics"
|
||||
msgstr "สถิติของแอปพลิเคชัน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "กฎที่ใช้"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "อารบิก"
|
||||
@@ -438,6 +442,10 @@ msgstr "สอบถามอะไรก็ได้เกี่ยวกับ
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "อัตราส่วนภาพ"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "แนบไฟล์"
|
||||
@@ -649,6 +657,7 @@ msgstr "จีน (ตัวเต็ม)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "เลือกแบบและร่างประวัติย่อ"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "เลือกบทสนทนาที่มีอยู่แล้
|
||||
msgid "Circle"
|
||||
msgstr "วงกลม"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "ชัดเจน"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "การเลือกที่ชัดเจน"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "คลิกที่นี่เพื่อเลือกไฟล์ที่จะนำเข้า"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth แบบกำหนดเอง"
|
||||
msgid "Custom Sections"
|
||||
msgstr "ส่วนที่กำหนดเอง"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "สไตล์ที่กำหนดเอง"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "เช็ก"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "ซ่อน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "ซ่อนไอคอนทั้งหมดในเรซูเม่"
|
||||
msgid "Hide Icons"
|
||||
msgstr "ซ่อนไอคอน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "ซ่อนเส้นขีดใต้ลิงก์"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "ซ่อนไอคอนทั้งหมดในเรซูเม
|
||||
msgid "Hide password"
|
||||
msgstr "ซ่อนรหัสผ่าน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "ซ่อนไอคอนส่วนต่างๆ"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "สูง"
|
||||
msgid "Highlight"
|
||||
msgstr "ไฮไลต์"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "สีไฮไลท์"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "ฮินดี"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "ยังไม่มีพาสคีย์ที่ลงทะเบ
|
||||
msgid "No results found."
|
||||
msgstr "ไม่พบผลลัพธ์"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "ยังไม่มีกฎเกณฑ์ด้านสไตล์ใดๆ"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "ไม่มีผู้ให้บริการที่ผ่านการทดสอบ"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume เป็นซอฟต์แวร์ฟรีแล
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume เป็นโอเพ่นซอร์ส เน้นความเป็นส่วนตัว และฟรีอย่างสมบูรณ์ แตกต่างจากเครื่องมือสร้างเรซูเม่อื่น ๆ ไม่มีโฆษณา ไม่ติดตามข้อมูลของคุณ หรือจำกัดฟีเจอร์หลังระบบจ่ายเงิน"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "รีเซ็ต"
|
||||
msgid "Reset Password"
|
||||
msgstr "รีเซ็ตรหัสผ่าน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "รีเซ็ตสไตล์"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "รีเซ็ตรหัสผ่านของคุณ"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "โรมาเนีย"
|
||||
msgid "Rotation"
|
||||
msgstr "การหมุน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "กฎ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "กฎ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "ดำเนินการวิเคราะห์ครั้งแรกของคุณเพื่อรับสกอร์การ์ด จุดแข็ง และข้อเสนอแนะที่จัดลำดับความสำคัญ"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "สีตัวอักษร"
|
||||
msgid "Thai"
|
||||
msgstr "ไทย"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "ตัวแทนต้องการข้อมูลจากคุณ"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "กำลังอัปเดตรหัสผ่านของคุ
|
||||
msgid "Updating your resume..."
|
||||
msgstr "กำลังอัปเดตประวัติย่อของคุณ..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "อัปโหลดไฟล์แนบ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "อัปโหลดรูปภาพ"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "ซูมออก"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ซูลู"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Uygulama"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Uygulama İstatistikleri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Uygulanan Kurallar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arapça"
|
||||
@@ -438,6 +442,10 @@ msgstr "Bu özgeçmişle ilgili her şeyi sorabilirsiniz."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "En/Boy Oranı"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Dosyaları ekleyin"
|
||||
@@ -649,6 +657,7 @@ msgstr "Çince (Geleneksel)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Bir model ve özgeçmiş taslağı seçin."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Yan menüden mevcut bir konuşmayı seçin veya taslak odaklı yeni bir
|
||||
msgid "Circle"
|
||||
msgstr "Daire"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Temiz"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Seçimi temizle"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "İçe aktarmak için bir dosya seçmek üzere buraya tıklayın"
|
||||
@@ -953,6 +967,10 @@ msgstr "Özel OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Özel Bölümler"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Özel Stiller"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Çekçe"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Gizle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Özgeçmişteki tüm simgeleri gizle"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Simgeleri Gizle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Bağlantının altını çizili kısmını gizle"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Özgeçmişteki tüm simgeleri gizle"
|
||||
msgid "Hide password"
|
||||
msgstr "Şifreyi gizle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Bölüm Simgelerini Gizle"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Yüksek"
|
||||
msgid "Highlight"
|
||||
msgstr "Vurgula"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Vurgu Rengi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hintçe"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Henüz kayıtlı geçiş anahtarı yok."
|
||||
msgid "No results found."
|
||||
msgstr "Hiçbir sonuç bulunamadı."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Henüz stil kuralları yok."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Test edilmiş sağlayıcı yok."
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume ücretsiz ve açık kaynaklıdır. Eğer size yardımcı
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Özgeçmiş açık kaynaklı, gizliliğe önem veren ve tamamen ücretsizdir. Diğer özgeçmiş oluşturuculardan farklı olarak reklam göstermez, verilerinizi takip etmez veya özelliklerinizi bir ödeme duvarının arkasına gizlemez."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Sıfırla"
|
||||
msgid "Reset Password"
|
||||
msgstr "Şifreyi Sıfırla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Stili Sıfırla"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Şifrenizi sıfırlayın"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumence"
|
||||
msgid "Rotation"
|
||||
msgstr "Döndürme"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "kural"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "tüzük"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Bir puan kartı, güçlü yönler ve önceliklendirilmiş öneriler elde etmek için ilk analizinizi çalıştırın."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Metin Rengi"
|
||||
msgid "Thai"
|
||||
msgstr "Tayca"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Temsilcinin sizin görüşünüze ihtiyacı var."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Şifreniz güncelleniyor..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Özgeçmişiniz güncelleniyor..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Ekleri yükle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Resim yükle"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Uzaklaştır"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Додаток"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Статистика заявок"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Застосовані правила"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Арабська"
|
||||
@@ -438,6 +442,10 @@ msgstr "Запитайте що завгодно щодо цього резюм
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Пропорції"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Додати файли"
|
||||
@@ -649,6 +657,7 @@ msgstr "Китайська (традиційна)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Виберіть модель та чернетку резюме."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Виберіть існуючу розмову на бічній пан
|
||||
msgid "Circle"
|
||||
msgstr "Кругле"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Чисто"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Очистити вибір"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Натисніть тут, щоб вибрати файл для імпорту"
|
||||
@@ -953,6 +967,10 @@ msgstr "Користувацький OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Користувацькі розділи"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Власні стилі"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Чеська"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Приховати"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Сховати всі іконки на резюме"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Приховати значки"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Приховати посилання Підкреслення"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Сховати всі іконки на резюме"
|
||||
msgid "Hide password"
|
||||
msgstr "Приховати пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Приховати значки розділів"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Високий"
|
||||
msgid "Highlight"
|
||||
msgstr "Виділити"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Колір виділення"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Гінді"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Поки що не зареєстровано жодного парол
|
||||
msgid "No results found."
|
||||
msgstr "Результатів не знайдено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Поки що немає правил стилю."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Немає перевіреного постачальника"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume — безкоштовний ресурс з відкр
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume є open-source, орієнтована на приватність і повністю безкоштовна. На відміну від інших редакторів резюме, вона не показує рекламу, не відстежує ваші дані і не обмежує функції за оплатою."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Скинути"
|
||||
msgid "Reset Password"
|
||||
msgstr "Скинути пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Скинути стиль"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Скинути пароль"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Румунська"
|
||||
msgid "Rotation"
|
||||
msgstr "Обертання"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "правило"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "правила"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Проведіть перший аналіз, щоб отримати оціночну таблицю, сильні сторони та пріоритетні пропозиції."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Колір тексту"
|
||||
msgid "Thai"
|
||||
msgstr "Тайська"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Агенту потрібна ваша думка."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Оновлення пароля..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Оновлення резюме..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Завантажити вкладення"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Завантажити зображення"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Зменшити"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uz\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Uzbek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Ilova"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Ilova statistikasi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Amaliy qoidalar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Arab tili"
|
||||
@@ -438,6 +442,10 @@ msgstr "Ushbu rezyume haqida biron narsa so'rang"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tomonlar nisbati"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Fayllarni biriktirish"
|
||||
@@ -649,6 +657,7 @@ msgstr "Xitoy (An’anaviy)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Modelni tanlang va qoralamani rezyume qiling."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Yon paneldan mavjud suhbatni tanlang yoki qoralamaga yo'naltirilgan yang
|
||||
msgid "Circle"
|
||||
msgstr "Doira"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Tiniq"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Tanlovni tozalash"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Import qilish uchun faylni tanlash uchun shu yerni bosing"
|
||||
@@ -953,6 +967,10 @@ msgstr "Moslashtirilgan OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Maxsus boʻlimlar"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Maxsus uslublar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Chex tili"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Yashirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Rezumedagi barcha ikonkalarni yashirish"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Belgilarni yashirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Havola ostiga chizilgan chiziqni yashirish"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Rezumedagi barcha ikonkalarni yashirish"
|
||||
msgid "Hide password"
|
||||
msgstr "Parolni yashirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Bo'lim piktogrammalarini yashirish"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Yuqori"
|
||||
msgid "Highlight"
|
||||
msgstr "Ajratib ko‘rsatish"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Belgilash rangi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Hind tili"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Hali hech qanday kirish kalitlari ro'yxatdan o'tmagan."
|
||||
msgid "No results found."
|
||||
msgstr "Hech qanday natija topilmadi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Hali uslub qoidalari yo'q."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Sinovdan o'tgan provayder yo'q"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume bepul va ochiq kodli. Agar u sizga yordam bergan bo'lsa,
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ochiq manbali, maxfiylikka yo'naltirilgan va butunlay bepul. Boshqa rezume tuzuvchilardan farqli o'laroq, u reklamalarni ko'rsatmaydi, ma'lumotlaringizni kuzatmaydi yoki funksiyalarni to'lov devori ortida cheklamaydi."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Tiklash"
|
||||
msgid "Reset Password"
|
||||
msgstr "Parolni tiklash"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Uslubni tiklash"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Parolingizni tiklang"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumin tili"
|
||||
msgid "Rotation"
|
||||
msgstr "Aylantirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "qoida"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "qoidalar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Birinchi tahlilingizni ishga tushiring va ballar jadvali, kuchli tomonlar hamda ustuvor tavsiyalarni oling."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Matn rangi"
|
||||
msgid "Thai"
|
||||
msgstr "Tay tili"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Agent sizning fikringizni bilishi kerak."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Parolingiz yangilanmoqda..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Rezyume yangilanmoqda..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Qo'shimchalarni yuklash"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Rasmni yuklang"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Kichraytirish"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "Ứng dụng"
|
||||
msgid "Application Statistics"
|
||||
msgstr "Thống kê ứng dụng"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Quy tắc áp dụng"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "Tiếng Ả Rập"
|
||||
@@ -438,6 +442,10 @@ msgstr "Hãy hỏi bất cứ điều gì về sơ yếu lý lịch này."
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tỷ lệ khung hình"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "Đính kèm tệp"
|
||||
@@ -649,6 +657,7 @@ msgstr "Tiếng Trung (Phồn thể)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "Chọn một mẫu và soạn thảo bản nháp sơ yếu lý lịch."
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "Chọn một cuộc hội thoại hiện có từ thanh bên hoặc bắ
|
||||
msgid "Circle"
|
||||
msgstr "Vòng tròn"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "Xóa"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Xóa lựa chọn"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Nhấn vào đây để chọn file cần nhập khẩu"
|
||||
@@ -953,6 +967,10 @@ msgstr "OAuth tùy chỉnh"
|
||||
msgid "Custom Sections"
|
||||
msgstr "Các mục tùy chỉnh"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "Kiểu dáng tùy chỉnh"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "Tiếng Séc"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "Ẩn đi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "Ẩn tất cả biểu tượng trên hồ sơ"
|
||||
msgid "Hide Icons"
|
||||
msgstr "Ẩn biểu tượng"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "Ẩn gạch chân liên kết"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "Ẩn tất cả biểu tượng trên hồ sơ"
|
||||
msgid "Hide password"
|
||||
msgstr "Ẩn mật khẩu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "Ẩn biểu tượng phần"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "Cao"
|
||||
msgid "Highlight"
|
||||
msgstr "Làm nổi bật"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "Màu nổi bật"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "Tiếng Hindi"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "Chưa có khóa truy cập nào được đăng ký."
|
||||
msgid "No results found."
|
||||
msgstr "Không tìm thấy kết quả."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "Chưa có quy tắc về phong cách nào cả."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "Không có nhà cung cấp nào được kiểm thử"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume là phần mềm mã nguồn mở miễn phí. Nếu th
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Resume Phản Ứng là mã nguồn mở, tập trung vào quyền riêng tư và hoàn toàn miễn phí. Khác với các trình tạo hồ sơ khác, nó không hiển thị quảng cáo, không theo dõi dữ liệu của bạn, và không giới hạn tính năng đằng sau tường phí."
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "Thiết lập lại"
|
||||
msgid "Reset Password"
|
||||
msgstr "Đặt mật khẩu mới"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Đặt lại kiểu"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "Đặt lại mật khẩu"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "Rumani"
|
||||
msgid "Rotation"
|
||||
msgstr "Xoay"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "luật lệ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "quy tắc"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "Hãy thực hiện phân tích đầu tiên để nhận được bảng điểm, điểm mạnh và các đề xuất được sắp xếp theo mức độ ưu tiên."
|
||||
@@ -3277,6 +3327,10 @@ msgstr "Màu chữ"
|
||||
msgid "Thai"
|
||||
msgstr "Thái"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "Nhân viên cần thông tin đầu vào từ bạn."
|
||||
@@ -3708,6 +3762,10 @@ msgstr "Đang cập nhật mật khẩu của bạn..."
|
||||
msgid "Updating your resume..."
|
||||
msgstr "Đang cập nhật resume của bạn..."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "Tải lên tệp đính kèm"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "Tải ảnh lên"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "Thu nhỏ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-05 21:35\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "应用"
|
||||
msgid "Application Statistics"
|
||||
msgstr "应用统计数据"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "应用规则"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "阿拉伯语"
|
||||
@@ -438,6 +442,10 @@ msgstr "关于这份简历,有什么想问的吗?"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "宽高比"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "附加文件"
|
||||
@@ -649,6 +657,7 @@ msgstr "中文(繁体)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "选择一款简历模板并撰写简历草稿。"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "从侧边栏选择现有对话,或发起新的以草稿为中心的讨
|
||||
msgid "Circle"
|
||||
msgstr "圆形"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "清晰"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "清除选择"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "点击此处选择要导入的文件"
|
||||
@@ -953,6 +967,10 @@ msgstr "自定义 OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "自定义章节"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "自定义样式"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "捷克语"
|
||||
@@ -1100,7 +1118,7 @@ msgstr "Discord 频道"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "解雇"
|
||||
msgstr "忽略"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
@@ -1113,7 +1131,7 @@ msgstr "没有账户?<0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "捐"
|
||||
msgstr "捐赠"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "隐藏"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "在简历中隐藏所有图标"
|
||||
msgid "Hide Icons"
|
||||
msgstr "隐藏图标"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "隐藏链接下划线"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "在简历中隐藏所有图标"
|
||||
msgid "Hide password"
|
||||
msgstr "隐藏密码"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "隐藏版块图标"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "高"
|
||||
msgid "Highlight"
|
||||
msgstr "高亮"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "高亮颜色"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "印地语"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "尚未登记通行钥匙。"
|
||||
msgid "No results found."
|
||||
msgstr "没找到结果。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "目前还没有风格规则。"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "没有经过测试的提供商"
|
||||
@@ -2617,12 +2651,16 @@ msgstr "Reactive Resume 是一款免费开源的简历生成器,可简化创
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume 是免费开源的。如果它对您有所帮助,请考虑捐赠。"
|
||||
msgstr "Reactive Resume 是一个免授权费并且代码开源的项目。如果它对您有所帮助,可向我们捐赠以变得更好。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 是开源、注重隐私且完全免费的。与其他简历生成器不同,它不会展示广告、跟踪你的数据,也不会把功能锁在付费墙后面。"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "重置"
|
||||
msgid "Reset Password"
|
||||
msgstr "重置密码"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "重置样式"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "重置密码"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "罗马尼亚语"
|
||||
msgid "Rotation"
|
||||
msgstr "旋转"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "规则"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "规则"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "进行首次分析,以获得记分卡、优势和优先建议。"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "文本颜色"
|
||||
msgid "Thai"
|
||||
msgstr "泰语"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "经纪人需要您的意见。"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "正在更新你的密码…"
|
||||
msgid "Updating your resume..."
|
||||
msgstr "正在更新你的简历…"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "上传附件"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "上传图片"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "缩小"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "祖鲁语"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-21 07:54\n"
|
||||
"PO-Revision-Date: 2026-06-01 13:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -373,6 +373,10 @@ msgstr "應用程式"
|
||||
msgid "Application Statistics"
|
||||
msgstr "應用程式統計資料"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "應用規則"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr "阿拉伯文"
|
||||
@@ -438,6 +442,10 @@ msgstr "關於這份履歷,有什麼想問的嗎?"
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "顯示比例"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr "附加文件"
|
||||
@@ -649,6 +657,7 @@ msgstr "中文(繁體)"
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr "選擇一款履歷表範本並撰寫履歷草稿。"
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -666,11 +675,16 @@ msgstr "從側邊欄選擇現有對話,或發起新的以草稿為中心的討
|
||||
msgid "Circle"
|
||||
msgstr "圓形"
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "清除選擇"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "按這裡選擇要匯入的檔案"
|
||||
@@ -953,6 +967,10 @@ msgstr "自訂 OAuth"
|
||||
msgid "Custom Sections"
|
||||
msgstr "自訂段落"
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr "自訂樣式"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr "捷克語"
|
||||
@@ -1733,8 +1751,12 @@ msgid "Hide"
|
||||
msgstr "隱藏"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgstr "隱藏履歷中的所有圖示"
|
||||
msgid "Hide Icons"
|
||||
msgstr "隱藏圖示"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr "隱藏連結下劃線"
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
#. Accessible label for button that hides password in reset-password form
|
||||
@@ -1754,6 +1776,10 @@ msgstr "隱藏履歷中的所有圖示"
|
||||
msgid "Hide password"
|
||||
msgstr "隱藏密碼"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr "隱藏版塊圖標"
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1763,6 +1789,10 @@ msgstr "高"
|
||||
msgid "Highlight"
|
||||
msgstr "螢光標記"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr "高亮顏色"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr "印地語"
|
||||
@@ -2247,6 +2277,10 @@ msgstr "尚未註冊通行鑰匙。"
|
||||
msgid "No results found."
|
||||
msgstr "找不到相符的結果。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr "目前還沒有風格規則。"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr "沒有經過測試的提供者"
|
||||
@@ -2623,6 +2657,10 @@ msgstr "Reactive Resume 是免費開源的。如果它對您有所幫助,請
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 是開放原始碼、重視隱私且完全免費的工具。與其他履歷建立工具不同,它不會顯示廣告、不追蹤您的資料,也不會把功能鎖在付費牆後面。"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2714,6 +2752,10 @@ msgstr "重置"
|
||||
msgid "Reset Password"
|
||||
msgstr "重設密碼"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "重設樣式"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr "重設您的密碼"
|
||||
@@ -2790,6 +2832,14 @@ msgstr "羅馬尼亞語"
|
||||
msgid "Rotation"
|
||||
msgstr "旋轉"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr "規則"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr "規則"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr "執行您的第一次分析,以獲得計分卡、優勢和優先建議。"
|
||||
@@ -3277,6 +3327,10 @@ msgstr "字型色彩"
|
||||
msgid "Thai"
|
||||
msgstr "泰文"
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr "經紀人需要您的意見。"
|
||||
@@ -3708,6 +3762,10 @@ msgstr "正在更新您的密碼…"
|
||||
msgid "Updating your resume..."
|
||||
msgstr "正在更新您的履歷…"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr "上傳附件"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr "上傳圖片"
|
||||
@@ -3959,4 +4017,3 @@ msgstr "縮小"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "祖魯語"
|
||||
|
||||
|
||||
@@ -368,6 +368,10 @@ msgstr ""
|
||||
msgid "Application Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
@@ -433,6 +437,10 @@ msgstr ""
|
||||
msgid "Aspect Ratio"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Attach files"
|
||||
msgstr ""
|
||||
@@ -644,6 +652,7 @@ msgstr ""
|
||||
msgid "Choose a model and resume draft."
|
||||
msgstr ""
|
||||
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#. Preset or custom shade refer to the color picker
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Choose a preset or custom shade."
|
||||
@@ -661,11 +670,16 @@ msgstr ""
|
||||
msgid "Circle"
|
||||
msgstr ""
|
||||
|
||||
#. Clear the highlight color
|
||||
#. Clear the text color
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr ""
|
||||
@@ -948,6 +962,10 @@ msgstr ""
|
||||
msgid "Custom Sections"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Custom Styles"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
@@ -1728,7 +1746,11 @@ msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide all icons on the resume"
|
||||
msgid "Hide Icons"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Link Underline"
|
||||
msgstr ""
|
||||
|
||||
#. Accessible label for button that hides password in registration form
|
||||
@@ -1749,6 +1771,10 @@ msgstr ""
|
||||
msgid "Hide password"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Hide Section Icons"
|
||||
msgstr ""
|
||||
|
||||
#. Impact severity label in resume analysis suggestion card
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "High"
|
||||
@@ -1758,6 +1784,10 @@ msgstr ""
|
||||
msgid "Highlight"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Highlight Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Hindi"
|
||||
msgstr ""
|
||||
@@ -2242,6 +2272,10 @@ msgstr ""
|
||||
msgid "No results found."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "No style rules yet."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "No tested provider"
|
||||
msgstr ""
|
||||
@@ -2618,6 +2652,10 @@ msgstr ""
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
|
||||
|
||||
#. App version label in footer; includes semantic version variable
|
||||
#: src/components/ui/copyright.tsx
|
||||
msgid "Reactive Resume v{__APP_VERSION__}"
|
||||
@@ -2709,6 +2747,10 @@ msgstr ""
|
||||
msgid "Reset Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
@@ -2785,6 +2827,14 @@ msgstr ""
|
||||
msgid "Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "rules"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
|
||||
msgstr ""
|
||||
@@ -3272,6 +3322,10 @@ msgstr ""
|
||||
msgid "Thai"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/sponsors.tsx
|
||||
msgid "Thank you to our sponsors"
|
||||
msgstr "Thank you to our sponsors"
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "The agent needs your input."
|
||||
msgstr ""
|
||||
@@ -3703,6 +3757,10 @@ msgstr ""
|
||||
msgid "Updating your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/agent/$threadId.tsx
|
||||
msgid "Upload attachments"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Upload picture"
|
||||
msgstr ""
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "rm -rf dist && vite build",
|
||||
"build": "rimraf dist && vite build",
|
||||
"dev": "vite dev",
|
||||
"serve": "vite preview",
|
||||
"start": "vite preview",
|
||||
@@ -16,20 +16,20 @@
|
||||
"lingui:extract": "lingui extract --clean --overwrite"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/react": "^3.0.193",
|
||||
"@ai-sdk/react": "^3.0.209",
|
||||
"@base-ui/react": "^1.5.0",
|
||||
"@better-auth/api-key": "^1.6.11",
|
||||
"@better-auth/infra": "^0.2.8",
|
||||
"@better-auth/oauth-provider": "^1.6.11",
|
||||
"@better-auth/passkey": "^1.6.11",
|
||||
"@better-auth/api-key": "^1.6.19",
|
||||
"@better-auth/infra": "^0.2.14",
|
||||
"@better-auth/oauth-provider": "^1.6.19",
|
||||
"@better-auth/passkey": "^1.6.19",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.2",
|
||||
"@lingui/core": "^6.1.0",
|
||||
"@lingui/react": "^6.1.0",
|
||||
"@orpc/client": "^1.14.3",
|
||||
"@orpc/server": "^1.14.3",
|
||||
"@orpc/tanstack-query": "^1.14.3",
|
||||
"@lingui/core": "^6.4.0",
|
||||
"@lingui/react": "^6.4.0",
|
||||
"@orpc/client": "^1.14.6",
|
||||
"@orpc/server": "^1.14.6",
|
||||
"@orpc/tanstack-query": "^1.14.6",
|
||||
"@phosphor-icons/react": "^2.1.10",
|
||||
"@react-pdf/renderer": "^4.5.1",
|
||||
"@reactive-resume/ai": "workspace:*",
|
||||
@@ -39,40 +39,39 @@
|
||||
"@reactive-resume/fonts": "workspace:*",
|
||||
"@reactive-resume/import": "workspace:*",
|
||||
"@reactive-resume/pdf": "workspace:*",
|
||||
"@reactive-resume/resume": "workspace:*",
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@reactive-resume/ui": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"@tanstack/react-form": "^1.32.0",
|
||||
"@tailwindcss/vite": "^4.3.1",
|
||||
"@tanstack/react-form": "^1.33.0",
|
||||
"@tanstack/react-hotkeys": "^0.10.0",
|
||||
"@tanstack/react-query": "^5.100.14",
|
||||
"@tanstack/react-router": "^1.170.8",
|
||||
"@tiptap/extension-color": "^3.23.6",
|
||||
"@tiptap/extension-highlight": "^3.23.6",
|
||||
"@tiptap/extension-table": "^3.23.6",
|
||||
"@tiptap/extension-text-align": "^3.23.6",
|
||||
"@tiptap/extension-text-style": "^3.23.6",
|
||||
"@tiptap/pm": "^3.23.6",
|
||||
"@tiptap/react": "^3.23.6",
|
||||
"@tiptap/starter-kit": "^3.23.6",
|
||||
"@tanstack/react-query": "^5.101.0",
|
||||
"@tanstack/react-router": "^1.170.16",
|
||||
"@tiptap/extension-color": "^3.27.0",
|
||||
"@tiptap/extension-highlight": "^3.27.0",
|
||||
"@tiptap/extension-table": "^3.27.0",
|
||||
"@tiptap/extension-text-align": "^3.27.0",
|
||||
"@tiptap/extension-text-style": "^3.27.0",
|
||||
"@tiptap/pm": "^3.27.0",
|
||||
"@tiptap/react": "^3.27.0",
|
||||
"@tiptap/starter-kit": "^3.27.0",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@uiw/color-convert": "^2.10.3",
|
||||
"@uiw/react-color-colorful": "^2.10.3",
|
||||
"ai": "^6.0.191",
|
||||
"better-auth": "1.6.11",
|
||||
"ai": "^6.0.207",
|
||||
"better-auth": "1.6.19",
|
||||
"cmdk": "^1.1.1",
|
||||
"drizzle-orm": "1.0.0-rc.3",
|
||||
"es-toolkit": "^1.47.0",
|
||||
"fuse.js": "^7.3.0",
|
||||
"es-toolkit": "^1.47.1",
|
||||
"fuse.js": "^7.4.2",
|
||||
"immer": "^11.1.8",
|
||||
"js-cookie": "^3.0.7",
|
||||
"js-cookie": "^3.0.8",
|
||||
"motion": "^12.40.0",
|
||||
"pdfjs-dist": "5.7.284",
|
||||
"pdfjs-dist": "6.0.227",
|
||||
"pg": "^8.21.0",
|
||||
"qrcode.react": "^4.2.0",
|
||||
"react": "^19.2.6",
|
||||
"react-dom": "^19.2.6",
|
||||
"react": "^19.2.7",
|
||||
"react-dom": "^19.2.7",
|
||||
"react-markdown": "^10.1.0",
|
||||
"react-resizable-panels": "^4.11.2",
|
||||
"react-window": "^2.2.7",
|
||||
@@ -81,26 +80,27 @@
|
||||
"ts-pattern": "^5.9.0",
|
||||
"usehooks-ts": "^3.1.1",
|
||||
"zod": "^4.4.3",
|
||||
"zustand": "^5.0.13"
|
||||
"zustand": "^5.0.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.29.7",
|
||||
"@lingui/babel-plugin-lingui-macro": "^6.1.0",
|
||||
"@lingui/cli": "^6.1.0",
|
||||
"@lingui/format-po": "^6.1.0",
|
||||
"@lingui/vite-plugin": "^6.1.0",
|
||||
"@babel/core": "^8.0.0",
|
||||
"@lingui/babel-plugin-lingui-macro": "^6.4.0",
|
||||
"@lingui/cli": "^6.4.0",
|
||||
"@lingui/format-po": "^6.4.0",
|
||||
"@lingui/vite-plugin": "^6.4.0",
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@rolldown/plugin-babel": "^0.2.3",
|
||||
"@tanstack/router-plugin": "^1.168.11",
|
||||
"@tanstack/router-plugin": "^1.168.18",
|
||||
"@types/babel__core": "^7.20.5",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.15",
|
||||
"@types/react": "^19.2.17",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260526.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260617.2",
|
||||
"@vitejs/plugin-react": "^6.0.2",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
"babel-plugin-react-compiler": "^1.0.0",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.0.14"
|
||||
"rimraf": "^6.1.3",
|
||||
"vite": "^8.0.16"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>Reactive Resume</title>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,4 +1,5 @@
|
||||
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>Reactive Resume</title>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,4 +1,5 @@
|
||||
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>Reactive Resume</title>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#09090B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2518 137.634 61.6569 137.614C75.0665 136.968 85.1471 135.549 96.3849 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7678 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#09090B"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.5 KiB |
@@ -1,4 +1,5 @@
|
||||
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>Reactive Resume</title>
|
||||
<rect width="512" height="512" fill="#09090B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M183.603 184.722L156.74 220H183.545L197.032 201.54L209.701 220H237.938L211.008 183.874L211.014 183.866L210.81 183.608L205.927 177.44L197.895 167.292L197.882 167.31L197.669 167.007L196.926 166.068L196.98 166.025L185.367 149.472H157.52L183.603 184.722ZM200.951 163.096L214.129 179.747L237.027 149.472H210.872L200.951 163.096Z" fill="#FAFAFA"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M69.1088 98.9125V190H94.8735V165.797H108.938L108.938 165.797C108.943 165.797 108.948 165.797 108.953 165.797C118.377 165.381 125.285 164.448 133.094 161.494C133.195 161.455 133.296 161.417 133.397 161.378L133.382 161.356C138.893 158.705 143.19 155.066 146.273 150.442C149.569 145.41 151.218 139.468 151.218 132.615C151.218 125.675 149.569 119.689 146.273 114.658C142.976 109.539 138.292 105.636 132.219 102.946C126.234 100.257 119.077 98.9125 110.749 98.9125H69.1088ZM136.456 165.836L111.867 170.09L125.453 190H153.039L136.456 165.836ZM94.8735 145.888H109.187C114.566 145.888 118.556 144.716 121.159 142.374C123.848 140.032 125.193 136.779 125.193 132.615C125.193 128.364 123.848 125.068 121.159 122.725C118.556 120.383 114.566 119.212 109.187 119.212H94.8735V145.888Z" fill="#FAFAFA"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
@@ -0,0 +1,55 @@
|
||||
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
|
||||
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
clip-path: url(#clippath);
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.cls-2, .cls-3 {
|
||||
stroke-width: 0px;
|
||||
}
|
||||
|
||||
.cls-4 {
|
||||
clip-path: url(#clippath-1);
|
||||
}
|
||||
|
||||
.cls-5 {
|
||||
clip-path: url(#clippath-2);
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #000;
|
||||
}
|
||||
</style>
|
||||
<clipPath id="clippath">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
<clipPath id="clippath-1">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
<clipPath id="clippath-2">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g class="cls-1">
|
||||
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
|
||||
</g>
|
||||
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
|
||||
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
|
||||
<g class="cls-4">
|
||||
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
|
||||
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
|
||||
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
|
||||
</g>
|
||||
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
|
||||
<g class="cls-5">
|
||||
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
|
||||
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
|
||||
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,55 @@
|
||||
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
|
||||
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
clip-path: url(#clippath);
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.cls-2, .cls-3 {
|
||||
stroke-width: 0px;
|
||||
}
|
||||
|
||||
.cls-4 {
|
||||
clip-path: url(#clippath-1);
|
||||
}
|
||||
|
||||
.cls-5 {
|
||||
clip-path: url(#clippath-2);
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #fff;
|
||||
}
|
||||
</style>
|
||||
<clipPath id="clippath">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
<clipPath id="clippath-1">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
<clipPath id="clippath-2">
|
||||
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g class="cls-1">
|
||||
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
|
||||
</g>
|
||||
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
|
||||
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
|
||||
<g class="cls-4">
|
||||
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
|
||||
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
|
||||
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
|
||||
</g>
|
||||
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
|
||||
<g class="cls-5">
|
||||
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
|
||||
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
|
||||
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -35,7 +35,11 @@ type ChipItemProps = {
|
||||
onRemove: (index: number) => void;
|
||||
};
|
||||
|
||||
function ChipDragPreview({ chip }: { chip: string }) {
|
||||
type ChipDragPreviewProps = {
|
||||
chip: string;
|
||||
};
|
||||
|
||||
function ChipDragPreview({ chip }: ChipDragPreviewProps) {
|
||||
return (
|
||||
<Badge
|
||||
variant="outline"
|
||||
@@ -46,7 +50,11 @@ function ChipDragPreview({ chip }: { chip: string }) {
|
||||
);
|
||||
}
|
||||
|
||||
function ChipDragOverlay({ activeChip }: { activeChip: string | null }) {
|
||||
type ChipDragOverlayProps = {
|
||||
activeChip: string | null;
|
||||
};
|
||||
|
||||
function ChipDragOverlay({ activeChip }: ChipDragOverlayProps) {
|
||||
const overlay = (
|
||||
<DragOverlay dropAnimation={null}>{activeChip ? <ChipDragPreview chip={activeChip} /> : null}</DragOverlay>
|
||||
);
|
||||
|
||||
@@ -7,6 +7,10 @@ import { I18nProvider } from "@lingui/react";
|
||||
|
||||
const queryResult = vi.hoisted(() => ({ data: undefined as number | undefined }));
|
||||
|
||||
type CountUpProps = {
|
||||
to: number;
|
||||
};
|
||||
|
||||
vi.mock("@tanstack/react-query", () => ({
|
||||
useQuery: () => queryResult,
|
||||
}));
|
||||
@@ -14,7 +18,7 @@ vi.mock("@/libs/orpc/client", () => ({
|
||||
orpc: { statistics: { github: { getStarCount: { queryOptions: () => ({}) } } } },
|
||||
}));
|
||||
vi.mock("../animation/count-up", () => ({
|
||||
CountUp: ({ to }: { to: number }) => <span data-testid="count-up">{to.toLocaleString()}</span>,
|
||||
CountUp: ({ to }: CountUpProps) => <span data-testid="count-up">{to.toLocaleString()}</span>,
|
||||
}));
|
||||
|
||||
const { GithubStarsButton } = await import("./github-stars-button");
|
||||
@@ -35,12 +39,12 @@ const renderButton = () =>
|
||||
);
|
||||
|
||||
describe("GithubStarsButton", () => {
|
||||
it("renders an anchor pointing at the project repo with rel=noopener and target=_blank", () => {
|
||||
it("renders an anchor pointing at the project repo with rel=noopener noreferrer and target=_blank", () => {
|
||||
renderButton();
|
||||
const link = screen.getByRole("button") as HTMLAnchorElement;
|
||||
expect(link.href).toBe("https://github.com/amruthpillai/reactive-resume");
|
||||
expect(link.target).toBe("_blank");
|
||||
expect(link.rel).toBe("noopener");
|
||||
expect(link.rel).toBe("noopener noreferrer");
|
||||
});
|
||||
|
||||
it("uses the no-count aria-label when star count hasn't loaded yet", () => {
|
||||
|
||||
@@ -18,7 +18,12 @@ export function GithubStarsButton() {
|
||||
variant="outline"
|
||||
nativeButton={false}
|
||||
render={
|
||||
<a target="_blank" href="https://github.com/amruthpillai/reactive-resume" aria-label={ariaLabel} rel="noopener">
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://github.com/amruthpillai/reactive-resume"
|
||||
aria-label={ariaLabel}
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<GithubLogoIcon aria-hidden="true" />
|
||||
{starCount != null ? (
|
||||
<CountUp to={starCount} duration={0.5} separator="," className="font-bold" aria-hidden="true" />
|
||||
|
||||
@@ -5,23 +5,20 @@ import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
|
||||
type GridProps = {
|
||||
rowCount: number;
|
||||
columnCount: number;
|
||||
cellComponent: React.ComponentType<
|
||||
{ rowIndex: number; columnIndex: number; style: React.CSSProperties } & Record<string, unknown>
|
||||
>;
|
||||
cellProps: Record<string, unknown>;
|
||||
};
|
||||
|
||||
// react-window's <Grid> uses ResizeObserver / IntersectionObserver heavily and
|
||||
// expects measurable layouts that happy-dom can't provide. Stub it with a simple
|
||||
// pass-through that renders the first row of cells via the supplied cellComponent.
|
||||
vi.mock("react-window", () => ({
|
||||
Grid: ({
|
||||
rowCount,
|
||||
columnCount,
|
||||
cellComponent: CellComponent,
|
||||
cellProps,
|
||||
}: {
|
||||
rowCount: number;
|
||||
columnCount: number;
|
||||
cellComponent: React.ComponentType<
|
||||
{ rowIndex: number; columnIndex: number; style: React.CSSProperties } & Record<string, unknown>
|
||||
>;
|
||||
cellProps: Record<string, unknown>;
|
||||
}) => {
|
||||
Grid: ({ rowCount, columnCount, cellComponent: CellComponent, cellProps }: GridProps) => {
|
||||
const cells: React.ReactNode[] = [];
|
||||
for (let r = 0; r < Math.min(rowCount, 1); r++) {
|
||||
for (let c = 0; c < columnCount; c++) {
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { resolveHighlightToolbarState } from "./rich-input";
|
||||
|
||||
describe("resolveHighlightToolbarState", () => {
|
||||
it("shows legacy colorless highlights as default yellow and clearable", () => {
|
||||
expect(resolveHighlightToolbarState(true, null)).toEqual({
|
||||
visibleHighlightColor: "rgba(255, 255, 0, 1)",
|
||||
canClearHighlight: true,
|
||||
});
|
||||
});
|
||||
|
||||
it("does not show or clear a highlight when no highlight mark is active", () => {
|
||||
expect(resolveHighlightToolbarState(false, null)).toEqual({
|
||||
visibleHighlightColor: undefined,
|
||||
canClearHighlight: false,
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -62,12 +62,14 @@ import {
|
||||
} from "@reactive-resume/ui/components/dropdown-menu";
|
||||
import { PopoverHeader, PopoverTitle, PopoverTrigger } from "@reactive-resume/ui/components/popover";
|
||||
import { Toggle } from "@reactive-resume/ui/components/toggle";
|
||||
import { isDarkColor } from "@reactive-resume/utils/color";
|
||||
import { cn } from "@reactive-resume/utils/style";
|
||||
import { usePrompt } from "@/hooks/use-prompt";
|
||||
import { isRTL } from "@/libs/locale";
|
||||
import { ColorPicker } from "./color-picker";
|
||||
|
||||
const defaultTextColor = "rgba(0, 0, 0, 1)";
|
||||
const defaultHighlightColor = "rgba(255, 255, 0, 1)";
|
||||
|
||||
const extensions = [
|
||||
StarterKit.configure({
|
||||
@@ -86,7 +88,15 @@ const extensions = [
|
||||
}),
|
||||
TextStyle,
|
||||
Color,
|
||||
Highlight.configure(),
|
||||
Highlight.configure({ multicolor: true }).extend({
|
||||
renderHTML({ HTMLAttributes }) {
|
||||
const color = HTMLAttributes["data-color"] as string | undefined;
|
||||
if (color && isDarkColor(color)) {
|
||||
HTMLAttributes.style = `${HTMLAttributes.style ?? ""}; color: #ffffff`;
|
||||
}
|
||||
return ["mark", HTMLAttributes, 0];
|
||||
},
|
||||
}),
|
||||
TextAlign.configure({ types: ["heading", "paragraph", "listItem"] }),
|
||||
TableKit.configure(),
|
||||
];
|
||||
@@ -223,10 +233,12 @@ function useEditorToolbarState(editor: Editor) {
|
||||
canStrike: ctx.editor.can().chain().toggleStrike().run() ?? false,
|
||||
toggleStrike: () => ctx.editor.chain().focus().toggleStrike().run(),
|
||||
|
||||
// Highlight
|
||||
// Highlight Color
|
||||
isHighlight: ctx.editor.isActive("highlight") ?? false,
|
||||
canHighlight: ctx.editor.can().chain().toggleHighlight().run() ?? false,
|
||||
toggleHighlight: () => ctx.editor.chain().focus().toggleHighlight().run(),
|
||||
highlightColor: (ctx.editor.getAttributes("highlight").color as string | undefined) ?? null,
|
||||
canHighlightColor: ctx.editor.can().chain().toggleHighlight().run() ?? false,
|
||||
setHighlightColor: (color: string) => ctx.editor.chain().focus().toggleHighlight({ color }).run(),
|
||||
unsetHighlightColor: () => ctx.editor.chain().focus().unsetHighlight().run(),
|
||||
|
||||
// Text Color
|
||||
textColor: (ctx.editor.getAttributes("textStyle").color as string | undefined) ?? null,
|
||||
@@ -372,13 +384,29 @@ function useEditorToolbarState(editor: Editor) {
|
||||
|
||||
type EditorToolbarState = ReturnType<typeof useEditorToolbarState>;
|
||||
|
||||
function EditorToolbar({ editor, isFullscreen }: { editor: Editor; isFullscreen: boolean }) {
|
||||
export function resolveHighlightToolbarState(isHighlight: boolean, highlightColor: string | null) {
|
||||
const visibleHighlightColor = highlightColor ?? (isHighlight ? defaultHighlightColor : undefined);
|
||||
|
||||
return { visibleHighlightColor, canClearHighlight: isHighlight };
|
||||
}
|
||||
|
||||
type EditorToolbarProps = {
|
||||
editor: Editor;
|
||||
isFullscreen: boolean;
|
||||
};
|
||||
|
||||
function EditorToolbar({ editor, isFullscreen }: EditorToolbarProps) {
|
||||
const state = useEditorToolbarState(editor);
|
||||
|
||||
return renderEditorToolbar(state, isFullscreen);
|
||||
}
|
||||
|
||||
function renderEditorToolbar(state: EditorToolbarState, isFullscreen: boolean) {
|
||||
const { visibleHighlightColor, canClearHighlight } = resolveHighlightToolbarState(
|
||||
state.isHighlight,
|
||||
state.highlightColor,
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="flex flex-wrap items-center gap-y-0.5 rounded-md rounded-b-none border border-b-0">
|
||||
<Toggle
|
||||
@@ -429,17 +457,65 @@ function renderEditorToolbar(state: EditorToolbarState, isFullscreen: boolean) {
|
||||
<TextStrikethroughIcon className="size-3.5" />
|
||||
</Toggle>
|
||||
|
||||
<Toggle
|
||||
size={isFullscreen ? "lg" : "sm"}
|
||||
tabIndex={-1}
|
||||
className="rounded-none"
|
||||
title={t`Highlight`}
|
||||
pressed={state.isHighlight}
|
||||
disabled={!state.canHighlight}
|
||||
onPressedChange={state.toggleHighlight}
|
||||
<ColorPicker
|
||||
defaultValue={defaultHighlightColor}
|
||||
value={visibleHighlightColor}
|
||||
onChange={state.setHighlightColor}
|
||||
trigger={
|
||||
<PopoverTrigger
|
||||
render={
|
||||
<Button
|
||||
size={isFullscreen ? "lg" : "sm"}
|
||||
tabIndex={-1}
|
||||
variant="ghost"
|
||||
className={cn("rounded-none px-2", state.isHighlight && "bg-muted text-foreground")}
|
||||
title={t`Highlight`}
|
||||
disabled={!state.canHighlightColor}
|
||||
>
|
||||
<span className="flex flex-col items-center leading-none">
|
||||
<HighlighterCircleIcon className="size-3.5" />
|
||||
<span
|
||||
className="mt-0.5 h-0.5 w-3 rounded-full"
|
||||
style={{ backgroundColor: visibleHighlightColor ?? "currentColor" }}
|
||||
/>
|
||||
</span>
|
||||
</Button>
|
||||
}
|
||||
/>
|
||||
}
|
||||
>
|
||||
<HighlighterCircleIcon className="size-3.5" />
|
||||
</Toggle>
|
||||
<PopoverHeader className="flex-row items-start justify-between gap-2">
|
||||
<div className="flex items-center gap-2.5">
|
||||
<span
|
||||
className="grid size-9 place-items-center rounded-lg border border-border bg-muted/60 text-sm shadow-xs"
|
||||
style={{ backgroundColor: visibleHighlightColor ?? defaultHighlightColor }}
|
||||
>
|
||||
<HighlighterCircleIcon className="size-4" />
|
||||
</span>
|
||||
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<PopoverTitle>
|
||||
<Trans>Highlight Color</Trans>
|
||||
</PopoverTitle>
|
||||
<span className="text-muted-foreground text-xs">
|
||||
<Trans comment="Preset or custom shade refer to the color picker">
|
||||
Choose a preset or custom shade.
|
||||
</Trans>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Button
|
||||
size="xs"
|
||||
variant="ghost"
|
||||
className="shrink-0"
|
||||
onClick={state.unsetHighlightColor}
|
||||
disabled={!canClearHighlight}
|
||||
>
|
||||
<Trans comment="Clear the highlight color">Clear</Trans>
|
||||
</Button>
|
||||
</PopoverHeader>
|
||||
</ColorPicker>
|
||||
|
||||
<ColorPicker
|
||||
defaultValue={defaultTextColor}
|
||||
|
||||
@@ -71,6 +71,21 @@ describe("LevelDisplay", () => {
|
||||
expect(wrapper.getAttribute("aria-label")).toContain("4");
|
||||
});
|
||||
|
||||
it("applies custom decoration and icon sizes in pixels", () => {
|
||||
const { container } = render(
|
||||
<LevelDisplay type="circle" icon="star" level={2} decorationSizePx={18} iconSizePx={20} />,
|
||||
);
|
||||
|
||||
const shapes = container.querySelectorAll("div[data-active]");
|
||||
expect(shapes[0]).toHaveStyle({ width: "18px", height: "18px" });
|
||||
|
||||
const { container: iconContainer } = render(
|
||||
<LevelDisplay type="icon" icon="star" level={2} decorationSizePx={16} />,
|
||||
);
|
||||
const icon = iconContainer.querySelector("i");
|
||||
expect(icon).toHaveStyle({ fontSize: "16px", width: "16px", height: "16px" });
|
||||
});
|
||||
|
||||
it("merges extra className into the wrapper", () => {
|
||||
const { container } = render(<LevelDisplay type="circle" icon="star" level={1} className="extra" />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
|
||||
@@ -3,14 +3,35 @@ import type z from "zod";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { cn } from "@reactive-resume/utils/style";
|
||||
|
||||
type Props = z.infer<typeof levelDesignSchema> & React.ComponentProps<"div"> & { level: number };
|
||||
type Props = z.infer<typeof levelDesignSchema> &
|
||||
React.ComponentProps<"div"> & {
|
||||
level: number;
|
||||
decorationSizePx?: number | undefined;
|
||||
iconSizePx?: number | undefined;
|
||||
};
|
||||
|
||||
const LEVEL_ITEM_KEYS = ["level-1", "level-2", "level-3", "level-4", "level-5"] as const;
|
||||
|
||||
export function LevelDisplay({ icon, type, level, className, ...props }: Props) {
|
||||
const defaultDecorationClassName = "size-2.5";
|
||||
|
||||
export function LevelDisplay({ icon, type, level, className, decorationSizePx, iconSizePx, ...props }: Props) {
|
||||
if (level === 0) return null;
|
||||
if (type === "hidden" || icon === "") return null;
|
||||
|
||||
const decorationStyle =
|
||||
decorationSizePx === undefined
|
||||
? undefined
|
||||
: ({ width: decorationSizePx, height: decorationSizePx } satisfies React.CSSProperties);
|
||||
const resolvedIconSizePx = iconSizePx ?? decorationSizePx;
|
||||
const iconStyle =
|
||||
resolvedIconSizePx === undefined
|
||||
? undefined
|
||||
: ({
|
||||
fontSize: resolvedIconSizePx,
|
||||
width: resolvedIconSizePx,
|
||||
height: resolvedIconSizePx,
|
||||
} satisfies React.CSSProperties);
|
||||
|
||||
return (
|
||||
<div
|
||||
role="img"
|
||||
@@ -29,8 +50,10 @@ export function LevelDisplay({ icon, type, level, className, ...props }: Props)
|
||||
<div
|
||||
key={itemKey}
|
||||
data-active={isActive}
|
||||
style={decorationStyle}
|
||||
className={cn(
|
||||
"h-2.5 flex-1 border border-(--page-primary-color) border-x-0 first:border-l last:border-r",
|
||||
"flex-1 border border-(--page-primary-color) border-x-0 first:border-l last:border-r",
|
||||
decorationSizePx === undefined && "h-2.5",
|
||||
isActive && "bg-(--page-primary-color)",
|
||||
)}
|
||||
/>
|
||||
@@ -41,7 +64,13 @@ export function LevelDisplay({ icon, type, level, className, ...props }: Props)
|
||||
return (
|
||||
<i
|
||||
key={itemKey}
|
||||
className={cn("ph size-2.5 text-(--page-primary-color)", `ph-${icon}`, !isActive && "opacity-40")}
|
||||
style={iconStyle}
|
||||
className={cn(
|
||||
"ph text-(--page-primary-color)",
|
||||
resolvedIconSizePx === undefined && defaultDecorationClassName,
|
||||
`ph-${icon}`,
|
||||
!isActive && "opacity-40",
|
||||
)}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -50,8 +79,10 @@ export function LevelDisplay({ icon, type, level, className, ...props }: Props)
|
||||
<div
|
||||
key={itemKey}
|
||||
data-active={isActive}
|
||||
style={decorationStyle}
|
||||
className={cn(
|
||||
"size-2.5 border border-(--page-primary-color)",
|
||||
"border border-(--page-primary-color)",
|
||||
decorationSizePx === undefined && defaultDecorationClassName,
|
||||
isActive && "bg-(--page-primary-color)",
|
||||
type === "circle" && "rounded-full",
|
||||
type === "rectangle" && "w-7",
|
||||
|
||||
@@ -8,8 +8,12 @@ const comboboxMock = vi.hoisted(() => ({
|
||||
props: undefined as { onValueChange?: (value: string[] | null) => void } | undefined,
|
||||
}));
|
||||
|
||||
type ComboboxProps = {
|
||||
onValueChange?: (value: string[] | null) => void;
|
||||
};
|
||||
|
||||
vi.mock("@/components/ui/combobox", () => ({
|
||||
Combobox: (props: { onValueChange?: (value: string[] | null) => void }) => {
|
||||
Combobox: (props: ComboboxProps) => {
|
||||
comboboxMock.props = props;
|
||||
return null;
|
||||
},
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import type { ComboboxOption } from "./combobox";
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
import { beforeAll, describe, expect, it } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
@@ -32,12 +33,40 @@ describe("Combobox", () => {
|
||||
expect(screen.getAllByText("Beta").length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it("places the clear action inside the trigger footprint", () => {
|
||||
const { container } = wrap(<Combobox options={[...options]} value="beta" showClear />);
|
||||
|
||||
expect(screen.getByRole("button", { name: "Clear selection" })).toHaveClass("absolute", "end-7");
|
||||
expect(screen.getByRole("combobox")).not.toHaveClass("pe-14");
|
||||
expect(container.querySelector("[data-slot='combobox-trigger'] > span")).toHaveClass("pe-7");
|
||||
});
|
||||
|
||||
it("renders all option labels for the multi-select default values", () => {
|
||||
wrap(<Combobox multiple options={[...options]} defaultValue={["alpha", "gamma"]} />);
|
||||
expect(screen.getAllByText(/Alpha/).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText(/Gamma/).length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it("renders grouped options with group labels", async () => {
|
||||
const user = userEvent.setup();
|
||||
const groupedOptions: ComboboxOption[] = [
|
||||
{ value: "alpha", label: "Alpha", group: "Primary" },
|
||||
{ value: "beta", label: "Beta", group: { value: "secondary", label: "Secondary" } },
|
||||
{ value: "gamma", label: "Gamma", group: { value: "secondary", label: "Secondary" } },
|
||||
];
|
||||
|
||||
wrap(<Combobox options={groupedOptions} placeholder="Pick something" />);
|
||||
|
||||
await user.click(screen.getByRole("combobox"));
|
||||
|
||||
expect(screen.getByText("Primary")).toBeInTheDocument();
|
||||
expect(screen.getByText("Secondary")).toBeInTheDocument();
|
||||
expect(screen.getByText("Alpha")).toBeInTheDocument();
|
||||
expect(screen.getByText("Beta")).toBeInTheDocument();
|
||||
expect(screen.getByText("Gamma")).toBeInTheDocument();
|
||||
expect(document.querySelectorAll("[data-slot=combobox-group]")).toHaveLength(2);
|
||||
});
|
||||
|
||||
it("renders nothing extra when given an empty options array (no crash)", () => {
|
||||
expect(() => wrap(<Combobox options={[]} placeholder="Empty" />)).not.toThrow();
|
||||
expect(screen.getByText("Empty")).toBeInTheDocument();
|
||||
|
||||
@@ -5,10 +5,13 @@ import React from "react";
|
||||
import { Button } from "@reactive-resume/ui/components/button";
|
||||
import {
|
||||
ComboboxClear,
|
||||
ComboboxCollection,
|
||||
ComboboxContent,
|
||||
ComboboxEmpty,
|
||||
ComboboxGroup,
|
||||
ComboboxInput,
|
||||
ComboboxItem,
|
||||
ComboboxLabel,
|
||||
ComboboxList,
|
||||
ComboboxRoot,
|
||||
ComboboxTrigger,
|
||||
@@ -22,10 +25,21 @@ import { useControlledState } from "@/hooks/use-controlled-state";
|
||||
type ComboboxOption<TValue extends string | number = string> = {
|
||||
value: TValue;
|
||||
label: React.ReactNode;
|
||||
group?: string | ComboboxOptionGroup;
|
||||
keywords?: string[];
|
||||
disabled?: boolean;
|
||||
};
|
||||
|
||||
type ComboboxOptionGroup = {
|
||||
value: string;
|
||||
label: React.ReactNode;
|
||||
};
|
||||
|
||||
type GroupedComboboxOption<TValue extends string | number = string> = ComboboxOptionGroup & {
|
||||
key: string;
|
||||
items: ComboboxOption<TValue>[];
|
||||
};
|
||||
|
||||
type SingleComboboxProps<TValue extends string | number = string> = {
|
||||
options: ComboboxOption<TValue>[];
|
||||
value?: TValue | null;
|
||||
@@ -81,6 +95,40 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
|
||||
const optionMap = React.useMemo(() => new Map(options.map((opt) => [String(opt.value), opt])), [options]);
|
||||
|
||||
const optionGroups = React.useMemo(() => {
|
||||
const groups: GroupedComboboxOption<TValue>[] = [];
|
||||
const groupMap = new Map<string, GroupedComboboxOption<TValue>>();
|
||||
let ungroupedGroup: GroupedComboboxOption<TValue> | null = null;
|
||||
let hasGroupedOptions = false;
|
||||
|
||||
for (const option of options) {
|
||||
if (option.group === undefined) {
|
||||
if (!ungroupedGroup) {
|
||||
ungroupedGroup = { key: "ungrouped", value: "", label: null, items: [] };
|
||||
groups.push(ungroupedGroup);
|
||||
}
|
||||
|
||||
ungroupedGroup.items.push(option);
|
||||
continue;
|
||||
}
|
||||
|
||||
hasGroupedOptions = true;
|
||||
|
||||
const group = typeof option.group === "string" ? { value: option.group, label: option.group } : option.group;
|
||||
let optionGroup = groupMap.get(group.value);
|
||||
|
||||
if (!optionGroup) {
|
||||
optionGroup = { ...group, key: `group:${group.value}`, items: [] };
|
||||
groupMap.set(group.value, optionGroup);
|
||||
groups.push(optionGroup);
|
||||
}
|
||||
|
||||
optionGroup.items.push(option);
|
||||
}
|
||||
|
||||
return hasGroupedOptions ? groups : null;
|
||||
}, [options]);
|
||||
|
||||
const findOption = React.useCallback(
|
||||
(v: TValue | TValue[] | null | undefined) => {
|
||||
if (multiple) {
|
||||
@@ -147,12 +195,23 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
[contains],
|
||||
);
|
||||
|
||||
const hasSelectedValue = multiple
|
||||
? Array.isArray(selectedValue) && selectedValue.length > 0
|
||||
: selectedValue !== null && selectedValue !== undefined;
|
||||
|
||||
const listContent = (item: ComboboxOption<TValue>) => (
|
||||
<ComboboxItem key={String(item.value)} value={item} disabled={item.disabled}>
|
||||
{item.label}
|
||||
</ComboboxItem>
|
||||
);
|
||||
|
||||
const groupedListContent = (group: GroupedComboboxOption<TValue>) => (
|
||||
<ComboboxGroup key={group.key} items={group.items}>
|
||||
{group.label !== null && group.label !== undefined ? <ComboboxLabel>{group.label}</ComboboxLabel> : null}
|
||||
<ComboboxCollection>{listContent}</ComboboxCollection>
|
||||
</ComboboxGroup>
|
||||
);
|
||||
|
||||
const triggerNode = (
|
||||
<ComboboxTrigger
|
||||
id={id}
|
||||
@@ -166,7 +225,7 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
)
|
||||
}
|
||||
>
|
||||
<span className="min-w-0 flex-1 truncate text-left">
|
||||
<span className={cn("min-w-0 flex-1 truncate text-left", showClear && hasSelectedValue && "pe-7")}>
|
||||
<ComboboxValue placeholder={placeholder ?? t`Select...`} />
|
||||
</span>
|
||||
</ComboboxTrigger>
|
||||
@@ -175,7 +234,7 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
return (
|
||||
<ComboboxRoot
|
||||
name={name}
|
||||
items={options}
|
||||
items={optionGroups ?? options}
|
||||
filter={filter}
|
||||
disabled={disabled}
|
||||
value={selectedValue as ComboboxOption<TValue>[] & ComboboxOption<TValue>}
|
||||
@@ -185,9 +244,15 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
{...(multiple ? { multiple: true } : {})}
|
||||
>
|
||||
{showClear ? (
|
||||
<div className="flex items-center gap-1">
|
||||
<div className="relative w-full min-w-0">
|
||||
{triggerNode}
|
||||
<ComboboxClear disabled={disabled} />
|
||||
{hasSelectedValue && (
|
||||
<ComboboxClear
|
||||
aria-label={t`Clear selection`}
|
||||
disabled={disabled}
|
||||
className="absolute end-7 top-1/2 z-10 -translate-y-1/2 text-muted-foreground opacity-70 hover:opacity-100 focus-visible:opacity-100"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
triggerNode
|
||||
@@ -200,7 +265,7 @@ function Combobox<TValue extends string | number = string>(props: ComboboxProps<
|
||||
render={<Input disabled={disabled} className="border-none focus-visible:border-none focus-visible:ring-0" />}
|
||||
/>
|
||||
<ComboboxEmpty>{emptyMessage ?? t`No results found.`}</ComboboxEmpty>
|
||||
<ComboboxList>{listContent}</ComboboxList>
|
||||
<ComboboxList>{optionGroups ? groupedListContent : listContent}</ComboboxList>
|
||||
</ComboboxContent>
|
||||
</ComboboxRoot>
|
||||
);
|
||||
|
||||
@@ -25,7 +25,7 @@ describe("Copyright", () => {
|
||||
renderCopyright();
|
||||
const link = screen.getByRole("link", { name: "MIT" });
|
||||
expect(link.getAttribute("href")).toBe("https://github.com/AmruthPillai/Reactive-Resume/blob/main/LICENSE");
|
||||
expect(link.getAttribute("rel")).toBe("noopener");
|
||||
expect(link.getAttribute("rel")).toBe("noopener noreferrer");
|
||||
});
|
||||
|
||||
it("renders the Amruth Pillai attribution link", () => {
|
||||
|
||||
@@ -12,7 +12,7 @@ export function Copyright({ className, ...props }: Props) {
|
||||
<a
|
||||
href="https://github.com/AmruthPillai/Reactive-Resume/blob/main/LICENSE"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
rel="noopener noreferrer"
|
||||
className="font-medium underline underline-offset-2"
|
||||
>
|
||||
MIT
|
||||
@@ -30,7 +30,7 @@ export function Copyright({ className, ...props }: Props) {
|
||||
A passion project by{" "}
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
rel="noopener noreferrer"
|
||||
href="https://amruthpillai.com"
|
||||
className="font-medium underline underline-offset-2"
|
||||
>
|
||||
|
||||
@@ -36,6 +36,14 @@ const verifyFormSchema = z.object({
|
||||
|
||||
type TwoFactorSetupStep = "backup" | "enable" | "verify";
|
||||
|
||||
type TwoFactorStepProps = {
|
||||
step: TwoFactorSetupStep;
|
||||
};
|
||||
|
||||
type TwoFactorQRCodeProps = {
|
||||
totpUri: string;
|
||||
};
|
||||
|
||||
export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">) {
|
||||
const router = useRouter();
|
||||
|
||||
@@ -345,7 +353,7 @@ function extractSecretFromTotpUri(totpUri: string): string | null {
|
||||
}
|
||||
}
|
||||
|
||||
function TwoFactorDialogTitle({ step }: { step: TwoFactorSetupStep }) {
|
||||
function TwoFactorDialogTitle({ step }: TwoFactorStepProps) {
|
||||
return match(step)
|
||||
.with("enable", () => <Trans>Enable Two-Factor Authentication</Trans>)
|
||||
.with("verify", () => <Trans>Setup Authenticator App</Trans>)
|
||||
@@ -353,7 +361,7 @@ function TwoFactorDialogTitle({ step }: { step: TwoFactorSetupStep }) {
|
||||
.exhaustive();
|
||||
}
|
||||
|
||||
function TwoFactorDialogDescription({ step }: { step: TwoFactorSetupStep }) {
|
||||
function TwoFactorDialogDescription({ step }: TwoFactorStepProps) {
|
||||
return match(step)
|
||||
.with("enable", () => (
|
||||
<Trans>
|
||||
@@ -371,7 +379,7 @@ function TwoFactorDialogDescription({ step }: { step: TwoFactorSetupStep }) {
|
||||
.exhaustive();
|
||||
}
|
||||
|
||||
function TwoFactorQRCode({ totpUri }: { totpUri: string }) {
|
||||
function TwoFactorQRCode({ totpUri }: TwoFactorQRCodeProps) {
|
||||
return (
|
||||
<QRCodeSVG
|
||||
value={totpUri}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { DownloadSimpleIcon, FileIcon, UploadSimpleIcon } from "@phosphor-icons/
|
||||
import { useStore } from "@tanstack/react-form";
|
||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||
import { useNavigate } from "@tanstack/react-router";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import { useRef, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import z from "zod";
|
||||
import { JSONResumeImporter } from "@reactive-resume/import/json-resume";
|
||||
@@ -92,7 +92,6 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
const navigate = useNavigate();
|
||||
const closeDialog = useDialogStore((state) => state.closeDialog);
|
||||
|
||||
const prevTypeRef = useRef<string>("");
|
||||
const inputRef = useRef<HTMLInputElement>(null);
|
||||
const [isImporting, setIsImporting] = useState<boolean>(false);
|
||||
|
||||
@@ -207,12 +206,6 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
|
||||
const type = useStore(form.store, (s) => s.values.type);
|
||||
|
||||
useEffect(() => {
|
||||
if (prevTypeRef.current === type) return;
|
||||
prevTypeRef.current = type;
|
||||
form.setFieldValue("file", undefined);
|
||||
}, [form, type]);
|
||||
|
||||
const onSelectFile = () => {
|
||||
if (!inputRef.current) return;
|
||||
inputRef.current.click();
|
||||
@@ -261,7 +254,9 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
showClear={false}
|
||||
value={field.state.value}
|
||||
onValueChange={(value) => {
|
||||
field.handleChange(value as ImportType);
|
||||
const nextType = value as ImportType;
|
||||
if (nextType !== field.state.value) form.setFieldValue("file", undefined);
|
||||
field.handleChange(nextType);
|
||||
}}
|
||||
options={[
|
||||
{
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import { readFileSync } from "node:fs";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
const source = readFileSync(new URL("./custom.tsx", import.meta.url), "utf8");
|
||||
|
||||
function rendererBody(name: string) {
|
||||
const start = source.indexOf(`render: function ${name}({ form }) {`);
|
||||
expect(start).toBeGreaterThanOrEqual(0);
|
||||
|
||||
const end =
|
||||
name === "CreateCustomSectionFormRenderer" ? source.indexOf("const UpdateCustomSectionForm", start) : source.length;
|
||||
expect(end).toBeGreaterThan(start);
|
||||
|
||||
return source.slice(start, end);
|
||||
}
|
||||
|
||||
describe("custom section dialog layout", () => {
|
||||
it.each([
|
||||
"CreateCustomSectionFormRenderer",
|
||||
"UpdateCustomSectionFormRenderer",
|
||||
])("renders icon and title in one row for %s", (name) => {
|
||||
const body = rendererBody(name);
|
||||
const rowIndex = body.indexOf('"flex items-end sm:col-span-full"');
|
||||
const iconIndex = body.indexOf('name="icon"', rowIndex);
|
||||
const titleIndex = body.indexOf('name="title"', rowIndex);
|
||||
const sectionTypeIndex = body.indexOf('name="type"', rowIndex);
|
||||
|
||||
expect(rowIndex).toBeGreaterThanOrEqual(0);
|
||||
expect(iconIndex).toBeGreaterThan(rowIndex);
|
||||
expect(titleIndex).toBeGreaterThan(iconIndex);
|
||||
expect(sectionTypeIndex).toBeGreaterThan(titleIndex);
|
||||
expect(body).toContain('className="rounded-r-none border-input border-e-0"');
|
||||
expect(body).toContain('className="rounded-s-none"');
|
||||
});
|
||||
});
|
||||
@@ -19,10 +19,13 @@ import {
|
||||
import { FormControl, FormItem, FormLabel, FormMessage } from "@reactive-resume/ui/components/form";
|
||||
import { Input } from "@reactive-resume/ui/components/input";
|
||||
import { generateId } from "@reactive-resume/utils/string";
|
||||
import { cn } from "@reactive-resume/utils/style";
|
||||
import { IconPicker } from "@/components/input/icon-picker";
|
||||
import { Combobox } from "@/components/ui/combobox";
|
||||
import { useDialogStore } from "@/dialogs/store";
|
||||
import { useUpdateResumeData } from "@/features/resume/builder/draft";
|
||||
import { useFormBlocker } from "@/hooks/use-form-blocker";
|
||||
import { defaultSectionIconNames } from "@/libs/resume/section";
|
||||
import { useAppForm, withForm } from "@/libs/tanstack-form";
|
||||
|
||||
const formSchema = customSectionSchema;
|
||||
@@ -33,6 +36,7 @@ const defaultValues: FormValues = {
|
||||
id: "",
|
||||
title: "",
|
||||
type: "experience",
|
||||
icon: "",
|
||||
columns: 1,
|
||||
hidden: false,
|
||||
items: [],
|
||||
@@ -59,6 +63,12 @@ function isCustomSectionType(value: string | null | undefined): value is CustomS
|
||||
return SECTION_TYPE_OPTIONS.some((option) => option.value === value);
|
||||
}
|
||||
|
||||
function getIconPickerValue(icon: string, type: CustomSectionType): string {
|
||||
if (icon === "none") return "";
|
||||
|
||||
return icon || defaultSectionIconNames[type];
|
||||
}
|
||||
|
||||
export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections.custom.create">) {
|
||||
const closeDialog = useDialogStore((state) => state.closeDialog);
|
||||
const updateResumeData = useUpdateResumeData();
|
||||
@@ -68,6 +78,7 @@ export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections
|
||||
id: generateId(),
|
||||
title: data?.title ?? "",
|
||||
type: (data?.type ?? "experience") as CustomSectionType,
|
||||
icon: data?.icon ?? "",
|
||||
columns: data?.columns ?? 1,
|
||||
hidden: data?.hidden ?? false,
|
||||
items: data?.items ?? [],
|
||||
@@ -126,7 +137,10 @@ export function UpdateCustomSectionDialog({ data }: DialogProps<"resume.sections
|
||||
const updateResumeData = useUpdateResumeData();
|
||||
|
||||
const form = useAppForm({
|
||||
defaultValues: data,
|
||||
defaultValues: {
|
||||
...data,
|
||||
icon: data.icon ?? "",
|
||||
},
|
||||
validators: { onSubmit: formSchema },
|
||||
onSubmit: async ({ value }) => {
|
||||
updateResumeData((draft) => {
|
||||
@@ -179,32 +193,57 @@ const CreateCustomSectionForm = withForm({
|
||||
defaultValues,
|
||||
render: function CreateCustomSectionFormRenderer({ form }) {
|
||||
const { i18n } = useLingui();
|
||||
const titleMeta = useStore(form.store, (state) => state.fieldMeta?.title);
|
||||
const sectionType = useStore(form.store, (state) => state.values.type);
|
||||
|
||||
const isTitleInvalid = (titleMeta?.isTouched ?? false) && (titleMeta?.errors?.length ?? 0) > 0;
|
||||
|
||||
return (
|
||||
<>
|
||||
<form.Field name="title">
|
||||
{(field) => (
|
||||
<FormItem
|
||||
className="sm:col-span-full"
|
||||
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
|
||||
>
|
||||
<FormLabel>
|
||||
<Trans>Title</Trans>
|
||||
</FormLabel>
|
||||
<FormControl
|
||||
render={
|
||||
<Input
|
||||
name={field.name}
|
||||
value={field.state.value}
|
||||
onBlur={field.handleBlur}
|
||||
onChange={(event) => field.handleChange(event.target.value)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<FormMessage errors={field.state.meta.errors} />
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
<div className={cn("flex items-end sm:col-span-full", isTitleInvalid && "items-center")}>
|
||||
<form.Field name="icon">
|
||||
{(field) => (
|
||||
<FormItem
|
||||
className="shrink-0"
|
||||
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
|
||||
>
|
||||
<FormControl
|
||||
render={
|
||||
<IconPicker
|
||||
value={getIconPickerValue(field.state.value, sectionType)}
|
||||
onChange={(icon) => {
|
||||
field.handleChange(icon === "" ? "none" : icon);
|
||||
}}
|
||||
className="rounded-r-none border-input border-e-0"
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
|
||||
<form.Field name="title">
|
||||
{(field) => (
|
||||
<FormItem className="flex-1" hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}>
|
||||
<FormLabel>
|
||||
<Trans>Title</Trans>
|
||||
</FormLabel>
|
||||
<FormControl
|
||||
render={
|
||||
<Input
|
||||
className="rounded-s-none"
|
||||
name={field.name}
|
||||
value={field.state.value}
|
||||
onBlur={field.handleBlur}
|
||||
onChange={(event) => field.handleChange(event.target.value)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<FormMessage errors={field.state.meta.errors} />
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
</div>
|
||||
|
||||
<form.Field name="type">
|
||||
{(field) => (
|
||||
@@ -244,32 +283,57 @@ const UpdateCustomSectionForm = withForm({
|
||||
defaultValues,
|
||||
render: function UpdateCustomSectionFormRenderer({ form }) {
|
||||
const { i18n } = useLingui();
|
||||
const titleMeta = useStore(form.store, (state) => state.fieldMeta?.title);
|
||||
const sectionType = useStore(form.store, (state) => state.values.type);
|
||||
|
||||
const isTitleInvalid = (titleMeta?.isTouched ?? false) && (titleMeta?.errors?.length ?? 0) > 0;
|
||||
|
||||
return (
|
||||
<>
|
||||
<form.Field name="title">
|
||||
{(field) => (
|
||||
<FormItem
|
||||
className="sm:col-span-full"
|
||||
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
|
||||
>
|
||||
<FormLabel>
|
||||
<Trans>Title</Trans>
|
||||
</FormLabel>
|
||||
<FormControl
|
||||
render={
|
||||
<Input
|
||||
name={field.name}
|
||||
value={field.state.value}
|
||||
onBlur={field.handleBlur}
|
||||
onChange={(event) => field.handleChange(event.target.value)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<FormMessage errors={field.state.meta.errors} />
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
<div className={cn("flex items-end sm:col-span-full", isTitleInvalid && "items-center")}>
|
||||
<form.Field name="icon">
|
||||
{(field) => (
|
||||
<FormItem
|
||||
className="shrink-0"
|
||||
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
|
||||
>
|
||||
<FormControl
|
||||
render={
|
||||
<IconPicker
|
||||
value={getIconPickerValue(field.state.value, sectionType)}
|
||||
onChange={(icon) => {
|
||||
field.handleChange(icon === "" ? "none" : icon);
|
||||
}}
|
||||
className="rounded-r-none border-input border-e-0"
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
|
||||
<form.Field name="title">
|
||||
{(field) => (
|
||||
<FormItem className="flex-1" hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}>
|
||||
<FormLabel>
|
||||
<Trans>Title</Trans>
|
||||
</FormLabel>
|
||||
<FormControl
|
||||
render={
|
||||
<Input
|
||||
className="rounded-s-none"
|
||||
name={field.name}
|
||||
value={field.state.value}
|
||||
onBlur={field.handleBlur}
|
||||
onChange={(event) => field.handleChange(event.target.value)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<FormMessage errors={field.state.meta.errors} />
|
||||
</FormItem>
|
||||
)}
|
||||
</form.Field>
|
||||
</div>
|
||||
|
||||
<form.Field name="type">
|
||||
{(field) => (
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
import type { Resume } from "./draft";
|
||||
import { act, renderHook } from "@testing-library/react";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { defaultResumeData } from "@reactive-resume/schema/resume/default";
|
||||
import { useBuilderResumeUpdateSubscription, useResumeStore, useResumeUpdateSubscription } from "./draft";
|
||||
|
||||
const orpcMocks = vi.hoisted(() => ({
|
||||
getResumeById: vi.fn(),
|
||||
patchResume: vi.fn(),
|
||||
streamSubscribe: vi.fn(),
|
||||
updateResume: vi.fn(),
|
||||
}));
|
||||
|
||||
const consumeEventIteratorMock = vi.hoisted(() => vi.fn());
|
||||
|
||||
const queryClientMock = vi.hoisted(() => ({
|
||||
setQueryData: vi.fn(),
|
||||
}));
|
||||
|
||||
const routerParamsMock = vi.hoisted(() => ({
|
||||
value: {} as { resumeId?: string },
|
||||
}));
|
||||
|
||||
const toastMocks = vi.hoisted(() => ({
|
||||
dismiss: vi.fn(),
|
||||
error: vi.fn(() => "sync-error-toast"),
|
||||
}));
|
||||
|
||||
vi.mock("@orpc/client", () => ({
|
||||
consumeEventIterator: consumeEventIteratorMock,
|
||||
}));
|
||||
|
||||
vi.mock("@tanstack/react-query", () => ({
|
||||
useQueryClient: () => queryClientMock,
|
||||
}));
|
||||
|
||||
vi.mock("@tanstack/react-router", () => ({
|
||||
useParams: () => routerParamsMock.value,
|
||||
}));
|
||||
|
||||
vi.mock("@/libs/orpc/client", () => ({
|
||||
orpc: {
|
||||
resume: {
|
||||
getById: {
|
||||
call: orpcMocks.getResumeById,
|
||||
queryOptions: ({ input }: { input: { id: string } }) => ({
|
||||
queryKey: ["resume", "getById", input.id],
|
||||
}),
|
||||
},
|
||||
patch: {
|
||||
call: orpcMocks.patchResume,
|
||||
},
|
||||
update: {
|
||||
call: orpcMocks.updateResume,
|
||||
},
|
||||
},
|
||||
},
|
||||
streamClient: {
|
||||
resume: {
|
||||
updates: {
|
||||
subscribe: orpcMocks.streamSubscribe,
|
||||
},
|
||||
},
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock("sonner", () => ({
|
||||
toast: toastMocks,
|
||||
}));
|
||||
|
||||
function cloneResumeData(data: ResumeData): ResumeData {
|
||||
return structuredClone(data);
|
||||
}
|
||||
|
||||
function makeResume(id: string): Resume {
|
||||
return {
|
||||
id,
|
||||
name: "Resume",
|
||||
slug: id,
|
||||
tags: [],
|
||||
data: cloneResumeData(defaultResumeData),
|
||||
isLocked: false,
|
||||
isPublic: false,
|
||||
hasPassword: false,
|
||||
updatedAt: new Date("2026-05-26T12:00:00.000Z"),
|
||||
};
|
||||
}
|
||||
|
||||
function withBasicsName(resume: Resume, name: string): Resume {
|
||||
return {
|
||||
...resume,
|
||||
data: {
|
||||
...resume.data,
|
||||
basics: {
|
||||
...resume.data.basics,
|
||||
name,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
async function flushMicrotasks() {
|
||||
await Promise.resolve();
|
||||
await Promise.resolve();
|
||||
await Promise.resolve();
|
||||
}
|
||||
|
||||
describe("builder resume autosave", () => {
|
||||
beforeEach(() => {
|
||||
vi.useFakeTimers();
|
||||
orpcMocks.getResumeById.mockReset();
|
||||
orpcMocks.patchResume.mockReset();
|
||||
orpcMocks.streamSubscribe.mockReset();
|
||||
orpcMocks.updateResume.mockReset();
|
||||
consumeEventIteratorMock.mockReset();
|
||||
queryClientMock.setQueryData.mockClear();
|
||||
routerParamsMock.value = {};
|
||||
i18n.loadAndActivate({ locale: "en-US", messages: {} });
|
||||
toastMocks.dismiss.mockClear();
|
||||
toastMocks.error.mockClear();
|
||||
useResumeStore.getState().reset();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.clearAllTimers();
|
||||
vi.useRealTimers();
|
||||
useResumeStore.getState().reset();
|
||||
});
|
||||
|
||||
it("coalesces rapid local edits into one full-data update", async () => {
|
||||
const initial = makeResume("resume-rapid");
|
||||
const updated = withBasicsName(initial, "Latest Name");
|
||||
orpcMocks.updateResume.mockResolvedValue(updated);
|
||||
useResumeStore.getState().initialize(initial);
|
||||
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "First Name";
|
||||
});
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "Latest Name";
|
||||
});
|
||||
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledTimes(1);
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledWith(
|
||||
{ id: initial.id, data: updated.data },
|
||||
expect.objectContaining({ signal: expect.any(AbortSignal) }),
|
||||
);
|
||||
expect(orpcMocks.patchResume).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("saves the latest pending snapshot after an in-flight save resolves", async () => {
|
||||
const initial = makeResume("resume-in-flight");
|
||||
const first = withBasicsName(initial, "First Name");
|
||||
const latest = withBasicsName(initial, "Latest Name");
|
||||
let resolveFirst!: (resume: Resume) => void;
|
||||
|
||||
orpcMocks.updateResume
|
||||
.mockReturnValueOnce(
|
||||
new Promise<Resume>((resolve) => {
|
||||
resolveFirst = resolve;
|
||||
}),
|
||||
)
|
||||
.mockResolvedValueOnce(latest);
|
||||
|
||||
useResumeStore.getState().initialize(initial);
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "First Name";
|
||||
});
|
||||
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "Latest Name";
|
||||
});
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledTimes(1);
|
||||
|
||||
resolveFirst(first);
|
||||
await flushMicrotasks();
|
||||
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledTimes(2);
|
||||
expect(orpcMocks.updateResume.mock.calls[0]?.[0]).toEqual({ id: initial.id, data: first.data });
|
||||
expect(orpcMocks.updateResume.mock.calls[1]?.[0]).toEqual({ id: initial.id, data: latest.data });
|
||||
expect(orpcMocks.patchResume).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not run a stale debounced save after immediately saving an edit made during an in-flight save", async () => {
|
||||
const initial = makeResume("resume-stale-timer");
|
||||
const first = withBasicsName(initial, "First Name");
|
||||
const latest = withBasicsName(initial, "Latest Name");
|
||||
let resolveFirst!: (resume: Resume) => void;
|
||||
|
||||
orpcMocks.updateResume
|
||||
.mockReturnValueOnce(
|
||||
new Promise<Resume>((resolve) => {
|
||||
resolveFirst = resolve;
|
||||
}),
|
||||
)
|
||||
.mockResolvedValue(latest);
|
||||
|
||||
useResumeStore.getState().initialize(initial);
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "First Name";
|
||||
});
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "Latest Name";
|
||||
});
|
||||
|
||||
resolveFirst(first);
|
||||
await flushMicrotasks();
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledTimes(2);
|
||||
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
expect(orpcMocks.updateResume).toHaveBeenCalledTimes(2);
|
||||
expect(orpcMocks.updateResume.mock.calls[1]?.[0]).toEqual({ id: initial.id, data: latest.data });
|
||||
});
|
||||
|
||||
it("keeps the latest draft data and shows a persistent toast when saving fails", async () => {
|
||||
const initial = makeResume("resume-failure");
|
||||
orpcMocks.updateResume.mockRejectedValue(new Error("network down"));
|
||||
useResumeStore.getState().initialize(initial);
|
||||
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "Unsaved Name";
|
||||
});
|
||||
|
||||
vi.advanceTimersByTime(500);
|
||||
await flushMicrotasks();
|
||||
|
||||
expect(useResumeStore.getState().resume?.data.basics.name).toBe("Unsaved Name");
|
||||
expect(toastMocks.error).toHaveBeenCalledWith(
|
||||
"Your latest changes could not be saved.",
|
||||
expect.objectContaining({ duration: Number.POSITIVE_INFINITY }),
|
||||
);
|
||||
expect(orpcMocks.patchResume).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe("resume update stream subscription", () => {
|
||||
beforeEach(() => {
|
||||
vi.useFakeTimers();
|
||||
orpcMocks.streamSubscribe.mockReset();
|
||||
consumeEventIteratorMock.mockReset();
|
||||
orpcMocks.getResumeById.mockReset();
|
||||
queryClientMock.setQueryData.mockClear();
|
||||
routerParamsMock.value = {};
|
||||
i18n.loadAndActivate({ locale: "en-US", messages: {} });
|
||||
useResumeStore.getState().reset();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.clearAllTimers();
|
||||
vi.useRealTimers();
|
||||
useResumeStore.getState().reset();
|
||||
});
|
||||
|
||||
it("subscribes by explicit resume id and calls the provided update handler", async () => {
|
||||
const cancel = vi.fn().mockResolvedValue(undefined);
|
||||
const onUpdate = vi.fn().mockResolvedValue(undefined);
|
||||
consumeEventIteratorMock.mockReturnValue(cancel);
|
||||
|
||||
const { unmount } = renderHook(() =>
|
||||
useResumeUpdateSubscription({
|
||||
resumeId: "resume-stream",
|
||||
onUpdate,
|
||||
}),
|
||||
);
|
||||
|
||||
expect(orpcMocks.streamSubscribe).toHaveBeenCalledWith({ id: "resume-stream" });
|
||||
const handlers = consumeEventIteratorMock.mock.calls[0]?.[1] as { onEvent: () => Promise<void> } | undefined;
|
||||
expect(handlers).toBeDefined();
|
||||
|
||||
await act(async () => {
|
||||
await handlers?.onEvent();
|
||||
});
|
||||
|
||||
expect(onUpdate).toHaveBeenCalledTimes(1);
|
||||
|
||||
unmount();
|
||||
expect(cancel).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it("replaces the builder draft from the server when there are no pending local edits", async () => {
|
||||
const initial = makeResume("resume-clean");
|
||||
const remote = withBasicsName(initial, "Remote Name");
|
||||
const cancel = vi.fn().mockResolvedValue(undefined);
|
||||
consumeEventIteratorMock.mockReturnValue(cancel);
|
||||
orpcMocks.getResumeById.mockResolvedValue(remote);
|
||||
routerParamsMock.value = { resumeId: initial.id };
|
||||
useResumeStore.getState().initialize(initial);
|
||||
|
||||
renderHook(() => useBuilderResumeUpdateSubscription());
|
||||
const handlers = consumeEventIteratorMock.mock.calls[0]?.[1] as { onEvent: () => Promise<void> } | undefined;
|
||||
|
||||
await act(async () => {
|
||||
await handlers?.onEvent();
|
||||
});
|
||||
|
||||
expect(queryClientMock.setQueryData).toHaveBeenCalledWith(["resume", "getById", initial.id], remote);
|
||||
expect(useResumeStore.getState().resume?.data.basics.name).toBe("Remote Name");
|
||||
});
|
||||
|
||||
it("does not overwrite pending local builder edits when a remote update arrives", async () => {
|
||||
const initial = makeResume("resume-pending");
|
||||
const remote = withBasicsName(initial, "Remote Name");
|
||||
const cancel = vi.fn().mockResolvedValue(undefined);
|
||||
consumeEventIteratorMock.mockReturnValue(cancel);
|
||||
orpcMocks.getResumeById.mockResolvedValue(remote);
|
||||
routerParamsMock.value = { resumeId: initial.id };
|
||||
useResumeStore.getState().initialize(initial);
|
||||
useResumeStore.getState().updateResumeData((draft) => {
|
||||
draft.basics.name = "Local Name";
|
||||
});
|
||||
|
||||
renderHook(() => useBuilderResumeUpdateSubscription());
|
||||
const handlers = consumeEventIteratorMock.mock.calls[0]?.[1] as { onEvent: () => Promise<void> } | undefined;
|
||||
|
||||
await act(async () => {
|
||||
await handlers?.onEvent();
|
||||
});
|
||||
|
||||
expect(queryClientMock.setQueryData).toHaveBeenCalledWith(["resume", "getById", initial.id], remote);
|
||||
expect(useResumeStore.getState().resume?.data.basics.name).toBe("Local Name");
|
||||
});
|
||||
});
|
||||
@@ -10,7 +10,6 @@ import { useCallback, useEffect, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import { immer } from "zustand/middleware/immer";
|
||||
import { create } from "zustand/react";
|
||||
import { applyResumePatches, createResumePatches } from "@reactive-resume/resume/patch";
|
||||
import { orpc, streamClient } from "@/libs/orpc/client";
|
||||
|
||||
export type Resume = {
|
||||
@@ -46,13 +45,20 @@ type ResumeStore = ResumeStoreState & ResumeStoreActions;
|
||||
type Runtime = {
|
||||
abortController: AbortController;
|
||||
queryClient?: QueryClient;
|
||||
baselineData?: ResumeData;
|
||||
hasPendingLocalChanges: boolean;
|
||||
isSaving: boolean;
|
||||
pendingResume?: Resume;
|
||||
syncErrorToastId?: string | number;
|
||||
syncResume: ReturnType<typeof debounce<(resume: Resume) => Promise<void>>>;
|
||||
syncResume: ReturnType<typeof debounce<(resume: Resume) => void>>;
|
||||
beforeUnloadHandler?: () => void;
|
||||
};
|
||||
|
||||
type ResumeUpdateSubscriptionOptions = {
|
||||
resumeId?: string;
|
||||
onUpdate: () => Promise<void> | void;
|
||||
onError?: (error: unknown) => void;
|
||||
};
|
||||
|
||||
const SAVE_DEBOUNCE_MS = 500;
|
||||
const runtimes = new Map<string, Runtime>();
|
||||
|
||||
@@ -66,66 +72,86 @@ function cloneResumeData(data: ResumeData): ResumeData {
|
||||
return structuredClone(data);
|
||||
}
|
||||
|
||||
function cloneResume(resume: Resume): Resume {
|
||||
return { ...resume, data: cloneResumeData(resume.data) };
|
||||
}
|
||||
|
||||
function createResumeUpdateEventIterator(resumeId: string) {
|
||||
return streamClient.resume.updates.subscribe({ id: resumeId });
|
||||
}
|
||||
|
||||
function setRuntimeBaseline(resume: Resume) {
|
||||
const runtime = getRuntime(resume.id);
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
runtime.pendingResume = undefined;
|
||||
}
|
||||
|
||||
async function flushResumeSave(id: string) {
|
||||
const runtime = runtimes.get(id);
|
||||
if (!runtime || runtime.isSaving || !runtime.pendingResume) return;
|
||||
|
||||
const submitted = runtime.pendingResume;
|
||||
const submittedData = cloneResumeData(submitted.data);
|
||||
runtime.pendingResume = undefined;
|
||||
runtime.isSaving = true;
|
||||
|
||||
try {
|
||||
const updated = (await orpc.resume.update.call(
|
||||
{ id: submitted.id, data: submittedData },
|
||||
{ signal: runtime.abortController.signal },
|
||||
)) as Resume;
|
||||
|
||||
runtime.queryClient?.setQueryData(getResumeQueryKey(submitted.id), updated);
|
||||
|
||||
const currentResume = useResumeStore.getState().resume;
|
||||
const currentDataStillMatchesSubmission =
|
||||
currentResume?.id === submitted.id && isEqual(currentResume.data, submittedData);
|
||||
|
||||
if (currentDataStillMatchesSubmission && !runtime.pendingResume) {
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
useResumeStore.getState().replaceResumeFromServer(updated);
|
||||
} else {
|
||||
runtime.hasPendingLocalChanges = true;
|
||||
useResumeStore.getState().mergeResumeMetadata(updated);
|
||||
|
||||
if (!runtime.pendingResume && currentResume?.id === submitted.id && !isEqual(currentResume.data, submittedData)) {
|
||||
runtime.syncResume.cancel();
|
||||
runtime.pendingResume = cloneResume(currentResume);
|
||||
}
|
||||
}
|
||||
|
||||
if (runtime.syncErrorToastId !== undefined) {
|
||||
toast.dismiss(runtime.syncErrorToastId);
|
||||
runtime.syncErrorToastId = undefined;
|
||||
}
|
||||
} catch (error: unknown) {
|
||||
if (error instanceof DOMException && error.name === "AbortError") return;
|
||||
|
||||
runtime.pendingResume ??= submitted;
|
||||
runtime.hasPendingLocalChanges = true;
|
||||
runtime.syncErrorToastId = toast.error(t`Your latest changes could not be saved.`, {
|
||||
id: runtime.syncErrorToastId,
|
||||
duration: Number.POSITIVE_INFINITY,
|
||||
});
|
||||
} finally {
|
||||
runtime.isSaving = false;
|
||||
if (runtime.pendingResume && runtime.syncErrorToastId === undefined) void flushResumeSave(id);
|
||||
}
|
||||
}
|
||||
|
||||
function queueResumeSave(resume: Resume) {
|
||||
const runtime = getRuntime(resume.id);
|
||||
runtime.pendingResume = cloneResume(resume);
|
||||
runtime.hasPendingLocalChanges = true;
|
||||
void flushResumeSave(resume.id);
|
||||
}
|
||||
|
||||
function createRuntime(): Runtime {
|
||||
const abortController = new AbortController();
|
||||
|
||||
const syncResume = debounce(
|
||||
async (resume: Resume) => {
|
||||
const runtime = runtimes.get(resume.id);
|
||||
if (!runtime) return;
|
||||
|
||||
const baselineData = runtime.baselineData ?? cloneResumeData(resume.data);
|
||||
const operations = createResumePatches(baselineData, resume.data);
|
||||
|
||||
if (operations.length === 0) {
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const submittedData = cloneResumeData(resume.data);
|
||||
|
||||
try {
|
||||
const updated = (await orpc.resume.patch.call(
|
||||
{ id: resume.id, operations },
|
||||
{ signal: abortController.signal },
|
||||
)) as Resume;
|
||||
|
||||
runtime.queryClient?.setQueryData(getResumeQueryKey(resume.id), updated);
|
||||
runtime.baselineData = cloneResumeData(updated.data);
|
||||
|
||||
const currentResume = useResumeStore.getState().resume;
|
||||
const currentDataStillMatchesSubmission =
|
||||
currentResume?.id === resume.id && isEqual(currentResume.data, submittedData);
|
||||
|
||||
if (currentDataStillMatchesSubmission) {
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
useResumeStore.getState().replaceResumeFromServer(updated);
|
||||
} else {
|
||||
runtime.hasPendingLocalChanges = true;
|
||||
useResumeStore.getState().mergeResumeMetadata(updated);
|
||||
syncCurrentResume(resume.id);
|
||||
}
|
||||
|
||||
if (runtime.syncErrorToastId === undefined) return;
|
||||
toast.dismiss(runtime.syncErrorToastId);
|
||||
runtime.syncErrorToastId = undefined;
|
||||
} catch (error: unknown) {
|
||||
if (error instanceof DOMException && error.name === "AbortError") return;
|
||||
runtime.syncErrorToastId = toast.error(t`Your latest changes could not be saved.`, {
|
||||
id: runtime.syncErrorToastId,
|
||||
duration: Number.POSITIVE_INFINITY,
|
||||
});
|
||||
}
|
||||
(resume: Resume) => {
|
||||
queueResumeSave(resume);
|
||||
},
|
||||
SAVE_DEBOUNCE_MS,
|
||||
{ signal: abortController.signal },
|
||||
@@ -134,6 +160,7 @@ function createRuntime(): Runtime {
|
||||
const runtime: Runtime = {
|
||||
abortController,
|
||||
hasPendingLocalChanges: false,
|
||||
isSaving: false,
|
||||
syncResume,
|
||||
};
|
||||
|
||||
@@ -330,56 +357,26 @@ export function useUpdateResumeData() {
|
||||
);
|
||||
}
|
||||
|
||||
export function useResumeUpdateSubscription() {
|
||||
const queryClient = useQueryClient();
|
||||
const replaceResumeFromServer = useResumeStore((state) => state.replaceResumeFromServer);
|
||||
const params = useParams({ strict: false }) as { resumeId?: string };
|
||||
const resumeId = params.resumeId;
|
||||
export function useResumeUpdateSubscription({ resumeId, onUpdate, onError }: ResumeUpdateSubscriptionOptions) {
|
||||
const [_retryNonce, setRetryNonce] = useState(0);
|
||||
|
||||
useEffect(() => {
|
||||
if (!resumeId) return;
|
||||
|
||||
bindRuntimeQueryClient(resumeId, queryClient);
|
||||
|
||||
let didCancel = false;
|
||||
let retryTimer: number | undefined;
|
||||
const cancel = consumeEventIterator(createResumeUpdateEventIterator(resumeId), {
|
||||
onEvent: async () => {
|
||||
try {
|
||||
const resume = (await orpc.resume.getById.call({ id: resumeId })) as Resume;
|
||||
|
||||
if (hasPendingLocalChanges(resumeId)) {
|
||||
const runtime = getRuntime(resumeId);
|
||||
const currentResume = useResumeStore.getState().resume;
|
||||
const baselineData = runtime.baselineData ?? currentResume?.data;
|
||||
|
||||
if (currentResume && baselineData) {
|
||||
const localOperations = createResumePatches(baselineData, currentResume.data);
|
||||
const mergedData = applyResumePatches(resume.data, localOperations);
|
||||
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
runtime.hasPendingLocalChanges = localOperations.length > 0;
|
||||
queryClient.setQueryData(getResumeQueryKey(resumeId), resume);
|
||||
useResumeStore.getState().replaceResumeDraft({ ...resume, data: mergedData });
|
||||
syncCurrentResume(resumeId);
|
||||
} else {
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
useResumeStore.getState().mergeResumeMetadata(resume);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
queryClient.setQueryData(getResumeQueryKey(resumeId), resume);
|
||||
replaceResumeFromServer(resume);
|
||||
await onUpdate();
|
||||
} catch (error) {
|
||||
if (error instanceof DOMException && error.name === "AbortError") return;
|
||||
console.warn("Failed to refresh resume after update event:", error);
|
||||
onError?.(error);
|
||||
}
|
||||
},
|
||||
onError: (error) => {
|
||||
if (didCancel) return;
|
||||
console.warn("Resume update stream failed, reconnecting:", error);
|
||||
onError?.(error);
|
||||
retryTimer = window.setTimeout(() => setRetryNonce((value) => value + 1), 2500);
|
||||
},
|
||||
});
|
||||
@@ -389,7 +386,36 @@ export function useResumeUpdateSubscription() {
|
||||
if (retryTimer) window.clearTimeout(retryTimer);
|
||||
void cancel().catch(() => {});
|
||||
};
|
||||
}, [onError, onUpdate, resumeId]);
|
||||
}
|
||||
|
||||
export function useBuilderResumeUpdateSubscription() {
|
||||
const queryClient = useQueryClient();
|
||||
const replaceResumeFromServer = useResumeStore((state) => state.replaceResumeFromServer);
|
||||
const params = useParams({ strict: false }) as { resumeId?: string };
|
||||
const resumeId = params.resumeId;
|
||||
|
||||
const onUpdate = useCallback(async () => {
|
||||
if (!resumeId) return;
|
||||
|
||||
bindRuntimeQueryClient(resumeId, queryClient);
|
||||
const resume = (await orpc.resume.getById.call({ id: resumeId })) as Resume;
|
||||
|
||||
queryClient.setQueryData(getResumeQueryKey(resumeId), resume);
|
||||
|
||||
if (hasPendingLocalChanges(resumeId)) {
|
||||
useResumeStore.getState().mergeResumeMetadata(resume);
|
||||
return;
|
||||
}
|
||||
|
||||
replaceResumeFromServer(resume);
|
||||
}, [queryClient, replaceResumeFromServer, resumeId]);
|
||||
|
||||
const onError = useCallback((error: unknown) => {
|
||||
console.warn("Resume update stream failed, reconnecting:", error);
|
||||
}, []);
|
||||
|
||||
useResumeUpdateSubscription({ resumeId, onUpdate, onError });
|
||||
}
|
||||
|
||||
export function useResumeCleanup() {
|
||||
|
||||
@@ -46,7 +46,6 @@ export function PdfCanvasDocument({ children, file, onLoadSuccess }: PdfCanvasDo
|
||||
useEffect(() => {
|
||||
let isCancelled = false;
|
||||
let loadingTask: PDFDocumentLoadingTask | undefined;
|
||||
let loadedDocument: PDFDocumentProxy | undefined;
|
||||
|
||||
const loadDocument = async () => {
|
||||
setDocument(null);
|
||||
@@ -59,9 +58,8 @@ export function PdfCanvasDocument({ children, file, onLoadSuccess }: PdfCanvasDo
|
||||
const pdfDocument = await loadingTask.promise;
|
||||
|
||||
if (isCancelled) {
|
||||
void pdfDocument.destroy();
|
||||
void loadingTask.destroy();
|
||||
} else {
|
||||
loadedDocument = pdfDocument;
|
||||
setDocument(pdfDocument);
|
||||
onLoadSuccessRef.current(pdfDocument);
|
||||
}
|
||||
@@ -76,12 +74,7 @@ export function PdfCanvasDocument({ children, file, onLoadSuccess }: PdfCanvasDo
|
||||
|
||||
return () => {
|
||||
isCancelled = true;
|
||||
|
||||
if (loadedDocument) {
|
||||
void loadedDocument.destroy();
|
||||
} else if (loadingTask) {
|
||||
void loadingTask.destroy();
|
||||
}
|
||||
void loadingTask?.destroy();
|
||||
};
|
||||
}, [file]);
|
||||
|
||||
@@ -190,13 +183,8 @@ export function PdfCanvasPage({
|
||||
</figcaption>
|
||||
) : null}
|
||||
|
||||
<div
|
||||
role="img"
|
||||
aria-label={`Resume page ${pageNumber} of ${totalPages}`}
|
||||
style={scaledPageSize}
|
||||
className={cn("aspect-page overflow-hidden rounded-md", className)}
|
||||
>
|
||||
<canvas ref={canvasRef} />
|
||||
<div style={scaledPageSize} className={cn("aspect-page overflow-hidden rounded-md", className)}>
|
||||
<canvas ref={canvasRef} aria-label={`Resume page ${pageNumber} of ${totalPages}`} />
|
||||
</div>
|
||||
</figure>
|
||||
);
|
||||
|
||||
@@ -60,10 +60,6 @@ export const createPdfFirstPageImageUrl = async (file: Blob) => {
|
||||
page.cleanup();
|
||||
}
|
||||
} finally {
|
||||
if (pdfDocument) {
|
||||
void pdfDocument.destroy();
|
||||
} else {
|
||||
void loadingTask.destroy();
|
||||
}
|
||||
void loadingTask.destroy();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10,7 +10,6 @@ const pdfjsMock = vi.hoisted(() => {
|
||||
};
|
||||
|
||||
const pdfDocument = {
|
||||
destroy: vi.fn(),
|
||||
getPage: vi.fn(async () => page),
|
||||
numPages: 1,
|
||||
};
|
||||
@@ -41,12 +40,14 @@ vi.mock("pdfjs-dist", () => {
|
||||
|
||||
vi.mock("pdfjs-dist/legacy/build/pdf.mjs", () => pdfjsMock.legacyModule);
|
||||
|
||||
const pdfCanvasModule = import("./pdf-canvas");
|
||||
const pdfCanvasModuleTimeoutMs = 15_000;
|
||||
|
||||
describe("PDF.js browser entrypoints", () => {
|
||||
beforeEach(() => {
|
||||
pdfjsMock.legacyModule.GlobalWorkerOptions.workerSrc = undefined;
|
||||
pdfjsMock.legacyModule.getDocument.mockClear();
|
||||
pdfjsMock.loadingTask.destroy.mockClear();
|
||||
pdfjsMock.pdfDocument.destroy.mockClear();
|
||||
pdfjsMock.pdfDocument.getPage.mockClear();
|
||||
pdfjsMock.page.cleanup.mockClear();
|
||||
pdfjsMock.page.getViewport.mockClear();
|
||||
@@ -58,18 +59,22 @@ describe("PDF.js browser entrypoints", () => {
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
|
||||
it("loads the canvas preview renderer from the legacy PDF.js runtime", async () => {
|
||||
await expect(import("./pdf-canvas")).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
PdfCanvasDocument: expect.any(Function),
|
||||
PdfCanvasPage: expect.any(Function),
|
||||
}),
|
||||
);
|
||||
it(
|
||||
"loads the canvas preview renderer from the legacy PDF.js runtime",
|
||||
async () => {
|
||||
await expect(pdfCanvasModule).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
PdfCanvasDocument: expect.any(Function),
|
||||
PdfCanvasPage: expect.any(Function),
|
||||
}),
|
||||
);
|
||||
|
||||
expect(pdfjsMock.legacyModule.GlobalWorkerOptions.workerSrc).toContain(
|
||||
"pdfjs-dist/legacy/build/pdf.worker.min.mjs",
|
||||
);
|
||||
});
|
||||
expect(pdfjsMock.legacyModule.GlobalWorkerOptions.workerSrc).toContain(
|
||||
"pdfjs-dist/legacy/build/pdf.worker.min.mjs",
|
||||
);
|
||||
},
|
||||
pdfCanvasModuleTimeoutMs,
|
||||
);
|
||||
|
||||
it("creates thumbnails with the legacy PDF.js runtime", async () => {
|
||||
vi.spyOn(HTMLCanvasElement.prototype, "getContext").mockReturnValue({} as CanvasRenderingContext2D);
|
||||
@@ -93,6 +98,6 @@ describe("PDF.js browser entrypoints", () => {
|
||||
expect(pdfjsMock.page.render).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ annotationMode: 0, background: "white" }),
|
||||
);
|
||||
expect(pdfjsMock.pdfDocument.destroy).toHaveBeenCalledTimes(1);
|
||||
expect(pdfjsMock.loadingTask.destroy).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||