mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-09-30 08:44:31 +10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
409d09809a | ||
|
|
6d9ebccc63 | ||
|
|
45303fb465 | ||
|
|
f64d02df7f | ||
|
|
bad431b2fc | ||
|
|
9f13638eab | ||
|
|
13e584d522 | ||
|
|
6035402832 | ||
|
|
69961210bd | ||
|
|
7eb6d3bdbf | ||
|
|
5fc9c3ee04 | ||
|
|
a8d1f5a685 | ||
|
|
dd9843172b | ||
|
|
28d698635f | ||
|
|
3635b3d578 | ||
|
|
5a75eda893 | ||
|
|
e4b28e9825 | ||
|
|
2d6ea9ce8d | ||
|
|
0e463883af | ||
|
|
3a5b12e2a4 | ||
|
|
035d94183b | ||
|
|
efd950bd93 | ||
|
|
04100aa9ef | ||
|
|
c292968314 | ||
|
|
ba1f469950 | ||
|
|
b4f245a38e | ||
|
|
e6a31aab97 | ||
|
|
88a19619da | ||
|
|
36232b631d | ||
|
|
9eec1520a1 | ||
|
|
131c1492cd | ||
|
|
ba8e1be2ab | ||
|
|
4a8f87ab8f | ||
|
|
186c400ab7 | ||
|
|
d314361ad6 | ||
|
|
b071a118a3 | ||
|
|
3589b534f5 | ||
|
|
1ee24e5a9f | ||
|
|
93bf1e882d | ||
|
|
ae8d48bcee | ||
|
|
517199471a | ||
|
|
15f8bce988 | ||
|
|
164a279306 | ||
|
|
79e4a3ddc8 | ||
|
|
d2ffbf9618 | ||
|
|
4ac19f81b3 | ||
|
|
b303b89758 | ||
|
|
c6ac3fd1a9 | ||
|
|
fe6f84e06d | ||
|
|
9d6426b2e0 | ||
|
|
d34a429dea | ||
|
|
b69583c181 | ||
|
|
50f50b2672 | ||
|
|
fb8c73be76 | ||
|
|
18468a5658 | ||
|
|
048eab3b49 | ||
|
|
ca774c77c8 | ||
|
|
a4897c20d7 | ||
|
|
bed14a72af | ||
|
|
93c06934bd | ||
|
|
1e665fbe7e | ||
|
|
30812f8a8e | ||
|
|
dd0531091b | ||
|
|
a2901bfb2e | ||
|
|
418c7887ee | ||
|
|
12407d473d | ||
|
|
36a46cfd66 | ||
|
|
0868a92e62 |
@@ -56,6 +56,9 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Run Server and Tooling Tests
|
||||
run: pnpm exec turbo run test:ci --filter=server --filter=@reactive-resume/tooling
|
||||
|
||||
- name: Install Playwright Browser
|
||||
run: pnpm exec playwright install --with-deps chromium
|
||||
|
||||
@@ -73,8 +76,8 @@ jobs:
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
|
||||
- name: Run E2E Tests
|
||||
run: pnpm test:e2e:ci
|
||||
- name: Run Baseline E2E Tests
|
||||
run: pnpm exec playwright test --grep-invert "@semantic-css"
|
||||
|
||||
- name: Upload Playwright Report
|
||||
if: always()
|
||||
|
||||
@@ -51,6 +51,7 @@ temp
|
||||
.cursor
|
||||
.codegraph
|
||||
.superpowers
|
||||
.worktrees
|
||||
.migration
|
||||
|
||||
# Local Storage Data
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Task 1: Harden public PDF response contract
|
||||
|
||||
## Implemented
|
||||
|
||||
- Pinned successful public PDF responses to `Content-Type: application/pdf` at the HTTP boundary.
|
||||
- Kept `Cache-Control: private, no-store` hardcoded at that boundary for successful, validation-error, and service-error responses.
|
||||
- Removed the unused `cacheControl` member from `createPublicResumePdf` and all affected tests/mocks.
|
||||
- Updated the route regression to return a `text/plain` file from the service mock while asserting the HTTP response remains `application/pdf`.
|
||||
|
||||
## Verification
|
||||
|
||||
- `pnpm --filter server test -- src/http/public-resume-pdf.test.ts` — 13 files / 71 tests passed.
|
||||
- `dotenvx run -f .env.local -- pnpm exec vitest run packages/api/src/features/resume/public-pdf.test.ts` — 1 file / 7 tests passed.
|
||||
- `pnpm exec biome check apps/server/src/http/public-resume-pdf.ts apps/server/src/http/public-resume-pdf.test.ts packages/api/src/features/resume/public-pdf.ts packages/api/src/features/resume/public-pdf.test.ts` — passed.
|
||||
- `pnpm --filter server typecheck` and `pnpm --filter @reactive-resume/api typecheck` — passed.
|
||||
|
||||
## Note
|
||||
|
||||
The API package test script did not scope to the supplied test path and initially ran the package suite, which has two unrelated baseline failures: `src/features/ai/url-policy.test.ts` and `src/features/resume/export.test.ts` (missing required env). The target test was then run directly with `.env.local` and passed.
|
||||
|
||||
## Self-review
|
||||
|
||||
`git diff --check` passed. The diff is restricted to the public PDF service contract, HTTP response header, and their focused tests.
|
||||
@@ -12,7 +12,7 @@ Internal packages are source-consumed through `package.json` export maps that po
|
||||
|
||||
- **Node.js 24** (matches Dockerfile `ARG NODE_VERSION=24`). Use `nvm install 24 && nvm use 24` if needed.
|
||||
- **Docker** is required to run PostgreSQL. Start it with `sudo dockerd &` if the daemon isn't running.
|
||||
- **pnpm 11.1.2** is managed via corepack (`corepack enable`).
|
||||
- **pnpm 11.21.0**. Install pnpm directly using the [official installation guide](https://pnpm.io/installation).
|
||||
|
||||
### Codebase map
|
||||
|
||||
@@ -107,7 +107,7 @@ The production server runs migrations during startup before serving traffic. Man
|
||||
|
||||
### Environment
|
||||
|
||||
Copy `.env.example` to `.env`. The three required variables are:
|
||||
Copy `.env.example` to `.env.local`. The three required variables are:
|
||||
|
||||
- `APP_URL` (default `http://localhost:3000`)
|
||||
- `DATABASE_URL` (default `postgresql://postgres:postgres@localhost:5432/postgres`)
|
||||
@@ -115,6 +115,8 @@ Copy `.env.example` to `.env`. The three required variables are:
|
||||
|
||||
S3/SeaweedFS is optional. If `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, and `S3_BUCKET` are all set, the app uses S3-compatible storage. The checked-in `.env.example` sets SeaweedFS defaults, so either start the `seaweedfs` compose service too or comment out those S3 vars to use local filesystem storage under `<workspace>/data`. `LOCAL_STORAGE_PATH` must be absolute when set.
|
||||
|
||||
`REDIS_URL` and `ENCRYPTION_SECRET` are optional for core resume flows, but both are required for saved AI providers and the authenticated `/agent` workspace. Start the `redis` compose service and set both vars in `.env.local` when working on those features. For host-run development, use `REDIS_URL=redis://localhost:6379`; the container-run app uses `REDIS_URL=redis://redis:6379`.
|
||||
|
||||
When running dev servers or migration commands, prefix the command with `dotenvx run -f .env.local --`. For example: `dotenvx run -f .env.local -- pnpm dev`. Tests, typechecks, linters, boundary checks, and `pnpm build` do not need this prefix by default. If one of those commands fails because a specific environment variable is required, rerun it with the `dotenvx run -f .env.local --` prefix.
|
||||
|
||||
### Common commands
|
||||
@@ -124,6 +126,7 @@ When running dev servers or migration commands, prefix the command with `dotenvx
|
||||
| Install deps | `pnpm install` |
|
||||
| Start Postgres only | `sudo docker compose -f compose.dev.yml up -d postgres` |
|
||||
| Start Postgres + SeaweedFS | `sudo docker compose -f compose.dev.yml up -d postgres seaweedfs seaweedfs_create_bucket` |
|
||||
| Start full dev infrastructure | `sudo docker compose -f compose.dev.yml up -d postgres redis seaweedfs seaweedfs_create_bucket` |
|
||||
| Generate migrations | `dotenvx run -f .env.local -- pnpm db:generate` |
|
||||
| Run migrations | `dotenvx run -f .env.local -- pnpm db:migrate` |
|
||||
| Dev server | `dotenvx run -f .env.local -- pnpm dev` (starts on port 3000) |
|
||||
|
||||
+7
-7
@@ -1,17 +1,17 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
|
||||
ARG PNPM_VERSION=11.21.0
|
||||
ARG NODE_VERSION=24
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS base
|
||||
FROM ghcr.io/pnpm/pnpm:${PNPM_VERSION} AS base
|
||||
|
||||
ARG NODE_VERSION
|
||||
|
||||
RUN pnpm runtime set node ${NODE_VERSION} -g --config.store-dir=/pnpm/runtime-store
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \
|
||||
PNPM_HOME="/pnpm" \
|
||||
PATH="/pnpm:$PATH" \
|
||||
TURBO_TELEMETRY_DISABLED=1
|
||||
|
||||
RUN corepack enable
|
||||
ENV TURBO_TELEMETRY_DISABLED=1
|
||||
|
||||
FROM base AS pruner
|
||||
COPY . .
|
||||
|
||||
+7
-7
@@ -1,19 +1,19 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
|
||||
ARG PNPM_VERSION=11.21.0
|
||||
ARG NODE_VERSION=24
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS dev
|
||||
FROM ghcr.io/pnpm/pnpm:${PNPM_VERSION} AS dev
|
||||
|
||||
ARG NODE_VERSION
|
||||
|
||||
RUN pnpm runtime set node ${NODE_VERSION} -g --config.store-dir=/pnpm/runtime-store
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \
|
||||
PNPM_HOME="/pnpm" \
|
||||
PATH="/pnpm:$PATH" \
|
||||
NODE_ENV=development \
|
||||
ENV NODE_ENV=development \
|
||||
TURBO_TELEMETRY_DISABLED=1
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
|
||||
COPY patches ./patches
|
||||
COPY apps/server/package.json ./apps/server/package.json
|
||||
|
||||
+43
-37
@@ -7,6 +7,7 @@
|
||||
"dev": "tsx watch src/index.ts",
|
||||
"build": "tsdown",
|
||||
"start": "node dist/index.mjs",
|
||||
"docs:gen": "tsx src/openapi/generate-spec.ts",
|
||||
"typecheck": "tsgo --noEmit",
|
||||
"test": "vitest run --passWithNoTests",
|
||||
"test:coverage": "vitest run --coverage --passWithNoTests",
|
||||
@@ -17,62 +18,67 @@
|
||||
"#react-pdf-renderer": "@react-pdf/renderer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^4.0.21",
|
||||
"@ai-sdk/cerebras": "^3.0.14",
|
||||
"@ai-sdk/cohere": "^4.0.12",
|
||||
"@ai-sdk/deepseek": "^3.0.13",
|
||||
"@ai-sdk/fireworks": "^3.0.15",
|
||||
"@ai-sdk/google": "^4.0.24",
|
||||
"@ai-sdk/groq": "^4.0.13",
|
||||
"@ai-sdk/mistral": "^4.0.14",
|
||||
"@ai-sdk/openai": "^4.0.20",
|
||||
"@ai-sdk/openai-compatible": "^3.0.14",
|
||||
"@ai-sdk/perplexity": "^4.0.13",
|
||||
"@ai-sdk/togetherai": "^3.0.15",
|
||||
"@ai-sdk/xai": "^4.0.18",
|
||||
"@aws-sdk/client-s3": "^3.1096.0",
|
||||
"@better-auth/api-key": "^1.6.25",
|
||||
"@better-auth/drizzle-adapter": "^1.6.25",
|
||||
"@ai-sdk/anthropic": "^4.0.36",
|
||||
"@ai-sdk/cerebras": "^3.0.28",
|
||||
"@ai-sdk/cohere": "^4.0.25",
|
||||
"@ai-sdk/deepseek": "^3.0.26",
|
||||
"@ai-sdk/fireworks": "^3.0.30",
|
||||
"@ai-sdk/google": "^4.0.39",
|
||||
"@ai-sdk/groq": "^4.0.26",
|
||||
"@ai-sdk/mistral": "^4.0.27",
|
||||
"@ai-sdk/openai": "^4.0.36",
|
||||
"@ai-sdk/openai-compatible": "^3.0.28",
|
||||
"@ai-sdk/perplexity": "^4.0.27",
|
||||
"@ai-sdk/togetherai": "^3.0.29",
|
||||
"@ai-sdk/xai": "^4.0.33",
|
||||
"@aws-sdk/client-s3": "^3.1106.0",
|
||||
"@better-auth/api-key": "^1.6.26",
|
||||
"@better-auth/drizzle-adapter": "^1.6.26",
|
||||
"@better-auth/infra": "^0.3.7",
|
||||
"@better-auth/oauth-provider": "^1.6.25",
|
||||
"@better-auth/passkey": "^1.6.25",
|
||||
"@hono/node-server": "^2.0.12",
|
||||
"@better-auth/oauth-provider": "^1.6.26",
|
||||
"@better-auth/passkey": "^1.6.26",
|
||||
"@bramus/specificity": "^2.4.2",
|
||||
"@hono/node-server": "^2.1.0",
|
||||
"@modelcontextprotocol/sdk": "^1.30.0",
|
||||
"@orpc/client": "^1.14.12",
|
||||
"@orpc/experimental-ratelimit": "^1.14.12",
|
||||
"@orpc/json-schema": "^1.14.12",
|
||||
"@orpc/openapi": "^1.14.12",
|
||||
"@orpc/server": "^1.14.12",
|
||||
"@orpc/zod": "^1.14.12",
|
||||
"@react-pdf/renderer": "^4.5.1",
|
||||
"@orpc/client": "^1.15.0",
|
||||
"@orpc/experimental-ratelimit": "^1.15.0",
|
||||
"@orpc/json-schema": "^1.15.0",
|
||||
"@orpc/openapi": "^1.15.0",
|
||||
"@orpc/server": "^1.15.0",
|
||||
"@orpc/zod": "^1.15.0",
|
||||
"@react-pdf/renderer": "^4.6.0",
|
||||
"@reactive-resume/api": "workspace:*",
|
||||
"@reactive-resume/auth": "workspace:*",
|
||||
"@reactive-resume/db": "workspace:*",
|
||||
"@reactive-resume/env": "workspace:*",
|
||||
"@reactive-resume/mcp": "workspace:*",
|
||||
"@reactive-resume/pdf": "workspace:*",
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"@sindresorhus/slugify": "^3.0.0",
|
||||
"@t3-oss/env-core": "^0.13.11",
|
||||
"@uiw/color-convert": "^2.10.3",
|
||||
"ai": "^7.0.37",
|
||||
"ai": "^7.0.58",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.6.25",
|
||||
"better-auth": "1.6.26",
|
||||
"canonicalize": "^3.0.0",
|
||||
"cjk-regex": "^3.4.0",
|
||||
"css-tree": "^3.2.1",
|
||||
"deepmerge-ts": "^7.1.5",
|
||||
"drizzle-orm": "1.0.0-rc.4",
|
||||
"drizzle-zod": "1.0.0-beta.14-a36c63d",
|
||||
"es-toolkit": "^1.50.0",
|
||||
"fast-json-patch": "^3.1.1",
|
||||
"hono": "^4.12.32",
|
||||
"hono": "^4.13.1",
|
||||
"jsonrepair": "^3.15.0",
|
||||
"node-html-parser": "^9.0.0",
|
||||
"nodemailer": "^9.0.3",
|
||||
"node-html-parser": "^9.0.1",
|
||||
"nodemailer": "^9.0.5",
|
||||
"ollama-ai-provider-v2": "^4.0.1",
|
||||
"pg": "^8.22.0",
|
||||
"pdfjs-dist": "^6.2.108",
|
||||
"pg": "^8.23.0",
|
||||
"phosphor-icons-react-pdf": "^0.1.3",
|
||||
"react": "^19.2.8",
|
||||
"react-email": "^6.9.1",
|
||||
"react-email": "^6.9.2",
|
||||
"react-pdf-html": "^2.1.5",
|
||||
"resumable-stream": "^2.2.12",
|
||||
"sharp": "^0.35.3",
|
||||
@@ -83,12 +89,12 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^26.1.2",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.17",
|
||||
"@types/node": "^26.2.0",
|
||||
"@types/pg": "^8.21.0",
|
||||
"@types/react": "^19.2.18",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
||||
"tsdown": "^0.22.14",
|
||||
"tsx": "^4.23.1",
|
||||
"tsx": "^4.23.12",
|
||||
"typescript": "^7.0.2",
|
||||
"vitest": "^4.1.10"
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ const mocks = vi.hoisted(() => ({
|
||||
handleUpload: vi.fn(),
|
||||
handleMcp: vi.fn(),
|
||||
handleResumePdfDownload: vi.fn(),
|
||||
handlePublicResumePdf: vi.fn(),
|
||||
handleMcpServerCard: vi.fn(),
|
||||
handleOAuthAuthorizationServer: vi.fn(),
|
||||
handleOAuthProtectedResource: vi.fn(),
|
||||
@@ -69,6 +70,15 @@ vi.mock("./resume-pdf", () => ({
|
||||
handleResumePdfDownload: mocks.handleResumePdfDownload,
|
||||
}));
|
||||
|
||||
vi.mock("./public-resume-pdf", () => ({
|
||||
handlePublicResumePdf: mocks.handlePublicResumePdf,
|
||||
}));
|
||||
|
||||
const transportEnv = (remoteAddress: string) =>
|
||||
({
|
||||
incoming: { socket: { remoteAddress } },
|
||||
}) as never;
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
mocks.handleAuth.mockResolvedValue(new Response("auth"));
|
||||
@@ -79,6 +89,7 @@ beforeEach(() => {
|
||||
mocks.handleUpload.mockResolvedValue(new Response("upload"));
|
||||
mocks.handleMcp.mockResolvedValue(new Response("mcp"));
|
||||
mocks.handleResumePdfDownload.mockResolvedValue(new Response("pdf"));
|
||||
mocks.handlePublicResumePdf.mockResolvedValue(new Response("public-pdf"));
|
||||
mocks.handleMcpServerCard.mockReturnValue(new Response("server-card"));
|
||||
mocks.handleOAuthAuthorizationServer.mockReturnValue(new Response("oauth-authorization-server"));
|
||||
mocks.handleOAuthProtectedResource.mockReturnValue(new Response("oauth-protected-resource"));
|
||||
@@ -117,6 +128,51 @@ describe("createApp", () => {
|
||||
expect(mocks.handleWebApp).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("uses the transport address for public PDF fallback despite rotated forwarding headers", async () => {
|
||||
const { createApp } = await import("./app");
|
||||
const app = createApp();
|
||||
const first = new Request("http://localhost:3001/api/resumes/jane/resume/pdf?reason=render-data-hash", {
|
||||
headers: { "x-forwarded-for": "198.51.100.1" },
|
||||
});
|
||||
const rotated = new Request("http://localhost:3001/api/resumes/jane/resume/pdf?reason=render-data-hash", {
|
||||
headers: { "x-forwarded-for": "198.51.100.2" },
|
||||
});
|
||||
const env = transportEnv("203.0.113.9");
|
||||
|
||||
const response = await app.fetch(first, env);
|
||||
await app.fetch(rotated, env);
|
||||
|
||||
await expect(response.text()).resolves.toBe("public-pdf");
|
||||
expect(mocks.handlePublicResumePdf).toHaveBeenNthCalledWith(1, first, "jane", "resume", "203.0.113.9");
|
||||
expect(mocks.handlePublicResumePdf).toHaveBeenNthCalledWith(2, rotated, "jane", "resume", "203.0.113.9");
|
||||
expect(mocks.handleResumePdfDownload).not.toHaveBeenCalled();
|
||||
expect(mocks.serveWebDistStatic).not.toHaveBeenCalled();
|
||||
expect(mocks.handleWebApp).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("passes the transport address to RPC and OpenAPI and fails closed when it is unavailable", async () => {
|
||||
const { createApp } = await import("./app");
|
||||
const app = createApp();
|
||||
const trustedRpcRequest = new Request("http://localhost:3001/api/rpc", {
|
||||
headers: { "cf-connecting-ip": "198.51.100.1" },
|
||||
});
|
||||
const unknownRpcRequest = new Request("http://localhost:3001/api/rpc", {
|
||||
headers: { "cf-connecting-ip": "198.51.100.2" },
|
||||
});
|
||||
const trustedOpenApiRequest = new Request("http://localhost:3001/api/openapi/resumes/jane/resume/style-projection");
|
||||
const unknownOpenApiRequest = new Request("http://localhost:3001/api/openapi/resumes/jane/resume/style-projection");
|
||||
|
||||
await app.fetch(trustedRpcRequest, transportEnv("203.0.113.9"));
|
||||
await app.fetch(unknownRpcRequest);
|
||||
await app.fetch(trustedOpenApiRequest, transportEnv("203.0.113.9"));
|
||||
await app.fetch(unknownOpenApiRequest);
|
||||
|
||||
expect(mocks.handleRpc).toHaveBeenNthCalledWith(1, trustedRpcRequest, "203.0.113.9");
|
||||
expect(mocks.handleRpc).toHaveBeenNthCalledWith(2, unknownRpcRequest, "unknown");
|
||||
expect(mocks.handleOpenApi).toHaveBeenNthCalledWith(1, trustedOpenApiRequest, "203.0.113.9");
|
||||
expect(mocks.handleOpenApi).toHaveBeenNthCalledWith(2, unknownOpenApiRequest, "unknown");
|
||||
});
|
||||
|
||||
it.each([
|
||||
["GET", "/robots.txt", "robots", mocks.handleRobots],
|
||||
["HEAD", "/robots.txt", "", mocks.handleRobots],
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
import type { Http2Bindings, HttpBindings } from "@hono/node-server";
|
||||
import type { Context } from "hono";
|
||||
import { isIP } from "node:net";
|
||||
import { getConnInfo } from "@hono/node-server/conninfo";
|
||||
import { Hono } from "hono";
|
||||
import { handleMcp } from "../mcp/handler";
|
||||
import { handleOpenApi } from "../openapi/handler";
|
||||
@@ -15,18 +19,33 @@ import { handleUpload } from "../static/uploads";
|
||||
import { handleWebApp, serveWebDistStatic } from "../static/web";
|
||||
import { handleAuth, handleOAuth } from "./auth";
|
||||
import { handleHealth } from "./health";
|
||||
import { handlePublicResumePdf } from "./public-resume-pdf";
|
||||
import { handleResumePdfDownload } from "./resume-pdf";
|
||||
|
||||
export function createApp() {
|
||||
const app = new Hono();
|
||||
type ServerEnvironment = { Bindings: HttpBindings | Http2Bindings };
|
||||
|
||||
app.all("/api/rpc", (c) => handleRpc(c.req.raw));
|
||||
app.all("/api/rpc/*", (c) => handleRpc(c.req.raw));
|
||||
app.all("/api/openapi", (c) => handleOpenApi(c.req.raw));
|
||||
app.all("/api/openapi/*", (c) => handleOpenApi(c.req.raw));
|
||||
const getTrustedClient = (context: Context<ServerEnvironment>): string => {
|
||||
try {
|
||||
const address = getConnInfo(context).remote.address?.trim();
|
||||
return address && isIP(address) ? address : "unknown";
|
||||
} catch {
|
||||
return "unknown";
|
||||
}
|
||||
};
|
||||
|
||||
export function createApp() {
|
||||
const app = new Hono<ServerEnvironment>();
|
||||
|
||||
app.all("/api/rpc", (c) => handleRpc(c.req.raw, getTrustedClient(c)));
|
||||
app.all("/api/rpc/*", (c) => handleRpc(c.req.raw, getTrustedClient(c)));
|
||||
app.all("/api/openapi", (c) => handleOpenApi(c.req.raw, getTrustedClient(c)));
|
||||
app.all("/api/openapi/*", (c) => handleOpenApi(c.req.raw, getTrustedClient(c)));
|
||||
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/:username/:slug/pdf", (c) =>
|
||||
handlePublicResumePdf(c.req.raw, c.req.param("username"), c.req.param("slug"), getTrustedClient(c)),
|
||||
);
|
||||
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));
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const mocks = vi.hoisted(() => ({
|
||||
createPublicResumePdf: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("@reactive-resume/api/features/resume/public-pdf", () => ({
|
||||
createPublicResumePdf: mocks.createPublicResumePdf,
|
||||
PUBLIC_RESUME_PDF_MISMATCH_REASONS: [
|
||||
"missing-projection",
|
||||
"format-version",
|
||||
"language-version",
|
||||
"semantic-tree-version",
|
||||
"registry-fingerprint",
|
||||
"adapter-fingerprint",
|
||||
"render-data-hash",
|
||||
"invalid-projection",
|
||||
],
|
||||
}));
|
||||
|
||||
const { handlePublicResumePdf } = await import("./public-resume-pdf");
|
||||
const trustedClient = "203.0.113.9";
|
||||
|
||||
describe("handlePublicResumePdf", () => {
|
||||
beforeEach(() => vi.clearAllMocks());
|
||||
|
||||
it("returns the authorized fallback PDF with strict mismatch metadata and cache policy", async () => {
|
||||
const body = new File(["%PDF"], "Ada_Lovelace.pdf", { type: "text/plain" });
|
||||
mocks.createPublicResumePdf.mockResolvedValueOnce({
|
||||
body,
|
||||
filename: "Ada_Lovelace.pdf",
|
||||
});
|
||||
const registry = "0".repeat(64);
|
||||
const adapter = "1".repeat(64);
|
||||
const request = new Request(
|
||||
`https://example.com/api/resumes/jane/resume/pdf?reason=render-data-hash®istryFingerprint=${registry}&adapterFingerprint=${adapter}`,
|
||||
{ headers: { "x-forwarded-for": "203.0.113.7" } },
|
||||
);
|
||||
|
||||
const response = await handlePublicResumePdf(request, "jane", "resume", trustedClient);
|
||||
|
||||
expect(response.status).toBe(200);
|
||||
expect(response.headers.get("Content-Type")).toBe("application/pdf");
|
||||
expect(response.headers.get("Content-Disposition")).toBe('inline; filename="Ada_Lovelace.pdf"');
|
||||
expect(response.headers.get("Cache-Control")).toBe("private, no-store");
|
||||
expect(response.headers.get("X-Content-Type-Options")).toBe("nosniff");
|
||||
expect(await response.text()).toBe("%PDF");
|
||||
expect(mocks.createPublicResumePdf).toHaveBeenCalledWith({
|
||||
username: "jane",
|
||||
slug: "resume",
|
||||
requestHeaders: request.headers,
|
||||
trustedClient,
|
||||
mismatchReason: "render-data-hash",
|
||||
clientRegistryFingerprint: registry,
|
||||
clientAdapterFingerprint: adapter,
|
||||
});
|
||||
});
|
||||
|
||||
it("defaults a missing mismatch reason and keeps password/private responses uncacheable", async () => {
|
||||
mocks.createPublicResumePdf.mockResolvedValueOnce({
|
||||
body: new File(["%PDF"], "resume.pdf", { type: "application/pdf" }),
|
||||
filename: "resume.pdf",
|
||||
});
|
||||
const request = new Request("https://example.com/api/resumes/jane/resume/pdf");
|
||||
|
||||
const response = await handlePublicResumePdf(request, "jane", "resume", trustedClient);
|
||||
|
||||
expect(response.headers.get("Cache-Control")).toBe("private, no-store");
|
||||
expect(mocks.createPublicResumePdf).toHaveBeenCalledWith(
|
||||
expect.objectContaining({ mismatchReason: "missing-projection" }),
|
||||
);
|
||||
});
|
||||
|
||||
it.each([
|
||||
[{ code: "BAD_REQUEST" }, 400],
|
||||
[{ code: "NEED_PASSWORD" }, 401],
|
||||
[{ code: "NOT_FOUND" }, 404],
|
||||
[{ code: "RATE_LIMIT_EXCEEDED" }, 429],
|
||||
[{ code: "INTERNAL_SERVER_ERROR" }, 500],
|
||||
])("maps controlled API errors without caching the response", async (error, status) => {
|
||||
mocks.createPublicResumePdf.mockRejectedValueOnce(error);
|
||||
|
||||
const response = await handlePublicResumePdf(
|
||||
new Request("https://example.com/api/resumes/jane/resume/pdf"),
|
||||
"jane",
|
||||
"resume",
|
||||
trustedClient,
|
||||
);
|
||||
|
||||
expect(response.status).toBe(status);
|
||||
expect(response.headers.get("Cache-Control")).toBe("private, no-store");
|
||||
});
|
||||
|
||||
it.each(["?reason=private-source", "?registryFingerprint=unsafe", "?adapterFingerprint=unsafe"])(
|
||||
"rejects invalid fallback metadata before the API service",
|
||||
async (search) => {
|
||||
const response = await handlePublicResumePdf(
|
||||
new Request(`https://example.com/api/resumes/jane/resume/pdf${search}`),
|
||||
"jane",
|
||||
"resume",
|
||||
trustedClient,
|
||||
);
|
||||
|
||||
expect(response.status).toBe(400);
|
||||
expect(response.headers.get("Cache-Control")).toBe("private, no-store");
|
||||
expect(mocks.createPublicResumePdf).not.toHaveBeenCalled();
|
||||
},
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,72 @@
|
||||
import type { PublicResumePdfMismatchReason } from "@reactive-resume/api/features/resume/public-pdf";
|
||||
import {
|
||||
createPublicResumePdf,
|
||||
PUBLIC_RESUME_PDF_MISMATCH_REASONS,
|
||||
} from "@reactive-resume/api/features/resume/public-pdf";
|
||||
|
||||
const noStoreResponse = (body: string, status: number) =>
|
||||
new Response(body, { status, headers: { "Cache-Control": "private, no-store" } });
|
||||
|
||||
const errorStatus = (error: unknown): number => {
|
||||
const code = typeof error === "object" && error && "code" in error ? (error as { code?: unknown }).code : undefined;
|
||||
if (code === "BAD_REQUEST") return 400;
|
||||
if (code === "NEED_PASSWORD") return 401;
|
||||
if (code === "NOT_FOUND") return 404;
|
||||
if (code === "RATE_LIMIT_EXCEEDED") return 429;
|
||||
return 500;
|
||||
};
|
||||
|
||||
const fingerprint = (value: string | null): string | undefined => {
|
||||
if (value === null) return;
|
||||
return /^[a-f0-9]{64}$/.test(value) ? value : undefined;
|
||||
};
|
||||
|
||||
export async function handlePublicResumePdf(
|
||||
request: Request,
|
||||
username: string,
|
||||
slug: string,
|
||||
trustedClient = "unknown",
|
||||
): Promise<Response> {
|
||||
const searchParams = new URL(request.url).searchParams;
|
||||
const rawReason = searchParams.get("reason") ?? "missing-projection";
|
||||
if (!PUBLIC_RESUME_PDF_MISMATCH_REASONS.includes(rawReason as PublicResumePdfMismatchReason)) {
|
||||
return noStoreResponse("Invalid fallback metadata", 400);
|
||||
}
|
||||
const rawRegistryFingerprint = searchParams.get("registryFingerprint");
|
||||
const rawAdapterFingerprint = searchParams.get("adapterFingerprint");
|
||||
const clientRegistryFingerprint = fingerprint(rawRegistryFingerprint);
|
||||
const clientAdapterFingerprint = fingerprint(rawAdapterFingerprint);
|
||||
if (
|
||||
(rawRegistryFingerprint !== null && clientRegistryFingerprint === undefined) ||
|
||||
(rawAdapterFingerprint !== null && clientAdapterFingerprint === undefined)
|
||||
) {
|
||||
return noStoreResponse("Invalid fallback metadata", 400);
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await createPublicResumePdf({
|
||||
username,
|
||||
slug,
|
||||
requestHeaders: request.headers,
|
||||
trustedClient,
|
||||
mismatchReason: rawReason as PublicResumePdfMismatchReason,
|
||||
...(clientRegistryFingerprint ? { clientRegistryFingerprint } : {}),
|
||||
...(clientAdapterFingerprint ? { clientAdapterFingerprint } : {}),
|
||||
});
|
||||
|
||||
return new Response(result.body, {
|
||||
headers: {
|
||||
"Content-Type": "application/pdf",
|
||||
"Content-Disposition": `inline; filename="${result.filename.replaceAll('"', "")}"`,
|
||||
"Cache-Control": "private, no-store",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
const status = errorStatus(error);
|
||||
return noStoreResponse(
|
||||
status === 500 ? "Failed to generate public resume PDF" : "Public resume PDF unavailable",
|
||||
status,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ describe("handleResumePdfDownload", () => {
|
||||
ok: true,
|
||||
resumeId: "resume-1",
|
||||
userId: "user-1",
|
||||
target: "resume",
|
||||
expiresAt: "2026-06-01T10:10:00.000Z",
|
||||
});
|
||||
mocks.createResumePdfDownload.mockResolvedValueOnce({
|
||||
@@ -49,6 +50,7 @@ describe("handleResumePdfDownload", () => {
|
||||
ok: true,
|
||||
resumeId: "resume-1",
|
||||
userId: "user-1",
|
||||
target: "cover-letter",
|
||||
expiresAt: "2026-06-01T10:10:00.000Z",
|
||||
});
|
||||
mocks.createResumePdfDownload.mockResolvedValueOnce({
|
||||
@@ -68,6 +70,62 @@ describe("handleResumePdfDownload", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("defaults a legacy token without a target to resume", async () => {
|
||||
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="Cover Letter.pdf"' },
|
||||
body: new File([], "Cover Letter.pdf", { type: "application/pdf" }),
|
||||
});
|
||||
|
||||
await handleResumePdfDownload(new Request("https://example.com/api/resumes/resume-1/pdf?token=legacy"), "resume-1");
|
||||
|
||||
expect(mocks.createResumePdfDownload).toHaveBeenCalledWith({
|
||||
id: "resume-1",
|
||||
userId: "user-1",
|
||||
target: "resume",
|
||||
});
|
||||
});
|
||||
|
||||
it("rejects a cover-letter target for a legacy token without one", async () => {
|
||||
mocks.verifyResumePdfDownloadToken.mockReturnValueOnce({
|
||||
ok: true,
|
||||
resumeId: "resume-1",
|
||||
userId: "user-1",
|
||||
expiresAt: "2026-06-01T10:10:00.000Z",
|
||||
});
|
||||
|
||||
const response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf?token=legacy&target=cover-letter"),
|
||||
"resume-1",
|
||||
);
|
||||
|
||||
expect(response.status).toBe(401);
|
||||
expect(mocks.createResumePdfDownload).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("rejects a target that differs from the signed token", async () => {
|
||||
mocks.verifyResumePdfDownloadToken.mockReturnValueOnce({
|
||||
ok: true,
|
||||
resumeId: "resume-1",
|
||||
userId: "user-1",
|
||||
target: "resume",
|
||||
expiresAt: "2026-06-01T10:10:00.000Z",
|
||||
});
|
||||
|
||||
const response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf?token=signed&target=cover-letter"),
|
||||
"resume-1",
|
||||
);
|
||||
|
||||
expect(response.status).toBe(401);
|
||||
expect(mocks.createResumePdfDownload).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("rejects missing, invalid, and expired tokens before rendering", async () => {
|
||||
let response = await handleResumePdfDownload(
|
||||
new Request("https://example.com/api/resumes/resume-1/pdf"),
|
||||
|
||||
@@ -30,9 +30,16 @@ export async function handleResumePdfDownload(request: Request, id: string) {
|
||||
|
||||
const verification = verifyResumePdfDownloadToken({ resumeId: id, token });
|
||||
if (!verification.ok) return verification.reason === "expired" ? expiredResponse() : unauthorizedResponse();
|
||||
const queryTarget = searchParams.get("target");
|
||||
if (
|
||||
verification.target
|
||||
? queryTarget !== null && queryTarget !== verification.target
|
||||
: queryTarget && queryTarget !== "resume"
|
||||
)
|
||||
return unauthorizedResponse();
|
||||
|
||||
try {
|
||||
const target = searchParams.get("target") === "cover-letter" ? "cover-letter" : "resume";
|
||||
const target = verification.target ?? "resume";
|
||||
const download = await createResumePdfDownload({ id, userId: verification.userId, target });
|
||||
|
||||
return new Response(download.body, {
|
||||
|
||||
@@ -2,6 +2,7 @@ import { pathToFileURL } from "node:url";
|
||||
import { serve } from "@hono/node-server";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
import { createApp } from "./http/app";
|
||||
import { stylesheetPreflightRunner } from "./services/stylesheet-preflight";
|
||||
import { runStartupChecks } from "./startup/checks";
|
||||
|
||||
export { createApp } from "./http/app";
|
||||
@@ -9,6 +10,14 @@ export { createApp } from "./http/app";
|
||||
async function main() {
|
||||
await runStartupChecks();
|
||||
|
||||
// Safety net: Node 24 crashes the whole process on an unhandled rejection. One request's
|
||||
// stray promise must not take the server down for everyone, so log and keep serving.
|
||||
// Registered after startup checks so a broken startup still fails loudly. (Left uncaught
|
||||
// exceptions on Node's default crash-and-restart, since process state is unsafe after one.)
|
||||
process.on("unhandledRejection", (reason) => {
|
||||
console.error("[unhandledRejection]", reason);
|
||||
});
|
||||
|
||||
const port =
|
||||
process.env.NODE_ENV === "production" ? Number.parseInt(process.env.PORT ?? "3000", 10) : env.SERVER_PORT;
|
||||
|
||||
@@ -23,6 +32,10 @@ async function main() {
|
||||
console.info(`🚀 Up and running on http://localhost:${info.port}`);
|
||||
},
|
||||
);
|
||||
|
||||
// Load the heavy PDF preflight runtime once, now, so the first semantic-CSS edit
|
||||
// does not pay (and time out on) the cold worker start.
|
||||
stylesheetPreflightRunner.warmup();
|
||||
}
|
||||
|
||||
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
import { auth, verifyOAuthToken } from "@reactive-resume/auth/config";
|
||||
|
||||
const OAUTH_WARN_THROTTLE_MS = 60_000;
|
||||
let lastOAuthWarnAt = 0;
|
||||
|
||||
function warnOAuthThrottled(message: string, detail?: unknown): void {
|
||||
const now = Date.now();
|
||||
if (now - lastOAuthWarnAt < OAUTH_WARN_THROTTLE_MS) return;
|
||||
lastOAuthWarnAt = now;
|
||||
|
||||
if (detail !== undefined) {
|
||||
console.warn(message, detail);
|
||||
return;
|
||||
}
|
||||
|
||||
console.warn(message);
|
||||
}
|
||||
|
||||
export class AuthError extends Error {
|
||||
constructor() {
|
||||
super("Unauthorized");
|
||||
@@ -13,8 +29,9 @@ export async function authenticateRequest(request: Request): Promise<void> {
|
||||
try {
|
||||
const payload = await verifyOAuthToken(authHeader.slice(7));
|
||||
if (payload?.sub) return;
|
||||
} catch {
|
||||
// Invalid or expired token; fall through to API key auth.
|
||||
warnOAuthThrottled("[MCP] OAuth token verified but missing `sub` claim");
|
||||
} catch (error) {
|
||||
warnOAuthThrottled("[MCP] OAuth token verification failed:", error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ export 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}\`.`,
|
||||
`Create short-lived authenticated PDF download URLs with \`${MCP_TOOL_NAME.downloadResumePdf}\`; set target to \`cover-letter\` to export a visible cover letter separately.`,
|
||||
`Import full ResumeData JSON with \`${MCP_TOOL_NAME.importResume}\`; read saved AI analysis with \`${MCP_TOOL_NAME.getResumeAnalysis}\`.`,
|
||||
].join(" "),
|
||||
},
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { readFile, writeFile } from "node:fs/promises";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
export async function generateOpenApiDocumentation(
|
||||
target = fileURLToPath(new URL("../../../../docs/spec.json", import.meta.url)),
|
||||
) {
|
||||
const packageJson = JSON.parse(await readFile(new URL("../../../../package.json", import.meta.url), "utf8")) as {
|
||||
version: string;
|
||||
};
|
||||
process.env.APP_URL ??= "https://rxresu.me";
|
||||
process.env.DATABASE_URL ??= "postgresql://localhost/reactive_resume_docs";
|
||||
process.env.AUTH_SECRET ??= "documentation-generation-isolated-process-only";
|
||||
const { generateOpenApiSpec } = await import("./generator");
|
||||
const spec = await generateOpenApiSpec({ appUrl: "https://rxresu.me", version: packageJson.version });
|
||||
await writeFile(target, `${JSON.stringify(spec, null, "\t")}\n`);
|
||||
}
|
||||
|
||||
if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {
|
||||
await generateOpenApiDocumentation(process.argv[2]);
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import z from "zod";
|
||||
import { defaultResumeData } from "@reactive-resume/schema/resume/default";
|
||||
import { createResumeDataJsonSchema } from "@reactive-resume/schema/resume/json-schema";
|
||||
|
||||
type GeneratedSpecView = {
|
||||
components?: { schemas?: Record<string, unknown> };
|
||||
paths?: Record<
|
||||
string,
|
||||
Record<
|
||||
string,
|
||||
{
|
||||
requestBody?: {
|
||||
content?: Record<string, { schema?: unknown }>;
|
||||
};
|
||||
}
|
||||
>
|
||||
>;
|
||||
};
|
||||
|
||||
async function generateSpec() {
|
||||
process.env.APP_URL ??= "https://rxresu.me";
|
||||
process.env.DATABASE_URL ??= "postgresql://localhost/reactive_resume_test";
|
||||
process.env.AUTH_SECRET ??= "openapi-generator-test-process-only";
|
||||
const { generateOpenApiSpec } = await import("./generator");
|
||||
return generateOpenApiSpec({
|
||||
appUrl: "https://rxresu.me",
|
||||
version: "9.8.7",
|
||||
});
|
||||
}
|
||||
|
||||
function getRequestSchema(spec: GeneratedSpecView, path: string, method: string) {
|
||||
return spec.paths?.[path]?.[method]?.requestBody?.content?.["application/json"]?.schema;
|
||||
}
|
||||
|
||||
function containsImpossibleSchema(value: unknown): boolean {
|
||||
if (Array.isArray(value)) return value.some(containsImpossibleSchema);
|
||||
if (typeof value !== "object" || value === null) return false;
|
||||
const object = value as Record<string, unknown>;
|
||||
const negated = object.not;
|
||||
if (typeof negated === "object" && negated !== null && Object.keys(negated).length === 0) {
|
||||
return true;
|
||||
}
|
||||
return Object.values(object).some(containsImpossibleSchema);
|
||||
}
|
||||
|
||||
function findImpossibleRequestSchemas(spec: GeneratedSpecView) {
|
||||
const impossibleRequests: string[] = [];
|
||||
for (const [path, operations] of Object.entries(spec.paths ?? {})) {
|
||||
for (const [method, operation] of Object.entries(operations)) {
|
||||
for (const [mediaType, content] of Object.entries(operation.requestBody?.content ?? {})) {
|
||||
if (containsImpossibleSchema(content.schema)) {
|
||||
impossibleRequests.push(`${method.toUpperCase()} ${path} (${mediaType})`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return impossibleRequests;
|
||||
}
|
||||
|
||||
describe("generateOpenApiSpec", () => {
|
||||
it("uses caller-provided application URL and version", async () => {
|
||||
const spec = await generateSpec();
|
||||
|
||||
expect(spec.info).toMatchObject({
|
||||
title: "Reactive Resume",
|
||||
version: "9.8.7",
|
||||
});
|
||||
expect(spec.servers).toEqual([{ url: "https://rxresu.me/api/openapi" }]);
|
||||
expect(spec.externalDocs).toEqual({
|
||||
url: "https://docs.rxresu.me",
|
||||
description: "Reactive Resume Documentation",
|
||||
});
|
||||
}, 15_000);
|
||||
|
||||
it("uses the canonical input-side ResumeData schema in update requests", async () => {
|
||||
const spec = (await generateSpec()) as GeneratedSpecView;
|
||||
const { $schema: _dialect, ...canonicalInputSchema } = createResumeDataJsonSchema();
|
||||
|
||||
expect(spec.components?.schemas?.ResumeData).toEqual(canonicalInputSchema);
|
||||
expect(getRequestSchema(spec, "/resumes/{id}", "put")).toMatchObject({
|
||||
properties: {
|
||||
data: { $ref: "#/components/schemas/ResumeData" },
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it("publishes the custom-section type and item correlation", async () => {
|
||||
const spec = (await generateSpec()) as GeneratedSpecView;
|
||||
const schema = z.fromJSONSchema(spec.components?.schemas?.ResumeData as Parameters<typeof z.fromJSONSchema>[0]);
|
||||
const mismatched = {
|
||||
...defaultResumeData,
|
||||
customSections: [
|
||||
{
|
||||
id: "custom-experience",
|
||||
type: "experience",
|
||||
title: "Experience",
|
||||
icon: "",
|
||||
columns: 1,
|
||||
hidden: false,
|
||||
keepTogether: false,
|
||||
startOnNewPage: false,
|
||||
items: [{ id: "summary-item", hidden: false, content: "<p>Not an experience item</p>" }],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
expect(schema.safeParse(mismatched).success).toBe(false);
|
||||
});
|
||||
|
||||
it("does not publish impossible request schemas", async () => {
|
||||
const spec = (await generateSpec()) as GeneratedSpecView;
|
||||
|
||||
expect(findImpossibleRequestSchemas(spec)).toEqual([]);
|
||||
});
|
||||
|
||||
it("checks every request body media type for impossible schemas", () => {
|
||||
const spec: GeneratedSpecView = {
|
||||
paths: {
|
||||
"/documents": {
|
||||
post: {
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": { schema: { type: "object" } },
|
||||
"multipart/form-data": { schema: { not: {} } },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
expect(findImpossibleRequestSchemas(spec)).toEqual(["POST /documents (multipart/form-data)"]);
|
||||
});
|
||||
|
||||
it("documents imported data as an accepted ResumeData input", async () => {
|
||||
const spec = (await generateSpec()) as GeneratedSpecView;
|
||||
|
||||
expect(getRequestSchema(spec, "/resumes/import", "post")).toEqual({
|
||||
type: "object",
|
||||
properties: {
|
||||
data: { $ref: "#/components/schemas/ResumeData" },
|
||||
},
|
||||
required: ["data"],
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,80 @@
|
||||
import { OpenAPIGenerator } from "@orpc/openapi";
|
||||
import { JSON_SCHEMA_INPUT_REGISTRY, ZodToJsonSchemaConverter } from "@orpc/zod/zod4";
|
||||
import { downloadResumePdfProcedure } from "@reactive-resume/api/features/resume/export";
|
||||
import router from "@reactive-resume/api/routers";
|
||||
import { resumeDataSchema } from "@reactive-resume/schema/resume/data";
|
||||
import { createResumeDataJsonSchema } from "@reactive-resume/schema/resume/json-schema";
|
||||
|
||||
export const openAPIRouter = {
|
||||
...router,
|
||||
resume: {
|
||||
...router.resume,
|
||||
downloadPdf: downloadResumePdfProcedure,
|
||||
},
|
||||
};
|
||||
|
||||
const { $schema: _dialect, ...resumeDataInputSchema } = createResumeDataJsonSchema();
|
||||
type ResumeDataInputJsonSchema = Parameters<typeof JSON_SCHEMA_INPUT_REGISTRY.add<typeof resumeDataSchema>>[1];
|
||||
JSON_SCHEMA_INPUT_REGISTRY.add(resumeDataSchema, resumeDataInputSchema as unknown as ResumeDataInputJsonSchema);
|
||||
const importResumeInputSchema = openAPIRouter.resume.import["~orpc"].inputSchema;
|
||||
if (importResumeInputSchema) {
|
||||
JSON_SCHEMA_INPUT_REGISTRY.add(importResumeInputSchema, {
|
||||
type: "object",
|
||||
properties: {
|
||||
data: { $ref: "#/components/schemas/ResumeData" },
|
||||
},
|
||||
required: ["data"],
|
||||
});
|
||||
}
|
||||
|
||||
const openAPIGenerator = new OpenAPIGenerator({
|
||||
schemaConverters: [
|
||||
new ZodToJsonSchemaConverter({
|
||||
interceptors: [
|
||||
({ options, next }) => {
|
||||
const [required, schema] = next();
|
||||
const impossible =
|
||||
Object.keys(schema).length === 1 &&
|
||||
typeof schema.not === "object" &&
|
||||
schema.not !== null &&
|
||||
Object.keys(schema.not).length === 0;
|
||||
return options.strategy === "input" && impossible ? [required, {}] : [required, schema];
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
type GenerateOpenApiSpecOptions = {
|
||||
appUrl: string;
|
||||
version: string;
|
||||
};
|
||||
|
||||
export async function generateOpenApiSpec({ appUrl, version }: GenerateOpenApiSpecOptions) {
|
||||
return await openAPIGenerator.generate(openAPIRouter, {
|
||||
info: {
|
||||
title: "Reactive Resume",
|
||||
version,
|
||||
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" },
|
||||
},
|
||||
servers: [{ url: `${appUrl}/api/openapi` }],
|
||||
externalDocs: { url: "https://docs.rxresu.me", description: "Reactive Resume Documentation" },
|
||||
commonSchemas: {
|
||||
ResumeData: { schema: resumeDataSchema, strategy: "input" },
|
||||
},
|
||||
components: {
|
||||
securitySchemes: {
|
||||
apiKey: {
|
||||
type: "apiKey",
|
||||
name: "x-api-key",
|
||||
in: "header",
|
||||
description: "The API key to authenticate requests.",
|
||||
},
|
||||
},
|
||||
},
|
||||
security: [{ apiKey: [] }],
|
||||
filter: ({ contract }) => !contract["~orpc"].route.tags?.includes("Internal"),
|
||||
});
|
||||
}
|
||||
@@ -1,24 +1,13 @@
|
||||
import { SmartCoercionPlugin } from "@orpc/json-schema";
|
||||
import { OpenAPIGenerator } from "@orpc/openapi";
|
||||
import { OpenAPIHandler } from "@orpc/openapi/fetch";
|
||||
import { onError } from "@orpc/server";
|
||||
import { BatchHandlerPlugin, RequestHeadersPlugin, StrictGetMethodPlugin } from "@orpc/server/plugins";
|
||||
import { ZodToJsonSchemaConverter } from "@orpc/zod/zod4";
|
||||
import { downloadResumePdfProcedure } from "@reactive-resume/api/features/resume/export";
|
||||
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";
|
||||
|
||||
const openAPIRouter = {
|
||||
...router,
|
||||
resume: {
|
||||
...router.resume,
|
||||
downloadPdf: downloadResumePdfProcedure,
|
||||
},
|
||||
};
|
||||
import { generateOpenApiSpec, openAPIRouter } from "./generator";
|
||||
|
||||
const openAPIHandler = new OpenAPIHandler(openAPIRouter, {
|
||||
plugins: [
|
||||
@@ -36,46 +25,15 @@ const openAPIHandler = new OpenAPIHandler(openAPIRouter, {
|
||||
],
|
||||
});
|
||||
|
||||
const openAPIGenerator = new OpenAPIGenerator({
|
||||
schemaConverters: [new ZodToJsonSchemaConverter()],
|
||||
});
|
||||
|
||||
export async function handleOpenApi(request: Request) {
|
||||
export async function handleOpenApi(request: Request, trustedClient = "unknown") {
|
||||
if (request.method === "GET" && (request.url.endsWith("/spec.json") || request.url.endsWith("/spec"))) {
|
||||
const spec = await openAPIGenerator.generate(openAPIRouter, {
|
||||
info: {
|
||||
title: "Reactive Resume",
|
||||
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" },
|
||||
},
|
||||
servers: [{ url: `${env.APP_URL}/api/openapi` }],
|
||||
externalDocs: { url: "https://docs.rxresu.me", description: "Reactive Resume Documentation" },
|
||||
commonSchemas: {
|
||||
ResumeData: { schema: resumeDataSchema },
|
||||
},
|
||||
components: {
|
||||
securitySchemes: {
|
||||
apiKey: {
|
||||
type: "apiKey",
|
||||
name: "x-api-key",
|
||||
in: "header",
|
||||
description: "The API key to authenticate requests.",
|
||||
},
|
||||
},
|
||||
},
|
||||
security: [{ apiKey: [] }],
|
||||
filter: ({ contract }) => !contract["~orpc"].route.tags?.includes("Internal"),
|
||||
});
|
||||
|
||||
return Response.json(spec);
|
||||
return Response.json(await generateOpenApiSpec({ appUrl: env.APP_URL, version: appVersion }));
|
||||
}
|
||||
|
||||
const resHeaders = new Headers();
|
||||
const { response } = await openAPIHandler.handle(request, {
|
||||
prefix: "/api/openapi",
|
||||
context: { locale: getRequestLocale(request), reqHeaders: request.headers, resHeaders },
|
||||
context: { locale: getRequestLocale(request), reqHeaders: request.headers, resHeaders, trustedClient },
|
||||
});
|
||||
|
||||
if (!response) return new Response("NOT_FOUND", { status: 404 });
|
||||
|
||||
@@ -3,6 +3,7 @@ import { RPCHandler } from "@orpc/server/fetch";
|
||||
import { BatchHandlerPlugin, RequestHeadersPlugin, StrictGetMethodPlugin } from "@orpc/server/plugins";
|
||||
import router from "@reactive-resume/api/routers";
|
||||
import { mergeResponseHeaders } from "../http/headers";
|
||||
import { stylesheetPreflightRunner } from "../services/stylesheet-preflight";
|
||||
import { getRequestLocale } from "./locale";
|
||||
|
||||
const rpcHandler = new RPCHandler(router, {
|
||||
@@ -14,11 +15,17 @@ const rpcHandler = new RPCHandler(router, {
|
||||
],
|
||||
});
|
||||
|
||||
export async function handleRpc(request: Request) {
|
||||
export async function handleRpc(request: Request, trustedClient = "unknown") {
|
||||
const resHeaders = new Headers();
|
||||
const { response } = await rpcHandler.handle(request, {
|
||||
prefix: "/api/rpc",
|
||||
context: { locale: getRequestLocale(request), reqHeaders: request.headers, resHeaders },
|
||||
context: {
|
||||
locale: getRequestLocale(request),
|
||||
reqHeaders: request.headers,
|
||||
resHeaders,
|
||||
trustedClient,
|
||||
stylesheetPreflightRunner,
|
||||
},
|
||||
});
|
||||
|
||||
if (!response) return new Response("NOT_FOUND", { status: 404 });
|
||||
|
||||
@@ -0,0 +1,332 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { defaultResumeData } from "@reactive-resume/schema/resume/default";
|
||||
import { createStylesheetPreflightRunner, STYLESHEET_PREFLIGHT_LIMITS } from "./stylesheet-preflight";
|
||||
|
||||
const validStylesheet = {
|
||||
languageVersion: 1,
|
||||
text: "@version 1;",
|
||||
} as const;
|
||||
|
||||
const input = {
|
||||
data: defaultResumeData,
|
||||
template: defaultResumeData.metadata.template,
|
||||
stylesheet: validStylesheet,
|
||||
} as const;
|
||||
|
||||
// Runners now own a long-lived, reused worker; destroy them so no worker thread
|
||||
// outlives its test.
|
||||
const runners: Array<{ destroy(): Promise<void> }> = [];
|
||||
const track = <T extends { destroy(): Promise<void> }>(runner: T): T => {
|
||||
runners.push(runner);
|
||||
return runner;
|
||||
};
|
||||
afterEach(async () => {
|
||||
await Promise.all(runners.splice(0).map((runner) => runner.destroy()));
|
||||
});
|
||||
|
||||
const memoryExhaustionWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
const retained = [];
|
||||
while (true) {
|
||||
const batch = Array.from({ length: 100_000 }, (_, index) => ({ batch: retained.length, index }));
|
||||
retained.push(batch);
|
||||
}
|
||||
`)}`,
|
||||
);
|
||||
|
||||
const failedWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent('throw new Error("sensitive worker details");')}`,
|
||||
);
|
||||
|
||||
// Counts how many preflights this single worker instance served so a reuse test
|
||||
// can prove the worker is not respawned per request.
|
||||
const reuseCountingWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
import { parentPort } from "node:worker_threads";
|
||||
let served = 0;
|
||||
parentPort.postMessage({ type: "ready" });
|
||||
parentPort.on("message", (message) => {
|
||||
if (message?.type !== "preflight") return;
|
||||
served += 1;
|
||||
parentPort.postMessage({
|
||||
type: "result",
|
||||
requestId: message.requestId,
|
||||
result: { ok: true, pageCount: 1, byteCount: served, diagnostics: [] },
|
||||
});
|
||||
});
|
||||
`)}`,
|
||||
);
|
||||
|
||||
const delayedSuccessfulWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
import { parentPort } from "node:worker_threads";
|
||||
parentPort.postMessage({ type: "ready" });
|
||||
parentPort.on("message", (message) => {
|
||||
if (message?.type !== "preflight") return;
|
||||
setTimeout(() => {
|
||||
parentPort.postMessage({
|
||||
type: "result",
|
||||
requestId: message.requestId,
|
||||
result: {
|
||||
ok: true,
|
||||
pageCount: 1,
|
||||
byteCount: Number(message.input.data.basics.name),
|
||||
diagnostics: [],
|
||||
},
|
||||
});
|
||||
}, 300);
|
||||
});
|
||||
`)}`,
|
||||
);
|
||||
|
||||
const delayedReadyWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
import { parentPort } from "node:worker_threads";
|
||||
parentPort.on("message", (message) => {
|
||||
if (message?.type !== "preflight") return;
|
||||
setTimeout(() => {
|
||||
parentPort.postMessage({
|
||||
type: "result",
|
||||
requestId: message.requestId,
|
||||
result: { ok: true, pageCount: 1, byteCount: 1, diagnostics: [] },
|
||||
});
|
||||
}, 10);
|
||||
});
|
||||
setTimeout(() => parentPort.postMessage({ type: "ready" }), 50);
|
||||
`)}`,
|
||||
);
|
||||
|
||||
const neverCompletesWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
import { parentPort } from "node:worker_threads";
|
||||
parentPort.postMessage({ type: "ready" });
|
||||
setInterval(() => {}, 1_000);
|
||||
`)}`,
|
||||
);
|
||||
|
||||
const synchronousFailureWorker = new URL("https://example.com/stylesheet-preflight.mjs");
|
||||
|
||||
const numberedInput = (number: number) => ({
|
||||
...input,
|
||||
data: {
|
||||
...input.data,
|
||||
basics: {
|
||||
...input.data.basics,
|
||||
name: String(number),
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const invalidInput = () => {
|
||||
const data = structuredClone(defaultResumeData);
|
||||
data.customSections = [
|
||||
{
|
||||
id: "custom-experience",
|
||||
type: "experience",
|
||||
title: "Experience",
|
||||
icon: "",
|
||||
columns: 1,
|
||||
hidden: false,
|
||||
keepTogether: false,
|
||||
startOnNewPage: false,
|
||||
items: [{ id: "summary-shaped-item", hidden: false, content: "<p>Missing company</p>" }],
|
||||
} as never,
|
||||
];
|
||||
return { ...input, data };
|
||||
};
|
||||
|
||||
describe("stylesheet PDF preflight worker", () => {
|
||||
it("keeps the production resource policy fixed and immutable", () => {
|
||||
expect(STYLESHEET_PREFLIGHT_LIMITS).toEqual({
|
||||
timeoutMs: 30_000,
|
||||
maxPages: 20,
|
||||
maxBytes: 10_000_000,
|
||||
maxPageWidthPt: 2_000,
|
||||
maxPageHeightPt: 20_000,
|
||||
maxPageAreaPt2: 20_000_000,
|
||||
maxOldGenerationMb: 256,
|
||||
maxConcurrentWorkers: 1,
|
||||
maxQueuedRequests: 32,
|
||||
});
|
||||
expect(Object.isFrozen(STYLESHEET_PREFLIGHT_LIMITS)).toBe(true);
|
||||
});
|
||||
|
||||
it("accepts a bounded candidate render in an isolated worker", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({ timeoutMs: 15_000 }));
|
||||
|
||||
const result = await runner.run(input);
|
||||
|
||||
expect(result).toEqual(
|
||||
expect.objectContaining({
|
||||
ok: true,
|
||||
pageCount: 1,
|
||||
byteCount: expect.any(Number),
|
||||
}),
|
||||
);
|
||||
if (!result.ok) throw new Error(`Expected successful preflight, received ${result.code}.`);
|
||||
expect(result.byteCount).toBeGreaterThan(0);
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
}, 45_000);
|
||||
|
||||
it("reuses one warm worker across sequential requests instead of cold-starting each one", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({}, reuseCountingWorker));
|
||||
|
||||
const first = await runner.run(input);
|
||||
const second = await runner.run(input);
|
||||
const third = await runner.run(input);
|
||||
|
||||
// A single reused worker increments its per-instance counter; a per-request
|
||||
// worker would report byteCount 1 every time.
|
||||
expect([first, second, third].map((result) => (result.ok ? result.byteCount : -1))).toEqual([1, 2, 3]);
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
});
|
||||
|
||||
it("preserves structured resume-data failures across the worker boundary", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({ timeoutMs: 15_000 }));
|
||||
|
||||
const result = runner.run(invalidInput());
|
||||
|
||||
await expect(result).rejects.toMatchObject({
|
||||
name: "ZodError",
|
||||
issues: expect.arrayContaining([expect.objectContaining({ path: ["customSections", 0, "items", 0, "company"] })]),
|
||||
});
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
}, 20_000);
|
||||
|
||||
it("terminates a worker when the render exceeds its deadline", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({ timeoutMs: 1 }, neverCompletesWorker));
|
||||
|
||||
const result = await runner.run(input);
|
||||
|
||||
expect(result).toEqual(expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_TIMEOUT" }));
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
});
|
||||
|
||||
it("starts the authored render deadline after the worker runtime is ready", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({ timeoutMs: 20 }, delayedReadyWorker));
|
||||
|
||||
await expect(runner.run(input)).resolves.toEqual(expect.objectContaining({ ok: true, pageCount: 1 }));
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
});
|
||||
|
||||
it("returns deterministic output byte and page limit codes", async () => {
|
||||
const byteRunner = track(createStylesheetPreflightRunner({ maxBytes: 16 }));
|
||||
const pageRunner = track(createStylesheetPreflightRunner({ maxPages: 0 }));
|
||||
|
||||
await expect(byteRunner.run(input)).resolves.toEqual(
|
||||
expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_BYTE_LIMIT" }),
|
||||
);
|
||||
await expect(pageRunner.run(input)).resolves.toEqual(
|
||||
expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_PAGE_LIMIT" }),
|
||||
);
|
||||
expect(byteRunner.activeWorkerCount).toBe(0);
|
||||
expect(pageRunner.activeWorkerCount).toBe(0);
|
||||
}, 30_000);
|
||||
|
||||
it("maps worker heap exhaustion to a controlled memory-limit result", async () => {
|
||||
const runner = track(
|
||||
createStylesheetPreflightRunner({ maxOldGenerationMb: 8, timeoutMs: 10_000 }, memoryExhaustionWorker),
|
||||
);
|
||||
|
||||
const result = await runner.run(input);
|
||||
|
||||
expect(result).toEqual(expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_MEMORY_LIMIT" }));
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
}, 15_000);
|
||||
|
||||
it("does not expose internal errors from a failed worker bootstrap", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({}, failedWorker));
|
||||
|
||||
const result = await runner.run(input);
|
||||
|
||||
expect(result).toEqual({
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_WORKER_FAILED",
|
||||
message: "The PDF preflight worker failed.",
|
||||
diagnostics: [],
|
||||
});
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
});
|
||||
|
||||
it("surfaces sanitized render failures from inside the worker catch path", async () => {
|
||||
const throwingWorker = new URL(
|
||||
`data:text/javascript,${encodeURIComponent(`
|
||||
import { parentPort } from "node:worker_threads";
|
||||
parentPort.postMessage({ type: "ready" });
|
||||
parentPort.on("message", (message) => {
|
||||
if (message?.type !== "preflight") return;
|
||||
parentPort.postMessage({
|
||||
type: "result",
|
||||
requestId: message.requestId,
|
||||
result: {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_WORKER_FAILED",
|
||||
message: "The PDF preflight worker failed. (Error: Canvas is already closed)",
|
||||
diagnostics: [],
|
||||
},
|
||||
});
|
||||
});
|
||||
`)}`,
|
||||
);
|
||||
const runner = track(createStylesheetPreflightRunner({ timeoutMs: 5_000 }, throwingWorker));
|
||||
|
||||
const result = await runner.run(input);
|
||||
|
||||
expect(result).toEqual({
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_WORKER_FAILED",
|
||||
message: "The PDF preflight worker failed. (Error: Canvas is already closed)",
|
||||
diagnostics: [],
|
||||
});
|
||||
});
|
||||
|
||||
it("bounds concurrent workers and queued requests without charging queue time to the worker deadline", async () => {
|
||||
const runner = track(
|
||||
createStylesheetPreflightRunner(
|
||||
{
|
||||
timeoutMs: 500,
|
||||
maxConcurrentWorkers: 1,
|
||||
maxQueuedRequests: 2,
|
||||
},
|
||||
delayedSuccessfulWorker,
|
||||
),
|
||||
);
|
||||
const completionOrder: number[] = [];
|
||||
const accepted = [1, 2, 3].map((number) =>
|
||||
runner.run(numberedInput(number)).then((result) => {
|
||||
if (result.ok) completionOrder.push(result.byteCount);
|
||||
return result;
|
||||
}),
|
||||
);
|
||||
const rejected = runner.run(numberedInput(4));
|
||||
|
||||
expect(runner.activeWorkerCount).toBe(1);
|
||||
expect(runner.queuedPreflightCount).toBe(2);
|
||||
await expect(rejected).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
code: "STYLESHEET_PREFLIGHT_WORKER_FAILED",
|
||||
message: "The PDF preflight queue is full.",
|
||||
}),
|
||||
);
|
||||
const results = await Promise.all(accepted);
|
||||
|
||||
expect(results.every((result) => result.ok)).toBe(true);
|
||||
expect(completionOrder).toEqual([1, 2, 3]);
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
}, 5_000);
|
||||
|
||||
it("does not leak a slot when the worker constructor throws synchronously", async () => {
|
||||
const runner = track(createStylesheetPreflightRunner({}, synchronousFailureWorker));
|
||||
|
||||
await expect(runner.run(input)).resolves.toEqual(
|
||||
expect.objectContaining({ ok: false, code: "STYLESHEET_PREFLIGHT_WORKER_FAILED" }),
|
||||
);
|
||||
expect(runner.activeWorkerCount).toBe(0);
|
||||
expect(runner.queuedPreflightCount).toBe(0);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,362 @@
|
||||
import type {
|
||||
PdfPreflightFailure,
|
||||
PdfPreflightResult,
|
||||
StylesheetPreflightInput,
|
||||
StylesheetPreflightRunner,
|
||||
} from "@reactive-resume/pdf/server";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { Worker } from "node:worker_threads";
|
||||
import { STYLESHEET_PREFLIGHT_LIMITS } from "@reactive-resume/pdf/preflight-reference";
|
||||
|
||||
export { STYLESHEET_PREFLIGHT_LIMITS } from "@reactive-resume/pdf/preflight-reference";
|
||||
|
||||
type StylesheetPreflightLimits = {
|
||||
timeoutMs: number;
|
||||
maxPages: number;
|
||||
maxBytes: number;
|
||||
maxPageWidthPt: number;
|
||||
maxPageHeightPt: number;
|
||||
maxPageAreaPt2: number;
|
||||
maxOldGenerationMb: number;
|
||||
maxConcurrentWorkers: number;
|
||||
maxQueuedRequests: number;
|
||||
};
|
||||
|
||||
const SOURCE_WORKER_LOADER_HEAP_MB = 256;
|
||||
// The worker is warmed once and reused, so the one-time cold load (which is
|
||||
// super-linear in available CPU — measured ~9s at 0.5 vCPU, ~53s at 0.35, ~93s at
|
||||
// 0.25) is paid at startup, not per request. This ceiling must exceed that cold
|
||||
// load or warmup is killed mid-bootstrap and never completes on a throttled box;
|
||||
// it only bounds a genuinely stuck bootstrap and is off the per-edit path.
|
||||
const WORKER_READINESS_TIMEOUT_MS = 120_000;
|
||||
|
||||
type SerializedPreflightCause = {
|
||||
name: string;
|
||||
message: string;
|
||||
issues: readonly unknown[];
|
||||
};
|
||||
|
||||
type StylesheetPreflightWorkerMessage =
|
||||
| { type: "ready" }
|
||||
| { type: "load_error"; message: string }
|
||||
| { type: "result"; requestId: number; result: PdfPreflightResult }
|
||||
| { type: "preflight_error"; requestId: number; cause: SerializedPreflightCause };
|
||||
|
||||
export type NodeStylesheetPreflightRunner = StylesheetPreflightRunner & {
|
||||
readonly activeWorkerCount: number;
|
||||
readonly queuedPreflightCount: number;
|
||||
warmup(): void;
|
||||
destroy(): Promise<void>;
|
||||
};
|
||||
|
||||
const failure = (code: PdfPreflightFailure["code"], message: string): PdfPreflightFailure => ({
|
||||
ok: false,
|
||||
code,
|
||||
message,
|
||||
diagnostics: [],
|
||||
});
|
||||
|
||||
const workerFailure = (error: Error): PdfPreflightFailure => {
|
||||
const code = (error as NodeJS.ErrnoException).code;
|
||||
return code === "ERR_WORKER_OUT_OF_MEMORY" || /heap out of memory/i.test(error.message)
|
||||
? failure("STYLESHEET_PREFLIGHT_MEMORY_LIMIT", "The PDF preflight worker exceeded its memory limit.")
|
||||
: failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight worker failed.");
|
||||
};
|
||||
|
||||
const sourceWorkerExecArgv = () => {
|
||||
const importIndex = process.execArgv.findIndex(
|
||||
(argument, index, arguments_) =>
|
||||
(argument === "--import" && arguments_[index + 1]?.includes("tsx")) ||
|
||||
(argument.startsWith("--import=") && argument.includes("tsx")),
|
||||
);
|
||||
const inherited = process.execArgv[importIndex];
|
||||
if (inherited?.startsWith("--import=")) return [inherited];
|
||||
if (inherited === "--import") return [inherited, process.execArgv[importIndex + 1] as string];
|
||||
return ["--import", import.meta.resolve("tsx")];
|
||||
};
|
||||
|
||||
const workerLocation = () => {
|
||||
const source = import.meta.url.endsWith(".ts");
|
||||
return {
|
||||
source,
|
||||
url: source
|
||||
? new URL("../workers/stylesheet-preflight.ts", import.meta.url)
|
||||
: new URL("./stylesheet-preflight-worker.mjs", import.meta.url),
|
||||
// Production must not inherit parent execArgv (e.g. --import/--input-type); source workers need tsx.
|
||||
execArgv: source ? sourceWorkerExecArgv() : [],
|
||||
...(source
|
||||
? {
|
||||
env: {
|
||||
...process.env,
|
||||
TSX_TSCONFIG_PATH: fileURLToPath(new URL("../../tsconfig.json", import.meta.url)),
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
};
|
||||
};
|
||||
|
||||
type PendingRequest = {
|
||||
resolve: (result: PdfPreflightResult) => void;
|
||||
reject: (cause: unknown) => void;
|
||||
renderTimer?: ReturnType<typeof setTimeout>;
|
||||
};
|
||||
|
||||
type Readiness = {
|
||||
promise: Promise<Worker>;
|
||||
resolve: (worker: Worker) => void;
|
||||
reject: (error: Error) => void;
|
||||
timer: ReturnType<typeof setTimeout>;
|
||||
};
|
||||
|
||||
export function createStylesheetPreflightRunner(
|
||||
overrides: Partial<StylesheetPreflightLimits> = {},
|
||||
testWorkerUrl?: URL,
|
||||
): NodeStylesheetPreflightRunner {
|
||||
const limits = Object.freeze({ ...STYLESHEET_PREFLIGHT_LIMITS, ...overrides });
|
||||
|
||||
let worker: Worker | undefined;
|
||||
let ready = false;
|
||||
let readiness: Readiness | undefined;
|
||||
let destroyed = false;
|
||||
let requestSeq = 0;
|
||||
|
||||
const pending = new Map<number, PendingRequest>();
|
||||
// ponytail: process-local, bounded admission; upgrade to a pooled/distributed queue only for multi-process coordination.
|
||||
const queue: Array<{
|
||||
input: StylesheetPreflightInput;
|
||||
resolve: PendingRequest["resolve"];
|
||||
reject: PendingRequest["reject"];
|
||||
}> = [];
|
||||
|
||||
const teardownWorker = () => {
|
||||
const dead = worker;
|
||||
worker = undefined;
|
||||
ready = false;
|
||||
if (readiness) {
|
||||
clearTimeout(readiness.timer);
|
||||
readiness.reject(new Error("Stylesheet preflight worker did not become ready."));
|
||||
readiness = undefined;
|
||||
}
|
||||
if (!dead) return;
|
||||
dead.off("message", onMessage);
|
||||
dead.off("error", onError);
|
||||
dead.off("exit", onExit);
|
||||
void dead.terminate().catch(() => undefined);
|
||||
};
|
||||
|
||||
const clearPending = (requestId: number): PendingRequest | undefined => {
|
||||
const entry = pending.get(requestId);
|
||||
if (!entry) return undefined;
|
||||
if (entry.renderTimer) clearTimeout(entry.renderTimer);
|
||||
pending.delete(requestId);
|
||||
return entry;
|
||||
};
|
||||
|
||||
const drainQueue = () => {
|
||||
while (!destroyed && pending.size < limits.maxConcurrentWorkers && queue.length > 0) {
|
||||
const next = queue.shift();
|
||||
if (!next) return;
|
||||
dispatch(next.input, next.resolve, next.reject);
|
||||
}
|
||||
};
|
||||
|
||||
const resolveRequest = (requestId: number, result: PdfPreflightResult) => {
|
||||
const entry = clearPending(requestId);
|
||||
if (!entry) return;
|
||||
entry.resolve(result);
|
||||
drainQueue();
|
||||
};
|
||||
|
||||
const rejectRequest = (requestId: number, cause: unknown) => {
|
||||
const entry = clearPending(requestId);
|
||||
if (!entry) return;
|
||||
entry.reject(cause);
|
||||
drainQueue();
|
||||
};
|
||||
|
||||
// A crashed/exited/timed-out worker is torn down and its in-flight requests are
|
||||
// failed; the next dispatch (including any queued requests) spawns a fresh one,
|
||||
// so a poisoned render never lingers across requests.
|
||||
const failWorker = (result: PdfPreflightFailure) => {
|
||||
teardownWorker();
|
||||
const stale = [...pending.keys()];
|
||||
for (const requestId of stale) resolveRequest(requestId, result);
|
||||
drainQueue();
|
||||
};
|
||||
|
||||
function onMessage(message: StylesheetPreflightWorkerMessage) {
|
||||
if (message.type === "ready") {
|
||||
if (readiness) {
|
||||
clearTimeout(readiness.timer);
|
||||
ready = true;
|
||||
const resolveReady = readiness.resolve;
|
||||
const readyWorker = worker;
|
||||
readiness = undefined;
|
||||
if (readyWorker) resolveReady(readyWorker);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (message.type === "load_error") {
|
||||
failWorker(failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", message.message));
|
||||
return;
|
||||
}
|
||||
if (message.type === "result") {
|
||||
resolveRequest(message.requestId, message.result);
|
||||
return;
|
||||
}
|
||||
if (message.type === "preflight_error") {
|
||||
rejectRequest(
|
||||
message.requestId,
|
||||
Object.assign(new Error(message.cause.message), { name: message.cause.name, issues: message.cause.issues }),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error: Error) {
|
||||
console.warn("[stylesheet-preflight] worker error:", error.message);
|
||||
failWorker(workerFailure(error));
|
||||
}
|
||||
|
||||
function onExit(code: number) {
|
||||
if (destroyed || (!worker && pending.size === 0)) return;
|
||||
console.warn(`[stylesheet-preflight] worker exited unexpectedly (code ${code})`);
|
||||
failWorker(failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight worker failed."));
|
||||
}
|
||||
|
||||
const startWorker = (): Promise<Worker> => {
|
||||
const location = testWorkerUrl ? { source: false, url: testWorkerUrl, execArgv: [] as string[] } : workerLocation();
|
||||
let spawned: Worker;
|
||||
try {
|
||||
spawned = new Worker(location.url, {
|
||||
name: "stylesheet-preflight",
|
||||
resourceLimits: {
|
||||
// The source-only tsx compiler heap is outside the production render budget.
|
||||
maxOldGenerationSizeMb: limits.maxOldGenerationMb + (location.source ? SOURCE_WORKER_LOADER_HEAP_MB : 0),
|
||||
},
|
||||
execArgv: location.execArgv,
|
||||
...("env" in location ? { env: location.env } : {}),
|
||||
});
|
||||
} catch (error) {
|
||||
return Promise.reject(error instanceof Error ? error : new Error("Failed to start PDF preflight worker."));
|
||||
}
|
||||
|
||||
worker = spawned;
|
||||
ready = false;
|
||||
// The idle reused worker must not keep the process (or a test run) alive; active
|
||||
// requests stay alive through their ref'd readiness/render timers.
|
||||
spawned.unref();
|
||||
spawned.on("message", onMessage);
|
||||
spawned.once("error", onError);
|
||||
spawned.once("exit", onExit);
|
||||
|
||||
let resolve!: (value: Worker) => void;
|
||||
let reject!: (error: Error) => void;
|
||||
const promise = new Promise<Worker>((resolvePromise, rejectPromise) => {
|
||||
resolve = resolvePromise;
|
||||
reject = rejectPromise;
|
||||
});
|
||||
const timer = setTimeout(() => {
|
||||
console.warn(`[stylesheet-preflight] worker did not become ready within ${WORKER_READINESS_TIMEOUT_MS}ms`);
|
||||
teardownWorker();
|
||||
}, WORKER_READINESS_TIMEOUT_MS);
|
||||
readiness = { promise, resolve, reject, timer };
|
||||
return promise;
|
||||
};
|
||||
|
||||
const getReadyWorker = (): Promise<Worker> => {
|
||||
if (destroyed) return Promise.reject(new Error("Stylesheet preflight worker was terminated."));
|
||||
if (worker && ready) return Promise.resolve(worker);
|
||||
if (readiness) return readiness.promise;
|
||||
return startWorker();
|
||||
};
|
||||
|
||||
// One retry: a worker that failed to become ready is torn down; a second
|
||||
// attempt spawns a fresh worker before the request gives up.
|
||||
const waitUntilReady = async (): Promise<Worker> => {
|
||||
try {
|
||||
return await getReadyWorker();
|
||||
} catch {
|
||||
return await getReadyWorker();
|
||||
}
|
||||
};
|
||||
|
||||
function dispatch(
|
||||
input: StylesheetPreflightInput,
|
||||
resolve: PendingRequest["resolve"],
|
||||
reject: PendingRequest["reject"],
|
||||
) {
|
||||
const requestId = ++requestSeq;
|
||||
pending.set(requestId, { resolve, reject });
|
||||
void waitUntilReady()
|
||||
.then((readyWorker) => {
|
||||
const entry = pending.get(requestId);
|
||||
if (!entry) return;
|
||||
entry.renderTimer = setTimeout(() => {
|
||||
// A stuck render poisons the reused worker: tear it down and respawn — but
|
||||
// only the worker this request actually ran on, so a stale timer can never
|
||||
// kill a newer worker already serving other requests.
|
||||
clearPending(requestId);
|
||||
if (worker === readyWorker) teardownWorker();
|
||||
resolve(failure("STYLESHEET_PREFLIGHT_TIMEOUT", "The PDF preflight exceeded its deadline."));
|
||||
drainQueue();
|
||||
}, limits.timeoutMs);
|
||||
readyWorker.postMessage({ type: "preflight", requestId, input, limits });
|
||||
})
|
||||
.catch((error: unknown) => {
|
||||
resolveRequest(
|
||||
requestId,
|
||||
workerFailure(error instanceof Error ? error : new Error("Failed to start PDF preflight worker.")),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
get activeWorkerCount() {
|
||||
return pending.size;
|
||||
},
|
||||
get queuedPreflightCount() {
|
||||
return queue.length;
|
||||
},
|
||||
|
||||
warmup() {
|
||||
void waitUntilReady().catch(() => undefined);
|
||||
},
|
||||
|
||||
run(input: StylesheetPreflightInput): Promise<PdfPreflightResult> {
|
||||
return new Promise<PdfPreflightResult>((resolve, reject) => {
|
||||
if (destroyed) {
|
||||
resolve(failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight worker was terminated."));
|
||||
return;
|
||||
}
|
||||
if (pending.size < limits.maxConcurrentWorkers) {
|
||||
dispatch(input, resolve, reject);
|
||||
return;
|
||||
}
|
||||
if (queue.length >= limits.maxQueuedRequests) {
|
||||
resolve(failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight queue is full."));
|
||||
return;
|
||||
}
|
||||
queue.push({ input, resolve, reject });
|
||||
});
|
||||
},
|
||||
|
||||
async destroy() {
|
||||
destroyed = true;
|
||||
const dead = worker;
|
||||
teardownWorker();
|
||||
await dead?.terminate().catch(() => undefined);
|
||||
for (const requestId of [...pending.keys()]) {
|
||||
resolveRequest(
|
||||
requestId,
|
||||
failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight worker was terminated."),
|
||||
);
|
||||
}
|
||||
while (queue.length > 0) {
|
||||
const next = queue.shift();
|
||||
next?.resolve(failure("STYLESHEET_PREFLIGHT_WORKER_FAILED", "The PDF preflight worker was terminated."));
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export const stylesheetPreflightRunner = createStylesheetPreflightRunner();
|
||||
@@ -0,0 +1,29 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import z from "zod";
|
||||
import { defaultResumeData } from "@reactive-resume/schema/resume/default";
|
||||
import { handleSchemaJson } from "./schema";
|
||||
|
||||
describe("handleSchemaJson", () => {
|
||||
it("publishes the custom-section type and item correlation", async () => {
|
||||
const response = handleSchemaJson();
|
||||
const schema = z.fromJSONSchema((await response.json()) as Parameters<typeof z.fromJSONSchema>[0]);
|
||||
const mismatched = {
|
||||
...defaultResumeData,
|
||||
customSections: [
|
||||
{
|
||||
id: "custom-experience",
|
||||
type: "experience",
|
||||
title: "Experience",
|
||||
icon: "",
|
||||
columns: 1,
|
||||
hidden: false,
|
||||
keepTogether: false,
|
||||
startOnNewPage: false,
|
||||
items: [{ id: "summary-item", hidden: false, content: "<p>Not an experience item</p>" }],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
expect(schema.safeParse(mismatched).success).toBe(false);
|
||||
});
|
||||
});
|
||||
@@ -1,11 +1,8 @@
|
||||
import z from "zod";
|
||||
import { resumeDataSchema } from "@reactive-resume/schema/resume/data";
|
||||
import { createResumeDataJsonSchema } from "@reactive-resume/schema/resume/json-schema";
|
||||
import { appVersion } from "../app-version";
|
||||
|
||||
export function handleSchemaJson() {
|
||||
const resumeDataJSONSchema = z.toJSONSchema(resumeDataSchema);
|
||||
|
||||
return Response.json(resumeDataJSONSchema, {
|
||||
return Response.json(createResumeDataJsonSchema(), {
|
||||
status: 200,
|
||||
headers: {
|
||||
"Content-Type": "application/schema+json; charset=utf-8",
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import fs from "node:fs/promises";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const mocks = vi.hoisted(() => ({
|
||||
env: { APP_URL: "https://rxresu.me" },
|
||||
serveStatic: vi.fn((_options?: unknown) => vi.fn()),
|
||||
}));
|
||||
|
||||
vi.mock("node:fs", () => ({
|
||||
existsSync: vi.fn(() => true),
|
||||
}));
|
||||
@@ -12,10 +17,25 @@ vi.mock("node:fs/promises", () => ({
|
||||
}));
|
||||
|
||||
vi.mock("@hono/node-server/serve-static", () => ({
|
||||
serveStatic: vi.fn(() => vi.fn()),
|
||||
serveStatic: mocks.serveStatic,
|
||||
}));
|
||||
|
||||
vi.mock("@reactive-resume/env/server", () => ({
|
||||
env: mocks.env,
|
||||
}));
|
||||
|
||||
type StaticOptions = {
|
||||
onFound?: (
|
||||
path: string,
|
||||
context: {
|
||||
req: { path: string };
|
||||
header: (name: string, value: string) => void;
|
||||
},
|
||||
) => void | Promise<void>;
|
||||
};
|
||||
|
||||
const { handleWebApp } = await import("./web");
|
||||
const staticOptions = mocks.serveStatic.mock.calls[0]?.[0] as StaticOptions | undefined;
|
||||
|
||||
describe("web app fallback classification", () => {
|
||||
beforeEach(() => {
|
||||
@@ -32,6 +52,56 @@ describe("web app fallback classification", () => {
|
||||
expect(await response.text()).toBe("<html>app</html>");
|
||||
});
|
||||
|
||||
it("injects canonical metadata and structured data into tracking-parameter root requests only", async () => {
|
||||
vi.mocked(fs.readFile).mockResolvedValue(`
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Reactive Resume — A free and open-source resume builder</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
>
|
||||
</head>
|
||||
<body><div id="app"></div></body>
|
||||
</html>
|
||||
`);
|
||||
|
||||
const response = await handleWebApp(new Request("http://server.internal/?utm_source=search"));
|
||||
const html = await response.text();
|
||||
|
||||
expect(html).toContain('<link rel="canonical" href="https://rxresu.me/">');
|
||||
expect(html).toContain('<link rel="preload" href="/videos/timelapse-v1.webp" as="image" fetchpriority="high">');
|
||||
expect(html).toContain('<meta property="og:url" content="https://rxresu.me/">');
|
||||
expect(html).toContain('<meta property="og:image" content="https://rxresu.me/opengraph/banner.jpg">');
|
||||
expect(html).toContain('id="reactive-resume-structured-data"');
|
||||
expect(html).toContain('"@type":["SoftwareApplication","WebApplication"]');
|
||||
expect(html).toContain('"url":"https://rxresu.me/"');
|
||||
expect(html).not.toContain("utm_source");
|
||||
|
||||
const dashboardResponse = await handleWebApp(new Request("https://example.com/dashboard"));
|
||||
expect(await dashboardResponse.text()).not.toContain('rel="canonical"');
|
||||
});
|
||||
|
||||
it("caches versioned homepage media immutably", async () => {
|
||||
const headers = new Headers();
|
||||
|
||||
await staticOptions?.onFound?.("", {
|
||||
req: { path: "/videos/timelapse-v1.mp4" },
|
||||
header: (name, value) => headers.set(name, value),
|
||||
});
|
||||
|
||||
expect(headers.get("Cache-Control")).toBe("public, max-age=31536000, immutable");
|
||||
|
||||
const unversionedHeaders = new Headers();
|
||||
await staticOptions?.onFound?.("", {
|
||||
req: { path: "/videos/timelapse.mp4" },
|
||||
header: (name, value) => unversionedHeaders.set(name, value),
|
||||
});
|
||||
|
||||
expect(unversionedHeaders.get("Cache-Control")).toBeNull();
|
||||
});
|
||||
|
||||
it.each(["/", "/alice/resume"])("sets framing and report-only CSP security headers on %s", async (pathname) => {
|
||||
const response = await handleWebApp(new Request(`https://example.com${pathname}`));
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { existsSync } from "node:fs";
|
||||
import fs from "node:fs/promises";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { serveStatic } from "@hono/node-server/serve-static";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
|
||||
function resolveWebDistPath() {
|
||||
const candidates = [
|
||||
@@ -31,8 +32,6 @@ const reservedPublicResumeSegments = new Set([
|
||||
"templates",
|
||||
]);
|
||||
|
||||
export const serveWebDistStatic = serveStatic({ root: staticRoot });
|
||||
|
||||
function isAssetPath(pathname: string): boolean {
|
||||
return pathname.split("/").pop()?.includes(".") ?? false;
|
||||
}
|
||||
@@ -60,6 +59,115 @@ const BASE_SECURITY_HEADERS = {
|
||||
"default-src 'self'; img-src 'self' data: blob:; font-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; object-src 'none'",
|
||||
};
|
||||
|
||||
const ROOT_TITLE = "Reactive Resume — A free and open-source resume builder";
|
||||
const ROOT_DESCRIPTION =
|
||||
"Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.";
|
||||
const ROOT_POSTER_PATH = "/videos/timelapse-v1.webp";
|
||||
const ROOT_FAQ_ITEMS = [
|
||||
{
|
||||
question: "Is Reactive Resume really free?",
|
||||
answer:
|
||||
"Yes! Reactive Resume is completely free to use, with no hidden costs, premium tiers, or subscription fees. It's open-source and will always remain free.",
|
||||
},
|
||||
{
|
||||
question: "How is my data protected?",
|
||||
answer:
|
||||
"Your data is stored securely and is never shared with third parties. You can also self-host Reactive Resume on your own servers for complete control over your data.",
|
||||
},
|
||||
{
|
||||
question: "Can I export my resume to PDF?",
|
||||
answer:
|
||||
"Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly.",
|
||||
},
|
||||
{
|
||||
question: "Is Reactive Resume available in multiple languages?",
|
||||
answer:
|
||||
"Yes, Reactive Resume is available in multiple languages. You can choose your preferred language in the settings page, or using the language switcher in the top right corner. If you don't see your language, or you would like to improve the existing translations, you can contribute to the translations on Crowdin.",
|
||||
},
|
||||
{
|
||||
question: "What makes Reactive Resume different from other resume builders?",
|
||||
answer:
|
||||
"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.",
|
||||
},
|
||||
{
|
||||
question: "How do I share my resume?",
|
||||
answer:
|
||||
"You can share your resume via a unique public URL, protect it with a password, or download it as a PDF to share directly. The choice is yours!",
|
||||
},
|
||||
] as const;
|
||||
|
||||
function createRootSeoMarkup(canonicalUrl: string) {
|
||||
const origin = new URL(canonicalUrl).origin;
|
||||
const imageUrl = `${origin}/opengraph/banner.jpg`;
|
||||
const structuredData = {
|
||||
"@context": "https://schema.org",
|
||||
"@graph": [
|
||||
{
|
||||
"@type": "WebSite",
|
||||
name: "Reactive Resume",
|
||||
url: canonicalUrl,
|
||||
},
|
||||
{
|
||||
"@type": ["SoftwareApplication", "WebApplication"],
|
||||
name: "Reactive Resume",
|
||||
url: canonicalUrl,
|
||||
description: ROOT_DESCRIPTION,
|
||||
applicationCategory: "BusinessApplication",
|
||||
operatingSystem: "Web",
|
||||
isAccessibleForFree: true,
|
||||
offers: {
|
||||
"@type": "Offer",
|
||||
price: "0",
|
||||
priceCurrency: "USD",
|
||||
},
|
||||
codeRepository: "https://github.com/amruthpillai/reactive-resume",
|
||||
},
|
||||
{
|
||||
"@type": "Project",
|
||||
name: "Reactive Resume",
|
||||
url: canonicalUrl,
|
||||
sameAs: ["https://github.com/amruthpillai/reactive-resume"],
|
||||
},
|
||||
{
|
||||
"@type": "FAQPage",
|
||||
mainEntity: ROOT_FAQ_ITEMS.map((item) => ({
|
||||
"@type": "Question",
|
||||
name: item.question,
|
||||
acceptedAnswer: {
|
||||
"@type": "Answer",
|
||||
text: item.answer,
|
||||
},
|
||||
})),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
return `
|
||||
<link rel="canonical" href="${canonicalUrl}">
|
||||
<link rel="preload" href="${ROOT_POSTER_PATH}" as="image" fetchpriority="high">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="Reactive Resume">
|
||||
<meta property="og:title" content="${ROOT_TITLE}">
|
||||
<meta property="og:description" content="${ROOT_DESCRIPTION}">
|
||||
<meta property="og:url" content="${canonicalUrl}">
|
||||
<meta property="og:image" content="${imageUrl}">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="${ROOT_TITLE}">
|
||||
<meta name="twitter:description" content="${ROOT_DESCRIPTION}">
|
||||
<meta name="twitter:image" content="${imageUrl}">
|
||||
<script id="reactive-resume-structured-data" type="application/ld+json">${JSON.stringify(structuredData)}</script>
|
||||
`;
|
||||
}
|
||||
|
||||
export const serveWebDistStatic = serveStatic({
|
||||
root: staticRoot,
|
||||
onFound: (_path, context) => {
|
||||
if (/^\/videos\/.*-v\d+\.(?:mp4|webp)$/.test(context.req.path)) {
|
||||
context.header("Cache-Control", "public, max-age=31536000, immutable");
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
function getFallbackResponseHeaders(pathname: string) {
|
||||
if (pathname === "/") return { "Content-Type": "text/html; charset=UTF-8", ...BASE_SECURITY_HEADERS };
|
||||
if (isNoindexShellPath(pathname) || isPublicResumePath(pathname)) {
|
||||
@@ -98,5 +206,8 @@ export async function handleWebApp(request: Request) {
|
||||
if (isHead) return new Response(null, { status: 200, headers });
|
||||
|
||||
const html = await fs.readFile(indexHtmlPath, "utf-8");
|
||||
return new Response(html, { headers });
|
||||
const canonicalUrl = new URL("/", env.APP_URL).toString();
|
||||
const responseHtml = pathname === "/" ? html.replace("</head>", `${createRootSeoMarkup(canonicalUrl)}</head>`) : html;
|
||||
|
||||
return new Response(responseHtml, { headers });
|
||||
}
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
import type {
|
||||
PdfPreflightPageLimits,
|
||||
PdfPreflightResult,
|
||||
RenderPreflightPdfResult,
|
||||
} from "@reactive-resume/pdf/preflight";
|
||||
import { getDocument } from "pdfjs-dist/legacy/build/pdf.mjs";
|
||||
|
||||
type StylesheetPreflightInspectionLimits = PdfPreflightPageLimits & {
|
||||
maxPages: number;
|
||||
maxBytes: number;
|
||||
};
|
||||
|
||||
type PdfLoadingTask = {
|
||||
promise: PromiseLike<{ numPages: number }>;
|
||||
destroy(): Promise<void>;
|
||||
};
|
||||
|
||||
type LoadPdf = (options: { data: Uint8Array }) => PdfLoadingTask;
|
||||
|
||||
export async function inspectPreflightPdf(
|
||||
rendered: Extract<RenderPreflightPdfResult, { ok: true }>,
|
||||
limits: StylesheetPreflightInspectionLimits,
|
||||
loadPdf: LoadPdf = getDocument,
|
||||
): Promise<PdfPreflightResult> {
|
||||
if (rendered.bytes.byteLength > limits.maxBytes) {
|
||||
return {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_BYTE_LIMIT",
|
||||
message: "The rendered PDF exceeds the preflight byte limit.",
|
||||
diagnostics: rendered.diagnostics,
|
||||
};
|
||||
}
|
||||
|
||||
const byteCount = rendered.bytes.byteLength;
|
||||
let loadingTask: PdfLoadingTask;
|
||||
try {
|
||||
loadingTask = loadPdf({ data: rendered.bytes });
|
||||
} catch {
|
||||
return {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_PARSE_FAILED",
|
||||
message: "PDF inspection failed.",
|
||||
diagnostics: rendered.diagnostics,
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
let document: { numPages: number };
|
||||
try {
|
||||
document = await loadingTask.promise;
|
||||
} catch {
|
||||
return {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_PARSE_FAILED",
|
||||
message: "PDF inspection failed.",
|
||||
diagnostics: rendered.diagnostics,
|
||||
};
|
||||
}
|
||||
|
||||
if (document.numPages > limits.maxPages) {
|
||||
return {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_PAGE_LIMIT",
|
||||
message: "The rendered PDF exceeds the preflight page limit.",
|
||||
diagnostics: rendered.diagnostics,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
ok: true,
|
||||
pageCount: document.numPages,
|
||||
byteCount,
|
||||
diagnostics: rendered.diagnostics,
|
||||
};
|
||||
} finally {
|
||||
await loadingTask.destroy().catch(() => undefined);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { inspectPreflightPdf } from "./stylesheet-preflight-inspection";
|
||||
|
||||
const warning = {
|
||||
code: "EXTREME_VALUE",
|
||||
severity: "warning",
|
||||
message: "The authored value is unusually large.",
|
||||
range: {
|
||||
start: { line: 1, column: 1, offset: 0 },
|
||||
end: { line: 1, column: 10, offset: 9 },
|
||||
},
|
||||
} as const;
|
||||
|
||||
const rendered = {
|
||||
ok: true as const,
|
||||
bytes: new TextEncoder().encode("%PDF-1.7"),
|
||||
diagnostics: [warning],
|
||||
};
|
||||
|
||||
const limits = {
|
||||
maxPages: 20,
|
||||
maxBytes: 10_000_000,
|
||||
maxPageWidthPt: 2_000,
|
||||
maxPageHeightPt: 20_000,
|
||||
maxPageAreaPt2: 20_000_000,
|
||||
};
|
||||
|
||||
describe("stylesheet preflight PDF inspection", () => {
|
||||
it("preserves compiler warnings and hides parser exceptions", async () => {
|
||||
const destroy = vi.fn(async () => undefined);
|
||||
|
||||
const result = await inspectPreflightPdf(rendered, limits, () => ({
|
||||
promise: Promise.reject(new Error("sensitive parser details")),
|
||||
destroy,
|
||||
}));
|
||||
|
||||
expect(result).toEqual({
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_PARSE_FAILED",
|
||||
message: "PDF inspection failed.",
|
||||
diagnostics: [warning],
|
||||
});
|
||||
expect(destroy).toHaveBeenCalledOnce();
|
||||
});
|
||||
|
||||
it("preserves compiler warnings when PDF.js fails before returning a loading task", async () => {
|
||||
const result = await inspectPreflightPdf(rendered, limits, () => {
|
||||
throw new Error("sensitive parser setup details");
|
||||
});
|
||||
|
||||
expect(result).toEqual({
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_PARSE_FAILED",
|
||||
message: "PDF inspection failed.",
|
||||
diagnostics: [warning],
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,90 @@
|
||||
import type {
|
||||
PdfPreflightPageLimits,
|
||||
PdfPreflightResult,
|
||||
StylesheetPreflightInput,
|
||||
} from "@reactive-resume/pdf/preflight";
|
||||
import { parentPort } from "node:worker_threads";
|
||||
import * as React from "react";
|
||||
import { inspectPreflightPdf } from "./stylesheet-preflight-inspection";
|
||||
|
||||
(globalThis as typeof globalThis & { React: typeof React }).React = React;
|
||||
|
||||
type StylesheetPreflightWorkerLimits = PdfPreflightPageLimits & {
|
||||
maxPages: number;
|
||||
maxBytes: number;
|
||||
};
|
||||
|
||||
// The worker is long-lived and reused across requests: the heavy PDF runtime is
|
||||
// loaded once at startup and each preflight arrives as a message (input can no
|
||||
// longer come from `workerData`, which is fixed at construction time).
|
||||
type StylesheetPreflightWorkerRequest = {
|
||||
type: "preflight";
|
||||
requestId: number;
|
||||
input: StylesheetPreflightInput;
|
||||
limits: StylesheetPreflightWorkerLimits;
|
||||
};
|
||||
|
||||
type SerializedPreflightCause = {
|
||||
name: string;
|
||||
message: string;
|
||||
issues: readonly unknown[];
|
||||
};
|
||||
|
||||
const sanitizeWorkerCause = (cause: unknown): string => {
|
||||
if (!(cause instanceof Error)) return "The PDF preflight worker failed.";
|
||||
const detail = cause.message.replace(/\s+/g, " ").trim().slice(0, 200);
|
||||
if (!detail) return "The PDF preflight worker failed.";
|
||||
return `The PDF preflight worker failed. (${cause.name}: ${detail})`;
|
||||
};
|
||||
|
||||
const serializeZodCause = (cause: unknown): SerializedPreflightCause | undefined => {
|
||||
if (!(cause instanceof Error) || cause.name !== "ZodError" || !("issues" in cause) || !Array.isArray(cause.issues)) {
|
||||
return;
|
||||
}
|
||||
return { name: cause.name, message: cause.message, issues: cause.issues };
|
||||
};
|
||||
|
||||
// Load the heavy PDF runtime once. A rejection here (missing/broken dependency in
|
||||
// a pruned production install) is reported explicitly instead of becoming an
|
||||
// unhandled rejection that silently kills the worker and surfaces as an opaque
|
||||
// runner-side failure.
|
||||
const initialization = import("@reactive-resume/pdf/preflight");
|
||||
|
||||
void initialization.then(
|
||||
() => parentPort?.postMessage({ type: "ready" }),
|
||||
(cause: unknown) => {
|
||||
console.error("[stylesheet-preflight] worker runtime failed to load", cause);
|
||||
parentPort?.postMessage({ type: "load_error", message: sanitizeWorkerCause(cause) });
|
||||
},
|
||||
);
|
||||
|
||||
const handle = async (request: StylesheetPreflightWorkerRequest): Promise<void> => {
|
||||
try {
|
||||
const { renderPreflightPdf } = await initialization;
|
||||
const rendered = await renderPreflightPdf(request.input, request.limits);
|
||||
const result: PdfPreflightResult = rendered.ok ? await inspectPreflightPdf(rendered, request.limits) : rendered;
|
||||
parentPort?.postMessage({ type: "result", requestId: request.requestId, result });
|
||||
} catch (cause) {
|
||||
const serializedCause = serializeZodCause(cause);
|
||||
if (serializedCause) {
|
||||
parentPort?.postMessage({ type: "preflight_error", requestId: request.requestId, cause: serializedCause });
|
||||
return;
|
||||
}
|
||||
console.error("[stylesheet-preflight]", cause);
|
||||
parentPort?.postMessage({
|
||||
type: "result",
|
||||
requestId: request.requestId,
|
||||
result: {
|
||||
ok: false,
|
||||
code: "STYLESHEET_PREFLIGHT_WORKER_FAILED",
|
||||
message: sanitizeWorkerCause(cause),
|
||||
diagnostics: [],
|
||||
},
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
parentPort?.on("message", (message: StylesheetPreflightWorkerRequest) => {
|
||||
if (message.type !== "preflight") return;
|
||||
void handle(message);
|
||||
});
|
||||
@@ -33,7 +33,10 @@ const promptAssetsPlugin: TsdownPlugin = {
|
||||
};
|
||||
|
||||
export default defineConfig({
|
||||
entry: { index: "src/index.ts" },
|
||||
entry: {
|
||||
index: "src/index.ts",
|
||||
"stylesheet-preflight-worker": "src/workers/stylesheet-preflight.ts",
|
||||
},
|
||||
format: "esm",
|
||||
platform: "node",
|
||||
target: "node24",
|
||||
@@ -42,6 +45,9 @@ export default defineConfig({
|
||||
shims: true,
|
||||
dts: false,
|
||||
define: { __APP_VERSION__: JSON.stringify(rootPackageJson.version ?? "0.0.0") },
|
||||
// The flagged dynamic imports are deliberate: they defer evaluation of env-dependent
|
||||
// modules so tests can run without env vars, not to split chunks.
|
||||
suppressWarnings: [/dynamic import will not move module into another chunk/],
|
||||
outExtensions: () => ({ js: ".mjs" }),
|
||||
deps: {
|
||||
alwaysBundle: [/^@reactive-resume\//],
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"extends": ["//"],
|
||||
"tags": ["app:server", "runtime:server", "role:adapter"]
|
||||
"tags": ["app:server", "runtime:server", "role:adapter"],
|
||||
"tasks": {
|
||||
"test:ci": {
|
||||
"cache": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon-180x180.png" type="image/png" sizes="180x180 any" />
|
||||
<link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials" />
|
||||
|
||||
<title>Reactive Resume</title>
|
||||
<title>Reactive Resume — A free and open-source resume builder</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Keep #app empty: main.tsx only mounts React when rootElement has no children. -->
|
||||
@@ -56,6 +56,6 @@
|
||||
clip: rect(0 0 0 0);
|
||||
}
|
||||
</style>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
<script type="module" data-cfasync="false" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: af\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Rekeningkieslys"
|
||||
msgid "Actions"
|
||||
msgstr "Aksies"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktiveer Semantiese CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Werklike grootte (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Aansoeke per week gestuur (laaste 8 weke)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Aansoek gedoen"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Aansoek gedoen"
|
||||
msgid "Applied on"
|
||||
msgstr "Toegepas op"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Toegepaste Reëls"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Toegepas met waarskuwings"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Gaan jou e-pos na vir 'n skakel om jou wagwoord te herstel."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Gaan jou e-pos na vir 'n skakel om jou rekening te verifieer."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontroleer"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Kontroleer konsep"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinees (Vereenvoudig)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Gesprek gekopieer."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Gesprek JSON gekopieer."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Omgeskakelde stylbladkonsep"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Na knipbord gekopieer."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopieer rugsteunkodes"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopieer JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopieer geheim"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopieer stylblad"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopieer hierdie geheime sleutel en gebruik dit in jou toepassings om toegang tot jou data te kry."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Wysig {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Wysig toepassing"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Wysig kleur {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Voer jou wagwoord in om die opstel van twee-faktor-magtiging te bevestig
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Voer jou wagwoord in om twee-faktor-magtiging te deaktiveer. Jou rekening sal minder veilig wees sonder 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Elke bydrae, groot of klein, maak 'n reuseverskil vir die projek.<0/>Dankie vir jou ondersteuning!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Elke bydrae, groot of klein, maak 'n reuseverskil vir die projek.<0/>Da
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Alles wat jy nodig het om professionele CV's te skep, te pasmaak en te deel. Gebou met privaatheid in gedagte, aangedryf deur oopbron, en heeltemal gratis vir altyd."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Verlaat fokusmodus"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Verlaat volskerm"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formaat"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formateer stylblad"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Lig"
|
||||
msgid "Light theme"
|
||||
msgstr "Lig tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Lyn {0}, kolom {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Reëlhoogte"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Geen gestoorde weergawes nog nie."
|
||||
msgid "No source data yet."
|
||||
msgstr "Geen brondata nog 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Noors"
|
||||
msgid "Not connected"
|
||||
msgstr "Nie gekoppel nie"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nie seker wat om te skryf nie?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Maak KI-assistent oop"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Maak e-posklient oop"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Maak fokusmodus oop"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Maak oop in bouer"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-versoenbaar"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Druk <0>Enter</0> om oop te maak"
|
||||
msgid "Preview"
|
||||
msgstr "Voorskou"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Voorskou en uitvoer gebruik die laaste geldige weergawe."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primêre kleur"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiewe CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktiewe CV v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lees die gids oor die toepassing van persoonlike style."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lees…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Gereed om te aktiveer"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Gereed om te aktiveer met waarskuwings"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Ontvanger"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Reghoek (volle breedte)"
|
||||
msgid "Redo"
|
||||
msgstr "Herdoen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Herhaal stylbladwysiging"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Stel terug na toegepaste stylblad"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "gekies"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-aanbieding met Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantiese CSS-stylblad"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Stuur boodskap"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Deurstreep"
|
||||
msgid "Strong fit"
|
||||
msgstr "Sterk pasvorm"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stylbladredigeerder"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylblad bevat foute"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Die bladsy waarna jy soek, is dalk geskuif of bestaan nie meer nie."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Die wagwoord wat jy ingevoer het, is verkeerd"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Die CV-voorskou kon nie opgedateer word nie. Die laaste geldige voorskou word steeds gewys."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Die CV waarna jy probeer toegang kry, word met 'n wagwoord beskerm"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Onderstreep"
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maak"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Maak stylbladwysiging ongedaan"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Onbeperkte CV's"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Jou data word veilig gestoor en nooit met derde partye gedeel nie. Jy ka
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Jou jongste veranderinge kon nie gestoor word nie."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Jou ouer style bly aktief totdat jy hierdie Semantiese CSS-konsep eksplisiet aktiveer."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Jou wagwoord is suksesvol herstel. Jy kan nou met jou nuwe wagwoord aanmeld."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: am\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Amharic\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "የመለያ ምናሌ"
|
||||
msgid "Actions"
|
||||
msgstr "እርምጃዎች"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "የሴማንቲክ CSS ን ያግብሩ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "ትክክለኛው መጠን (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "በሳምንት የተላኩ ማመልከቻዎች (ያለፉት 8 ሳምንታት)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "ተመልክቷል"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "ተመልክቷል"
|
||||
msgid "Applied on"
|
||||
msgstr "የተተገበረው በ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "የተተገበሩ ህጎች"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "ከማስጠንቀቂያዎች ጋር ተተግብሯል"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "የይለፍ ቃልዎን ለመደገፍ አገናኝ በኢሜልዎ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "መለያዎን ለማረጋገጥ አገናኝ በኢሜልዎ ውስጥ ይፈልጉ።"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "ፍተሻ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "ረቂቅን በመፈተሽ ላይ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "ቻይንኛ (ቀለል ያለ)"
|
||||
@@ -966,6 +979,10 @@ msgstr "ውይይት ተቀድቷል።"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "ውይይት JSON ተገልብጧል።"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "የተቀየረ የቅጥ ሉህ ረቂቅ"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "ወደ ቅንጥብ ሰሌዳ ተገልብጧል።"
|
||||
@@ -989,6 +1006,15 @@ msgstr "የመከላከያ ኮዶችን ቅጂ አድርግ"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSONን ይቅዱ"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "ሚስጥርን ይቅዱ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "የቅጥ ሉህን ቅዳ"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ይህንን ሚስጥራዊ ቁልፍ ቅጂ አድርጉ እና ውስጥ በመተግበሪያዎቻችሁ መረጃዎን ለመድረስ ይጠቀሙበት።"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "{chip} አርትዕ"
|
||||
msgid "Edit application"
|
||||
msgstr "መተግበሪያን ያርትዑ"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "ቀለምን አርትዕ {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "ሁለት-ደረጃ ማረጋገጫን ስትቆጣጠሩ የሚሆን
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "ሁለት-ደረጃ ማረጋገጫን ለማቦዘን የይለፍ ቃልዎን ያስገቡ። 2FA ባቦዘነ ጊዜ መለያዎ ያነሰ ደህንነት ይኖረዋል።"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "ስህተት"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "እያንዳንዱ መዋጮ፣ ትልቅ ወይም ትንሽ፣ በፕሮጀክቱ ላይ ትልቅ ልዩነት ያመጣል።<0/>ስለ ድጋፍዎ እናመሰግናለን!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "እያንዳንዱ መዋጮ፣ ትልቅ ወይም ትንሽ፣ በፕ
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "ሙያዊ የየታሪክ ማቅረቢያዎችን ለመፍጠር፣ ለማበጀት እና ለመካፈል ያስፈልግዎትን ሁሉ ይዟል። የግላዊነትን ጥበቃ በማስቡ፣ በክፍት ምንጭ የሚነቃቃ፣ ፍጹም ነፃ የሆነ ነው።"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ከትኩረት ሁነታ ውጣ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ሙሉ ስክሪን ውጣ"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ቅርጸት"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "የቅርጸት ቅጥ ሉህ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ነፃ"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ብርሃን"
|
||||
msgid "Light theme"
|
||||
msgstr "ብርሃን ገጽታ"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "መስመር {0}፣ አምድ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "የመስመር ከፍታ"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "እስካሁን ምንም የተቀመጡ ስሪቶች የሉም።"
|
||||
msgid "No source data yet."
|
||||
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 "የተፈተነ አቅራቢ የለም"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "ኖርዌጂያንኛ"
|
||||
msgid "Not connected"
|
||||
msgstr "አልተገናኘም"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "ምን መጻፍ እንዳለብህ እርግጠኛ አይደለህም?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "ክፍት የ AI ረዳት"
|
||||
msgid "Open Email Client"
|
||||
msgstr "የኢሜል ደንበኛን ክፈት"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "የትኩረት ሁነታን ክፈት"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "በገንቢ ውስጥ ክፈት"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ከ OpenAI ጋር ተኳሃኝ"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "ለመክፈት <0>Enter</0>ን ይጫኑ"
|
||||
msgid "Preview"
|
||||
msgstr "ቅድመ እይታ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ቅድመ እይታ እና ወደ ውጭ መላክ የመጨረሻውን ትክክለኛ ስሪት ይጠቀሙ።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ዋና ቀለም"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "ምላሽ ሰጪ የስራ ልምድ v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "የአጠቃቀም ብጁ ቅጦች መመሪያን ያንብቡ።"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "ንባብ…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "ለማግበር ዝግጁ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "ከማስጠንቀቂያዎች ጋር ለማግበር ዝግጁ"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "ተቀባይ"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "አክታ (ሙሉ ወፍር)"
|
||||
msgid "Redo"
|
||||
msgstr "ድገም"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "የቅጥ ሉህ አርትዖትን ድገም"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "ዳግም ለመጀመር"
|
||||
msgid "Reset Password"
|
||||
msgstr "የይለፍ ቃል ዳግም አስጀምር"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ቅጥን ዳግም አስጀምር"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "ወደ ተተገበረ የቅጥ ሉህ ዳግም አስጀምር"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "የውጤት ካርድ፣ ጥንካሬዎች እና ቅድሚያ የተሰጣቸው አስተያየቶችን ለማግኘት የመጀመሪያ ትንተናዎን ያከናውኑ።"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "ተመርጧል"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "በ Docker ራስህን አስተናግድ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "የትርጓሜ CSS የቅጥ ሉህ"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "መልእክት ላክ"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "መሰረዣ"
|
||||
msgid "Strong fit"
|
||||
msgstr "ጠንካራ መገጣጠም"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "የቅጥ ሉህ አርታኢ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "የቅጥ ሉህ ስህተቶች አሉት"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "ሰብሬዲት"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "የሚፈልጉት ገጽ ተዛውሮ ወይም ከአሁን በኋላ
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "ያስገቡት የይለፍ ቃል ትክክል አይደለም"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "የሪሴምዩ ቅድመ እይታ ሊዘመን አልቻለም። የመጨረሻው ትክክለኛ ቅድመ እይታ አሁንም ይታያል።"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "መድረስ የሚሞክሩት የየታሪክ ማቅረቢያ በይለፍ ቃል የተጠበቀ ነው"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "ነጥብ ተስማሚ"
|
||||
msgid "Undo"
|
||||
msgstr "ቀልብስ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "የቅጥ ሉህ አርትዖትን ቀልብስ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "ያለ ገደብ የየታሪክ ማቅረቢያዎች"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "መረጃዎ በደህና ይከማቻል እና ከሶስተኛ ወገ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "የቅርብ ጊዜ ለውጦችዎ ሊቀመጡ አልቻሉም።"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "የቆዩ ቅጦችዎ ይህንን የሴማንቲክ CSS ረቂቅ በግልጽ እስኪያነቁ ድረስ ንቁ ሆነው ይቆያሉ።"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "የይለፍ ቃልዎ በተሳካ ሁኔታ ዳግም ተጀምሯል። አሁን በአዲሱ የይለፍ ቃል መግባት ትችላላችሁ።"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "قائمة الحساب"
|
||||
msgid "Actions"
|
||||
msgstr "الإجراءات"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "تفعيل CSS الدلالي"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "الحجم الفعلي (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "الطلبات المرسلة أسبوعيًا (آخر 8 أسابيع)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "تم التقديم"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "تم التقديم"
|
||||
msgid "Applied on"
|
||||
msgstr "تم التقديم في"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "القواعد المطبقة"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "تم استخدامه مع التحذيرات"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "تحقق من بريدك الإلكتروني للحصول على راب
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "تحقق من بريدك الإلكتروني للحصول على رابط للتحقق من حسابك."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "التحقق"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "مراجعة المسودة"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "الصينية (المبسطة)"
|
||||
@@ -966,6 +979,10 @@ msgstr "تم نسخ المحادثة."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "تم نسخ بيانات المحادثة بصيغة JSON."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "مسودة ورقة الأنماط المحولة"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "تم نسخها إلى الحافظة."
|
||||
@@ -989,6 +1006,15 @@ msgstr "نسخ رموز النسخ الاحتياطي"
|
||||
msgid "Copy JSON"
|
||||
msgstr "نسخ JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "حقوق الطبع والنشر"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "انسخ ورقة الأنماط"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "انسخ مفتاحك السري هذا واستخدمه في تطبيقاتك للوصول إلى بياناتك."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "تحرير {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "تعديل الطلب"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "تعديل اللون {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "أدخِل كلمة المرور الخاصة بك لتأكيد إعدا
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "أدخِل كلمة المرور الخاصة بك لتعطيل المصادقة الثنائية. سيكون حسابك أقل أمانًا بدون تمكين المصادقة الثنائية (2FA)."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "خطأ"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "كل مساهمة، كبيرة كانت أم صغيرة، تُحدث فارقًا كبيرًا في المشروع.<0/>شكرًا لك على دعمك!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "كل مساهمة، كبيرة كانت أم صغيرة، تُحدث ف
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "كل ما تحتاجه لإنشاء سير ذاتية احترافية وتخصيصها ومشاركتها. بُني مع مراعاة الخصوصية، ومدعوم بالمصدر المفتوح، ومجاني تمامًا إلى الأبد."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "الخروج من وضع التركيز"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "الخروج من وضع ملء الشاشة"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "الصيغة"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "نمط التنسيق"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "مجاني"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "مضيء"
|
||||
msgid "Light theme"
|
||||
msgstr "سمة مضيئة"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "السطر {0}، العمود {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "ارتفاع السطر"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "لا توجد نسخ محفوظة حتى الآن."
|
||||
msgid "No source data yet."
|
||||
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 "لم يتم اختبار أي مزود خدمة"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "النرويجية"
|
||||
msgid "Not connected"
|
||||
msgstr "غير متصل"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "لست متأكدًا مما يجب كتابته؟"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "مساعد الذكاء الاصطناعي المفتوح"
|
||||
msgid "Open Email Client"
|
||||
msgstr "فتح عميل البريد الإلكتروني"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "وضع التركيز المفتوح"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "افتح في أداة الإنشاء"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "متوافق مع OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "الموجه المفتوح (OpenRouter)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "اضغط على <0>Enter</0> لفتح"
|
||||
msgid "Preview"
|
||||
msgstr "معاينة"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "استخدم آخر نسخة صالحة للمعاينة والتصدير."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "اللون الأساسي"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "السيرة الذاتية التفاعلية v<0>{__APP_VERSION__}</0>
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "استئناف تفاعلي الإصدار 4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "اقرأ دليل تطبيق الأنماط المخصصة."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "قراءة…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "جاهز للتفعيل"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "جاهز للتفعيل مع التحذيرات"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "المستلم"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "مستطيل (عرض كامل)"
|
||||
msgid "Redo"
|
||||
msgstr "إعادة العمل"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "إعادة تحرير ورقة الأنماط"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "إعادة تعيين"
|
||||
msgid "Reset Password"
|
||||
msgstr "إعادة تعيين كلمة المرور"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "إعادة ضبط النمط"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "إعادة ضبط نمط التنسيق المُطبق"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "قم بإجراء تحليلك الأول للحصول على بطاقة الأداء ونقاط القوة والاقتراحات ذات الأولوية."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "تم الاختيار"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "الاستضافة الذاتية مع Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "ورقة أنماط CSS الدلالية"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "إرسال الرسائل"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "شطب"
|
||||
msgid "Strong fit"
|
||||
msgstr "ملاءمة قوية"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "محرر أنماط CSS"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "يحتوي ملف الأنماط على أخطاء"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "سبريديت"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "قد تكون الصفحة التي تبحث عنها قد نُقلت أ
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "كلمة المرور التي أدخلتها غير صحيحة"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "تعذر تحديث معاينة السيرة الذاتية. لا تزال آخر معاينة صالحة معروضة."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "السيرة الذاتية التي تحاول الوصول إليها محمية بكلمة مرور"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "تسطير"
|
||||
msgid "Undo"
|
||||
msgstr "التراجع"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "التراجع عن تعديل ورقة الأنماط"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "سير ذاتية غير محدودة"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "تُخزَّن بياناتك بأمان ولا تتم مشاركتها
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "لم يتم حفظ آخر التغييرات التي أجريتها."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "ستبقى أنماطك القديمة نشطة حتى تقوم بتفعيل مسودة CSS الدلالية هذه بشكل صريح."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "تمت إعادة تعيين كلمة المرور الخاصة بك بنجاح. يمكنك الآن تسجيل الدخول باستخدام كلمة المرور الجديدة."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: az\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Azerbaijani\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Hesab menyusu"
|
||||
msgid "Actions"
|
||||
msgstr "Əməliyyatlar"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Semantik CSS-i aktivləşdirin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Həqiqi ölçü (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Həftəlik göndərilən müraciətlər (son 8 həftə)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Müraciət edildi"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Müraciət edildi"
|
||||
msgid "Applied on"
|
||||
msgstr "Tətbiq edildiyi tarix"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Tətbiq olunan Qaydalar"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Xəbərdarlıqlarla tətbiq olunur"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Parolu sıfırlamaq üçün link üçün e‑poçtunuzu yoxlayın."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Hesabınızı təsdiqləmək üçün link üçün e‑poçtunuzu yoxlayın."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Yoxlama"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Qaralama yoxlanılır"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Çin (Sadələşdirilmiş)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Söhbət kopyalandı."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Söhbət JSON formatında kopyalandı."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Çevirilmiş stil cədvəli qaralaması"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Panoya kopyalandı."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Ehtiyat Kodlarını Kopyala"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON-u kopyalayın"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Sirri kopyalayın"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Stil cədvəlini kopyalayın"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Bu gizli açarı kopyalayın və verilənlərinizə daxil olmaq üçün tətbiqlərinizdə istifadə edin."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Düzəliş et {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Tətbiqi redaktə edin"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Rəngi redaktə edin {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "İki mərhələli autentifikasiyanı qurmağı təsdiqləmək üçün pa
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "İki mərhələli autentifikasiyanı deaktiv etmək üçün parolunuzu daxil edin. 2FA deaktiv edildikdə, hesabınız daha az təhlükəsiz olacaq."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Xəta"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Hər bir töhfə, böyük və ya kiçik olmasından asılı olmayaraq, layihə üçün böyük fərq yaradır.<0/>Dəstəyiniz üçün təşəkkür edirik!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Hər bir töhfə, böyük və ya kiçik olmasından asılı olmayaraq, l
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Peşəkar özgeçmişlər yaratmaq, fərdiləşdirmək və paylaşmaq üçün lazım olan hər şey. Məxfilik nəzərə alınaraq qurulub, açıq mənbə ilə işləyir və tamamilə pulsuzdur."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Fokus rejimindən çıxın"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Tam ekrandan çıx"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Stil cədvəlini formatlayın"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Pulsuz"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Açıq"
|
||||
msgid "Light theme"
|
||||
msgstr "Açıq mövzu"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Sətir {0}, sütun {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Sətir Hündürlüyü"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Hələ ki, yadda saxlanılan versiya yoxdur."
|
||||
msgid "No source data yet."
|
||||
msgstr "Hələlik mənbə məlumatları yoxdur."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norveç"
|
||||
msgid "Not connected"
|
||||
msgstr "Qoşulmamışdır"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nə yazacağınızdan əmin deyilsiniz?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Açıq süni intellekt köməkçisi"
|
||||
msgid "Open Email Client"
|
||||
msgstr "E‑poçt müştərisini aç"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Fokus rejimini açın"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Qurucuda açın"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI ilə uyğun"
|
||||
msgid "OpenRouter"
|
||||
msgstr "AçıqRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Açmaq üçün <0>Enter düyməsini</0> basın"
|
||||
msgid "Preview"
|
||||
msgstr "Önizləmə"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Önizləmə və ixrac üçün son etibarlı versiyadan istifadə edin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Əsas Rəng"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiv CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktiv Rezume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Xüsusi Stillərin Tətbiqi təlimatını oxuyun."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "… oxunur"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Aktivləşdirməyə hazırdır"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Xəbərdarlıqlarla aktivləşdirməyə hazırdır"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Alıcı"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Düzbucaqlı (Tam En)"
|
||||
msgid "Redo"
|
||||
msgstr "Təkrar et"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Stil cədvəli redaktəsini yenidən edin"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Tətbiq olunmuş stil cədvəlinə sıfırlayın"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "seçilmiş"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ilə Özün‑host et"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantik CSS stil cədvəli"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Mesaj göndərin"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Üstündən xətt çək"
|
||||
msgid "Strong fit"
|
||||
msgstr "Güclü uyğunluq"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stil cədvəli redaktoru"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stil cədvəlində səhvlər var"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Axtardığınız səhifə köçürülmüş və ya artıq mövcud olmamı
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Daxil etdiyiniz parol yanlışdır"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "CV önizləməsi yenilənə bilmədi. Son etibarlı önizləmə hələ də göstərilir."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Daxil olmağa çalışdığınız özgeçmiş parol ilə qorunur"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Altını Xətlə"
|
||||
msgid "Undo"
|
||||
msgstr "Geri al"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Stil cədvəli düzəlişini geri qaytarın"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Limitsiz Özgeçmişlər"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Məlumatlarınız təhlükəsiz şəkildə saxlanılır və heç vaxt ü
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Son dəyişiklikləriniz yadda saxlanıla bilmədi."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Bu Semantik CSS layihəsini açıq şəkildə aktivləşdirənə qədər köhnə üslublarınız aktiv qalır."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Parolunuz uğurla sıfırlandı. İndi yeni parolunuzla daxil ola bilərsiniz."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bg\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Меню на акаунта"
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Активиране на семантичен CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Действителен размер (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Изпратени кандидатури на седмица (последните 8 седмици)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Кандидатствано"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Кандидатствано"
|
||||
msgid "Applied on"
|
||||
msgstr "Приложено на"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Приложени правила"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Прилага се с предупреждения"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Проверете имейла си за връзка за нулира
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Проверете имейла си за връзка за потвърждение на профила."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Проверка"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Проверка на черновата"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Китайски (опростен)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Разговорът е копиран."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON файлът на разговора е копиран."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Конвертирана чернова на стилов лист"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Копирано в клипборда."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Копиране на резервни кодове"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Копиране на JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Копиране на тайна"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Копиране на стилов лист"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Копирайте този таен ключ и го използвайте във вашите приложения, за да получите достъп до данните си."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Редактиране на {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Редактиране на приложението"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Редактиране на цвят {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Въведете паролата си, за да потвърдите
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Въведете паролата си, за да изключите двуфакторното удостоверяване. Вашият профил ще бъде по-малко защитен без активирано 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Всеки принос, голям или малък, прави огромна разлика за проекта.<0/>Благодарим ви за подкрепата!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Всеки принос, голям или малък, прави огр
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Всичко, от което се нуждаете, за да създавате, персонализирате и споделяте професионални автобиографии. Създадено с мисъл за поверителността, базирано на отворен код и напълно безплатно завинаги."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Изход от режим на фокус"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Излизане от цял екран"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Форматиране на стилов лист"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Безплатно"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Светла"
|
||||
msgid "Light theme"
|
||||
msgstr "Светла тема"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Ред {0}, колона {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Междуредие"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Все още няма запазени версии."
|
||||
msgid "No source data yet."
|
||||
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 "Няма тестван доставчик"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Норвежки"
|
||||
msgid "Not connected"
|
||||
msgstr "Няма връзка"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Не сте сигурни какво да напишете?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Отворете AI асистент"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Отваряне на имейл клиент"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Отвори режим на фокус"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Отваряне в конструктора"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Съвместим с OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Натиснете <0>Enter</0>, за да отворите"
|
||||
msgid "Preview"
|
||||
msgstr "Преглед"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Прегледът и експортът използват последната валидна версия."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основен цвят"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Реактивно резюме v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Прочетете ръководството за прилагане на персонализирани стилове."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Четене…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Готов за активиране"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Готово за активиране с предупреждения"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Получател"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Правоъгълник (пълна ширина)"
|
||||
msgid "Redo"
|
||||
msgstr "Преработи"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Възстановяване на редакцията на стиловия лист"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "Нулиране"
|
||||
msgid "Reset Password"
|
||||
msgstr "Нулиране на паролата"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Нулиране на стила"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Възстановяване към приложения стилов лист"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "Извършете първия си анализ, за да получите карта с резултати, силни страни и предложения по приоритети."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "избран"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самостоятелно хостване с Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Семантичен CSS стилов лист"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Изпрати съобщение"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Зачеркване"
|
||||
msgid "Strong fit"
|
||||
msgstr "Силно прилягане"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Редактор на стилови листове"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Стилният лист съдържа грешки"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Страницата, която търсите, може да е бил
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Въведената от вас парола е неправилна"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Прегледът на автобиографията не можа да бъде актуализиран. Последният валиден преглед все още се показва."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Автобиографията, до която се опитвате да получите достъп, е защитена с парола"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Подчертаване"
|
||||
msgid "Undo"
|
||||
msgstr "Отмяна"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Отмяна на редакцията на стиловия лист"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Неограничен брой автобиографии"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Вашите данни се съхраняват сигурно и ни
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Последните ви промени не можаха да бъдат запазени."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Вашите стари стилове остават активни, докато изрично не активирате този проект на Semantic CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Паролата ви беше нулирана успешно. Сега можете да влезете с новата си парола."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bengali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "অ্যাকাউন্ট মেনু"
|
||||
msgid "Actions"
|
||||
msgstr "অ্যাকশন"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "সিমান্টিক CSS সক্রিয় করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "প্রকৃত আকার (১০০%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "প্রতি সপ্তাহে পাঠানো আবেদন (শেষ 8 সপ্তাহ)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "আবেদন করা হয়েছে"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "আবেদন করা হয়েছে"
|
||||
msgid "Applied on"
|
||||
msgstr "প্রয়োগ করা হয়েছে"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "প্রয়োগকৃত নিয়মাবলী"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "সতর্কতাসহ প্রয়োগ করা হয়েছে"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "আপনার পাসওয়ার্ড রিসেট করা
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "আপনার অ্যাকাউন্ট যাচাই করার লিঙ্কের জন্য ইমেইল চেক করুন।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "চেকিং"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "খসড়া পরীক্ষা করা হচ্ছে"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "চীনা (সরলীকৃত)"
|
||||
@@ -966,6 +979,10 @@ msgstr "কথোপকথনটি অনুলিপি করা হয়ে
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "কথোপকথনের JSON কপি করা হয়েছে।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "রূপান্তরিত স্টাইলশীট খসড়া"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "ক্লিপবোর্ডে কপি করা হয়েছে।"
|
||||
@@ -989,6 +1006,15 @@ msgstr "ব্যাকআপ কোড কপি করুন"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON কপি করুন"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "গোপন অনুলিপি"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "স্টাইলশিট কপি করুন"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "এই সিক্রেট কী কপি করে আপনার অ্যাপ্লিকেশনগুলোতে ব্যবহার করুন আপনার ডেটায় প্রবেশ করার জন্য।"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "সম্পাদনা {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "অ্যাপ্লিকেশন সম্পাদনা করুন"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "রঙ সম্পাদনা করুন {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ সে
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ বন্ধ করতে আপনার পাসওয়ার্ড লিখুন। 2FA বন্ধ করলে আপনার অ্যাকাউন্ট কম সুরক্ষিত থাকবে।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "ত্রুটি"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "প্রতিটি অবদান, বড় বা ছোট, প্রজেক্টটিতে বিশাল পরিবর্তন আনে।<0/>আপনার সহায়তার জন্য ধন্যবাদ!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "প্রতিটি অবদান, বড় বা ছোট, প
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "পেশাদার জীবনবৃত্তান্ত তৈরি, কাস্টমাইজ এবং শেয়ার করার জন্য যা যা প্রয়োজন সবই এখানে আছে। গোপনীয়তা মাথায় রেখে তৈরি, মুক্ত উৎস দ্বারা চালিত এবং চিরদিনের জন্য সম্পূর্ণ বিনামূল্যে।"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ফোকাস মোড থেকে প্রস্থান করুন"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "পূর্ণ স্ক্রীন থেকে বের হন"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "রূপ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "ফরম্যাট স্টাইলশিট"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "বিনামূল্যে"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "লাইট"
|
||||
msgid "Light theme"
|
||||
msgstr "লাইট থিম"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "লাইন {0}, কলাম {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "লাইন হাইট"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "এখনো কোনো সংরক্ষিত সংস্করণ
|
||||
msgid "No source data yet."
|
||||
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 "কোন পরীক্ষিত সরবরাহকারী নেই"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "নরওয়েজিয়ান"
|
||||
msgid "Not connected"
|
||||
msgstr "সংযুক্ত নয়"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "কী লিখবেন বুঝতে পারছেন না?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "ওপেন এআই অ্যাসিস্ট্যান্ট"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ইমেইল ক্লায়েন্ট খুলুন"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ফোকাস মোড খুলুন"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "বিল্ডারে খুলুন"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ওপেনএআই-সামঞ্জস্যপূর্ণ"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ওপেনরাউটার"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "খুলতে <0>এন্টার</0> চাপুন"
|
||||
msgid "Preview"
|
||||
msgstr "প্রিভিউ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "প্রিভিউ এবং এক্সপোর্টের জন্য সর্বশেষ বৈধ সংস্করণটি ব্যবহার করা হয়।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "প্রাথমিক রঙ"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "প্রতিক্রিয়াশীল জীবনবৃত্
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "প্রতিক্রিয়াশীল রিজ্যুম v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "কাস্টম স্টাইল প্রয়োগ করার নির্দেশিকাটি পড়ুন।"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "পড়া…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "সক্রিয় করার জন্য প্রস্তুত"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "সতর্কতা সহ সক্রিয় করার জন্য প্রস্তুত"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "প্রাপক"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "আয়তক্ষেত্র (পূর্ণ প্রস্থ)"
|
||||
msgid "Redo"
|
||||
msgstr "পুনরায় করুন"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "স্টাইলশীট সম্পাদনা পুনরায় করুন"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "রিসেট"
|
||||
msgid "Reset Password"
|
||||
msgstr "পাসওয়ার্ড রিসেট করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "স্টাইল রিসেট করুন"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "প্রয়োগকৃত স্টাইলশীটে রিসেট করুন"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "আপনার প্রথম বিশ্লেষণ চালান একটি স্কোরকার্ড, শক্তি এবং অগ্রাধিকারপ্রাপ্ত পরামর্শ পেতে।"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "নির্বাচিত"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ডকার দিয়ে নিজে হোস্ট করুন"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "সিমান্টিক সিএসএস স্টাইলশিট"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "বার্তা পাঠান"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "স্ট্রাইক"
|
||||
msgid "Strong fit"
|
||||
msgstr "শক্তিশালী ফিট"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "স্টাইলশিট সম্পাদক"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "স্টাইলশিটে ত্রুটি আছে"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "সাবরেডিট"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "আপনি যে পৃষ্ঠাটি খুঁজছেন স
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "আপনি যে পাসওয়ার্ড লিখেছেন তা সঠিক নয়"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "জীবনবৃত্তান্তের প্রিভিউ আপডেট করা যায়নি। সর্বশেষ বৈধ প্রিভিউটিই এখনও দেখানো হচ্ছে।"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "আপনি যে জীবনবৃত্তান্তে প্রবেশ করার চেষ্টা করছেন তা পাসওয়ার্ড দ্বারা সুরক্ষিত"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "আন্ডারলাইন"
|
||||
msgid "Undo"
|
||||
msgstr "পূর্বাবস্থায় ফেরান"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "স্টাইলশীট সম্পাদনা পূর্বাবস্থায় ফেরান"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "আনলিমিটেড জীবনবৃত্তান্ত"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "আপনার ডেটা নিরাপদভাবে সংরক
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "আপনার সর্বশেষ পরিবর্তনগুলো সংরক্ষণ করা যায়নি।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "যতক্ষণ না আপনি স্পষ্টভাবে এই সিম্যান্টিক সিএসএস ড্রাফটটি সক্রিয় করছেন, ততক্ষণ আপনার পুরোনো স্টাইলগুলো সক্রিয় থাকবে।"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "আপনার পাসওয়ার্ড সফলভাবে রিসেট হয়েছে। এখন আপনি নতুন পাসওয়ার্ড দিয়ে সাইন ইন করতে পারবেন।"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ca\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menú del compte"
|
||||
msgid "Actions"
|
||||
msgstr "Accions"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activa el CSS semàntic"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Mida real (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Sol·licituds enviades per setmana (darreres 8 setmanes)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Sol·licitada"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Sol·licitada"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplicat a"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Normes aplicades"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Aplicat amb avisos"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Comprova el correu electrònic per trobar un enllaç per restablir la co
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Comprova el correu electrònic per trobar un enllaç per verificar el compte."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Comprovació"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "S'està revisant l'esborrany"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Xinès (simplificat)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversa copiada."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "S'ha copiat el fitxer JSON de la conversa."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Esborrany de full d'estil convertit"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiat al porta-retalls."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copia els codis de reserva"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copia JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copia el secret"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copiar full d'estils"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copia aquesta clau secreta i utilitza-la a les aplicacions per accedir a les dades."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Edita {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edita l'aplicació"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Edita el color {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Introdueix la contrasenya per confirmar la configuració de l’autentic
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Introdueix la contrasenya per desactivar l’autenticació en dos passos. El compte serà menys segur sense l’A2F activada."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Cada contribució, gran o petita, marca una gran diferència per al projecte.<0/>Gràcies pel teu suport!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Cada contribució, gran o petita, marca una gran diferència per al proj
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tot el que necessites per crear, personalitzar i compartir currículums professionals. Creat amb la privadesa en ment, impulsat per codi obert i completament gratuït per sempre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Surt del mode d'enfocament"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Surt de la pantalla completa"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Full d'estils de format"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuït"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Clar"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema clar"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Línia {0}, columna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Interlineat"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Encara no hi ha versions desades."
|
||||
msgid "No source data yet."
|
||||
msgstr "Encara no hi ha dades d'origen."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Noruec"
|
||||
msgid "Not connected"
|
||||
msgstr "No connectat"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "No saps què escriure?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Assistent d'IA oberta"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Obre el client de correu"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Obre el mode d'enfocament"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Obre al constructor"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatible amb OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "Routador obert"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Premeu <0>Intro</0> per obrir"
|
||||
msgid "Preview"
|
||||
msgstr "Vista prèvia"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "La vista prèvia i l'exportació utilitzen l'última versió vàlida."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Color principal"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Currículum reactiu v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Llegiu la guia Aplicació d'estils personalitzats."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Llegint…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Llest per activar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Llest per activar amb avisos"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatari"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rectangle (amplada completa)"
|
||||
msgid "Redo"
|
||||
msgstr "Refer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Refés l'edició del full d'estils"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Restableix al full d'estils aplicat"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "seleccionat"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Allotjament propi amb Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Full d'estil CSS semàntic"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Enviar missatge"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Barrat"
|
||||
msgid "Strong fit"
|
||||
msgstr "Ajust fort"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor de fulls d'estil"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "El full d'estil té errors"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Pot ser que la pàgina que busques s'hagi mogut o que ja no existeixi."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "La contrasenya introduïda és incorrecta"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "No s'ha pogut actualitzar la vista prèvia del currículum. Encara es mostra l'última vista prèvia vàlida."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "El currículum al qual intentes accedir està protegit amb contrasenya"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Subratllat"
|
||||
msgid "Undo"
|
||||
msgstr "Desfer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Desfés l'edició del full d'estils"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Currículums il·limitats"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Les dades s’emmagatzemen de manera segura i mai no es comparteixen amb
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "No s'han pogut desar els darrers canvis."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Els vostres estils antics romanen actius fins que activeu explícitament aquest esborrany de CSS semàntic."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "La contrasenya s’ha restablert correctament. Ara ja pots iniciar sessió amb la contrasenya nova."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: cs\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Nabídka účtu"
|
||||
msgid "Actions"
|
||||
msgstr "Akce"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivace sémantického CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Skutečná velikost (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Žádosti odeslané týdně (posledních 8 týdnů)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Podáno"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Podáno"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplikováno na"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Použitá pravidla"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Použito s varováním"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Zkontrolujte svůj e-mail, kde najdete odkaz pro obnovení hesla."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Zkontrolujte svůj e-mail, kde najdete odkaz pro ověření účtu."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Kontrola návrhu"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Čínština (zjednodušená)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Konverzace zkopírována."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON konverzace zkopírován."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konverze konceptu stylů"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Zkopírováno do schránky."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Zkopírovat záložní kódy"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopírovat JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopírovat tajný kód"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopírovat stylový list"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Zkopírujte tento tajný klíč a použijte ho ve svých aplikacích pro přístup k vašim datům."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Upravit {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Upravit aplikaci"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Upravit barvu {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Zadejte své heslo pro potvrzení nastavení dvoufázového ověření.
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Zadejte své heslo pro deaktivaci dvoufázového ověření. Bez aktivního 2FA bude váš účet méně zabezpečený."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Každý příspěvek, velký i malý, má pro projekt obrovský význam.<0/>Děkujeme za vaši podporu!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Každý příspěvek, velký i malý, má pro projekt obrovský význam.
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Vše, co potřebujete k vytvoření, přizpůsobení a sdílení profesionálních životopisů. Vytvořeno s ohledem na soukromí, poháněno open source a zcela zdarma, navždy."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Ukončit režim ostření"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ukončit celou obrazovku"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formát"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formátovat stylový list"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Zdarma"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Světlý"
|
||||
msgid "Light theme"
|
||||
msgstr "Světlý motiv"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Řádek {0}, sloupec {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Výška řádku"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Zatím žádné uložené verze."
|
||||
msgid "No source data yet."
|
||||
msgstr "Zatím žádné zdrojové údaje."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norština"
|
||||
msgid "Not connected"
|
||||
msgstr "Nepřipojeno"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nejste si jisti, co napsat?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Otevřený asistent s umělou inteligencí"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otevřít e-mailového klienta"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Otevřít režim ostření"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Otevřít v editoru"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Kompatibilní s OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Stisknutím klávesy <0>Enter</0> otevřete"
|
||||
msgid "Preview"
|
||||
msgstr "Náhled"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Náhled a export použijí poslední platnou verzi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hlavní barva"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktivní životopis v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktivní životopis v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Přečtěte si průvodce Použití vlastních stylů."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Čtení…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Připraveno k aktivaci"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Připraveno k aktivaci s varováními"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Příjemce"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Obdélník (plná šířka)"
|
||||
msgid "Redo"
|
||||
msgstr "Předělat"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Znovu upravit stylový list"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Obnovit použitý stylový list"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "vybraný"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Vlastní hosting pomocí Dockeru"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Sémantický CSS stylový list"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Odeslat zprávu"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Přeškrtnutí"
|
||||
msgid "Strong fit"
|
||||
msgstr "Silné uchycení"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor stylů"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylový list obsahuje chyby"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Stránka, kterou hledáte, mohla být přesunuta nebo již neexistuje."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Zadané heslo je nesprávné"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Náhled životopisu se nepodařilo aktualizovat. Stále se zobrazuje poslední platný náhled."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Životopis, ke kterému se snažíte získat přístup, je chráněn heslem"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Podtržení"
|
||||
msgid "Undo"
|
||||
msgstr "Zpět"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Zrušit úpravu stylového listu"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Neomezené životopisy"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Vaše data jsou ukládána bezpečně a nikdy nejsou sdílena s třetím
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Vaše poslední změny se nepodařilo uložit."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Vaše starší styly zůstanou aktivní, dokud explicitně neaktivujete tento koncept sémantického CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Vaše heslo bylo úspěšně obnoveno. Nyní se můžete přihlásit pomocí nového hesla."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: da\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Kontomenu"
|
||||
msgid "Actions"
|
||||
msgstr "Handlinger"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivér semantisk CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Faktisk størrelse (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Ansøgninger sendt pr. uge (sidste 8 uger)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Ansøgt"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Ansøgt"
|
||||
msgid "Applied on"
|
||||
msgstr "Anvendt den"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Anvendte regler"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Anvendt med advarsler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Tjek din e-mail for et link til at nulstille din adgangskode."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Tjek din e-mail for et link til at verificere din konto."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontrol"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Tjekker udkast"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kinesisk (forenklet)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Samtalen er kopieret."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Samtalens JSON-fil kopieret."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konverteret stylesheet-kladde"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopieret til udklipsholder."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopiér backup-koder"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopiér JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopiér hemmelighed"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopiér stylesheet"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopiér denne hemmelige nøgle og brug den i dine applikationer for at få adgang til dine data."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Rediger {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Rediger applikation"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Rediger farve {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Indtast din adgangskode for at bekræfte opsætning af to-faktor-godkend
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Indtast din adgangskode for at deaktivere to-faktor-godkendelse. Din konto vil være mindre sikker uden 2FA aktiveret."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Fejl"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Hvert bidrag, stort som lille, gør en stor forskel for projektet.<0/>Tak for din støtte!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Hvert bidrag, stort som lille, gør en stor forskel for projektet.<0/>Ta
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Alt hvad du behøver for at oprette, tilpasse og dele professionelle CV'er. Bygget med fokus på privatliv, drevet af open source og helt gratis for altid."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Afslut fokustilstand"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Afslut fuldskærm"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatér typografiark"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Lys"
|
||||
msgid "Light theme"
|
||||
msgstr "Lyst tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linje {0}, kolonne {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Linjehøjde"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Ingen gemte versioner endnu."
|
||||
msgid "No source data yet."
|
||||
msgstr "Ingen kildedata endnu."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norsk"
|
||||
msgid "Not connected"
|
||||
msgstr "Ikke forbundet"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Ikke sikker på, hvad du skal skrive?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Åbn AI-assistent"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Åbn e-mailklient"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Åbn fokustilstand"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Åbn i builderen"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-kompatibel"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Tryk på <0>Enter</0> for at åbne"
|
||||
msgid "Preview"
|
||||
msgstr "Forhåndsvisning"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Forhåndsvisning og eksport med den seneste gyldige version."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primær farve"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktivt CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktivt CV v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Læs vejledningen til anvendelse af brugerdefinerede stilarter."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Læsning…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Klar til aktivering"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Klar til aktivering med advarsler"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Modtager"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rektangel (fuld bredde)"
|
||||
msgid "Redo"
|
||||
msgstr "Gentag"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Gentag redigering af stylesheet"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Nulstil til anvendt stylesheet"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "udvalgte"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selvhostning med Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantisk CSS-stilark"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Send besked"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Gennemstreget"
|
||||
msgid "Strong fit"
|
||||
msgstr "Stærk pasform"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stylesheet-editor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylesheet indeholder fejl"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Den side, du leder efter, er muligvis blevet flyttet eller findes ikke l
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Den adgangskode, du indtastede, er forkert"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Forhåndsvisningen af CV'et kunne ikke opdateres. Den sidste gyldige forhåndsvisning vises stadig."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Det CV, du prøver at få adgang til, er beskyttet af en adgangskode"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Understreg"
|
||||
msgid "Undo"
|
||||
msgstr "Fortryd"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Fortryd redigering af stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Ubegrænsede CV'er"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Dine data lagres sikkert og deles aldrig med tredjeparter. Du kan også
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Dine seneste ændringer kunne ikke gemmes."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Dine ældre stilarter forbliver aktive, indtil du eksplicit aktiverer denne semantiske CSS-kladde."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Din adgangskode er blevet nulstillet. Du kan nu logge ind med din nye adgangskode."
|
||||
|
||||
+116
-26
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-13 07:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Kontomenü"
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Semantisches CSS aktivieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Tatsächliche Größe (100 %)"
|
||||
@@ -397,7 +401,7 @@ msgstr "Und viele weitere ..."
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Anthropic Claude"
|
||||
msgstr "Anthropischer Claude"
|
||||
msgstr "Anthropic Claude"
|
||||
|
||||
#: src/routes/dashboard/applications/index.tsx
|
||||
msgid "Any tag"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Pro Woche gesendete Bewerbungen (letzte 8 Wochen)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Beworben"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Beworben"
|
||||
msgid "Applied on"
|
||||
msgstr "Beworben am"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Angewandte Regeln"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Mit Warnungen angewendet"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -759,7 +764,7 @@ msgstr "Zentriert"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Cerebras"
|
||||
msgstr "Großhirn"
|
||||
msgstr "Cerebras"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
@@ -800,6 +805,14 @@ msgstr "Bitte prüfen Sie Ihre E-Mails auf einen Link zum Zurücksetzen Ihres Pa
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Bitte prüfen Sie Ihre E-Mails auf einen Link, um Ihr Konto zu verifizieren."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Überprüfung"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Entwurf prüfen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinesisch (vereinfacht)"
|
||||
@@ -859,7 +872,7 @@ msgstr "Schließen Sie den KI-Assistenten"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Cohere"
|
||||
msgstr "Zusammenhängen"
|
||||
msgstr "Cohere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
@@ -966,6 +979,10 @@ msgstr "Konversation kopiert."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Konversations-JSON kopiert."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konvertierter Stylesheet-Entwurf"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "In die Zwischenablage kopiert."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Backup-Codes kopieren"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON kopieren"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Geheimnis kopieren"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Stylesheet kopieren"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopiere diesen geheimen Schlüssel und verwende ihn in deinen Anwendungen, um auf deine Daten zuzugreifen."
|
||||
@@ -1424,7 +1450,7 @@ msgstr "Discord"
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Zurückweisen"
|
||||
msgstr "Ausblenden"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
@@ -1545,6 +1571,11 @@ msgstr "{chip} bearbeiten"
|
||||
msgid "Edit application"
|
||||
msgstr "Bewerbung bearbeiten"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Farbe bearbeiten {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Geben Sie Ihr Passwort ein, um die Einrichtung der Zwei-Faktor-Authentif
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Geben Sie Ihr Passwort ein, um die Zwei-Faktor-Authentifizierung zu deaktivieren. Ihr Konto ist ohne 2FA weniger sicher."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Jeder Beitrag, ob groß oder klein, macht einen riesigen Unterschied für das Projekt.<0/>Vielen Dank für deine Unterstützung!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Jeder Beitrag, ob groß oder klein, macht einen riesigen Unterschied fü
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Alles, was du brauchst, um professionelle Lebensläufe zu erstellen, anzupassen und zu teilen. Mit Blick auf Datenschutz entwickelt, von Open Source angetrieben und für immer komplett kostenlos."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Fokusmodus beenden"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Vollbild schließen"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Seitenformat"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Format-Stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Kostenlos"
|
||||
@@ -2100,7 +2143,7 @@ msgstr "Google"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Google Gemini"
|
||||
msgstr "Google Zwillinge"
|
||||
msgstr "Google Gemini"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "gpt-4.1"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Hell"
|
||||
msgid "Light theme"
|
||||
msgstr "Helles Design"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Zeile {0}, Spalte {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Zeilenhöhe"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Bisher keine gespeicherten Versionen."
|
||||
msgid "No source data yet."
|
||||
msgstr "Noch keine Quelldaten."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norwegisch"
|
||||
msgid "Not connected"
|
||||
msgstr "Nicht verbunden"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Sie wissen nicht, was Sie schreiben sollen?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Offener KI-Assistent"
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-Mail-Programm öffnen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Offener Fokusmodus"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Im Builder öffnen"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-kompatibel"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3150,7 +3204,7 @@ msgstr "Zeitraum"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Perplexity"
|
||||
msgstr "Verwirrung"
|
||||
msgstr "Perplexity"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Persian"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Drücken Sie <0>Enter</0> zum Öffnen"
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Vorschau und Export verwenden die letzte gültige Version."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primärfarbe"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiver Lebenslauf v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktiver Lebenslauf v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lesen Sie den Leitfaden zum Anwenden benutzerdefinierter Stile."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Wird gelesen…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Bereit zur Aktivierung"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Bereit zur Aktivierung mit Warnungen"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Empfänger"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rechteck (volle Breite)"
|
||||
msgid "Redo"
|
||||
msgstr "Wiederholen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Stylesheet-Bearbeitung wiederholen"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Auf angewendetes Stylesheet zurücksetzen"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3635,7 +3701,7 @@ msgstr "Gehaltsspanne"
|
||||
#: src/features/applications/components/application-detail-sheet.tsx
|
||||
#: src/features/settings/authentication/components/passkeys.tsx
|
||||
msgid "Save"
|
||||
msgstr "Speichern Sie"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/features/settings/integrations/components/ai-section.tsx
|
||||
msgid "Save & Test Provider"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "ausgewählt"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selbst hosten mit Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantisches CSS-Stylesheet"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Nachricht senden"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Durchgestrichen"
|
||||
msgid "Strong fit"
|
||||
msgstr "Starke Passung"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stylesheet-Editor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Das Stylesheet enthält Fehler."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Die gesuchte Seite wurde möglicherweise verschoben oder existiert nicht
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Das eingegebene Passwort ist falsch"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Die Lebenslaufvorschau konnte nicht aktualisiert werden. Die letzte gültige Vorschau wird weiterhin angezeigt."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Der Lebenslauf, auf den Sie zugreifen möchten, ist passwortgeschützt"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Unterstreichen"
|
||||
msgid "Undo"
|
||||
msgstr "Rückgängig machen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Stylesheet-Änderung rückgängig machen"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Unbegrenzte Lebensläufe"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Deine Daten werden sicher gespeichert und niemals an Dritte weitergegebe
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Ihre letzten Änderungen konnten nicht gespeichert werden."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Ihre bisherigen Stile bleiben aktiv, bis Sie diesen Entwurf für semantisches CSS explizit aktivieren."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ihr Passwort wurde erfolgreich zurückgesetzt. Sie können sich nun mit Ihrem neuen Passwort anmelden."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: el\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Μενού λογαριασμού"
|
||||
msgid "Actions"
|
||||
msgstr "Ενέργειες"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Ενεργοποίηση Σημασιολογικού CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Πραγματικό μέγεθος (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Αιτήσεις που στάλθηκαν ανά εβδομάδα (τελευταίες 8 εβδομάδες)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Υποβλήθηκε"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Υποβλήθηκε"
|
||||
msgid "Applied on"
|
||||
msgstr "Ημερομηνία αίτησης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Εφαρμοσμένοι κανόνες"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Εφαρμόζεται με προειδοποιήσεις"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Ελέγξτε το email σας για έναν σύνδεσμο επα
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Ελέγξτε το email σας για έναν σύνδεσμο επαλήθευσης του λογαριασμού σας."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Ελεγχος"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Έλεγχος προσχεδίου"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Κινέζικα (Απλοποιημένα)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Η συνομιλία αντιγράφηκε."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Το JSON συνομιλίας αντιγράφηκε."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Μετατρεπόμενο προσχέδιο φύλλου στυλ"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Αντιγράφηκε στο πρόχειρο."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Αντιγραφή εφεδρικών κωδικών"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Αντιγραφή JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Μυστικό αντιγραφής"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Αντιγραφή φύλλου στυλ"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Αντιγράψτε αυτό το μυστικό κλειδί και χρησιμοποιήστε το στις εφαρμογές σας για να αποκτήσετε πρόσβαση στα δεδομένα σας."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Επεξεργασία {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Επεξεργασία αίτησης"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Επεξεργασία χρώματος {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Εισαγάγετε τον κωδικό πρόσβασής σας γι
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Εισαγάγετε τον κωδικό πρόσβασής σας για να απενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων. Ο λογαριασμός σας θα είναι λιγότερο ασφαλής χωρίς ενεργοποιημένο 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Σφάλμα"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Κάθε συνεισφορά, μικρή ή μεγάλη, κάνει τεράστια διαφορά στο έργο.<0/>Σας ευχαριστούμε για την υποστήριξή σας!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Κάθε συνεισφορά, μικρή ή μεγάλη, κάνει τ
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Όλα όσα χρειάζεστε για να δημιουργήσετε, να προσαρμόσετε και να μοιραστείτε επαγγελματικά βιογραφικά σημειώματα. Δημιουργήθηκε με γνώμονα το απόρρητο, βασισμένο σε ανοικτό κώδικα και εντελώς δωρεάν για πάντα."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Έξοδος από τη λειτουργία εστίασης"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Έξοδος από πλήρη οθόνη"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Μορφή"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Μορφοποίηση φύλλου στυλ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Δωρεάν"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Φωτεινό"
|
||||
msgid "Light theme"
|
||||
msgstr "Φωτεινό θέμα"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Γραμμή {0}, στήλη {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Ύψος γραμμής"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Δεν υπάρχουν ακόμη αποθηκευμένες εκδόσ
|
||||
msgid "No source data yet."
|
||||
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 "Δεν υπάρχει δοκιμασμένος πάροχος"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Νορβηγικά"
|
||||
msgid "Not connected"
|
||||
msgstr "Δεν είναι συνδεδεμένο"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Δεν είστε σίγουροι τι να γράψετε;"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Ανοιχτός βοηθός τεχνητής νοημοσύνης"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Άνοιγμα προγράμματος email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Άνοιγμα λειτουργίας εστίασης"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Άνοιγμα στο Builder"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Συμβατό με OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Πατήστε <0>Enter</0> για να ανοίξετε"
|
||||
msgid "Preview"
|
||||
msgstr "Πρεμιέρα"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Η προεπισκόπηση και η εξαγωγή χρησιμοποιούν την τελευταία έγκυρη έκδοση."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Βασικό χρώμα"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Αντιδραστικό βιογραφικό v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Αντιδραστικό βιογραφικό σημείωμα v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Διαβάστε τον οδηγό Εφαρμογή προσαρμοσμένων στυλ."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Ανάγνωση…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Έτοιμο για ενεργοποίηση"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Έτοιμο για ενεργοποίηση με προειδοποιήσεις"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Παραλήπτης"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Ορθογώνιο (πλήρους πλάτους)"
|
||||
msgid "Redo"
|
||||
msgstr "Ξανακάνω"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Επανάληψη επεξεργασίας φύλλου στυλ"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "Επαναφορά"
|
||||
msgid "Reset Password"
|
||||
msgstr "Επαναφορά κωδικού πρόσβασης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Επαναφορά στυλ"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Επαναφορά στο εφαρμοσμένο φύλλο στυλ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "Εκτελέστε την πρώτη σας ανάλυση για να λάβετε έναν πίνακα βαθμολογίας, τα δυνατά σημεία και τις προτάσεις με προτεραιότητες."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "επιλεγμένο"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Αυτο-φιλοξενία με Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Φύλλο στυλ σημασιολογικού CSS"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Αποστολή μηνύματος"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Διακριτική διαγραφή"
|
||||
msgid "Strong fit"
|
||||
msgstr "Ισχυρή καταλληλότητα"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Επεξεργαστής φύλλου στυλ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Το φύλλο στυλ έχει σφάλματα"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Η σελίδα που αναζητάτε ενδέχεται να έχε
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Ο κωδικός πρόσβασης που εισάγατε είναι λανθασμένος"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Δεν ήταν δυνατή η ενημέρωση της προεπισκόπησης βιογραφικού σημειώματος. Η τελευταία έγκυρη προεπισκόπηση εξακολουθεί να εμφανίζεται."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Το βιογραφικό σημείωμα στο οποίο προσπαθείτε να αποκτήσετε πρόσβαση προστατεύεται με κωδικό πρόσβασης"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Υπογράμμιση"
|
||||
msgid "Undo"
|
||||
msgstr "Ξεκάνω"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Αναίρεση επεξεργασίας φύλλου στυλ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Απεριόριστα βιογραφικά σημειώματα"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Τα δεδομένα σας αποθηκεύονται με ασφάλ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Δεν ήταν δυνατή η αποθήκευση των τελευταίων αλλαγών σας."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Τα παλαιότερα στυλ σας παραμένουν ενεργά μέχρι να ενεργοποιήσετε ρητά αυτό το προσχέδιο Semantic CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ο κωδικός πρόσβασής σας επαναφέρθηκε με επιτυχία. Τώρα μπορείτε να συνδεθείτε με τον νέο σας κωδικό πρόσβασης."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: en_GB\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: English, United Kingdom\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Account menu"
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activate Semantic CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Actual size (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Applications sent per week (last 8 weeks)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Applied"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Applied"
|
||||
msgid "Applied on"
|
||||
msgstr "Applied on"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Applied Rules"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Applied with warnings"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Check your email for a link to reset your password."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Check your email for a link to verify your account."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Checking"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Checking draft"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinese (Simplified)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversation copied."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Conversation JSON copied."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Converted stylesheet draft"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copied to clipboard."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copy Backup Codes"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copy JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copy secret"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copy stylesheet"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copy this secret key and use it in your applications to access your data."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Edit {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edit application"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Edit color {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Enter your password to confirm setting up two-factor authentication. Whe
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Every contribution, big or small, makes a huge difference to the project
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Everything you need to create, customise, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Exit focus mode"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Exit fullscreen"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Format stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Light"
|
||||
msgid "Light theme"
|
||||
msgstr "Light theme"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Line {0}, column {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Line Height"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "No saved versions yet."
|
||||
msgid "No source data yet."
|
||||
msgstr "No source data yet."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norwegian"
|
||||
msgid "Not connected"
|
||||
msgstr "Not connected"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Not sure what to write?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Open AI assistant"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Open Email Client"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Open focus mode"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Open in builder"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-compatible"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Press <0>Enter</0> to open"
|
||||
msgid "Preview"
|
||||
msgstr "Preview"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Preview and export use the last valid version."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primary Colour"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Read the Applying Custom Styles guide."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Reading…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Ready to activate"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Ready to activate with warnings"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Recipient"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rectangle (Full Width)"
|
||||
msgid "Redo"
|
||||
msgstr "Redo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Redo stylesheet edit"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Reset to applied stylesheet"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "selected"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host with Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantic CSS stylesheet"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Send message"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Strike"
|
||||
msgid "Strong fit"
|
||||
msgstr "Strong fit"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stylesheet editor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylesheet has errors"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "The page you're looking for may have been moved or no longer exists."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "The password you entered is incorrect"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "The resume preview could not be updated. The last valid preview is still shown."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "The resume you are trying to access is password protected"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Underline"
|
||||
msgid "Undo"
|
||||
msgstr "Undo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Undo stylesheet edit"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Unlimited Resumes"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Your data is stored securely and is never shared with third parties. You
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Your latest changes could not be saved."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Your password has been reset successfully. You can now sign in with your new password."
|
||||
|
||||
+108
-18
@@ -158,6 +158,10 @@ msgstr "Account menu"
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activate Semantic CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Actual size (100%)"
|
||||
@@ -477,6 +481,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Applications sent per week (last 8 weeks)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Applied"
|
||||
|
||||
@@ -484,9 +489,9 @@ msgstr "Applied"
|
||||
msgid "Applied on"
|
||||
msgstr "Applied on"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Applied Rules"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Applied with warnings"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -795,6 +800,14 @@ msgstr "Check your email for a link to reset your password."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Check your email for a link to verify your account."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Checking"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Checking draft"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinese (Simplified)"
|
||||
@@ -961,6 +974,10 @@ msgstr "Conversation copied."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Conversation JSON copied."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Converted stylesheet draft"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copied to clipboard."
|
||||
@@ -984,6 +1001,15 @@ msgstr "Copy Backup Codes"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copy JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copy secret"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copy stylesheet"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copy this secret key and use it in your applications to access your data."
|
||||
@@ -1540,6 +1566,11 @@ msgstr "Edit {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edit application"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Edit color {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1669,6 +1700,10 @@ msgstr "Enter your password to confirm setting up two-factor authentication. Whe
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
@@ -1677,6 +1712,10 @@ msgstr "Every contribution, big or small, makes a huge difference to the project
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Exit focus mode"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Exit Fullscreen"
|
||||
@@ -1996,6 +2035,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Format stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
@@ -2579,6 +2622,12 @@ msgstr "Light"
|
||||
msgid "Light theme"
|
||||
msgstr "Light theme"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Line {0}, column {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Line Height"
|
||||
@@ -2893,10 +2942,6 @@ msgstr "No saved versions yet."
|
||||
msgid "No source data yet."
|
||||
msgstr "No source data yet."
|
||||
|
||||
#: 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"
|
||||
@@ -2913,6 +2958,10 @@ msgstr "Norwegian"
|
||||
msgid "Not connected"
|
||||
msgstr "Not connected"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Not sure what to write?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2963,6 +3012,10 @@ msgstr "Open AI assistant"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Open Email Client"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Open focus mode"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Open in builder"
|
||||
@@ -2987,6 +3040,7 @@ msgstr "OpenAI-compatible"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3262,6 +3316,10 @@ msgstr "Press <0>Enter</0> to open"
|
||||
msgid "Preview"
|
||||
msgstr "Preview"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Preview and export use the last valid version."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primary Color"
|
||||
@@ -3369,10 +3427,22 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Read the Applying Custom Styles guide."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Reading…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Ready to activate"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Ready to activate with warnings"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Recipient"
|
||||
@@ -3389,6 +3459,10 @@ msgstr "Rectangle (Full Width)"
|
||||
msgid "Redo"
|
||||
msgstr "Redo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Redo stylesheet edit"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3486,9 +3560,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Reset to applied stylesheet"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3601,14 +3675,6 @@ 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."
|
||||
@@ -3786,6 +3852,10 @@ msgstr "selected"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host with Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantic CSS stylesheet"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Send message"
|
||||
@@ -4147,6 +4217,14 @@ msgstr "Strike"
|
||||
msgid "Strong fit"
|
||||
msgstr "Strong fit"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stylesheet editor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylesheet has errors"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4303,6 +4381,10 @@ msgstr "The page you're looking for may have been moved or no longer exists."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "The password you entered is incorrect"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "The resume preview could not be updated. The last valid preview is still shown."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "The resume you are trying to access is password protected"
|
||||
@@ -4634,6 +4716,10 @@ msgstr "Underline"
|
||||
msgid "Undo"
|
||||
msgstr "Undo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Undo stylesheet edit"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Unlimited Resumes"
|
||||
@@ -5008,6 +5094,10 @@ msgstr "Your data is stored securely and is never shared with third parties. You
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Your latest changes could not be saved."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Your password has been reset successfully. You can now sign in with your new password."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menú de cuenta"
|
||||
msgid "Actions"
|
||||
msgstr "Acciones"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activar CSS semántico"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Tamaño real (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidaturas enviadas por semana (últimas 8 semanas)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Enviada"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Enviada"
|
||||
msgid "Applied on"
|
||||
msgstr "Postulado el"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Reglas aplicadas"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Aplicado con advertencias"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Revisa tu correo electrónico para encontrar un enlace para restablecer
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Revisa tu correo electrónico para encontrar un enlace para verificar tu cuenta."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "De cheques"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Borrador de comprobación"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chino (simplificado)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversación copiada."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON de conversación copiada."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Borrador de hoja de estilo convertido"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiado al portapapeles."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copiar códigos de respaldo"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copiar JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copia secreta"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copiar hoja de estilo"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copia esta clave secreta y úsala en tus aplicaciones para acceder a tus datos."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Edite {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Editar candidatura"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Editar color {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Introduce tu contraseña para confirmar la configuración de la autentic
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Introduce tu contraseña para deshabilitar la autenticación de doble factor. Tu cuenta será menos segura sin 2FA habilitada."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Cada contribución, grande o pequeña, marca una gran diferencia para el proyecto.<0/>¡Gracias por tu apoyo!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Cada contribución, grande o pequeña, marca una gran diferencia para el
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Todo lo que necesitas para crear, personalizar y compartir currículums profesionales. Creado con la privacidad en mente, impulsado por el código abierto y completamente gratis para siempre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Salir del modo de enfoque"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Salir de pantalla completa"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Hoja de estilo de formato"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Claro"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema claro"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Línea {0}, columna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Altura de la línea"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Aún no hay versiones guardadas."
|
||||
msgid "No source data yet."
|
||||
msgstr "Aún no hay datos de fuentes."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Noruego"
|
||||
msgid "Not connected"
|
||||
msgstr "No conectado"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "¿No sabes qué escribir?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Asistente de IA abierta"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de correo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Modo de enfoque abierto"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Abrir en constructor"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatible con OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Pulse <0>Intro</0> para abrir"
|
||||
msgid "Preview"
|
||||
msgstr "Avance"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "La vista previa y la exportación utilizan la última versión válida."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Color primario"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reanudación reactiva v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Currículum reactivo v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lea la guía sobre cómo aplicar estilos personalizados."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Leyendo…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Listo para activar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Listo para activarse con advertencias"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rectángulo (ancho completo)"
|
||||
msgid "Redo"
|
||||
msgstr "Rehacer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Rehacer la edición de la hoja de estilos"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Restablecer a la hoja de estilos aplicada"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "seleccionado"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto alojamiento con Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Hoja de estilo CSS semántica"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Enviar mensaje"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Tachado"
|
||||
msgid "Strong fit"
|
||||
msgstr "Buen encaje"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor de hojas de estilo"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "La hoja de estilos tiene errores."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Es posible que la página que buscas se haya movido o que ya no exista."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "La contraseña que introdujiste es incorrecta"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "No se pudo actualizar la vista previa del currículum. Todavía se muestra la última vista previa válida."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "El currículum al que intentas acceder está protegido con contraseña"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Subrayado"
|
||||
msgid "Undo"
|
||||
msgstr "Deshacer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Deshacer la edición de la hoja de estilos"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Currículums ilimitados"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Tus datos se almacenan de forma segura y nunca se comparten con terceros
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "No se pudieron guardar los últimos cambios."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Tus estilos heredados permanecerán activos hasta que actives explícitamente este borrador de CSS semántico."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Tu contraseña se ha restablecido correctamente. Ahora puedes iniciar sesión con tu nueva contraseña."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fa\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "منوی حساب کاربری"
|
||||
msgid "Actions"
|
||||
msgstr "اقدامات"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "فعال کردن CSS معنایی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "اندازه واقعی (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "درخواستهای ارسالشده در هفته (۸ هفته گذشته)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "ارسالشده"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "ارسالشده"
|
||||
msgid "Applied on"
|
||||
msgstr "تاریخ درخواست"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "قوانین کاربردی"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "با هشدارها اعمال میشود"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "ایمیل خود را برای لینکی جهت تنظیم مجدد گ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "ایمیل خود را برای لینکی جهت تأیید حسابتان بررسی کنید."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "بررسی"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "بررسی پیشنویس"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "چینی (سادهشده)"
|
||||
@@ -966,6 +979,10 @@ msgstr "مکالمه کپی شد."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON مکالمه کپی شد."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "پیشنویس شیوهنامه تبدیلشده"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "در کلیپبورد کپی شد."
|
||||
@@ -989,6 +1006,15 @@ msgstr "کپی کردن کدهای پشتیبان"
|
||||
msgid "Copy JSON"
|
||||
msgstr "کپی کردن JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "کپی کردن راز"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "کپی کردن شیوهنامه"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "این کلید مخفی را کپی کنید و برای دسترسی به دادههای خود در اپلیکیشنهایتان از آن استفاده کنید."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "ویرایش {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "ویرایش درخواست"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "ویرایش رنگ {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "برای تأیید راهاندازی احراز هویت دو مر
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "برای غیرفعال کردن احراز هویت دو مرحلهای گذرواژهٔ خود را وارد کنید. بدون فعال بودن 2FA حساب شما امنیت کمتری خواهد داشت."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "خطا"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "هر مشارکت، چه بزرگ چه کوچک، تفاوت بزرگی در این پروژه ایجاد میکند.<0/>از حمایت شما سپاسگزاریم!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "هر مشارکت، چه بزرگ چه کوچک، تفاوت بزرگی
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "همهچیزی که برای ایجاد، شخصیسازی و اشتراکگذاری رزومههای حرفهای نیاز دارید. با تمرکز بر حریم خصوصی ساخته شده، با متنباز قدرت گرفته و برای همیشه کاملاً رایگان است."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "خروج از حالت فوکوس"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "خروج از حالت تمامصفحه"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "فرمت"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "قالببندی برگه سبک"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "رایگان"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "روشن"
|
||||
msgid "Light theme"
|
||||
msgstr "تم روشن"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "خط {0}، ستون {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "فاصلهٔ بین خطوط"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "هنوز نسخههای ذخیرهشدهای وجود ندار
|
||||
msgid "No source data yet."
|
||||
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 "هیچ ارائه دهنده آزمایش شده ای وجود ندارد"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "نروژی"
|
||||
msgid "Not connected"
|
||||
msgstr "متصل نیست"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "مطمئن نیستید چه بنویسید؟"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "دستیار هوش مصنوعی را باز کنید"
|
||||
msgid "Open Email Client"
|
||||
msgstr "باز کردن کلاینت ایمیل"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "حالت فوکوس را باز کنید"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "باز کردن در سازنده"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "سازگار با OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "روتر آزاد"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "برای باز کردن <0>Enter را</0> فشار دهید"
|
||||
msgid "Preview"
|
||||
msgstr "پیشنمایش"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "پیشنمایش و خروجی گرفتن از آخرین نسخه معتبر."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "رنگ اصلی"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "رزومه واکنشی نسخه<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "رزومهٔ واکنشی نسخهٔ ۴ (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "راهنمای اعمال سبکهای سفارشی را مطالعه کنید."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "در حال خواندن…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "آماده فعال سازی"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "آماده فعال شدن با هشدارها"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "گیرنده"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "مستطیل (تمامعرض)"
|
||||
msgid "Redo"
|
||||
msgstr "از نو انجام دادن"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "ویرایش استایلشیت را دوباره انجام دهید"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "ریست"
|
||||
msgid "Reset Password"
|
||||
msgstr "تنظیم مجدد گذرواژه"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "تنظیم مجدد سبک"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "تنظیم مجدد به شیوهنامه اعمال شده"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "اولین تحلیل خود را اجرا کنید تا کارت امتیاز، نقاط قوت و پیشنهادهای اولویتبندیشده را دریافت کنید."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "انتخابشده"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "میزبانی خودکار با Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "شیوهنامه CSS معنایی"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "ارسال پیام"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "خطخورده"
|
||||
msgid "Strong fit"
|
||||
msgstr "تناسب قوی"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "ویرایشگر استایلشیت"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "استایلشیت خطا دارد"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "ردیت"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "ممکن است صفحهای که به دنبال آن هستید،
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "گذرواژهای که وارد کردهاید نادرست است"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "پیشنمایش رزومه قابل بهروزرسانی نیست. آخرین پیشنمایش معتبر هنوز نمایش داده میشود."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "رزومهای که میخواهید به آن دسترسی پیدا کنید با گذرواژه محافظت شده است"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "زیرخط"
|
||||
msgid "Undo"
|
||||
msgstr "لغو"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "ویرایش برگه سبک را لغو کنید"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "رزومههای نامحدود"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "دادههای شما بهطور ایمن ذخیره شده و ه
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "آخرین تغییرات شما ذخیره نشد."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "سبکهای قدیمی شما تا زمانی که صریحاً این پیشنویس CSS معنایی را فعال نکنید، فعال میمانند."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "گذرواژهٔ شما با موفقیت تنظیم مجدد شد. اکنون میتوانید با گذرواژهٔ جدید خود وارد شوید."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Tilivalikko"
|
||||
msgid "Actions"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivoi semanttinen CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Todellinen koko (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Lähetetyt hakemukset viikoittain (viimeiset 8 viikkoa)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Haettu"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Haettu"
|
||||
msgid "Applied on"
|
||||
msgstr "Haettu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Sovelletut säännöt"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Käytetty varoituksilla"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Tarkista sähköpostisi linkin löytämiseksi salasanan palauttamiseksi.
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Tarkista sähköpostisi linkin löytämiseksi tilisi vahvistamiseksi."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Tarkistetaan"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Luonnoksen tarkistaminen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "kiina (yksinkertaistettu)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Keskustelu kopioitu."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Keskustelun JSON-tiedosto kopioitu."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Muunnettu tyylitiedoston luonnos"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopioitu leikepöydälle."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopioi varmuuskoodit"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopioi JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopioi salaisuus"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopioi tyylitiedosto"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopioi tämä salainen avain ja käytä sitä sovelluksissasi tietojesi käsittelyyn."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Muokkaa {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Muokkaa hakemusta"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Muokkaa väriä {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Syötä salasanasi vahvistaaksesi kaksivaiheisen todennuksen käyttöön
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Syötä salasanasi poistaaksesi kaksivaiheisen todennuksen käytöstä. Tilisi on vähemmän suojattu ilman 2FA:ta."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Virhe"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Jokainen panos, suuri tai pieni, vaikuttaa valtavasti projektiin.<0/>Kiitos tuestasi!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Jokainen panos, suuri tai pieni, vaikuttaa valtavasti projektiin.<0/>Kii
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Kaikki, mitä tarvitset ammattimaisen ansioluettelon luomiseen, mukauttamiseen ja jakamiseen. Rakennettu yksityisyys edellä, avoimen lähdekoodin voimin ja täysin ilmainen ikuisesti."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Poistu tarkennustilasta"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Poistu koko näytöstä"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Muoto"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Muotoile tyylitiedosto"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ilmainen"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Vaalea"
|
||||
msgid "Light theme"
|
||||
msgstr "Vaalea teema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Rivi {0}, sarake {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Riviväli"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Ei vielä tallennettuja versioita."
|
||||
msgid "No source data yet."
|
||||
msgstr "Lähdetietoja ei vielä ole."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "norja"
|
||||
msgid "Not connected"
|
||||
msgstr "Ei yhdistetty"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Etkö ole varma, mitä kirjoittaa?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Avoin tekoälyavustaja"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Avaa sähköpostiohjelma"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Avoin tarkennustila"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Avaa rakentajassa"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-yhteensopiva"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Paina <0>Enter</0> avataksesi"
|
||||
msgid "Preview"
|
||||
msgstr "Esikatselu"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Esikatsele ja vie käyttämällä viimeisintä kelvollista versiota."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Pääväri"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiivinen ansioluettelo v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktiivinen ansioluettelo v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lue opas Mukautettujen tyylien käyttäminen."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Luetaan…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Valmis aktivoitavaksi"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Valmis aktivoitavaksi varoituksilla"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Vastaanottaja"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Suorakulmio (täysi leveys)"
|
||||
msgid "Redo"
|
||||
msgstr "Tee uudelleen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Tee tyylitiedoston muokkaus uudelleen"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Palauta käytettyyn tyylitiedostoon"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "valittu"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Itse-isännöinti Dockerilla"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semanttinen CSS-tyylitiedosto"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Lähetä viesti"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Yliviivaus"
|
||||
msgid "Strong fit"
|
||||
msgstr "Vahva sopivuus"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Tyylitiedostoeditori"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Tyylitiedostossa on virheitä"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Etsimäsi sivu on ehkä siirretty tai sitä ei enää ole."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Syöttämäsi salasana on virheellinen"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Ansioluettelon esikatselua ei voitu päivittää. Viimeisin kelvollinen esikatselu näkyy edelleen."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Ansioluettelo, johon yrität päästä, on salasanalla suojattu"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Alleviivaus"
|
||||
msgid "Undo"
|
||||
msgstr "Kumoa"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Kumoa tyylitiedoston muokkaus"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Rajoittamattomasti ansioluetteloita"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Tietosi tallennetaan turvallisesti eikä niitä koskaan jaeta kolmansill
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Viimeisimpiä muutoksiasi ei voitu tallentaa."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Vanhat tyylisi pysyvät aktiivisina, kunnes aktivoit tämän semanttisen CSS-luonnoksen erikseen."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Salasanasi on palautettu onnistuneesti. Voit nyt kirjautua sisään uudella salasanallasi."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu du compte"
|
||||
msgid "Actions"
|
||||
msgstr "Actes"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activer le CSS sémantique"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Taille réelle (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidatures envoyées par semaine (8 dernières semaines)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Candidature envoyée"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Candidature envoyée"
|
||||
msgid "Applied on"
|
||||
msgstr "Postulé le"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Règles appliquées"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Appliqué avec avertissements"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Consultez votre messagerie pour obtenir un lien pour réinitialiser votr
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Consultez votre messagerie pour obtenir un lien pour vérifier votre compte."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Vérification"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Vérification du brouillon"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinois (simplifié)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversation copiée."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Conversation JSON copiée."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Brouillon de feuille de style converti"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copié dans le presse-papiers."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copier les codes de secours"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copier le JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copier le secret"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copier la feuille de style"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copiez cette clé secrète et utilisez-la dans vos applications pour accéder à vos données."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Modifier {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Modifier la candidature"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Modifier la couleur {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Saisissez votre mot de passe pour confirmer la configuration de l'authen
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Saisissez votre mot de passe pour désactiver l'authentification à deux facteurs. Votre compte sera moins sécurisé si l'authentification à deux facteurs n'est pas activée."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Chaque contribution, petite ou grande, fait une énorme différence pour le projet.<0/>Merci pour votre soutien !"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Chaque contribution, petite ou grande, fait une énorme différence pour
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tout ce dont vous avez besoin pour créer, personnaliser et partager des CV professionnels. Construit dans le respect de la vie privée, propulsé par l'open source, et entièrement gratuit pour toujours."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Quitter le mode de mise au point"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Quitter le mode plein écran"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Feuille de style de format"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Clair"
|
||||
msgid "Light theme"
|
||||
msgstr "Thème clair"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Ligne {0}, colonne {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Hauteur de ligne"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Aucune version enregistrée pour le moment."
|
||||
msgid "No source data yet."
|
||||
msgstr "Aucune donnée de source pour le moment."
|
||||
|
||||
#: 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é"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvégien"
|
||||
msgid "Not connected"
|
||||
msgstr "Non connecté"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Vous ne savez pas quoi écrire ?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Assistant Open AI"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Ouvrir le client de messagerie"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Mode de mise au point ouvert"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Ouvrir dans le constructeur"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatible avec OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Appuyez sur <0>Entrée</0> pour ouvrir"
|
||||
msgid "Preview"
|
||||
msgstr "Aperçu"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "L'aperçu et l'exportation utilisent la dernière version valide."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Couleur principale"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "React Resume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Consultez le guide « Application des styles personnalisés »."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lecture…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Prêt à activer"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Prêt à être activé avec avertissements"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinataire"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rectangle (pleine largeur)"
|
||||
msgid "Redo"
|
||||
msgstr "Refaire"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Rétablir la modification de la feuille de style"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Réinitialiser la feuille de style appliquée"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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é."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "sélectionné"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto-hébergement avec Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Feuille de style CSS sémantique"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Envoyer un message"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Barré"
|
||||
msgid "Strong fit"
|
||||
msgstr "Forte adéquation"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Éditeur de feuilles de style"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "La feuille de style contient des erreurs"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "La page que vous recherchez a peut-être été déplacée ou n'existe pl
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Le mot de passe saisi est incorrect"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "L'aperçu du CV n'a pas pu être mis à jour. Le dernier aperçu valide est toujours affiché."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Le CV auquel vous essayez d'accéder est protégé par un mot de passe"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Souligner"
|
||||
msgid "Undo"
|
||||
msgstr "Défaire"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Annuler la modification de la feuille de style"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "CVs illimités"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Vos données sont stockées en toute sécurité et ne sont jamais partag
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Vos dernières modifications n'ont pas pu être enregistrées."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Vos styles hérités restent actifs jusqu'à ce que vous activiez explicitement ce brouillon CSS sémantique."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Votre mot de passe a été réinitialisé avec succès. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: he\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "תפריט חשבון"
|
||||
msgid "Actions"
|
||||
msgstr "פעולות"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "הפעלת CSS סמנטי"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "גודל אמיתי (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "מועמדויות שנשלחו בשבוע (8 השבועות האחרונים)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "הוגש"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "הוגש"
|
||||
msgid "Applied on"
|
||||
msgstr "הוגש בתאריך"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "כללים יישומיים"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "יושם עם אזהרות"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "נא לבדוק את הדוא״ל שלך לקישור לאיפוס הס
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "נא לבדוק את הדוא״ל שלך לקישור לאימות החשבון."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "בודק"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "בודק טיוטה"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "סינית (מופשטת)"
|
||||
@@ -966,6 +979,10 @@ msgstr "השיחה הועתקה."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "קובץ JSON של השיחה הועתק."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "טיוטת גיליון סגנונות שהומרה"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "הועתק ללוח."
|
||||
@@ -989,6 +1006,15 @@ msgstr "העתקת קודי גיבוי"
|
||||
msgid "Copy JSON"
|
||||
msgstr "העתקת JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "העתק סוד"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "העתקת גיליון סגנונות"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "העתק את המפתח הסודי הזה והשתמש בו ביישומים שלך כדי לגשת לנתונים שלך."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "ערוך {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "ערוך מועמדות"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "עריכת צבע {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "הזן את הסיסמה שלך כדי לאשר הגדרת אימות ד
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "הזן את הסיסמה שלך כדי להשבית אימות דו־שלבי. החשבון שלך יהיה פחות מאובטח ללא אימות דו־שלבי."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "שְׁגִיאָה"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "כל תרומה, קטנה כגדולה, עושה הבדל גדול למיזם.<0/>תודה על התמיכה!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "כל תרומה, קטנה כגדולה, עושה הבדל גדול למ
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "כל מה שצריך כדי ליצור, להתאים אישית ולשתף קורות חיים מקצועיים. נבנה עם דגש על פרטיות, מונע בקוד פתוח וחינמי לחלוטין לנצח."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "יציאה ממצב מיקוד"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "יציאה ממסך מלא"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "תבנית"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "עיצוב גיליון סגנונות"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "חינמי"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "בהירה"
|
||||
msgid "Light theme"
|
||||
msgstr "ערכת עיצוב בהירה"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "שורה {0}, עמודה {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "גובה שורה"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "עדיין אין גרסאות שנשמרו."
|
||||
msgid "No source data yet."
|
||||
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 "אין ספק שנבדק"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "נורווגית"
|
||||
msgid "Not connected"
|
||||
msgstr "לא מחובר"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "לא בטוחים מה לכתוב?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "פתח את עוזר הבינה המלאכותית"
|
||||
msgid "Open Email Client"
|
||||
msgstr "פתיחת תוכנת הדוא\"ל"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "פתיחת מצב מיקוד"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "פתח בבונה"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "תואם ל-OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "לחץ על <0>Enter</0> כדי לפתוח"
|
||||
msgid "Preview"
|
||||
msgstr "תצוגה מקדימה"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "תצוגה מקדימה וייצוא משתמשים בגרסה התקינה האחרונה."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "צבע עיקרי"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "קורות חיים ריאקטיביים v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "קורות חיים תגובתיים גרסה 4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "קרא את המדריך להחלת סגנונות מותאמים אישית."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "קורא…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "מוכן להפעלה"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "מוכן להפעלה עם אזהרות"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "נמען"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "מלבן (רוחב מלא)"
|
||||
msgid "Redo"
|
||||
msgstr "לַעֲשׂוֹת שׁוּב"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "בצע שוב עריכת גיליון סגנונות"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "איפוס"
|
||||
msgid "Reset Password"
|
||||
msgstr "איפוס סיסמה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "איפוס סגנון"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "איפוס לגיליון הסגנונות שהוחל"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "בצע את הניתוח הראשון שלך כדי לקבל דוח ביצועים, נקודות חוזק והצעות מסודרות לפי סדר עדיפויות."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "נבחר"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "אירוח עצמי עם Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "גיליון סגנונות CSS סמנטי"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "שלח הודעה"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "קו חוצה"
|
||||
msgid "Strong fit"
|
||||
msgstr "התאמה חזקה"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "עורך גיליון סגנונות"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "גיליון הסגנונות מכיל שגיאות"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "סברדיט"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "ייתכן שהדף שאתה מחפש הועבר או שכבר אינו
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "הסיסמה שהזנת שגויה"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "לא ניתן היה לעדכן את התצוגה המקדימה של קורות החיים. התצוגה המקדימה האחרונה התקפה עדיין מוצגת."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "קורות החיים שאליהם ניסית לגשת מוגנים בסיסמה"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "קו תחתון"
|
||||
msgid "Undo"
|
||||
msgstr "לְבַטֵל"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "בטל עריכת גיליון סגנונות"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "מסמכי קורות חיים ללא הגבלה"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "הנתונים שלך מאוחסנים בצורה מאובטחת ולע
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "לא ניתן היה לשמור את השינויים האחרונים שלך."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "סגנונות ה-Derospace שלך יישארו פעילים עד שתפעיל במפורש טיוטת CSS סמנטית זו."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "הסיסמה שלך אופסה בהצלחה. כעת אפשר להתחבר עם הסיסמה החדשה שלך."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "खाता मेनू"
|
||||
msgid "Actions"
|
||||
msgstr "कार्रवाइयाँ"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "सिमेंटिक सीएसएस को सक्रिय करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "वास्तविक आकार (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "प्रति सप्ताह भेजे गए आवेदन (पिछले 8 सप्ताह)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "आवेदन किया"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "आवेदन किया"
|
||||
msgid "Applied on"
|
||||
msgstr "आवेदन की तारीख"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू नियम"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "चेतावनी सहित लागू"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "अपना पासवर्ड रीसेट करने के
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "अपना खाता सत्यापित करने के लिए लिंक के लिए अपना ईमेल जाँचें।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "चेकिंग"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "मसौदे की जाँच"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "चीनी (सरलीकृत)"
|
||||
@@ -966,6 +979,10 @@ msgstr "बातचीत कॉपी हो गई।"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "वार्तालाप का JSON कॉपी हो गया।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "रूपांतरित स्टाइलशीट ड्राफ्ट"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "क्लिपबोर्ड पर कॉपी किया गया।"
|
||||
@@ -989,6 +1006,15 @@ msgstr "बैकअप कोड कॉपी करें"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON कॉपी करें"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "गुप्त प्रतिलिपि"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "स्टाइलशीट कॉपी करें"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "इस सीक्रेट कुंजी को कॉपी करें और अपने ऐप्लिकेशन्स में अपने डेटा तक पहुँचने के लिए इसका उपयोग करें।"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "संपादित करें {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "आवेदन संपादित करें"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "रंग संपादित करें {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "दो‑कारक प्रमाणीकरण सेटअप क
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "दो‑कारक प्रमाणीकरण अक्षम करने के लिए अपना पासवर्ड दर्ज करें। 2FA सक्षम न होने पर आपका खाता कम सुरक्षित रहेगा।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "गलती"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "हर योगदान, बड़ा या छोटा, प्रोजेक्ट के लिए बहुत बड़ा अंतर लाता है।<0/>आपके समर्थन के लिए धन्यवाद!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "हर योगदान, बड़ा या छोटा, प्र
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "पेशेवर रेज़्यूमे बनाने, अनुकूलित करने और साझा करने के लिए आपको जो कुछ भी चाहिए। गोपनीयता को ध्यान में रखकर बनाया गया, ओपन‑सोर्स द्वारा संचालित और हमेशा के लिए पूरी तरह मुफ़्त।"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "फोकस मोड से बाहर निकलें"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रीन से बाहर निकलें"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "फॉर्मेट"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "प्रारूप शैलीपत्र"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "मुफ़्त"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "हल्का रंग"
|
||||
msgid "Light theme"
|
||||
msgstr "लाइट थीम"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "पंक्ति {0}, स्तंभ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "पंक्ति ऊँचाई"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "अभी तक कोई सहेजे गए संस्करण
|
||||
msgid "No source data yet."
|
||||
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 "कोई परीक्षित प्रदाता नहीं"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "नॉर्वेजियन"
|
||||
msgid "Not connected"
|
||||
msgstr "जुड़े नहीं हैं"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "मैं आश्वस्त नहीं हूं कि क्या लिखना है?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "ओपन एआई सहायक"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ईमेल क्लाइंट खोलें"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ओपन फोकस मोड"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "बिल्डर में खोलें"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ओपनएआई-संगत"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ओपनराउटर"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "खोलने के लिए <0>Enter</0> दबाएँ"
|
||||
msgid "Preview"
|
||||
msgstr "पूर्व दर्शन"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "पूर्वावलोकन और निर्यात के लिए अंतिम मान्य संस्करण का उपयोग करें।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "प्राथमिक रंग"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "रिएक्टिव रिज्यूम v<0>{__APP_VERSION__}</0>
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "प्रतिक्रियाशील रिज़्यूमे v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "कस्टम स्टाइल लागू करने संबंधी गाइड पढ़ें।"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "पढ़ा जा रहा है…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "सक्रिय करने के लिए तैयार"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "चेतावनी सहित सक्रिय करने के लिए तैयार"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "प्राप्तकर्ता"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "आयत (पूर्ण चौड़ाई)"
|
||||
msgid "Redo"
|
||||
msgstr "फिर से करना"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "स्टाइलशीट संपादन को पुनः करें"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "रीसेट"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रीसेट करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रीसेट करें"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "लागू स्टाइलशीट पर रीसेट करें"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "अपना पहला विश्लेषण चलाएँ ताकि आपको एक स्कोरकार्ड, ताकतें और प्राथमिकता-आधारित सुझाव मिल सकें।"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "चुना गया"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "डॉकर के साथ स्व‑मेज़बान"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "सिमेंटिक सीएसएस स्टाइलशीट"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "मेसेज भेजें"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "स्ट्राइक"
|
||||
msgid "Strong fit"
|
||||
msgstr "मजबूत उपयुक्तता"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "स्टाइलशीट संपादक"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "स्टाइलशीट में त्रुटियाँ हैं"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "सबरेडिट"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "आप जिस पेज को ढूंढ रहे हैं, व
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "आपके द्वारा दर्ज किया गया पासवर्ड गलत है"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "रिज्यूमे का पूर्वावलोकन अपडेट नहीं हो सका। पिछला वैध पूर्वावलोकन अभी भी प्रदर्शित हो रहा है।"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "जिस रेज़्यूमे तक आप पहुँचने की कोशिश कर रहे हैं वह पासवर्ड से सुरक्षित है"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "रेखांकित"
|
||||
msgid "Undo"
|
||||
msgstr "पूर्ववत"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "स्टाइलशीट संपादन को पूर्ववत करें"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "असीमित रेज़्यूमे"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "आपका डेटा सुरक्षित रूप से स
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "आपके नवीनतम परिवर्तन सहेजे नहीं जा सके।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "जब तक आप इस सिमेंटिक सीएसएस ड्राफ्ट को स्पष्ट रूप से सक्रिय नहीं करते, तब तक आपकी पुरानी शैलियाँ सक्रिय रहेंगी।"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "आपका पासवर्ड सफलतापूर्वक रीसेट कर दिया गया है। अब आप अपने नए पासवर्ड से साइन इन कर सकते हैं।"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hu\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Fiók menü"
|
||||
msgid "Actions"
|
||||
msgstr "Műveletek"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Szemantikus CSS aktiválása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Valós méret (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Hetente elküldött jelentkezések (az elmúlt 8 hét)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Jelentkezve"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Jelentkezve"
|
||||
msgid "Applied on"
|
||||
msgstr "Jelentkezés dátuma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Alkalmazott szabályok"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Figyelmeztetésekkel alkalmazva"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Ellenőrizd az e‑mailedet a jelszó visszaállításához szükséges
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Ellenőrizd az e‑mailedet a fiókod megerősítéséhez szükséges linkért."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Ellenőrzés"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Vázlat ellenőrzése"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "kínai (egyszerűsített)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Beszélgetés másolva."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "A beszélgetés JSON-fájlja másolva."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Stíluslap-tervezet konvertálása"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "A vágólapra másolva."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Biztonsági kódok másolása"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON másolása"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Titkos kód másolása"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Stíluslap másolása"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Másold ki ezt a titkos kulcsot, és használd az alkalmazásaidban az adataid eléréséhez."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Szerkesztés {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Jelentkezés szerkesztése"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Szín szerkesztése {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Add meg a jelszavadat a kétlépcsős hitelesítés beállításának me
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Add meg a jelszavadat a kétlépcsős hitelesítés kikapcsolásához. A fiókod kevésbé lesz biztonságos 2FA nélkül."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Hiba"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Minden hozzájárulás – legyen kicsi vagy nagy – hatalmas különbséget jelent a projekt számára.<0/>Köszönjük a támogatásodat!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Minden hozzájárulás – legyen kicsi vagy nagy – hatalmas különbs
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Minden, amire szükséged van professzionális önéletrajzok létrehozásához, testreszabásához és megosztásához. Adatvédelemre tervezve, nyílt forráskóddal működve és teljesen ingyen, örökre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Kilépés a fókuszmódból"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Kilépés a teljes képernyőből"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formátum"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Stíluslap formázása"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ingyenes"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Világos"
|
||||
msgid "Light theme"
|
||||
msgstr "Világos téma"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Sor {0}, oszlop {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Sorköz"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Még nincsenek mentett verziók."
|
||||
msgid "No source data yet."
|
||||
msgstr "Még nincs forrásadat."
|
||||
|
||||
#: 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ó"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "norvég"
|
||||
msgid "Not connected"
|
||||
msgstr "Nincs csatlakoztatva"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nem tudod, mit írj?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Nyílt AI asszisztens"
|
||||
msgid "Open Email Client"
|
||||
msgstr "E‑mail kliens megnyitása"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Nyitott fókusz mód"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Megnyitás a szerkesztőben"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-kompatibilis"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Nyomja meg az <0>Entert</0> a megnyitáshoz"
|
||||
msgid "Preview"
|
||||
msgstr "Előnézet"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Az előnézet és az exportálás a legutóbbi érvényes verziót használja."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Elsődleges szín"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktív önéletrajz v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktív önéletrajz v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Olvasd el az Egyéni stílusok alkalmazása útmutatót."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Olvasás…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Aktiválásra kész"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Aktiválásra kész, figyelmeztetésekkel"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Címzett"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Téglalap (teljes szélesség)"
|
||||
msgid "Redo"
|
||||
msgstr "Újra"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Stíluslap szerkesztésének megismétlése"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Visszaállítás az alkalmazott stíluslapra"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "kijelölve"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Önálló hosztolás Dockerrel"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Szemantikus CSS stíluslap"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Üzenet küldése"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Áthúzás"
|
||||
msgid "Strong fit"
|
||||
msgstr "Erős illeszkedés"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stíluslap-szerkesztő"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "A stíluslap hibákat tartalmaz"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Lehetséges, hogy a keresett oldal áthelyeződött, vagy már nem léte
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "A megadott jelszó helytelen"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Az önéletrajz előnézetét nem sikerült frissíteni. Az utolsó érvényes előnézet továbbra is látható."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "A megnyitni kívánt önéletrajz jelszóval védett"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Aláhúzás"
|
||||
msgid "Undo"
|
||||
msgstr "Visszavonás"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Stíluslap szerkesztésének visszavonása"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Korlátlan önéletrajz"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Az adataid biztonságosan tároljuk, és soha nem osztjuk meg harmadik f
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "A legutóbbi módosításokat nem sikerült menteni."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "A korábbi stílusok aktívak maradnak, amíg explicit módon nem aktiválja ezt a szemantikus CSS-tervezetet."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "A jelszavadat sikeresen visszaállítottuk. Mostantól az új jelszóval jelentkezhetsz be."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: id\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu Akun"
|
||||
msgid "Actions"
|
||||
msgstr "Tindakan"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktifkan CSS Semantik"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Ukuran sebenarnya (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Lamaran dikirim per minggu (8 minggu terakhir)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Dilamar"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Dilamar"
|
||||
msgid "Applied on"
|
||||
msgstr "Dilamar pada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Aturan yang Diterapkan"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Diterapkan dengan peringatan"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Periksa email Anda untuk tautan mengatur ulang kata sandi."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Periksa email Anda untuk tautan memverifikasi akun Anda."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Memeriksa"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Memeriksa draf"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Cina (Sederhana)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Percakapan disalin."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON percakapan telah disalin."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Draf stylesheet yang telah dikonversi"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Disalin ke papan klip."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Salin Kode Cadangan"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Salin JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Salin rahasia"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Salin stylesheet"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Salin kunci rahasia ini dan gunakan di aplikasi Anda untuk mengakses data Anda."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Sunting {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edit lamaran"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Edit warna {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Masukkan kata sandi Anda untuk mengonfirmasi penyiapan autentikasi dua f
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Masukkan kata sandi Anda untuk menonaktifkan autentikasi dua faktor. Akun Anda akan menjadi kurang aman tanpa 2FA diaktifkan."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Kesalahan"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Setiap kontribusi, besar atau kecil, membuat perbedaan besar bagi proyek ini.<0/>Terima kasih atas dukungan Anda!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Setiap kontribusi, besar atau kecil, membuat perbedaan besar bagi proyek
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Segala yang Anda butuhkan untuk membuat, menyesuaikan, dan membagikan resume profesional. Dibangun dengan mengutamakan privasi, didukung oleh sumber terbuka, dan sepenuhnya gratis selamanya."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Keluar dari mode fokus"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Keluar dari Layar Penuh"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Format stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Terang"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema terang"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Baris {0}, kolom {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Tinggi Baris"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Belum ada versi yang tersimpan."
|
||||
msgid "No source data yet."
|
||||
msgstr "Belum ada data sumber."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norwegia"
|
||||
msgid "Not connected"
|
||||
msgstr "Tidak terhubung"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Tidak yakin harus menulis apa?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Asisten AI terbuka"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Buka Klien Email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Mode fokus terbuka"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Buka di pembangun"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Kompatibel dengan OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Tekan <0>Enter</0> untuk membuka"
|
||||
msgid "Preview"
|
||||
msgstr "Pratinjau"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Pratinjau dan ekspor menggunakan versi valid terakhir."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Warna Utama"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktif Lanjutkan v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Lanjutkan Reaktif v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Bacalah panduan Menerapkan Gaya Kustom."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Membaca…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Siap diaktifkan"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Siap diaktifkan dengan peringatan"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Penerima"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Persegi Panjang (Lebar Penuh)"
|
||||
msgid "Redo"
|
||||
msgstr "Mengulangi"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Ulangi pengeditan stylesheet"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Atur ulang ke stylesheet yang diterapkan"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "dipilih"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host dengan Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Lembar gaya CSS semantik"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Kirim pesan"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Coret"
|
||||
msgid "Strong fit"
|
||||
msgstr "Sangat cocok"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor lembar gaya"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stylesheet memiliki kesalahan"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Halaman yang Anda cari mungkin telah dipindahkan atau sudah tidak ada la
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Kata sandi yang Anda masukkan salah"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Pratinjau resume tidak dapat diperbarui. Pratinjau valid terakhir masih ditampilkan."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Resume yang Anda coba akses dilindungi kata sandi"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Garis Bawah"
|
||||
msgid "Undo"
|
||||
msgstr "Membuka"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Batalkan pengeditan stylesheet"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Resume Tak Terbatas"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Data Anda disimpan dengan aman dan tidak pernah dibagikan dengan pihak k
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Perubahan terbaru Anda tidak dapat disimpan."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Gaya lama Anda tetap aktif hingga Anda secara eksplisit mengaktifkan draf CSS Semantik ini."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Kata sandi Anda telah berhasil diatur ulang. Anda sekarang dapat masuk dengan kata sandi baru Anda."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu dell'account"
|
||||
msgid "Actions"
|
||||
msgstr "Azioni"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Attiva il CSS semantico"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Dimensioni reali (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidature inviate a settimana (ultime 8 settimane)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Candidatura inviata"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Candidatura inviata"
|
||||
msgid "Applied on"
|
||||
msgstr "Candidatura inviata il"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regole applicate"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Applicato con avvertenze"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Controlla la tua email per un link per reimpostare la password."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Controlla la tua email per un link per verificare il tuo account."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Controllo"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Controllo della bozza"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Cinese (semplificato)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversazione copiata."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Copia del JSON della conversazione."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Bozza del foglio di stile convertito"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiato negli appunti."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copia codici di backup"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copia JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copia il segreto"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copia foglio di stile"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copia questa chiave segreta e usala nelle tue applicazioni per accedere ai tuoi dati."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Modifica {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Modifica candidatura"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Modifica colore {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Inserisci la tua password per confermare la configurazione dell'autentic
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Inserisci la tua password per disabilitare l'autenticazione a due fattori. Il tuo account sarà meno sicuro senza 2FA attiva."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Ogni contributo, grande o piccolo, fa una grande differenza per il progetto.<0/>Grazie per il tuo supporto!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Ogni contributo, grande o piccolo, fa una grande differenza per il proge
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tutto ciò di cui hai bisogno per creare, personalizzare e condividere curriculum professionali. Creato pensando alla privacy, alimentato dall'open source e completamente gratuito per sempre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Esci dalla modalità di messa a fuoco"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Esci dalla modalità a schermo intero"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formato foglio di stile"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Chiaro"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema chiaro"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Riga {0}, colonna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Altezza linea"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Nessuna versione salvata al momento."
|
||||
msgid "No source data yet."
|
||||
msgstr "Ancora nessun dato sorgente."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvegese"
|
||||
msgid "Not connected"
|
||||
msgstr "Non connesso"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Non sai cosa scrivere?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Assistente Open AI"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Apri client email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Modalità di messa a fuoco aperta"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Apri nel generatore"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatibile con OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Premere <0>Invio</0> per aprire"
|
||||
msgid "Preview"
|
||||
msgstr "Anteprima"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "L'anteprima e l'esportazione utilizzano l'ultima versione valida."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Colore primario"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Ripresa reattiva v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Ripresa reattiva v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Leggi la guida \"Applicazione di stili personalizzati\"."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lettura…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Pronto per l'attivazione"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Pronto per l'attivazione con avvisi"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rettangolo (larghezza completa)"
|
||||
msgid "Redo"
|
||||
msgstr "Rifare"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Riesegui la modifica del foglio di stile"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Ripristina il foglio di stile applicato"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "selezionati"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host con Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Foglio di stile CSS semantico"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Invia messaggio"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Barrato"
|
||||
msgid "Strong fit"
|
||||
msgstr "Ottima corrispondenza"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor di fogli di stile"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Il foglio di stile presenta degli errori"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "La pagina che stai cercando potrebbe essere stata spostata o non esister
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "La password inserita non è corretta"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Impossibile aggiornare l'anteprima del curriculum. Viene ancora visualizzata l'ultima anteprima valida."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Il curriculum a cui stai cercando di accedere è protetto da password"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Sottolinea"
|
||||
msgid "Undo"
|
||||
msgstr "Disfare"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Annulla la modifica del foglio di stile"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Curriculum illimitati"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "I tuoi dati sono archiviati in modo sicuro e non vengono mai condivisi c
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Impossibile salvare le ultime modifiche."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "I tuoi stili legacy rimarranno attivi finché non attiverai esplicitamente questa bozza di CSS semantico."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "La tua password è stata reimpostata correttamente. Ora puoi accedere con la tua nuova password."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ja\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "アカウントメニュー"
|
||||
msgid "Actions"
|
||||
msgstr "操作"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "セマンティックCSSを有効にする"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "実寸大(100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "週ごとの応募送信数(直近8週間)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "応募済み"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "応募済み"
|
||||
msgid "Applied on"
|
||||
msgstr "応募日"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "適用中のルール"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "警告付きで適用"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "パスワードをリセットするリンクを記載したメールを
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "アカウントを認証するリンクを記載したメールを確認してください。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "チェック中"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "下書きの確認"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "中国語(簡体字)"
|
||||
@@ -966,6 +979,10 @@ msgstr "会話内容をコピーしました。"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "会話のJSONデータがコピーされました。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "変換されたスタイルシートのドラフト"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "クリップボードにコピーしました。"
|
||||
@@ -989,6 +1006,15 @@ msgstr "バックアップコードをコピー"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSONをコピー"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "コピーシークレット"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "スタイルシートをコピー"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "このシークレットキーをコピーし、アプリケーションで使用してデータにアクセスしてください。"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "編集 {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "応募を編集"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "色を編集 {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "二要素認証を設定することを確定するために、パスワ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "二要素認証を無効にするには、パスワードを入力してください。2FA を無効化すると、アカウントのセキュリティレベルは下がります。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "すべてのご支援は、大きくても小さくても、このプロジェクトにとって大きな力になります。<0/>ご支援ありがとうございます。"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "すべてのご支援は、大きくても小さくても、このプロ
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "プロフェッショナルな履歴書・職務経歴書を作成・カスタマイズ・共有するために必要な機能がすべて揃っています。プライバシーを重視して設計され、オープンソースによって支えられ、そして完全に無料で利用できます。"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "フォーカスモードを終了する"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "全画面表示を終了"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "フォーマット"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "書式スタイルシート"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "無料"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ライト"
|
||||
msgid "Light theme"
|
||||
msgstr "ライトテーマ"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "行 {0}、列 {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "行の高さ"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "まだ保存されたバージョンはありません。"
|
||||
msgid "No source data yet."
|
||||
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 "テスト済みのプロバイダーはありません"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "ノルウェー語"
|
||||
msgid "Not connected"
|
||||
msgstr "接続されていません"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "何を書けばいいか分からない?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "OpenAIアシスタント"
|
||||
msgid "Open Email Client"
|
||||
msgstr "メールクライアントを開く"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "オープンフォーカスモード"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "ビルダーで開く"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI互換"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "<0>Enter</0>キーを押して開く"
|
||||
msgid "Preview"
|
||||
msgstr "プレビュー"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "プレビューとエクスポートには、最新の有効なバージョンを使用してください。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "メインカラー"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "リアクティブレジューム v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "カスタムスタイルの適用ガイドをお読みください。"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "読み込み中…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "起動準備完了"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "警告付きで有効化準備完了"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "宛先"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "長方形(全幅)"
|
||||
msgid "Redo"
|
||||
msgstr "やり直し"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "スタイルシートの編集をやり直す"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "リセット"
|
||||
msgid "Reset Password"
|
||||
msgstr "パスワードをリセット"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "スタイルをリセット"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "適用済みのスタイルシートにリセットします"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "分析を実行すると、スコアカード・強み・改善提案が表示されます。"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "選択済み"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker でセルフホスト"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "セマンティックCSSスタイルシート"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "メッセージを送信"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "取り消し線"
|
||||
msgid "Strong fit"
|
||||
msgstr "高い適合度"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "スタイルシートエディタ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "スタイルシートにエラーがあります"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "お探しのページは移動されたか、既に存在しない可能
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "入力されたパスワードが正しくありません。"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "履歴書のプレビューを更新できませんでした。最後に有効だったプレビューが表示されたままです。"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "アクセスしようとしているレジュメはパスワードで保護されています"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "下線"
|
||||
msgid "Undo"
|
||||
msgstr "元に戻す"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "スタイルシートの編集を元に戻す"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "レジュメを無制限に作成"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "あなたのデータは安全に保存され、第三者と共有され
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "最新の変更内容を保存できませんでした。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "このセマンティックCSSドラフトを明示的に有効化するまで、既存のスタイルは有効なままです。"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "パスワードを正常にリセットしました。新しいパスワードでサインインできます。"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: km\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Khmer\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "ម៉ឺនុយគណនី"
|
||||
msgid "Actions"
|
||||
msgstr "សកម្មភាព"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "ធ្វើឱ្យ CSS ន័យវិទ្យាសកម្ម"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "ទំហំពិត (១០០%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "ពាក្យសុំបានផ្ញើក្នុងមួយសប្តាហ៍ (៨ សប្តាហ៍ចុងក្រោយ)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "បានដាក់ពាក្យ"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "បានដាក់ពាក្យ"
|
||||
msgid "Applied on"
|
||||
msgstr "បានដាក់ពាក្យនៅ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ច្បាប់ដែលបានអនុវត្ត"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "អនុវត្តជាមួយការព្រមាន"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "ពិនិត្យអ៊ីមែលរបស់អ្នក
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "ពិនិត្យអ៊ីមែលរបស់អ្នកសម្រាប់តំណមួយ ដើម្បីផ្ទៀងផ្ទាត់គណនីរបស់អ្នក។"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "កំពុងត្រួតពិនិត្យ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "កំពុងពិនិត្យមើលសេចក្តីព្រាង"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinese (Simplified)"
|
||||
@@ -966,6 +979,10 @@ msgstr "បានចម្លងការសន្ទនា។"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "បានចម្លង JSON នៃការសន្ទនា។"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "សេចក្តីព្រាងសន្លឹករចនាប័ទ្មដែលបានបម្លែង"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "បានចម្លងទៅក្ដារតម្បៀតខ្ទាស់។"
|
||||
@@ -989,6 +1006,15 @@ msgstr "ចម្លងកូដបម្រុងទុក"
|
||||
msgid "Copy JSON"
|
||||
msgstr "ចម្លង JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "ចម្លងសម្ងាត់"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "ចម្លងសន្លឹករចនាប័ទ្ម"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ចម្លងកូនសោសម្ងាត់នេះ ហើយប្រើវាក្នុងកម្មវិធីរបស់អ្នក ដើម្បីចូលដំណើរការទិន្នន័យរបស់អ្នក។"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "កែសម្រួល {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "កែសម្រួលពាក្យសុំ"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "កែសម្រួលពណ៌ {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "បញ្ចូលពាក្យសម្ងាត់របស់
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "បញ្ចូលពាក្យសម្ងាត់របស់អ្នក ដើម្បីបិទការផ្ទៀងផ្ទាត់ពីរជាន់។ គណនីរបស់អ្នកនឹងកាន់តែមានហានិភ័យនៅពេលមិនបានបើក 2FA ទៀត។"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "កំហុស"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "រាល់ការរួមចំណែក មួយធំនោ ឬតូច ក៏មានឥទ្ធិពលយ៉ាងច្រើនលើគម្រោងនេះ។<0/>សូមអរគុណចំពោះការគាំទ្ររបស់អ្នក!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "រាល់ការរួមចំណែក មួយធំន
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "អ្វីៗដែលអ្នកត្រូវការ ដើម្បីបង្កើត ប្ដូរតាមបំណង និងចែករំលែកប្រវត្តិរូបវិជ្ជាជីវៈ។ ត្រូវបានបង្កើតឡើងដោយគិតពីភាពឯកជន ប្រើបច្ចេកវិទ្យាបើកប្រភព ហើយឥតគិតថ្លៃទាំងស្រុង ជារៀងរហូត។"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ចេញពីរបៀបផ្តោតអារម្មណ៍"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ចេញពីអេក្រង់ពេញ"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ទ្រង់ទ្រាយ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "សន្លឹករចនាប័ទ្មទម្រង់"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ឥតគិតថ្លៃ"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ភ្លឺ"
|
||||
msgid "Light theme"
|
||||
msgstr "ស្បែកភ្លឺ"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "ជួរ {0}, ជួរឈរ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "កម្ពស់បន្ទាត់"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "មិនទាន់មានកំណែដែលបានរក្ស
|
||||
msgid "No source data yet."
|
||||
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 "គ្មានអ្នកផ្តល់សេវាដែលបានធ្វើតេស្តទេ"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norwegian"
|
||||
msgid "Not connected"
|
||||
msgstr "មិនបានភ្ជាប់"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "មិនប្រាកដថាត្រូវសរសេរអ្វីទេ?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "បើកជំនួយការ AI"
|
||||
msgid "Open Email Client"
|
||||
msgstr "បើកកម្មវិធីអ៊ីមែល"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "របៀបផ្តោតអារម្មណ៍បើកចំហ"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "បើកនៅក្នុងកម្មវិធីបង្កើត"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ឆបគ្នាជាមួយ OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "ចុច <0>Enter</0> ដើម្បីបើក"
|
||||
msgid "Preview"
|
||||
msgstr "មើលជាមុន"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ការមើលជាមុន និងការនាំចេញប្រើប្រាស់កំណែដែលមានសុពលភាពចុងក្រោយ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ពណ៌មូលដ្ឋាន"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "ប្រវត្តិរូបសង្ខេបដែលមានប
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "សូមអានការណែនាំអំពីការអនុវត្តរចនាប័ទ្មផ្ទាល់ខ្លួន។"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "កំពុងអាន…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "រួចរាល់ដើម្បីធ្វើឱ្យសកម្ម"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "រួចរាល់ដើម្បីធ្វើឲ្យសកម្មជាមួយនឹងការព្រមាន"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "អ្នកទទួល"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "ចតុកោណ (ទទឹងពេញ)"
|
||||
msgid "Redo"
|
||||
msgstr "ធ្វើឡើងវិញ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "ធ្វើការកែសម្រួលសន្លឹករចនាប័ទ្មឡើងវិញ"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "កំណត់ឡើងវិញ"
|
||||
msgid "Reset Password"
|
||||
msgstr "កំណត់ពាក្យសម្ងាត់ឡើងវិញ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "កំណត់រចនាប័ទ្មឡើងវិញ"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "កំណត់ឡើងវិញទៅសន្លឹករចនាប័ទ្មដែលបានអនុវត្ត"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "ដំណើរការវិភាគលើកដំបូងរបស់អ្នកដើម្បីទទួលបានតារាងពិន្ទុ ចំណុចខ្លាំង និងសំណើដែលបានកំណត់អាទិភាព។"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "បានជ្រើស"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ដំឡើងផ្ទាល់ខ្លួនដោយប្រើ Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "សន្លឹករចនាប័ទ្ម CSS ន័យវិទ្យា"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "ផ្ញើសារ"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "អក្សរឆូត"
|
||||
msgid "Strong fit"
|
||||
msgstr "សមស្របខ្លាំង"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "កម្មវិធីនិពន្ធសន្លឹករចនាប័ទ្ម"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "សន្លឹករចនាប័ទ្មមានកំហុស"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "ទំព័រដែលអ្នកកំពុងស្វែងរក
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "ពាក្យសម្ងាត់ដែលអ្នកបានបញ្ចូល មិនត្រឹមត្រូវទេ"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "ការមើលជាមុននៃប្រវត្តិរូបសង្ខេបមិនអាចធ្វើបច្ចុប្បន្នភាពបានទេ។ ការមើលជាមុនដែលមានសុពលភាពចុងក្រោយនៅតែត្រូវបានបង្ហាញ។"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "ប្រវត្តិរូប ដែលអ្នកកំពុងព្យាយាមចូលដំណើរការ ត្រូវបានការពារដោយពាក្យសម្ងាត់"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "គូសបន្ទាត់ក្រោម"
|
||||
msgid "Undo"
|
||||
msgstr "មិនធ្វើវិញ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "មិនធ្វើការកែសម្រួលសន្លឹករចនាប័ទ្មវិញ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "ប្រវត្តិរូបមិនមានដែនកំណត់"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "ទិន្នន័យរបស់អ្នកត្រូវ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "មិនអាចរក្សាទុកការផ្លាស់ប្តូរចុងក្រោយបំផុតរបស់អ្នកបានទេ។"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "រចនាប័ទ្មចាស់របស់អ្នកនៅតែសកម្មរហូតដល់អ្នកធ្វើឱ្យសេចក្តីព្រាង CSS Semantic នេះសកម្មយ៉ាងច្បាស់លាស់។"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "ពាក្យសម្ងាត់របស់អ្នកត្រូវបានកំណត់ឡើងវិញដោយជោគជ័យ។ ឥឡូវអ្នកអាចចូលដោយប្រើពាក្យសម្ងាត់ថ្មីរបស់អ្នកបានហើយ។"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: kn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Kannada\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "ಖಾತೆ ಮೆನು"
|
||||
msgid "Actions"
|
||||
msgstr "ಕ್ರಿಯೆಗಳು"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "ಲಾಕ್ಷಣಿಕ CSS ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "ನಿಜವಾದ ಗಾತ್ರ (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "ಪ್ರತಿ ವಾರ ಕಳುಹಿಸಿದ ಅರ್ಜಿಗಳು (ಕೊನೆಯ 8 ವಾರಗಳು)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "ಅರ್ಜಿಸಲಾಗಿದೆ"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "ಅರ್ಜಿಸಲಾಗಿದೆ"
|
||||
msgid "Applied on"
|
||||
msgstr "ಅರ್ಜಿ ಸಲ್ಲಿಸಿದ ದಿನಾಂಕ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ಅನ್ವಯವಾಗುವ ನಿಯಮಗಳು"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "ಎಚ್ಚರಿಕೆಗಳೊಂದಿಗೆ ಅನ್ವಯಿಸಲಾಗಿದೆ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ರೀಸೆಟ್ ಮಾ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಲಿಂಕ್ಗಾಗಿ ನಿಮ್ಮ ಇಮೇಲ್ ಪರಿಶೀಲಿಸಿ."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "ಡ್ರಾಫ್ಟ್ ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "ಚೈನೀಸ್ (ಸರಳೀಕೃತ)"
|
||||
@@ -966,6 +979,10 @@ msgstr "ಸಂಭಾಷಣೆಯನ್ನು ನಕಲಿಸಲಾಗಿದೆ."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "ಸಂಭಾಷಣೆಯನ್ನು JSON ನಕಲಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "ಪರಿವರ್ತಿಸಲಾದ ಸ್ಟೈಲ್ಶೀಟ್ ಡ್ರಾಫ್ಟ್"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ನಕಲಿಸಲಾಗಿದೆ."
|
||||
@@ -989,6 +1006,15 @@ msgstr "ಬ್ಯಾಕಪ್ ಕೋಡ್ಗಳನ್ನು ನಕಲಿಸ
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON ನಕಲಿಸಿ"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "ರಹಸ್ಯವನ್ನು ನಕಲಿಸಿ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ನಕಲಿಸಿ"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ಈ ಸೀಕ್ರೆಟ್ ಕೀ ಅನ್ನು ನಕಲಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಬಳಸಿ."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "{chip} ಸಂಪಾದಿಸಿ"
|
||||
msgid "Edit application"
|
||||
msgstr "ಅರ್ಜಿಯನ್ನು ಸಂಪಾದಿಸಿ"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "ಬಣ್ಣವನ್ನು ಸಂಪಾದಿಸಿ {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "ಎರಡು ಅಂಶಗಳ ದೃಢೀಕರಣವನ್ನು ಹೊ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "ಎರಡು ಅಂಶಗಳ ದೃಢೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ. 2FA ಸಕ್ರಿಯಗೊಳಿಸದಿದ್ದರೆ ನಿಮ್ಮ ಖಾತೆ ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "ದೋಷ"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ಪ್ರತಿ ಕೊಡುಗೆ, ದೊಡ್ಡದಾಗಲಿ ಸಣ್ಣದಾಗಲಿ, ಯೋಜನೆಗೆ ಮಹತ್ತರವಾದ ಬದಲಾವಣೆಯನ್ನು ತರುತ್ತದೆ.<0/>ನಿಮ್ಮ ಬೆಂಬಲಕ್ಕೆ ಧನ್ಯವಾದಗಳು!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ಪ್ರತಿ ಕೊಡುಗೆ, ದೊಡ್ಡದಾಗಲಿ ಸ
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "ವೃತ್ತಿಪರ ರೆಸ್ಯೂಮ್ಗಳನ್ನು ರಚಿಸಲು, ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಮತ್ತು ಹಂಚಿಕೊಳ್ಳಲು ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲವೂ ಇಲ್ಲಿ ಇದೆ. ಗೌಪ್ಯತೆಯನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು, ಮುಕ್ತ-ಮೂಲದೊಂದಿಗೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿದೆ."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ಫೋಕಸ್ ಮೋಡ್ನಿಂದ ನಿರ್ಗಮಿಸಿ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ಪೂರ್ಣ ಪರದೆಯಿಂದ ನಿರ್ಗಮಿಸಿ"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ಸ್ವರೂಪ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ಉಚಿತ"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ತಿಳಿ ಬಣ್ಣ"
|
||||
msgid "Light theme"
|
||||
msgstr "ಲೈಟ್ ಥೀಮ್"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "ಸಾಲು {0}, ಕಾಲಮ್ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "ಗೆರೆಯ ಎತ್ತರ"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "ಇನ್ನೂ ಯಾವುದೇ ಉಳಿಸಿದ ಆವೃತ್ತ
|
||||
msgid "No source data yet."
|
||||
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 "ಪರೀಕ್ಷಿಸದ ಪೂರೈಕೆದಾರರು ಇಲ್ಲ."
|
||||
@@ -2918,6 +2963,10 @@ msgstr "ನಾರ್ವೇಜಿಯನ್"
|
||||
msgid "Not connected"
|
||||
msgstr "ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "ಏನು ಬರೆಯಬೇಕೆಂದು ಖಚಿತವಿಲ್ಲವೇ?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "AI ಸಹಾಯಕವನ್ನು ತೆರೆಯಿರಿ"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ಇಮೇಲ್ ಕ್ಲೈಂಟ್ ತೆರೆಯಿರಿ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ಫೋಕಸ್ ಮೋಡ್ ತೆರೆಯಿರಿ"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "ಬಿಲ್ಡರ್ನಲ್ಲಿ ತೆರೆಯಿರಿ"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI- ಹೊಂದಾಣಿಕೆ"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "ತೆರೆಯಲು <0>Enter</0> ಒತ್ತಿರಿ"
|
||||
msgid "Preview"
|
||||
msgstr "ಪೂರ್ವವೀಕ್ಷಣೆ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ಕೊನೆಯ ಮಾನ್ಯ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಪೂರ್ವವೀಕ್ಷಣೆ ಮತ್ತು ರಫ್ತು ಮಾಡಿ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ಪ್ರಾಥಮಿಕ ಬಣ್ಣ"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "ಪ್ರತಿಕ್ರಿಯಾತ್ಮಕ ಪುನರಾರಂಭ v
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮೇ v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "ಕಸ್ಟಮ್ ಶೈಲಿಗಳನ್ನು ಅನ್ವಯಿಸುವ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ಓದಿ."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "ಓದುತ್ತಿದೆ…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಿದ್ಧವಾಗಿದೆ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "ಎಚ್ಚರಿಕೆಗಳೊಂದಿಗೆ ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಿದ್ಧವಾಗಿದೆ"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "ಸ್ವೀಕೃತದಾರ"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "ಆಯತ (ಪೂರ್ಣ ಅಗಲ)"
|
||||
msgid "Redo"
|
||||
msgstr "ಮತ್ತೆಮಾಡು"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ಸಂಪಾದನೆಯನ್ನು ಮತ್ತೆ ಮಾಡಿ"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "ಮರುಹೊಂದಿಸಿ"
|
||||
msgid "Reset Password"
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ಶೈಲಿಯನ್ನು ಮರುಹೊಂದಿಸಿ"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "ಅನ್ವಯಿಸಲಾದ ಸ್ಟೈಲ್ಶೀಟ್ಗೆ ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "ಸ್ಕೋರ್ಕಾರ್ಡ್, ಬಲಗಳು ಮತ್ತು ಆದ್ಯತೆಯ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಲು ನಿಮ್ಮ ಮೊದಲ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಚಲಾಯಿಸಿ."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ಡಾಕರ್ ಜೊತೆಗೆ ಸ್ವಯಂ ಹೋಸ್ಟ್"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "ಲಾಕ್ಷಣಿಕ CSS ಶೈಲಿ ಹಾಳೆ"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "ಸಂದೇಶ ಕಳುಹಿಸಿ"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "ಸ್ಟ್ರೈಕ್"
|
||||
msgid "Strong fit"
|
||||
msgstr "ಬಲವಾದ ಹೊಂದಾಣಿಕೆ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ಸಂಪಾದಕ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ದೋಷಗಳನ್ನು ಹೊಂದಿದೆ."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "ಸಬ್ರೆಡಿಟ್"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "ನೀವು ಹುಡುಕುತ್ತಿರುವ ಪುಟವು ಸ
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "ನೀವು ನಮೂದಿಸಿದ ಪಾಸ್ವರ್ಡ್ ಸರಿಯಲ್ಲ"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "ರೆಸ್ಯೂಮ್ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ನವೀಕರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಕೊನೆಯ ಮಾನ್ಯ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಇನ್ನೂ ತೋರಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "ನೀವು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ರೆಸ್ಯೂಮ್ ಪಾಸ್ವರ್ಡ್ರಿಂದ ರಕ್ಷಿಸಲಾಗಿದೆ"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "ಅಂಡರ್ಲೈನ್"
|
||||
msgid "Undo"
|
||||
msgstr "ರದ್ದುಗೊಳಿಸಿ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "ಸ್ಟೈಲ್ಶೀಟ್ ಸಂಪಾದನೆಯನ್ನು ರದ್ದುಗೊಳಿಸಿ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "ಅನಿಯಮಿತ ರೆಸ್ಯೂಮ್ಗಳು"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸುರಕ್ಷಿತವ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "ನಿಮ್ಮ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲ."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "ಈ ಸೆಮ್ಯಾಂಟಿಕ್ CSS ಡ್ರಾಫ್ಟ್ ಅನ್ನು ನೀವು ಸ್ಪಷ್ಟವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವವರೆಗೆ ನಿಮ್ಮ ಲೆಗಸಿ ಶೈಲಿಗಳು ಸಕ್ರಿಯವಾಗಿರುತ್ತವೆ."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಮರುಹೊಂದಿಸಲಾಗಿದೆ. ಈಗ ನೀವು ನಿಮ್ಮ ಹೊಸ ಪಾಸ್ವರ್ಡ್ ಬಳಸಿಕೊಂಡು ಸೈನ್ ಇನ್ ಮಾಡಬಹುದು."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "계정 메뉴"
|
||||
msgid "Actions"
|
||||
msgstr "작업"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "시맨틱 CSS 활성화"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "실제 크기(100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "주당 보낸 지원서 (최근 8주)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "지원함"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "지원함"
|
||||
msgid "Applied on"
|
||||
msgstr "지원일"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "적용된 규칙"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "경고와 함께 적용됨"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "비밀번호를 재설정할 수 있는 링크가 이메일로 전송되
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "계정을 인증할 수 있는 링크가 이메일로 전송되었습니다."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "확인 중"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "초안 검토"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "중국어(간체)"
|
||||
@@ -966,6 +979,10 @@ msgstr "대화 내용이 복사되었습니다."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "대화 JSON이 복사되었습니다."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "변환된 스타일시트 초안"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "클립보드에 복사되었습니다."
|
||||
@@ -989,6 +1006,15 @@ msgstr "백업 코드 복사"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON 복사"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "비밀을 복사하세요"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "스타일시트 복사"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "이 비밀 키를 복사해 애플리케이션에 붙여넣어 데이터에 액세스하세요."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "{chip} 수정"
|
||||
msgid "Edit application"
|
||||
msgstr "지원 편집"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "색상 편집 {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "2단계 인증을 설정하려면 비밀번호를 입력해 확인하세
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "2단계 인증을 비활성화하려면 비밀번호를 입력하세요. 2단계 인증을 사용하지 않으면 계정 보안이 낮아집니다."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "오류"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "크든 작든 모든 기여는 프로젝트에 큰 변화를 가져옵니다.<0/>후원해 주셔서 감사합니다!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "크든 작든 모든 기여는 프로젝트에 큰 변화를 가져옵
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "전문적인 이력서를 만들고, 사용자 지정하고, 공유하는 데 필요한 모든 것을 제공합니다. 개인정보 보호를 최우선으로 설계되었으며, 오픈 소스로 구동되고, 완전히 무료입니다."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "포커스 모드 종료"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "전체 화면 종료"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "용지 형식"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "서식 스타일시트"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "무료"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "라이트"
|
||||
msgid "Light theme"
|
||||
msgstr "라이트 테마"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "행 {0}, 열 {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "줄 간격"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "아직 저장된 버전이 없습니다."
|
||||
msgid "No source data yet."
|
||||
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 "검증되지 않은 제공업체"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "노르웨이어"
|
||||
msgid "Not connected"
|
||||
msgstr "연결되지 않음"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "무엇을 써야 할지 모르겠나요?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "오픈 AI 어시스턴트"
|
||||
msgid "Open Email Client"
|
||||
msgstr "이메일 클라이언트 열기"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "초점 모드 열기"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "빌더에서 열기"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI 호환"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "<0>Enter</0> 키를 눌러 열기"
|
||||
msgid "Preview"
|
||||
msgstr "시사"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "미리보기 및 내보내기 시에는 마지막으로 유효한 버전을 사용합니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "기본 색상"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "반응형 재개 v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "리액티브 이력서 v4(JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "사용자 지정 스타일 적용 가이드를 읽어보세요."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "읽는 중…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "활성화 준비 완료"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "경고 메시지와 함께 활성화할 준비가 되었습니다."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "수신인"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "사각형(전체 너비)"
|
||||
msgid "Redo"
|
||||
msgstr "다시 하다"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "스타일시트 편집 다시 실행"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "초기화"
|
||||
msgid "Reset Password"
|
||||
msgstr "비밀번호 재설정"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "스타일 재설정"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "적용된 스타일시트로 재설정"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "첫 번째 분석을 실행하여 스코어카드, 강점, 우선순위가 지정된 제안을 확인하세요."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "선택됨"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker로 자체 호스팅"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "시맨틱 CSS 스타일시트"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "메시지 보내기"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "취소선"
|
||||
msgid "Strong fit"
|
||||
msgstr "높은 적합도"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "스타일시트 편집기"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "스타일시트에 오류가 있습니다"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "서브레딧"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "찾으시는 페이지가 이동되었거나 더 이상 존재하지 않
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "입력하신 비밀번호가 올바르지 않습니다"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "이력서 미리보기를 업데이트할 수 없습니다. 마지막으로 유효했던 미리보기가 여전히 표시됩니다."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "접근하려는 이력서는 비밀번호로 보호되어 있습니다"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "밑줄"
|
||||
msgid "Undo"
|
||||
msgstr "끄르다"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "스타일시트 편집 취소"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "무제한 이력서"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "데이터는 안전하게 저장되며 제3자와 공유되지 않습니
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "최근 변경 내용을 저장할 수 없습니다."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "이 시맨틱 CSS 초안을 명시적으로 활성화하기 전까지는 기존 스타일이 계속 유지됩니다."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "비밀번호가 성공적으로 재설정되었습니다. 이제 새 비밀번호로 로그인할 수 있습니다."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Paskyros meniu"
|
||||
msgid "Actions"
|
||||
msgstr "Veiksmai"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Semantinio CSS aktyvavimas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Tikrasis dydis (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Per savaitę išsiųstos paraiškos (paskutinės 8 savaitės)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Pateikta"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Pateikta"
|
||||
msgid "Applied on"
|
||||
msgstr "Pateikta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Taikomos taisyklės"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Taikoma su įspėjimais"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Patikrinkite el. paštą – ten rasite nuorodą slaptažodžiui atkurti
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Patikrinkite el. paštą – ten rasite nuorodą paskyrai patvirtinti."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Tikrinama"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Tikrinamas juodraštis"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kinų (supaprastinta)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Pokalbis nukopijuotas."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Pokalbio JSON nukopijuotas."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konvertuotas stilių lapo juodraštis"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Nukopijuota į iškarpinę."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopijuoti atsarginius kodus"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopijuoti JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopijuoti slaptą kodą"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopijuoti stiliaus lapą"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Nukopijuokite šį slaptą raktą ir naudokite jį savo programose duomenims pasiekti."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Redaguoti {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Redaguoti paraišką"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Redaguoti spalvą {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Įveskite slaptažodį, kad patvirtintumėte dviejų veiksnių tapatumo
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Įveskite slaptažodį, kad išjungtumėte dviejų veiksnių tapatumo patvirtinimą. Be įjungto 2FA jūsų paskyra bus mažiau saugi."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Klaida"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Kiekvienas įnašas, didelis ar mažas, daro milžinišką įtaką projektui.<0/>Ačiū už jūsų palaikymą!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Kiekvienas įnašas, didelis ar mažas, daro milžinišką įtaką proje
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Viskas, ko reikia sukurti, pritaikyti ir bendrinti profesionalius gyvenimo aprašymus. Sukurta atsižvelgiant į privatumą, paremta atviruoju kodu ir visiškai nemokama visam laikui."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Išeiti iš fokusavimo režimo"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Išeiti iš viso ekrano"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formatas"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatuoti stiliaus lapą"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Nemokama"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Šviesi"
|
||||
msgid "Light theme"
|
||||
msgstr "Šviesi tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Eilutė {0}, stulpelis {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Tarpueilio aukštis"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Kol kas nėra išsaugotų versijų."
|
||||
msgid "No source data yet."
|
||||
msgstr "Šaltinio duomenų dar nėra."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvegų"
|
||||
msgid "Not connected"
|
||||
msgstr "Nesusijungta"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nežinote, ką rašyti?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Atidaryti dirbtinio intelekto asistentą"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Atidaryti el. pašto programą"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Atidaryti fokusavimo režimą"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Atidaryti kūrimo priemonėje"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Suderinamas su OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "\"OpenRouter\""
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Paspauskite <0>Enter</0>, kad atidarytumėte"
|
||||
msgid "Preview"
|
||||
msgstr "Peržiūra"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Peržiūrai ir eksportui naudokite paskutinę galiojančią versiją."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Pagrindinė spalva"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktyvus gyvenimo aprašymas v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktyvusis CV v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Perskaitykite vadovą „Pasirinktinių stilių taikymas“."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Skaitoma…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Paruošta aktyvuoti"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Paruošta aktyvuoti su įspėjimais"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Gavėjas"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Stačiakampis (visas plotis)"
|
||||
msgid "Redo"
|
||||
msgstr "Pakartoti"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Grąžinti stiliaus lapo redagavimą"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Atkurti pritaikytą stiliaus lapą"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "pasirinkta"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Savarankiškas talpinimas naudojant Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantinis CSS stiliaus lapas"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Siųsti žinutę"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Perbraukti"
|
||||
msgid "Strong fit"
|
||||
msgstr "Stiprus atitikimas"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stilių lapų redaktorius"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stiliaus lape yra klaidų"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreditas"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Puslapis, kurio ieškote, galėjo būti perkeltas arba jo nebėra."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Neteisingas slaptažodis"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Nepavyko atnaujinti gyvenimo aprašymo peržiūros. Vis dar rodoma paskutinė galiojanti peržiūra."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Gyvenimo aprašymas, kurį bandote atidaryti, yra apsaugotas slaptažodžiu"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Pabraukti"
|
||||
msgid "Undo"
|
||||
msgstr "Atšaukti"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Atšaukti stiliaus lapo redagavimą"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Neriboti gyvenimo aprašymai"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Jūsų duomenys saugiai laikomi ir niekada nebendrinami su trečiosiomis
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Nepavyko išsaugoti naujausių pakeitimų."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Jūsų seni stiliai liks aktyvūs, kol aiškiai neaktyvuosite šio semantinio CSS juodraščio."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Jūsų slaptažodis sėkmingai atstatytas. Dabar galite prisijungti naudodami naują slaptažodį."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Konta izvēlne"
|
||||
msgid "Actions"
|
||||
msgstr "Darbības"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivizēt semantisko CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Faktiskais izmērs (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Nedēļā nosūtītie pieteikumi (pēdējās 8 nedēļas)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Pieteikts"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Pieteikts"
|
||||
msgid "Applied on"
|
||||
msgstr "Pieteikts"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Piemērotie noteikumi"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Pielietots ar brīdinājumiem"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Pārbaudiet savu e-pastu, lai atrastu saiti paroles atiestatīšanai."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Pārbaudiet savu e-pastu, lai atrastu saiti konta verifikācijai."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Pārbaude"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Melnraksta pārbaude"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Ķīniešu (vienkāršotā)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Saruna nokopēta."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Sarunas JSON fails ir nokopēts."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konvertēts stila lapas melnraksts"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Nokopēts starpliktuvē."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopēt rezerves kodus"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopēt JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopēt slepeno informāciju"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopēt stila lapu"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Nokopējiet šo slepeno atslēgu un izmantojiet to savās lietotnēs, lai piekļūtu saviem datiem."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Rediģēt {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Rediģēt pieteikumu"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Rediģēt krāsu {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Ievadiet savu paroli, lai apstiprinātu divu faktoru autentifikācijas i
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Ievadiet savu paroli, lai deaktivētu divu faktoru autentifikāciju. Bez ieslēgtas 2FA jūsu konts būs mazāk drošs."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Kļūda"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Katrs ieguldījums, liels vai mazs, projektam ir milzīgi nozīmīgs.<0/>Paldies par jūsu atbalstu!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Katrs ieguldījums, liels vai mazs, projektam ir milzīgi nozīmīgs.<0/
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Viss, kas jums nepieciešams, lai izveidotu, pielāgotu un kopīgotu profesionālus CV. Veidots, domājot par privātumu, darbināms ar atvērtā pirmkoda risinājumiem un pilnīgi bez maksas uz visiem laikiem."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Iziet no fokusa režīma"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Iziet no pilnekrāna"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formāts"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Stilu lapas formatēšana"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Bezmaksas"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Gaišs"
|
||||
msgid "Light theme"
|
||||
msgstr "Gaišā tēma"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Rinda {0}, kolonna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Rindu augstums"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Vēl nav saglabātu versiju."
|
||||
msgid "No source data yet."
|
||||
msgstr "Avota datu vēl nav."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvēģu"
|
||||
msgid "Not connected"
|
||||
msgstr "Nav izveidots savienojums"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Neesat pārliecināts, ko rakstīt?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Atvērt AI palīgu"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Atvērt e-pasta klientu"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Atvērtā fokusa režīms"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Atvērt veidotājā"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI saderīgs"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Nospiediet <0>Enter</0>, lai atvērtu"
|
||||
msgid "Preview"
|
||||
msgstr "Priekšskatījums"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Priekšskatījumā un eksportā tiek izmantota pēdējā derīgā versija."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primārā krāsa"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktīvs CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Izlasiet rokasgrāmatu Pielāgotu stilu lietošana."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lasa…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Gatavs aktivizēšanai"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Gatavs aktivizēšanai ar brīdinājumiem"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Saņēmējs"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Taisnstūris (pilns platums)"
|
||||
msgid "Redo"
|
||||
msgstr "Atkārtot"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Atkārtoti veikt stila lapas rediģēšanu"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Atiestatīt uz lietoto stila lapu"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "atlasīts"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Pašhostēšana ar Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantiskā CSS stila lapa"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Sūtīt ziņojumu"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Pārsvītrot"
|
||||
msgid "Strong fit"
|
||||
msgstr "Spēcīga atbilstība"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stilu lapu redaktors"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stilu lapā ir kļūdas"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddits"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Iespējams, ka meklētā lapa ir pārvietota vai vairs nepastāv."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Ievadītā parole ir nepareiza"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "CV priekšskatījumu nevarēja atjaunināt. Joprojām tiek rādīts pēdējais derīgais priekšskatījums."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV, kam mēģināt piekļūt, ir aizsargāts ar paroli"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Pasvītrot"
|
||||
msgid "Undo"
|
||||
msgstr "Atsaukt"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Atsaukt stila lapas rediģēšanu"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Neierobežoti CV"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Jūsu dati tiek glabāti droši un nekad netiek kopīgoti ar trešajām
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Jūsu jaunākās izmaiņas nevarēja saglabāt."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Jūsu mantotie stili paliek aktīvi, līdz jūs skaidri aktivizējat šo semantiskās CSS melnrakstu."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Jūsu parole ir veiksmīgi atiestatīta. Tagad varat pieteikties ar jauno paroli."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ml\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malayalam\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "അക്കൗണ്ട് മെനു"
|
||||
msgid "Actions"
|
||||
msgstr "പ്രവർത്തനങ്ങൾ"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "സെമാന്റിക് CSS സജീവമാക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "യഥാർത്ഥ വലുപ്പം (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "ആഴ്ചയിൽ അയച്ച അപേക്ഷകൾ (കഴിഞ്ഞ 8 ആഴ്ച)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "അപേക്ഷിച്ചു"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "അപേക്ഷിച്ചു"
|
||||
msgid "Applied on"
|
||||
msgstr "പ്രയോഗിച്ചു"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ബാധകമായ നിയമങ്ങൾ"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "മുന്നറിയിപ്പുകൾ ഉപയോഗിച്ച് പ്രയോഗിച്ചു"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "നിങ്ങളുടെ പാസ്വേഡ് റീസെറ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "നിങ്ങളുടെ അക്കൗണ്ട് സ്ഥിരീകരിക്കുന്നതിന് ഒരു ലിങ്കിനായി നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "പരിശോധിക്കുന്നു"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "ഡ്രാഫ്റ്റ് പരിശോധിക്കുന്നു"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "ചൈനീസ് (സിംപ്ലിഫൈഡ്)"
|
||||
@@ -966,6 +979,10 @@ msgstr "സംഭാഷണം പകർത്തി."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "സംഭാഷണം JSON പകർത്തി."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "പരിവർത്തനം ചെയ്ത സ്റ്റൈൽഷീറ്റ് ഡ്രാഫ്റ്റ്"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തി."
|
||||
@@ -989,6 +1006,15 @@ msgstr "ബാക്കപ്പ് കോഡുകൾ പകർത്തുക"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON പകർത്തുക"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "രഹസ്യ കോപ്പി ചെയ്യുക"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റ് പകർത്തുക"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ഈ സീക്രട്ട് കീ പകർത്തി, നിങ്ങളുടെ ആപ്പ്ലിക്കേഷനുകളിൽ നിങ്ങൾക്കുള്ള ഡാറ്റ ആക്സ്സ് ചെയ്യുന്നതിനായി ഉപയോഗിക്കുക."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "തിരുത്തുക {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "ആപ്ലിക്കേഷൻ എഡിറ്റ് ചെയ്യുക"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "നിറം എഡിറ്റ് ചെയ്യുക {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "ടു‑ഫാക്ടർ ഓത്ന്റിക്കേഷൻ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "ടു‑ഫാക്ടർ ഓത്ന്റിക്കേഷൻ അപ്രാപ്തമാക്കാൻ നിങ്ങളുടെ പാസ്വേഡ് നൽകുക. 2FA പ്രാപ്തമാക്കിയിട്ടില്ലാത്തതിനാൽ നിങ്ങളുടെ അക്കൗണ്ട് കുറച്ച് കുറവായി സുരക്ഷിതമായിവരും."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "പിശക്"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "വലുതോ ചെറുതോ ആയ ഓരോ സംഭാവനയും പ്രോജക്റ്റിന് വലിയൊരു മാറ്റം സൃഷ്ടിക്കുന്നു.<0/>നിങ്ങളുടെ പിന്തുണയ്ക്ക് നന്ദി!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "വലുതോ ചെറുതോ ആയ ഓരോ സംഭാവന
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "പ്രൊഫഷണൽ റിസ്യൂങ്ങൾ സൃഷ്ടിക്കാനും ഇഷ്ടാനുസൃതമാക്കാനും പങ്കിടാനും നിങ്ങൾക്ക് വേണ്ടതെല്ലാം ഇവിടെ ലഭ്യമാണ്. സ്വകാര്യത മുൻനിർത്തി നിർമ്മിച്ചതും, ഓപ്പൺ സോഴ്സിനാൽ കരുത്തു ലഭിച്ചതും, പൂർണ്ണമായും സൗജന്യവുമാണ്."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ഫോക്കസ് മോഡിൽ നിന്ന് പുറത്തുകടക്കുക"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "മുഴുവൻ സ്ക്രീനിൽ നിന്ന് പുറത്തുകടക്കുക"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ഫോർമാറ്റ്"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റ് ഫോർമാറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "സൗജന്യം"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ലൈറ്റ്"
|
||||
msgid "Light theme"
|
||||
msgstr "ലൈറ്റ് തീം"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "വരി {0}, നിര {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "ലൈൻ ഹൈറ്റ്"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "ഇതുവരെ സംരക്ഷിച്ച പതിപ്പു
|
||||
msgid "No source data yet."
|
||||
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 "പരിശോധിച്ച ദാതാവില്ല."
|
||||
@@ -2918,6 +2963,10 @@ msgstr "നോർവീജിയൻ"
|
||||
msgid "Not connected"
|
||||
msgstr "കണക്റ്റ് ചെയ്തിട്ടില്ല"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "എന്ത് എഴുതണമെന്ന് ഉറപ്പില്ലേ?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "AI അസിസ്റ്റന്റ് തുറക്കുക"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ഇമെയിൽ ക്ലയന്റ് ഓപ്പൺ ചെയ്യുക"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ഫോക്കസ് മോഡ് തുറക്കുക"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "ബിൽഡറിൽ തുറക്കുക"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-ക്ക് അനുയോജ്യം"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ഓപ്പൺ റൂട്ടർ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "തുറക്കാൻ <0>എന്റർ</0> അമർത്തുക
|
||||
msgid "Preview"
|
||||
msgstr "പ്രിവ്യൂ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "അവസാനത്തെ സാധുവായ പതിപ്പ് ഉപയോഗിച്ച് പ്രിവ്യൂ ചെയ്ത് എക്സ്പോർട്ട് ചെയ്യുക."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "പ്രൈമറി നിറം"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "റിയാക്ടീവ് റെസ്യൂമെ v<0>{__APP_VERSI
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "റിയാക്ടീവ് റെസ്യൂമെ v4 (ജെസൺ)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "ഇഷ്ടാനുസൃത ശൈലികൾ പ്രയോഗിക്കുന്നതിനുള്ള ഗൈഡ് വായിക്കുക."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "വായിക്കുന്നു..."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "സജീവമാക്കാൻ തയ്യാറാണ്"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "മുന്നറിയിപ്പുകൾ നൽകി സജീവമാക്കാൻ തയ്യാറാണ്"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "സ്വീകർത്താവ്"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "ചതുരാകൃതി (പൂർണ്ണ വീതി)"
|
||||
msgid "Redo"
|
||||
msgstr "വീണ്ടും ചെയ്യുക"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റ് എഡിറ്റ് വീണ്ടും ചെയ്യുക"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "റീസെറ്റ് ചെയ്യുക"
|
||||
msgid "Reset Password"
|
||||
msgstr "പാസ്വേഡ് റീസെറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "സ്റ്റൈൽ പുനഃസജ്ജമാക്കുക"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "പ്രയോഗിച്ച സ്റ്റൈൽഷീറ്റിലേക്ക് പുനഃസജ്ജമാക്കുക"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "നിങ്ങളുടെ ആദ്യ വിശകലനം നടത്തി ഒരു സ്കോർകാർഡ്, ശക്തികൾ, മുൻഗണനാ നിർദ്ദേശങ്ങൾ എന്നിവ നേടുക."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "തിരഞ്ഞെടുത്തു"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ഉപയോഗിച്ച് സ്വയം ഹോസ്റ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "സെമാന്റിക് CSS സ്റ്റൈൽഷീറ്റ്"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "സന്ദേശം അയയ്ക്കുക"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "സ്ട്രൈക്ക്"
|
||||
msgid "Strong fit"
|
||||
msgstr "ശക്തമായ ഫിറ്റ്"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റ് എഡിറ്റർ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റിൽ പിശകുകൾ ഉണ്ട്"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "സബ്റെഡിറ്റ്"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "നിങ്ങൾ തിരയുന്ന പേജ് നീക്ക
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "നിങ്ങൾ നൽകിയ പാസ്വേഡ് തെറ്റാണ്"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "റെസ്യൂമെ പ്രിവ്യൂ അപ്ഡേറ്റ് ചെയ്യാൻ കഴിഞ്ഞില്ല. അവസാനത്തെ സാധുവായ പ്രിവ്യൂ ഇപ്പോഴും കാണിച്ചിരിക്കുന്നു."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "നിങ്ങൾ ആക്സസ് ചെയ്യാൻ ശ്രമിക്കുന്ന റിസ്യൂം പാസ്വേഡ് സംരക്ഷിതമാണ്"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "അണ്ടർലൈൻ"
|
||||
msgid "Undo"
|
||||
msgstr "പഴയപടിയാക്കുക"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "സ്റ്റൈൽഷീറ്റ് എഡിറ്റ് പഴയപടിയാക്കുക"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "പരിമിതിയില്ലാത്ത റിസ്യൂങ്ങൾ"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "നിങ്ങളുടെ ഡാറ്റ സുരക്ഷിതമ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "നിങ്ങളുടെ ഏറ്റവും പുതിയ മാറ്റങ്ങൾ സംരക്ഷിക്കാൻ കഴിഞ്ഞില്ല."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "ഈ സെമാന്റിക് CSS ഡ്രാഫ്റ്റ് വ്യക്തമായി സജീവമാക്കുന്നതുവരെ നിങ്ങളുടെ ലെഗസി സ്റ്റൈലുകൾ സജീവമായി തുടരും."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് വിജയകരമായി റീസെറ്റ് ചെയ്തിട്ടുണ്ട്. ഇനി നിങ്ങൾക്ക് പുതിയ പാസ്വേഡ് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യാം."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: mr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Marathi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "खाते मेनू"
|
||||
msgid "Actions"
|
||||
msgstr "कृती"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "सिमँटिक CSS सक्रिय करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "वास्तविक आकार (१००%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "दर आठवड्याला पाठवलेले अर्ज (मागील 8 आठवडे)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "अर्ज केला"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "अर्ज केला"
|
||||
msgid "Applied on"
|
||||
msgstr "वर अर्ज केला"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू केलेले नियम"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "इशाऱ्यांसह लागू केले"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "तुमचा पासवर्ड रिसेट करण्या
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "तुमचे खाते पडताळण्यासाठीच्या लिंकसाठी तुमचे ईमेल तपासा."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "तपासणी"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "मसुदा तपासणे"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "चीनी (सुलभ)"
|
||||
@@ -966,6 +979,10 @@ msgstr "संभाषण कॉपी केले."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "संभाषणाचा JSON कॉपी केला."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "रूपांतरित स्टाईलशीटचा मसुदा"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "क्लिपबोर्डवर कॉपी केले."
|
||||
@@ -989,6 +1006,15 @@ msgstr "बॅकअप कोड्स कॉपी करा"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON कॉपी करा"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "गुप्त कॉपी करा"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "स्टाईलशीट कॉपी करा"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ही गुप्त key कॉपी करा आणि तुमच्या अॅप्लिकेशन्समध्ये तुमचा डेटा अॅक्सेस करण्यासाठी वापरा."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "संपादन {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "अर्ज संपादित करा"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "रंग संपादित करा {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "दुहेरी घटक ओथेंटिकेशन सेटअ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "दुहेरी घटक ओथेंटिकेशन अक्षम करण्यासाठी तुमचा पासवर्ड टाका. 2FA शिवाय तुमचे खाते कमी सुरक्षित राहील."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "त्रुटी"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "प्रत्येक योगदान, मोठे असो वा छोटे, प्रोजेक्टसाठी खूप मोठा फरक घडवते.<0/>तुमच्या पाठिंब्याबद्दल धन्यवाद!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "प्रत्येक योगदान, मोठे असो व
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "व्यावसायिक रेझ्युमे तयार, सानुकूलित आणि शेअर करण्यासाठी लागणारे सर्व काही येथेच आहे. गोपनीयतेचा विचार करून तयार केलेले, मुक्त स्रोतावर चालणारे आणि कायमस्वरूपी पूर्णपणे मोफत."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "फोकस मोडमधून बाहेर पडा"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रीनमधून बाहेर पडा"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "स्वरूप"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "फॉरमॅट स्टाईलशीट"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "मोफत"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "हलकी"
|
||||
msgid "Light theme"
|
||||
msgstr "हलकी थीम"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "ओळ {0}, स्तंभ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "रेषेची उंची"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "अद्याप कोणतीही आवृत्ती जतन
|
||||
msgid "No source data yet."
|
||||
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 "कोणताही तपासलेला प्रदाता नाही"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "नॉर्वेजियन"
|
||||
msgid "Not connected"
|
||||
msgstr "जोडलेले नाही"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "काय लिहावे हे सुचत नाहीये?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "ओपन एआय असिस्टंट"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ईमेल क्लायंट उघडा"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "फोकस मोड उघडा"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "बिल्डरमध्ये उघडा"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ओपनएआय-सुसंगत"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ओपनराऊटर"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "उघडण्यासाठी <0>Enter</0> दाबा"
|
||||
msgid "Preview"
|
||||
msgstr "पूर्वावलोकन"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "पूर्वावलोकन आणि निर्यातीसाठी शेवटची वैध आवृत्ती वापरली जाते."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "प्राथमिक रंग"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "रिॲक्टिव्ह रिझ्युमे v<0>{__APP_VERSI
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "प्रतिक्रियाशील बायोडाटा v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "कस्टम स्टाईल लागू करण्याविषयीची मार्गदर्शिका वाचा."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "वाचत आहे…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "सक्रिय करण्यासाठी तयार"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "इशाऱ्यांसह सक्रिय करण्यास तयार"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "प्राप्तकर्ता"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "आयत (पूर्ण रुंदी)"
|
||||
msgid "Redo"
|
||||
msgstr "पुन्हा करा"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "स्टाईलशीट संपादन पुन्हा करा"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "रीसेट करा"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रीसेट करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रीसेट करा"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "लागू केलेल्या स्टाईलशीटवर रीसेट करा"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "तुमचे पहिले विश्लेषण चालवा आणि स्कोरकार्ड, सामर्थ्ये आणि प्राधान्यक्रमाने सुचवलेल्या सूचना मिळवा."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "निवडले"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ने स्वतः होस्ट करा"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "सिमँटिक CSS स्टाईलशीट"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "संदेश पाठवा"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "स्ट्राइक"
|
||||
msgid "Strong fit"
|
||||
msgstr "मजबूत फिट"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "स्टाईलशीट संपादक"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "स्टाईलशीटमध्ये त्रुटी आहेत"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "सबरेडिट"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "तुम्ही शोधत असलेले पान कदा
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "तुम्ही टाकलेला पासवर्ड चुकीचा आहे"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "रेझ्युमेचा प्रिव्ह्यू अद्ययावत करता आला नाही. शेवटचा वैध प्रिव्ह्यूच अजूनही दाखवला जात आहे."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "ज्या रेझ्युमेला तुम्ही अॅक्सेस करण्याचा प्रयत्न करत आहात तो पासवर्डने संरक्षित आहे"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "अधोरेखा"
|
||||
msgid "Undo"
|
||||
msgstr "पूर्ववत करा"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "स्टाईलशीटमधील बदल पूर्ववत करा"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "अमर्यादित रेझ्युमे"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "तुमचा डेटा सुरक्षितपणे साठ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "तुमचे नवीनतम बदल जतन केले जाऊ शकले नाहीत."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "जोपर्यंत तुम्ही हा सिमेंटिक CSS ड्राफ्ट स्पष्टपणे सक्रिय करत नाही, तोपर्यंत तुमच्या जुन्या स्टाईल्स सक्रिय राहतील."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "तुमचा पासवर्ड यशस्वीरित्या रिसेट केला गेला आहे. तुम्ही आता नवीन पासवर्डने साइन इन करू शकता."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ms\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malay\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu akaun"
|
||||
msgid "Actions"
|
||||
msgstr "Tindakan"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktifkan CSS Semantik"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Saiz sebenar (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Permohonan dihantar setiap minggu (8 minggu lepas)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Dimohon"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Dimohon"
|
||||
msgid "Applied on"
|
||||
msgstr "Digunakan pada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Peraturan yang Digunakan"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Digunakan dengan amaran"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Semak e-mel anda untuk pautan bagi menetapkan semula kata laluan anda."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Semak e-mel anda untuk pautan bagi mengesahkan akaun anda."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Memeriksa"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Memeriksa draf"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Cina (Ringkas)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Perbualan disalin."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON perbualan disalin."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Draf helaian gaya yang ditukar"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Disalin ke papan keratan."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Salin Kod Sandaran"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Salin JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Salin rahsia"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Salin helaian gaya"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Salin kunci rahsia ini dan gunakan dalam aplikasi anda untuk mengakses data anda."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Sunting {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edit aplikasi"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Sunting warna {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Masukkan kata laluan anda untuk mengesahkan penyediaan pengesahan dua fa
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Masukkan kata laluan anda untuk melumpuhkan pengesahan dua faktor. Akaun anda akan menjadi kurang selamat tanpa 2FA diaktifkan."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Ralat"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Setiap sumbangan, besar atau kecil, memberi perbezaan besar kepada projek ini.<0/>Terima kasih atas sokongan anda!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Setiap sumbangan, besar atau kecil, memberi perbezaan besar kepada proje
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Segala yang anda perlukan untuk mencipta, menyesuaikan dan berkongsi resume profesional. Dibina dengan mengambil kira privasi, dikuasakan oleh sumber terbuka dan benar-benar percuma selama-lamanya."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Keluar dari mod fokus"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Keluar dari Skrin Penuh"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Helaian gaya format"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Percuma"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Cerah"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema cerah"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Baris {0}, lajur {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Tinggi Baris"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Tiada versi yang disimpan lagi."
|
||||
msgid "No source data yet."
|
||||
msgstr "Tiada data sumber lagi."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norwegian"
|
||||
msgid "Not connected"
|
||||
msgstr "Tidak bersambung"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Tidak pasti apa yang perlu ditulis?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Pembantu AI terbuka"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Buka Klien E-mel"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Mod fokus terbuka"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Buka dalam pembina"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Serasi dengan OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Tekan <0>Enter</0> untuk membuka"
|
||||
msgid "Preview"
|
||||
msgstr "Pratonton"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Pratonton dan eksport gunakan versi terakhir yang sah."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Warna Utama"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Resume Reaktif v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktif Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Baca panduan Menggunakan Gaya Tersuai."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Membaca…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Bersedia untuk diaktifkan"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Bersedia untuk diaktifkan dengan amaran"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Penerima"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Segi empat tepat (Lebar Penuh)"
|
||||
msgid "Redo"
|
||||
msgstr "Buat semula"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Buat semula suntingan helaian gaya"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Tetapkan semula kepada helaian gaya yang digunakan"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "dipilih"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Hos Sendiri dengan Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Helaian gaya CSS semantik"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Hantar mesej"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Coret"
|
||||
msgid "Strong fit"
|
||||
msgstr "Kuat sesuai"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor helaian gaya"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Helaian gaya mempunyai ralat"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Halaman yang anda cari mungkin telah dipindahkan atau tidak lagi wujud."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Kata laluan yang anda masukkan adalah tidak betul"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Pratonton resume tidak dapat dikemas kini. Pratonton sah terakhir masih dipaparkan."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Resume yang anda cuba akses dilindungi kata laluan"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Garis Bawah"
|
||||
msgid "Undo"
|
||||
msgstr "Buat asal"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Buat asal suntingan helaian gaya"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Resume Tanpa Had"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Data anda disimpan dengan selamat dan tidak pernah dikongsi dengan pihak
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Perubahan terkini anda tidak dapat disimpan."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Gaya legasi anda kekal aktif sehingga anda mengaktifkan draf CSS Semantik ini secara eksplisit."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Kata laluan anda telah berjaya ditetapkan semula. Anda kini boleh log masuk dengan kata laluan baharu anda."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ne\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Nepali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "खाता मेनु"
|
||||
msgid "Actions"
|
||||
msgstr "कार्यहरू"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "सिमेन्टिक CSS सक्रिय गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "वास्तविक आकार (१००%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "प्रति हप्ता पठाइएका आवेदनहरू (पछिल्ला 8 हप्ता)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "आवेदन गरियो"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "आवेदन गरियो"
|
||||
msgid "Applied on"
|
||||
msgstr "मा लागू गरियो"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "लागू नियमहरू"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "चेतावनीहरू सहित लागू गरियो"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "पासवर्ड रिसेट गर्न लिङ्कको
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "खाताको यकिन गर्न लिङ्कको लागि आफ्नो इमेल जाँच गर्नुहोस्।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "जाँच गर्दै"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "मस्यौदा जाँच गर्दै"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "चिनियाँ (सरल)"
|
||||
@@ -966,6 +979,10 @@ msgstr "कुराकानीको प्रतिलिपि बनाइ
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "कुराकानी JSON प्रतिलिपि गरियो।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "रूपान्तरित स्टाइलसिट ड्राफ्ट"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "क्लिपबोर्डमा प्रतिलिपि गरियो।"
|
||||
@@ -989,6 +1006,15 @@ msgstr "ब्याकअप कोडहरू प्रतिलिपि ग
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON प्रतिलिपि गर्नुहोस्"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "गोप्य कुरा प्रतिलिपि गर्नुहोस्"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "स्टाइलसिट प्रतिलिपि गर्नुहोस्"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "यो गोप्य key प्रतिलिपि गरेर आफ्ना अनुप्रयोगहरूमा प्रयोग गर्नुहोस् ताकि तपाईंको डाटामा पहुँच गर्न सकियोस्।"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "सम्पादन {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "आवेदन सम्पादन गर्नुहोस्"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "रङ सम्पादन गर्नुहोस् {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "दुई-कारक प्रमाणीकरण सेटअप
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "दुई-कारक प्रमाणीकरण अक्षम गर्न आफ्नो पासवर्ड प्रविष्ट गर्नुहोस्। २FA सक्रिय नभएको अवस्थामा तपाईंको खाता कम सुरक्षित हुनेछ।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "त्रुटि"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ठुलो होस् वा सानो, प्रत्येक योगदानले परियोजनामा ठूलो फरक पार्छ।<0/>तपाईंको सहयोगका लागि धन्यवाद!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ठुलो होस् वा सानो, प्रत्येक
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "व्यावसायिक बायोडाटा बनाउन, अनुकूल बनाउन र सेयर गर्न आवश्यक सबै कुरा एकै ठाउँमा। गोपनीयतालाई प्राथमिकता दिँदै, खुला-स्रोतको सहायतामा निर्माण गरिएको, र पूर्ण रूपमा निःशुल्क, सधैंका लागि।"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "फोकस मोडबाट बाहिर निस्कनुहोस्"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रिनबाट बाहिर निस्कनुहोस्"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ढाँचा"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "शैलीपाना ढाँचाबद्ध गर्नुहोस्"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "निःशुल्क"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ल्याइट"
|
||||
msgid "Light theme"
|
||||
msgstr "ल्याइट थिम"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "रेखा {0}, स्तम्भ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "लाइन उचाइ (Line Height)"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "अहिलेसम्म कुनै पनि सुरक्षि
|
||||
msgid "No source data yet."
|
||||
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 "परीक्षण गरिएको कुनै प्रदायक छैन"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "नर्वेजियन"
|
||||
msgid "Not connected"
|
||||
msgstr "जडान गरिएको छैन"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "के लेख्ने भनेर निश्चित हुनुहुन्न?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "एआई सहायक खोल्नुहोस्"
|
||||
msgid "Open Email Client"
|
||||
msgstr "इमेल क्लाइन्ट खोल्नुहोस्"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "फोकस मोड खोल्नुहोस्"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "बिल्डरमा खोल्नुहोस्"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "ओपनएआई-कम्प्याटिबल"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ओपनराउटर"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "खोल्न <0>Enter</0> थिच्नुहोस्"
|
||||
msgid "Preview"
|
||||
msgstr "पूर्वावलोकन"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "पूर्वावलोकन र निर्यात अन्तिम मान्य संस्करण प्रयोग गर्नुहोस्।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "मुख्य रङ"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "प्रतिक्रियाशील रिजुमे v<0>{__APP
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "प्रतिक्रियाशील बायोडाटा v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "अनुकूलन शैलीहरू लागू गर्ने गाइड पढ्नुहोस्।"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "पढ्दै…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "सक्रिय गर्न तयार छ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "चेतावनी सहित सक्रिय गर्न तयार"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "प्राप्तकर्ता"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "आयत (पूर्ण चौडाइ)"
|
||||
msgid "Redo"
|
||||
msgstr "पुन: गर्नुहोस्"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "शैलीपत्र सम्पादन पुन: गर्नुहोस्"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "रिसेट गर्नुहोस्"
|
||||
msgid "Reset Password"
|
||||
msgstr "पासवर्ड रिसेट गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "शैली रिसेट गर्नुहोस्"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "लागू गरिएको शैली पानामा रिसेट गर्नुहोस्"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "स्कोरकार्ड, शक्तिहरू, र प्राथमिकता दिइएका सुझावहरू प्राप्त गर्न आफ्नो पहिलो विश्लेषण चलाउनुहोस्।"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "चयन गरियो"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker प्रयोग गरेर आफैं होस्ट गर्नुहोस्"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "अर्थपूर्ण CSS शैली पाना"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "सन्देश पठाउनुहोस्"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "स्ट्राइक (Strikethrough)"
|
||||
msgid "Strong fit"
|
||||
msgstr "बलियो फिट"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "स्टाइलसिट सम्पादक"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "स्टाइलसिटमा त्रुटिहरू छन्"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "सबरेडिट"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "तपाईंले खोजिरहनुभएको पृष्
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "तपाईंले प्रविष्ट गर्नुभएको पासवर्ड सही छैन"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "रिजुमे पूर्वावलोकन अद्यावधिक गर्न सकिएन। अन्तिम मान्य पूर्वावलोकन अझै देखाइएको छ।"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "तपाईं पहुँच गर्न खोजिरहनुभएको बायोडाटा पासवर्डद्वारा सुरक्षित गरिएको छ"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "अन्डरलाइन"
|
||||
msgid "Undo"
|
||||
msgstr "पूर्ववत गर्नुहोस्"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "शैलीपत्र सम्पादन पूर्ववत गर्नुहोस्"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "असीमित बायोडाटाहरू"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "तपाईंको डाटा सुरक्षित रूपम
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "तपाईंका पछिल्ला परिवर्तनहरू सुरक्षित गर्न सकिएन।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "तपाईंले यो सिमेन्टिक CSS ड्राफ्ट स्पष्ट रूपमा सक्रिय नगरेसम्म तपाईंको लिगेसी शैलीहरू सक्रिय रहन्छन्।"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "तपाईंको पासवर्ड सफलतापूर्वक रिसेट भयो। अब नयाँ पासवर्ड प्रयोग गरेर साइन इन गर्न सक्नुहुन्छ।"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Accountmenu"
|
||||
msgid "Actions"
|
||||
msgstr "Acties"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activeer semantische CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Werkelijke grootte (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Sollicitaties per week verstuurd (laatste 8 weken)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Gesolliciteerd"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Gesolliciteerd"
|
||||
msgid "Applied on"
|
||||
msgstr "Toegepast op"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Toegepaste regels"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Toegepast met waarschuwingen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Controleer uw e-mail voor een link om uw wachtwoord te resetten."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Controleer uw e-mail voor een link om uw account te verifiëren."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Controleren"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Concept controleren"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinees (vereenvoudigd)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Gesprek gekopieerd."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Het JSON-bestand van het gesprek is gekopieerd."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Omgezette stylesheet-concept"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Gekopieerd naar klembord."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Back-upcodes kopiëren"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON kopiëren"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopieer geheim"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Stijlpagina kopiëren"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopieer deze geheime sleutel en gebruik deze in uw applicaties om toegang te krijgen tot uw gegevens."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Bewerk {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Applicatie bewerken"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Kleur bewerken {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Voer uw wachtwoord in om het instellen van tweestapsverificatie te beves
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Voer uw wachtwoord in om tweestapsverificatie uit te schakelen. Uw account is minder goed beveiligd zonder 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Elke bijdrage, groot of klein, maakt een enorm verschil voor het project.<0/>Bedankt voor uw steun!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Elke bijdrage, groot of klein, maakt een enorm verschil voor het project
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Alles wat u nodig heeft om professionele cv's te maken, aan te passen en te delen. Gebouwd met privacy in gedachten, aangedreven door open source en volledig gratis, voor altijd."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Focusmodus verlaten"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Volledig scherm afsluiten"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formaat"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Stijlpagina opmaken"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Licht"
|
||||
msgid "Light theme"
|
||||
msgstr "Licht thema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Regel {0}, kolom {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Regelafstand"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Er zijn nog geen opgeslagen versies."
|
||||
msgid "No source data yet."
|
||||
msgstr "Nog geen brongegevens."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Noors"
|
||||
msgid "Not connected"
|
||||
msgstr "Niet verbonden"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Weet je niet wat je moet schrijven?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Open AI-assistent"
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-mailclient openen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Focusmodus openen"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Openen in builder"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-compatibel"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Druk op <0>Enter</0> om te openen"
|
||||
msgid "Preview"
|
||||
msgstr "Voorbeeld"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Voor het bekijken en exporteren wordt de laatst geldige versie gebruikt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primaire kleur"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reactief hervatten v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactieve cv v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lees de handleiding 'Aangepaste stijlen toepassen'."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lezen…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Klaar om te activeren"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Klaar voor activering met waarschuwingen"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Ontvanger"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rechthoek (volledige breedte)"
|
||||
msgid "Redo"
|
||||
msgstr "Opnieuw doen"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Stijlpagina bewerken opnieuw uitvoeren"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Terugzetten naar toegepaste stijlblad"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "geselecteerd"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Zelf hosten met Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantische CSS-stijlpagina"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Bericht verzenden"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Doorhalen"
|
||||
msgid "Strong fit"
|
||||
msgstr "Sterke pasvorm"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stijlpagina-editor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Het stylesheet bevat fouten."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "De pagina die u zoekt is mogelijk verplaatst of bestaat niet meer."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Het ingevoerde wachtwoord is onjuist"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "De cv-preview kon niet worden bijgewerkt. De laatst geldige preview wordt nog steeds weergegeven."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Het cv dat u probeert te openen, is met een wachtwoord beveiligd"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Onderstrepen"
|
||||
msgid "Undo"
|
||||
msgstr "Ongedaan maken"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Stijlbewerking ongedaan maken"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Onbeperkte cv's"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Uw gegevens worden veilig opgeslagen en nooit met derden gedeeld. U kunt
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Je laatste wijzigingen konden niet worden opgeslagen."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Uw oude stijlen blijven actief totdat u dit concept van Semantische CSS expliciet activeert."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Uw wachtwoord is succesvol gereset. U kunt nu met uw nieuwe wachtwoord inloggen."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: no\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Konto-meny"
|
||||
msgid "Actions"
|
||||
msgstr "Handlinger"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktiver semantisk CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Faktisk størrelse (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Søknader sendt per uke (siste 8 uker)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Søkt"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Søkt"
|
||||
msgid "Applied on"
|
||||
msgstr "Påført på"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Anvendte regler"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Brukes med advarsler"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Sjekk e-posten din for en lenke for å tilbakestille passordet."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Sjekk e-posten din for en lenke for å bekrefte kontoen din."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Sjekker"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Sjekker utkast"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kinesisk (forenklet)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Samtalen er kopiert."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Samtalens JSON-fil er kopiert."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konvertert stilarkutkast"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopiert til utklippstavlen."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopier sikkerhetskopieringskoder"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopier JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopier hemmelighet"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopier stilark"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopier denne hemmelige nøkkelen og bruk den i applikasjonene dine for å få tilgang til dataene dine."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Rediger {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Rediger søknad"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Rediger farge {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Skriv inn passordet ditt for å bekrefte at du vil sette opp tofaktoraut
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Skriv inn passordet ditt for å deaktivere tofaktorautentisering. Kontoen din vil være mindre sikker uten aktivert 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Feil"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Hvert bidrag, stort eller lite, gjør en enorm forskjell for prosjektet.<0/>Takk for støtten!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Hvert bidrag, stort eller lite, gjør en enorm forskjell for prosjektet.
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Alt du trenger for å opprette, tilpasse og dele profesjonelle CV-er. Bygget med personvern i fokus, drevet av åpen kildekode og helt gratis for alltid."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Gå ut av fokusmodus"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Avslutt fullskjerm"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formater stilark"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Lyst"
|
||||
msgid "Light theme"
|
||||
msgstr "Lyst tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linje {0}, kolonne {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Linjehøyde"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Ingen lagrede versjoner ennå."
|
||||
msgid "No source data yet."
|
||||
msgstr "Ingen kildedata ennå."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norsk"
|
||||
msgid "Not connected"
|
||||
msgstr "Ikke tilkoblet"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Usikker på hva du skal skrive?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Åpne AI-assistenten"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Åpne e-postklient"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Åpne fokusmodus"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Åpne i byggeren"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-kompatibel"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Trykk <0>Enter</0> for å åpne"
|
||||
msgid "Preview"
|
||||
msgstr "Forhåndsvisning"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Forhåndsvisning og eksport med den siste gyldige versjonen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hovedfarge"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiv CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Les veiledningen for bruk av tilpassede stiler."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Leser …"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Klar til å aktiveres"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Klar til aktivering med advarsler"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Mottaker"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rektangel (full bredde)"
|
||||
msgid "Redo"
|
||||
msgstr "Gjør om"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Gjør om redigeringen av stilark"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Tilbakestill til brukt stilark"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "valgt"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selvhosting med Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantisk CSS-stilark"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Send melding"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Gjennomstreking"
|
||||
msgid "Strong fit"
|
||||
msgstr "Sterk passform"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stilarkredigeringsprogram"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stilarket inneholder feil"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Siden du leter etter kan ha blitt flyttet eller finnes ikke lenger."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Passordet du skrev inn er feil"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Forhåndsvisningen av CV-en kunne ikke oppdateres. Den siste gyldige forhåndsvisningen vises fortsatt."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV-en du prøver å få tilgang til er passordbeskyttet"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Understrek"
|
||||
msgid "Undo"
|
||||
msgstr "Angre"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Angre redigering av stilark"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Ubegrenset antall CV-er"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Dataene dine lagres sikkert og deles aldri med tredjeparter. Du kan ogs
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "De siste endringene dine kunne ikke lagres."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Dine eldre stiler forblir aktive inntil du eksplisitt aktiverer dette semantiske CSS-utkastet."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Passordet ditt er tilbakestilt. Du kan nå logge inn med det nye passordet ditt."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: or\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Odia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "ଆକାଉଣ୍ଟ ମେନୁ"
|
||||
msgid "Actions"
|
||||
msgstr "କାର୍ଯ୍ୟଗୁଡ଼ିକ"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "ସିମାଣ୍ଟିକ୍ CSS ସକ୍ରିୟ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "ପ୍ରକୃତ ଆକାର (୧୦୦%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "ପ୍ରତି ସପ୍ତାହରେ ପଠାଯାଇଥିବା ଆବେଦନ (ଗତ 8 ସପ୍ତାହ)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "ଆବେଦନ କରାଯାଇଛି"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "ଆବେଦନ କରାଯାଇଛି"
|
||||
msgid "Applied on"
|
||||
msgstr "ପ୍ରୟୋଗ ହୋଇଛି |"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "ଲାଗୁ ହୋଇଥିବା ନିୟମଗୁଡ଼ିକ"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "ଚେତାବନୀ ସହିତ ଲାଗୁ କରାଯାଇଛି"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ପୁନଃସେଟ୍ କ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ସତ୍ୟାପନ କରିବା ପାଇଁ ଲିଙ୍କ ପାଇଁ ଆପଣଙ୍କ ଇମେଲ୍ ଯାଞ୍ଚ କରନ୍ତୁ।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "ଯାଞ୍ଚ କରାଯାଉଛି"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "ଡ୍ରାଫ୍ଟ ଯାଞ୍ଚ କରାଯାଉଛି"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "ଚାଇନିଜ୍ (ସରଳୀକୃତ)"
|
||||
@@ -966,6 +979,10 @@ msgstr "ବାର୍ତ୍ତାଳାପ କପି କରାଯାଇଛି।"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "ବାର୍ତ୍ତାଳାପ JSON କପି କରାଯାଇଛି।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "ରୂପାନ୍ତରିତ ଷ୍ଟାଇଲସିଟ୍ ଡ୍ରାଫ୍ଟ"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "କ୍ଲିପବୋର୍ଡରେ କପି କରାଯାଇଛି |"
|
||||
@@ -989,6 +1006,15 @@ msgstr "ବ୍ୟାକଅପ୍ କୋଡଗୁଡିକ କପି କରନ୍
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON କପି କରନ୍ତୁ"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "ଗୁପ୍ତ ଟୋକନ୍ କପି କରନ୍ତୁ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟ୍ କପି କରନ୍ତୁ"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ଏହି ଗୁପ୍ତ କିକୁ କପି କରନ୍ତୁ ଏବଂ ଆପଣଙ୍କ ଆପ୍ଲିକେସନ୍ରେ ଆପଣଙ୍କ ତଥ୍ୟ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ବ୍ୟବହାର କରନ୍ତୁ।"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "{chip} ସମ୍ପାଦନ କରନ୍ତୁ"
|
||||
msgid "Edit application"
|
||||
msgstr "ପ୍ରୟୋଗ ସଂପାଦନ କରନ୍ତୁ |"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "ରଙ୍ଗ ସମ୍ପାଦନ କରନ୍ତୁ {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ ଅସକ୍ରିୟ କରିବା ପାଇଁ ଆପଣଙ୍କ ପାସୱାର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ। 2FA ସକ୍ରିୟ ନ ଥିଲେ ଆପଣଙ୍କ ଆକାଉଣ୍ଟ କମ୍ ସୁରକ୍ଷିତ ହେବ।"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "ତ୍ରୁଟି"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ପ୍ରତ୍ୟେକ ଅବଦାନ, ବଡ଼ କିମ୍ବା ଛୋଟ, ପ୍ରକଳ୍ପ ପାଇଁ ବିଶେଷ ପରିବର୍ତ୍ତନ ଆଣେ।<0/>ଆପଣଙ୍କ ସମର୍ଥନ ପାଇଁ ଧନ୍ୟବାଦ!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ପ୍ରତ୍ୟେକ ଅବଦାନ, ବଡ଼ କିମ୍ବା
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "ପେଶାଦାର ରେଜ୍ୟୁମେ ତିଆରି, କଷ୍ଟମାଇଜ୍ ଏବଂ ସେୟାର କରିବାକୁ ଆପଣଙ୍କୁ ଯାହା କିଛି ଆବଶ୍ୟକ ସମସ୍ତ ଏଥିରେ ଅଛି। ଗୋପନୀୟତା ଧ୍ୟାନରେ ରଖି ନିର୍ମିତ, ଖୋଲା‑ମୂଳ ଦ୍ୱାରା ଶକ୍ତିଶାଳୀ ହୋଇଛି, ଏବଂ ସଂପୂର୍ଣ୍ଣ ଭାବରେ ସଦା ପାଇଁ ନିଶୁଳ୍କ।"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ଫୋକସ୍ ମୋଡ୍ରୁ ବାହାରି ଯାଆନ୍ତୁ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରୁ ବାହାରକୁ ଆସନ୍ତୁ"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ରୂପରେଖା (Format)"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟ୍ ଫର୍ମାଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ନିଶୁଳ୍କ"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "ଲାଇଟ୍"
|
||||
msgid "Light theme"
|
||||
msgstr "ଲାଇଟ୍ ଥିମ୍"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "ଧାଡି {0}, ସ୍ତମ୍ଭ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "ଲାଇନ୍ ଉଚ୍ଚତା"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "ଏପର୍ଯ୍ୟନ୍ତ କୌଣସି ସେଭ୍ କରାଯ
|
||||
msgid "No source data yet."
|
||||
msgstr "ଏପର୍ଯ୍ୟନ୍ତ କ source ଣସି ଉତ୍ସ ତଥ୍ୟ ନାହିଁ |"
|
||||
|
||||
#: 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 "କୌଣସି ପରୀକ୍ଷିତ ପ୍ରଦାନକାରୀ ନାହାଁନ୍ତି"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "ନରୱେଜିଆନ୍"
|
||||
msgid "Not connected"
|
||||
msgstr "ସଂଯୁକ୍ତ ହୋଇନାହିଁ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "କଣ ଲେଖିବେ ନିଶ୍ଚିତ ନୁହଁନ୍ତି?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "AI ଆସିଷ୍ଟାଣ୍ଟ ଖୋଲନ୍ତୁ"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ଇମେଲ୍ କ୍ଲାୟେଣ୍ଟ ଖୋଲନ୍ତୁ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ଫୋକସ୍ ମୋଡ୍ ଖୋଲନ୍ତୁ"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "ବିଲ୍ଡରରେ ଖୋଲନ୍ତୁ"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-ସୁସଙ୍ଗତ"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "ଖୋଲିବା ପାଇଁ <0>Enter</0> ଦବାନ୍ତୁ"
|
||||
msgid "Preview"
|
||||
msgstr "ପୂର୍ବାବଲୋକନ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ପୂର୍ବାବଲୋକନ ଏବଂ ରପ୍ତାନି ଶେଷ ବୈଧ ସଂସ୍କରଣ ବ୍ୟବହାର କରନ୍ତୁ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ମୁଖ୍ୟ ରଙ୍ଗ"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "ପ୍ରତିକ୍ରିୟାଶୀଳ ରିଜ୍ୟୁମ୍ v<0>
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "କଷ୍ଟମ୍ ଷ୍ଟାଇଲ୍ସ ପ୍ରୟୋଗ କରିବା ଗାଇଡ୍ ପଢ଼ନ୍ତୁ।"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "ପ Reading ିବା…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "ସକ୍ରିୟ କରିବାକୁ ପ୍ରସ୍ତୁତ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "ଚେତାବନୀ ସହିତ ସକ୍ରିୟ କରିବାକୁ ପ୍ରସ୍ତୁତ"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "ପ୍ରାପ୍ତକର୍ତ୍ତା"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "ଆୟାତାକାର (ପୁରା ପ୍ରସ୍ଥ)"
|
||||
msgid "Redo"
|
||||
msgstr "ପୁନଃକରିଦିଅନ୍ତୁ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟ୍ ସମ୍ପାଦନ ପୁନଃକରିବା"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "ରିସେଟ୍ କରନ୍ତୁ"
|
||||
msgid "Reset Password"
|
||||
msgstr "ପାସୱାର୍ଡ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "ଷ୍ଟାଇଲ୍ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "ଲାଗୁ ହୋଇଥିବା ଷ୍ଟାଇଲସିଟକୁ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "ସ୍କୋରକାର୍ଡ, ଶକ୍ତି ଏବଂ ପ୍ରାଥମିକତାଭିତ୍ତିକ ପରାମର୍ଶ ପାଇବା ପାଇଁ ଆପଣଙ୍କ ପ୍ରଥମ ବିଶ୍ଳେଷଣ ଚଲାନ୍ତୁ।"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "ମନୋନୀତ |"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ସହ ସ୍ୱୟଂ‑ହୋଷ୍ଟ କରନ୍ତୁ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "ଅର୍ଥଗତ CSS ଷ୍ଟାଇଲସିଟ୍"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "ମେସେଜ୍ ପଠାନ୍ତୁ"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "ଷ୍ଟ୍ରାଇକ୍"
|
||||
msgid "Strong fit"
|
||||
msgstr "ଶକ୍ତିଶାଳୀ ଫିଟ୍ |"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟ୍ ଏଡିଟର୍"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟରେ ତ୍ରୁଟି ଅଛି"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "ସବ୍ରେଡିଟ୍ (Subreddit)"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "ଆପଣ ଖୋଜୁଥିବା ପୃଷ୍ଠାଟି ହୁଏତ
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "ଆପଣ ଯେ ପାସୱାର୍ଡ ପ୍ରବେଶ କରିଛନ୍ତି ସେଥା ଭୁଲ୍"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "ରିଜ୍ୟୁମ୍ ପ୍ରିଭ୍ୟୁ ଅପଡେଟ୍ କରାଯାଇପାରିଲା ନାହିଁ। ଶେଷ ବୈଧ ପ୍ରିଭ୍ୟୁ ଏବେ ବି ଦେଖାଯାଉଛି।"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "ଯେ ରେଜ୍ୟୁମେକୁ ଆପଣ ଆକ୍ସେସ୍ କରିବାକୁ ଚେଷ୍ଟା କରୁଛନ୍ତି ଏହା ପାସୱାର୍ଡ ସୁରକ୍ଷିତ"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "ଅଣ୍ଡର୍ଲାଇନ୍"
|
||||
msgid "Undo"
|
||||
msgstr "ପୂର୍ବବତ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "ଷ୍ଟାଇଲସିଟ୍ ସମ୍ପାଦନକୁ ପୂର୍ବବତ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "ଅସୀମିତ ରେଜ୍ୟୁମେଗୁଡିକ"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "ଆପଣଙ୍କ ତଥ୍ୟ ସୁରକ୍ଷିତ ଭାବରେ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "ଆପଣଙ୍କର ନବୀନତମ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ସେଭ୍ କରାଯାଇପାରିଲା ନାହିଁ।"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "ଆପଣ ଏହି ସେମାଣ୍ଟିକ୍ CSS ଡ୍ରାଫ୍ଟକୁ ସ୍ପଷ୍ଟ ଭାବରେ ସକ୍ରିୟ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଆପଣଙ୍କର ଲିଗାସୀ ଷ୍ଟାଇଲ୍ ସକ୍ରିୟ ରହିବ।"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ସଫଳତାର ସହ ପୁନଃ ସେଟ୍ କରାଯାଇଛି। ଆପଣ ଏବେ ନୂତନ ପାସୱାର୍ଡ ସହ ସାଇନ୍ ଇନ୍ କରିପାରିବେ।"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu konta"
|
||||
msgid "Actions"
|
||||
msgstr "Działania"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktywuj semantyczny CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Rzeczywisty rozmiar (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Aplikacje wysłane tygodniowo (ostatnie 8 tygodni)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Złożono aplikację"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Złożono aplikację"
|
||||
msgid "Applied on"
|
||||
msgstr "Zastosowano"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Zastosowane zasady"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Zastosowano z ostrzeżeniami"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Sprawdź swoją skrzynkę e-mail, aby znaleźć link do zresetowania has
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Sprawdź swoją skrzynkę e-mail, aby znaleźć link do weryfikacji konta."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Sprawdzanie wersji roboczej"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chiński (uproszczony)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Skopiowano konwersację."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Skopiowano plik JSON rozmowy."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Przekonwertowany projekt arkusza stylów"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Skopiowano do schowka."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Skopiuj kody zapasowe"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopiuj JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopiuj sekret"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopiuj arkusz stylów"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Skopiuj ten tajny klucz i użyj go w swoich aplikacjach, aby uzyskać dostęp do swoich danych."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Proszę edytować {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Edytuj aplikację"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Edytuj kolor {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Wprowadź hasło, aby potwierdzić konfigurację uwierzytelniania dwusk
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Wprowadź hasło, aby wyłączyć uwierzytelnianie dwuskładnikowe. Twoje konto będzie mniej bezpieczne bez włączonego 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Każdy wkład, mały czy duży, ma ogromne znaczenie dla projektu.<0/>Dziękujemy za wsparcie!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Każdy wkład, mały czy duży, ma ogromne znaczenie dla projektu.<0/>Dz
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Wszystko, czego potrzebujesz, aby tworzyć, dostosowywać i udostępniać profesjonalne CV. Zbudowane z myślą o prywatności, oparte na open source i całkowicie darmowe na zawsze."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Wyjdź z trybu ostrości"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Wyjdź z trybu pełnoekranowego"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatuj arkusz stylów"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Darmowe"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Jasny"
|
||||
msgid "Light theme"
|
||||
msgstr "Jasny motyw"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linia {0}, kolumna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Wysokość wiersza"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Brak zapisanych wersji."
|
||||
msgid "No source data yet."
|
||||
msgstr "Brak jeszcze danych źródłowych."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norweski"
|
||||
msgid "Not connected"
|
||||
msgstr "Nie połączony"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nie wiesz co napisać?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Otwarty asystent AI"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otwórz klienta poczty e-mail"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Otwórz tryb ostrości"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Otwórz w kreatorze"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Zgodny z OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Proszę wcisnąć <0>Enter</0>, aby otworzyć"
|
||||
msgid "Preview"
|
||||
msgstr "Zapowiedź"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Podczas podglądu i eksportu użyj ostatniej ważnej wersji."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Kolor główny"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktywne CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Przeczytaj przewodnik Stosowanie niestandardowych stylów."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Czytanie…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Gotowy do aktywacji"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Gotowy do aktywacji z ostrzeżeniami"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Odbiorca"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Prostokąt (pełna szerokość)"
|
||||
msgid "Redo"
|
||||
msgstr "Przerobić"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Ponów edycję arkusza stylów"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Resetuj do zastosowanego arkusza stylów"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "wybrane"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Samodzielny hosting z Dockerem"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Arkusz stylów CSS semantyczny"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Wyślij wiadomość"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Przekreślenie"
|
||||
msgid "Strong fit"
|
||||
msgstr "Mocne dopasowanie"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Edytor arkuszy stylów"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Arkusz stylów zawiera błędy"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Strona, której szukasz, mogła zostać przeniesiona lub już nie istnie
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Wprowadzone hasło jest nieprawidłowe"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Nie udało się zaktualizować podglądu CV. Nadal wyświetlany jest ostatni prawidłowy podgląd."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV, do którego próbujesz uzyskać dostęp, jest chronione hasłem"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Podkreślenie"
|
||||
msgid "Undo"
|
||||
msgstr "Anulować"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Cofnij edycję arkusza stylów"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Nielimitowana liczba CV"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Twoje dane są przechowywane w bezpieczny sposób i nigdy nie są udost
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Nie udało się zapisać ostatnich zmian."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Twoje starsze style pozostaną aktywne, dopóki wyraźnie nie aktywujesz tego projektu semantycznego CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Twoje hasło zostało pomyślnie zresetowane. Możesz teraz zalogować się przy użyciu nowego hasła."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu da conta"
|
||||
msgid "Actions"
|
||||
msgstr "Ações"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Ativar CSS Semântico"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Tamanho real (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidaturas enviadas por semana (últimas 8 semanas)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Aplicado"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Aplicado"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplicado em"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regras Aplicadas"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Aplicado com ressalvas."
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Verifique seu email em busca de um link para redefinir sua senha."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Verifique seu email em busca de um link para verificar sua conta."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Verificando"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Verificando rascunho"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinês (Simplificado)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversa copiada."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON da conversa copiado."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Rascunho da folha de estilo convertida"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiado para a área de transferência."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copiar códigos de backup"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copiar JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copiar segredo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copiar folha de estilo"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copie esta chave secreta e use-a em seus aplicativos para acessar seus dados."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Editar {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Editar aplicativo"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Editar cor {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Digite sua senha para confirmar a configuração da autenticação de do
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Digite sua senha para desativar a autenticação de dois fatores. Sua conta ficará menos segura sem o 2FA ativado."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Cada contribuição, grande ou pequena, faz uma enorme diferença para o projeto.<0/>Obrigado pelo seu apoio!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Cada contribuição, grande ou pequena, faz uma enorme diferença para o
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tudo o que você precisa para criar, personalizar e compartilhar currículos profissionais. Construído com foco na privacidade, impulsionado por código aberto e completamente gratuito para sempre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Sair do modo de foco"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Sair da tela cheia"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formatar"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatar folha de estilo"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Claro"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema claro"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linha {0}, coluna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Altura da linha"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Ainda não há versões salvas."
|
||||
msgid "No source data yet."
|
||||
msgstr "Ainda não há dados de origem."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norueguês"
|
||||
msgid "Not connected"
|
||||
msgstr "Não conectado"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Não sabe o que escrever?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Assistente de IA aberta"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Modo de foco aberto"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Abrir no construtor"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatível com OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Pressione <0>Enter</0> para abrir"
|
||||
msgid "Preview"
|
||||
msgstr "Pré-visualização"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "A pré-visualização e a exportação utilizam a última versão válida."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Cor primária"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Retomar reativo v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Currículo reativo v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Leia o guia Aplicando Estilos Personalizados."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lendo…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Pronto para ativar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Pronto para ativar com avisos"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatário"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Retângulo (largura total)"
|
||||
msgid "Redo"
|
||||
msgstr "Refazer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Refazer edição da folha de estilo"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Redefinir para a folha de estilo aplicada"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "selecionado"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto-hospedagem com Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Folha de estilo CSS semântica"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Enviar mensagem"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Tachar"
|
||||
msgid "Strong fit"
|
||||
msgstr "Ajuste forte"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor de folhas de estilo"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "A folha de estilo contém erros."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "A página que você está procurando pode ter sido movida ou não existi
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "A senha que você digitou está incorreta"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Não foi possível atualizar a pré-visualização do currículo. A última pré-visualização válida ainda está sendo exibida."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "O currículo que você está tentando acessar está protegido por senha"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Sublinhar"
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Desfazer edição da folha de estilo"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Currículos ilimitados"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Seus dados são armazenados com segurança e nunca são compartilhados c
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Não foi possível salvar suas últimas alterações."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Seus estilos legados permanecerão ativos até que você ative explicitamente este rascunho de CSS Semântico."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Sua senha foi redefinida com sucesso. Agora você pode entrar com sua nova senha."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu da conta"
|
||||
msgid "Actions"
|
||||
msgstr "Ações"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Ativar CSS Semântico"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Tamanho real (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidaturas enviadas por semana (últimas 8 semanas)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Candidatura enviada"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Candidatura enviada"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplicado em"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Regras Aplicadas"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Aplicado com reservas."
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Verifique o seu email para obter um link para repor a sua senha."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Verifique o seu email para obter um link para verificar a sua conta."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Verificando"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Verificando rascunho"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinês (simplificado)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversa copiada."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON da conversa copiado."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Rascunho da folha de estilo convertida"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiado para a área de transferência."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copiar códigos de backup"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copiar JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copiar segredo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copiar folha de estilo"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copie esta chave secreta e utilize-a nas suas aplicações para aceder aos seus dados."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Edite {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Editar aplicação"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Editar cor {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Introduza a sua senha para confirmar a configuração da autenticação
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Introduza a sua senha para desativar a autenticação de dois fatores. A sua conta ficará menos segura sem a 2FA ativada."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Cada contribuição, grande ou pequena, faz uma enorme diferença para o projeto.<0/>Obrigado pelo seu apoio!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Cada contribuição, grande ou pequena, faz uma enorme diferença para o
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tudo o que precisa para criar, personalizar e partilhar currículos profissionais. Criado com a privacidade em mente, alimentado por código aberto e completamente gratuito para sempre."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Sair do modo de focagem"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Sair do ecrã inteiro"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatar folha de estilos"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Grátis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Modo claro"
|
||||
msgid "Light theme"
|
||||
msgstr "Tema claro"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linha {0}, coluna {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Altura da linha"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Ainda não há versões guardadas."
|
||||
msgid "No source data yet."
|
||||
msgstr "Ainda não há dados de origem."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norueguês"
|
||||
msgid "Not connected"
|
||||
msgstr "Não conectado"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Não sabe o que escrever?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Assistente de IA aberta"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Modo de focagem aberta"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Abrir no construtor"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatível com OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Prima <0>Enter</0> para abrir"
|
||||
msgid "Preview"
|
||||
msgstr "Pré-visualização"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "A pré-visualização e a exportação utilizam a última versão válida."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Cor principal"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reativo reativo v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Currículo reativo v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Leia o guia Aplicando Estilos Personalizados."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Leitura…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Pronto para ativar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Pronto para ativar com avisos"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatário"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Retângulo (largura total)"
|
||||
msgid "Redo"
|
||||
msgstr "Refazer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Refazer edição da folha de estilos"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Repor para a folha de estilo aplicada"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "selecionado"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Faça auto-hospedagem com o Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Folha de estilo CSS semântica"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Enviar mensagem"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Rasurar"
|
||||
msgid "Strong fit"
|
||||
msgstr "Ajuste forte"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor de folhas de estilo"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "A folha de estilos contém erros."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "A página que procura pode ter sido movida ou já não existir."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "A senha que introduziu está incorreta"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Não foi possível atualizar a pré-visualização do currículo. A última pré-visualização válida ainda está a ser apresentada."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "O currículo a que está a tentar aceder está protegido por senha"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Sublinhar"
|
||||
msgid "Undo"
|
||||
msgstr "Desfazer"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Desfazer edição da folha de estilos"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Currículos ilimitados"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Os seus dados são armazenados em segurança e nunca são partilhados co
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Não foi possível guardar as suas últimas alterações."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Os seus estilos legados permanecerão ativos até que ative explicitamente este rascunho de CSS Semântico."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "A sua senha foi reposta com sucesso. Já pode iniciar sessão com a sua nova senha."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ro\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Meniul Cont"
|
||||
msgid "Actions"
|
||||
msgstr "Acțiuni"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Activează CSS-ul semantic"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Dimensiune reală (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Candidaturi trimise pe săptămână (ultimele 8 săptămâni)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Candidatură trimisă"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Candidatură trimisă"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplicat pe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Reguli aplicate"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Aplicat cu avertismente"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Verificați-vă e-mailul pentru un link de resetare a parolei."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Verificați-vă e-mailul pentru un link de verificare a contului."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Verificare schiță"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chineză (simplificată)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Conversație copiată."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON-ul conversației a fost copiat."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Schiță de foaie de stil convertită"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Copiat în clipboard."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Copiază codurile de rezervă"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Copiază JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Copiază secretul"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Copiați foaia de stil"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Copiați această cheie secretă și folosiți-o în aplicațiile dvs. pentru a vă accesa datele."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Editează {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Editați aplicația"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Editează culoarea {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Introduceți parola pentru a confirma configurarea autentificării cu do
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Introduceți parola pentru a dezactiva autentificarea cu doi factori. Contul va fi mai puțin sigur fără 2FA activat."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Eroare"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Fiecare contribuție, mare sau mică, face o diferență uriașă pentru proiect.<0/>Vă mulțumim pentru sprijin!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Fiecare contribuție, mare sau mică, face o diferență uriașă pentru
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Tot ce aveți nevoie pentru a crea, personaliza și partaja CV-uri profesionale. Construit având confidențialitatea în minte, bazat pe open source și complet gratuit pentru totdeauna."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Ieșiți din modul de focalizare"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ieșire din ecran complet"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Foaie de stil de format"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Deschisă"
|
||||
msgid "Light theme"
|
||||
msgstr "Temă deschisă"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Linia {0}, coloana {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Înălțimea liniei"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Încă nu există versiuni salvate."
|
||||
msgid "No source data yet."
|
||||
msgstr "Nu există date sursă încă."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvegiană"
|
||||
msgid "Not connected"
|
||||
msgstr "Neconectat"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nu ești sigur ce să scrii?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Asistent AI deschis"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Deschide clientul de e-mail"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Deschide modul de focalizare"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Deschide în constructor"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Compatibil cu OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Apăsați <0>Enter</0> pentru a deschide"
|
||||
msgid "Preview"
|
||||
msgstr "Previzualizare"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Previzualizarea și exportarea utilizează ultima versiune validă."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Culoare primară"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "CV reactiv v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "CV reactiv v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Citiți ghidul Aplicarea stilurilor personalizate."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Lectură…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Gata de activare"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Gata de activare cu avertismente"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatar"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Dreptunghi (lățime completă)"
|
||||
msgid "Redo"
|
||||
msgstr "Refaceți"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Refaceți editarea foii de stil"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Resetare la foaia de stil aplicată"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "selectat"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host cu Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Foaie de stil CSS semantică"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Trimite mesaj"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Tăiat"
|
||||
msgid "Strong fit"
|
||||
msgstr "Potrivire puternică"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor de foi de stil"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Foaia de stil conține erori"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Pagina pe care o căutați s-ar putea să fi fost mutată sau să nu mai
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Parola introdusă este incorectă"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Previzualizarea CV-ului nu a putut fi actualizată. Ultima previzualizare validă este încă afișată."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV-ul la care încercați să accesați este protejat prin parolă"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Subliniat"
|
||||
msgid "Undo"
|
||||
msgstr "Anula"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Anulează editarea foii de stil"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "CV-uri nelimitate"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Datele dvs. sunt stocate în siguranță și nu sunt niciodată partajat
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Ultimele modificări ale dvs. nu au putut fi salvate."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Stilurile tale vechi rămân active până când activezi explicit această schiță CSS semantică."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Parola a fost resetată cu succes. Vă puteți autentifica acum cu noua parolă."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Меню учетной записи"
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Активировать семантический CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Фактический размер (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Заявки, отправленные за неделю (последние 8 недель)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Отклик отправлен"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Отклик отправлен"
|
||||
msgid "Applied on"
|
||||
msgstr "Применяется на"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Применяемые правила"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Применяется с предупреждениями."
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Проверьте свою электронную почту: в пис
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Проверьте свою электронную почту: в письме есть ссылка для подтверждения учетной записи."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Проверка"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Проверка черновика"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Китайский (упрощенный)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Переписка скопирована."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON-данные диалога скопированы."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Преобразованный черновик таблицы стилей"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Скопировано в буфер обмена."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Скопировать резервные коды"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Скопировать JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Скопировать секрет"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Скопировать таблицу стилей"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Скопируйте этот секретный ключ и используйте его в своих приложениях для доступа к данным."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Редактировать {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Редактировать заявку"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Изменить цвет {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Введите пароль, чтобы подтвердить наст
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Введите пароль, чтобы отключить двухфакторную аутентификацию. Без 2FA ваша учетная запись будет менее защищена."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Каждый вклад, большой или маленький, имеет огромное значение для проекта.<0/>Спасибо за вашу поддержку!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Каждый вклад, большой или маленький, им
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Все, что нужно для создания, настройки и обмена профессиональными резюме. Создано с заботой о конфиденциальности, работает на базе открытого исходного кода и навсегда останется полностью бесплатным."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Выйти из режима фокусировки"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Выйти из полноэкранного режима"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Формат таблицы стилей"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Светлая"
|
||||
msgid "Light theme"
|
||||
msgstr "Светлая тема"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Строка {0}, столбец {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Высота строки"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Сохранённых версий пока нет."
|
||||
msgid "No source data yet."
|
||||
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 "Нет проверенного поставщика"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Норвежский"
|
||||
msgid "Not connected"
|
||||
msgstr "Не подключено"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Не знаете, что написать?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Открытый ИИ-помощник"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Открыть почтовый клиент"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Открытый режим фокусировки"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Открыть в конструкторе"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Совместимость с OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Нажмите <0>Enter</0>, чтобы открыть"
|
||||
msgid "Preview"
|
||||
msgstr "Предварительный просмотр"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Для предварительного просмотра и экспорта используется последняя действующая версия."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основной цвет"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Реактивное возобновление v<0>{__APP_VERSION__}</0
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Ознакомьтесь с руководством по применению пользовательских стилей."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Чтение…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Готово к активации"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Готов к активации с предупреждениями."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Получатель"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Прямоугольник (на всю ширину)"
|
||||
msgid "Redo"
|
||||
msgstr "Переделать"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Повторить редактирование таблицы стилей"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "Сброс"
|
||||
msgid "Reset Password"
|
||||
msgstr "Сбросить пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Сбросить стиль"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Сбросить до примененной таблицы стилей"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "Проведите свой первый анализ, чтобы получить оценочный лист, сильные стороны и приоритетные предложения."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "выбрано"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Хостинг на Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Семантическая таблица стилей CSS"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Отправить сообщение"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Зачеркнутый"
|
||||
msgid "Strong fit"
|
||||
msgstr "Сильная посадка"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Редактор таблиц стилей"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "В таблице стилей обнаружены ошибки."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Сабреддит"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Возможно, искомая вами страница была пе
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Введенный пароль неверен"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Не удалось обновить предварительный просмотр резюме. По-прежнему отображается последний корректный предварительный просмотр."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Резюме, к которому вы пытаетесь получить доступ, защищено паролем"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Подчеркивание"
|
||||
msgid "Undo"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Отменить редактирование таблицы стилей"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Неограниченное количество резюме"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Ваши данные надежно хранятся и никогда
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Ваши последние изменения не удалось сохранить."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Ваши устаревшие стили останутся активными до тех пор, пока вы явно не активируете этот черновой вариант семантического CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ваш пароль был успешно сброшен. Теперь вы можете войти с новым паролем."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Ponuka účtu"
|
||||
msgid "Actions"
|
||||
msgstr "Akcie"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivovať sémantický CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Skutočná veľkosť (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Žiadosti odoslané za týždeň (posledných 8 týždňov)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Odoslané"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Odoslané"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplikované dňa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Použité pravidlá"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Použité s upozorneniami"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Skontroluj svoj e‑mail, nájdeš tam odkaz na obnovenie hesla."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Skontroluj svoj e‑mail, nájdeš tam odkaz na overenie účtu."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Kontrola konceptu"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Čínština (zjednodušená)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Konverzácia bola skopírovaná."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON konverzácie bol skopírovaný."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konvertovaný koncept štýlového hárka"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Skopírované do schránky."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Skopírovať záložné kódy"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopírovať JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopírovať tajný kód"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopírovať šablónu so štýlmi"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Skopíruj tento tajný kľúč a použi ho vo svojich aplikáciách na prístup k svojim dátam."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Upraviť {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Upraviť aplikáciu"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Upraviť farbu {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Zadaj svoje heslo na potvrdenie nastavenia dvojfaktorového overenia. Po
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Zadaj svoje heslo na vypnutie dvojfaktorového overenia. Bez zapnutého 2FA bude tvoj účet menej zabezpečený."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Každý príspevok, veľký či malý, má pre projekt obrovský význam.<0/>Ďakujeme za tvoju podporu!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Každý príspevok, veľký či malý, má pre projekt obrovský význam
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Všetko, čo potrebuješ na vytvorenie, prispôsobenie a zdieľanie profesionálnych životopisov. Vytvorené s dôrazom na súkromie, poháňané open source a úplne zadarmo – navždy."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Ukončiť režim zaostrenia"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ukončiť celú obrazovku"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formát"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formátovať štýlový hárok"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Zadarmo"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Svetlá"
|
||||
msgid "Light theme"
|
||||
msgstr "Svetlá téma"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Riadok {0}, stĺpec {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Riadkovanie"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Zatiaľ nie sú uložené žiadne verzie."
|
||||
msgid "No source data yet."
|
||||
msgstr "Zatiaľ žiadne zdrojové údaje."
|
||||
|
||||
#: 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ľ"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Nórčina"
|
||||
msgid "Not connected"
|
||||
msgstr "Nepripojené"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nie ste si istí, čo napísať?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Otvorený asistent s umelou inteligenciou"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otvoriť e‑mailového klienta"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Otvoriť režim zaostrenia"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Otvoriť v editore"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Kompatibilné s OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Stlačením tlačidla <0>Enter</0> otvoríte"
|
||||
msgid "Preview"
|
||||
msgstr "Náhľad"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Pri ukážke a exporte sa použije posledná platná verzia."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hlavná farba"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktívny životopis v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktívny životopis v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Prečítajte si príručku Používanie vlastných štýlov."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Číta sa…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Pripravené na aktiváciu"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Pripravené na aktiváciu s upozorneniami"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Príjemca"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Obdĺžnik (plná šírka)"
|
||||
msgid "Redo"
|
||||
msgstr "Znovu"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Znovu upraviť štýlový hárok"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Obnoviť na použitý štýlový hárok"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "vybrané"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Vlastný hosting cez Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Sémantický CSS štýlový hárok"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Odoslať správu"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Prečiarknuté"
|
||||
msgid "Strong fit"
|
||||
msgstr "Silný strih"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Editor štýlov"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Štýlový hárok obsahuje chyby"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Stránka, ktorú hľadáte, mohla byť presunutá alebo už neexistuje."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Zadané heslo je nesprávne"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Ukážku životopisu sa nepodarilo aktualizovať. Stále sa zobrazuje posledná platná ukážka."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Životopis, ku ktorému sa snažíš pristúpiť, je chránený heslom"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Podčiarknuté"
|
||||
msgid "Undo"
|
||||
msgstr "Späť"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Vrátiť späť úpravu štýlového hárka"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Neobmedzený počet životopisov"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Tvoje dáta sú bezpečne uložené a nikdy sa nezdieľajú s tretími s
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Vaše posledné zmeny sa nepodarilo uložiť."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Vaše staršie štýly zostanú aktívne, kým explicitne neaktivujete tento koncept sémantického CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Tvoje heslo bolo úspešne obnovené. Teraz sa môžeš prihlásiť s novým heslom."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Meni računa"
|
||||
msgid "Actions"
|
||||
msgstr "Dejanja"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktiviraj semantični CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Dejanska velikost (100 %)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Prijave, poslane na teden (zadnjih 8 tednov)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Prijavljeno"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Prijavljeno"
|
||||
msgid "Applied on"
|
||||
msgstr "Uporabljeno na"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Uporabljena pravila"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Uporabljeno z opozorili"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Preverite svoj e-poštni naslov za povezavo za ponastavitev gesla."
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Preverite svoj e-poštni naslov za povezavo za potrditev računa."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Preverjanje"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Preverjanje osnutka"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kitajščina (poenostavljena)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Pogovor je kopiran."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON pogovora je bil kopiran."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Pretvorjen osnutek slogovne predloge"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopirano v odložišče."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopiraj rezervne kode"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopiraj JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopiraj skrivnost"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopiraj slogovno predlogo"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopirajte to skrivno kodo in jo uporabite v svojih aplikacijah za dostop do svojih podatkov."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Uredi {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Uredi aplikacijo"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Uredi barvo {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Vnesite svoje geslo, da potrdite nastavitev dvostopenjskega preverjanja
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Vnesite svoje geslo za onemogočanje dvostopenjskega preverjanja pristnosti. Vaš račun bo brez omogočenega 2FA manj varen."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Napaka"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Vsak prispevek, velik ali majhen, veliko pomeni projektu.<0/>Hvala za vašo podporo!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Vsak prispevek, velik ali majhen, veliko pomeni projektu.<0/>Hvala za va
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Vse, kar potrebujete za ustvarjanje, prilagajanje in deljenje strokovnih življenjepisov. Zgrajeno z mislijo na zasebnost, temelji na odprti kodi in je popolnoma brezplačno za vedno."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Izhod iz načina ostrenja"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Izhod iz celozaslonskega načina"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Oblikovanje slogovne predloge"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Brezplačno"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Svetlo"
|
||||
msgid "Light theme"
|
||||
msgstr "Svetla tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Vrstica {0}, stolpec {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Višina vrstice"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Še ni shranjenih različic."
|
||||
msgid "No source data yet."
|
||||
msgstr "Izvornih podatkov še ni."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "norveščina"
|
||||
msgid "Not connected"
|
||||
msgstr "Ni povezano"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Niste prepričani, kaj naj napišete?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Odprti pomočnik umetne inteligence"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Odpri e-poštni odjemalec"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Odpri način ostrenja"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Odpri v graditelju"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Združljivo z OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Pritisnite <0>Enter</0>, da odprete"
|
||||
msgid "Preview"
|
||||
msgstr "Predogled"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Predogled in izvoz uporabljata zadnjo veljavno različico."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primarna barva"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktivni življenjepis v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktivni življenjepis v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Preberite vodnik Uporaba slogov po meri."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Branje ..."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Pripravljeno za aktivacijo"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Pripravljeno za aktivacijo z opozorili"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Prejemnik"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Pravokotnik (polna širina)"
|
||||
msgid "Redo"
|
||||
msgstr "Ponovi"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Ponovi urejanje slogovne predloge"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Ponastavi na uporabljeno slogovno predlogo"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "izbrano"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Lastno gostovanje z Dockerjem"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantični CSS slogovni predlog"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Pošlji sporočilo"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Prečrtano"
|
||||
msgid "Strong fit"
|
||||
msgstr "Močno prileganje"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Urejevalnik slogovnih predlog"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Slogovna predloga vsebuje napake"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Podreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Stran, ki jo iščete, je bila morda premaknjena ali pa ne obstaja več.
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Vnesli ste napačno geslo"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Predogleda življenjepisa ni bilo mogoče posodobiti. Še vedno je prikazan zadnji veljaven predogled."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Življenjepis, do katerega želite dostopati, je zaščiten z geslom"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Podčrtano"
|
||||
msgid "Undo"
|
||||
msgstr "Razveljavi"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Razveljavi urejanje slogovne predloge"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Neomejeni življenjepisi"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Vaši podatki so varno shranjeni in se nikoli ne delijo s tretjimi oseba
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Vaših zadnjih sprememb ni bilo mogoče shraniti."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Vaši podedovani slogi ostanejo aktivni, dokler izrecno ne aktivirate tega osnutka semantičnega CSS-ja."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Vaše geslo je bilo uspešno ponastavljeno. Zdaj se lahko prijavite z novim geslom."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sq\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Albanian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menuja e llogarisë"
|
||||
msgid "Actions"
|
||||
msgstr "Veprime"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivizo CSS-në Semantike"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Madhësia reale (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Aplikimet e dërguara për javë (8 javët e fundit)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Aplikuar"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Aplikuar"
|
||||
msgid "Applied on"
|
||||
msgstr "Aplikuar në"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Rregullat e zbatuara"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Zbatuar me paralajmërime"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Kontrolloni emailin tuaj për një link për të rivendosur fjalëkalimi
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Kontrolloni emailin tuaj për një link për të verifikuar llogarinë tuaj."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Duke kontrolluar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Duke kontrolluar draftin"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kinezçe (E thjeshtuar)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Biseda u kopjua."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON i bisedës u kopjua."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Drafti i konvertuar i fletës së stilit"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopjuar në kujtesën e fragmenteve."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopjo kodet rezervë"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopjo JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Sekreti i kopjimit"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopjo fletën e stilit"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopjoni këtë çelës sekret dhe përdoreni në aplikacionet tuaja për të aksesuar të dhënat tuaja."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Redakto {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Redakto aplikacionin"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Modifiko ngjyrën {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Shkruani fjalëkalimin tuaj për të konfirmuar konfigurimin e vërtetim
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Shkruani fjalëkalimin tuaj për të çaktivizuar vërtetimin me dy faktorë. Llogaria juaj do të jetë më pak e sigurt pa 2FA të aktivizuar."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Gabim"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Çdo kontribut, i madh apo i vogël, bën një ndryshim të madh për projektin.<0/>Faleminderit për mbështetjen tuaj!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Çdo kontribut, i madh apo i vogël, bën një ndryshim të madh për pr
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Gjithçka që ju nevojitet për të krijuar, personalizuar dhe shpërndarë CV profesionale. Ndërtuar me fokus privatësinë, i fuqizuar nga burimi i hapur dhe krejtësisht falas përgjithmonë."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Dil nga modaliteti i fokusit"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Dil nga ekrani i plotë"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formati"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formato fletën e stilit"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Falas"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "E çelët"
|
||||
msgid "Light theme"
|
||||
msgstr "Temë e çelët"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Rreshti {0}, kolona {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Lartësia e rreshtit"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Nuk ka ende versione të ruajtura."
|
||||
msgid "No source data yet."
|
||||
msgstr "Nuk ka ende të dhëna burimore."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norvegjisht"
|
||||
msgid "Not connected"
|
||||
msgstr "I palidhur"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nuk jeni i sigurt se çfarë të shkruani?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Asistent i hapur i inteligjencës artificiale"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Hap klientin e emailit"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Hap modalitetin e fokusit"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Hap në ndërtues"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "I pajtueshëm me OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "Ruter i hapur"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Shtypni <0>Enter</0> për të hapur"
|
||||
msgid "Preview"
|
||||
msgstr "Pamje paraprake"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Parapamja dhe eksportimi përdorin versionin e fundit të vlefshëm."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Ngjyra kryesore"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Rezyme Reaktive v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reactive Resume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Lexoni udhëzuesin Zbatimi i Stileve të Personalizuara."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Duke lexuar…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Gati për t'u aktivizuar"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Gati për t'u aktivizuar me paralajmërime"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Marrësi"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Drejtkëndësh (gjerësi e plotë)"
|
||||
msgid "Redo"
|
||||
msgstr "Ribëj"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Ribëj ndryshimin e fletës së stilit"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Rivendos në fletën e stilit të aplikuar"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "të zgjedhura"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host me Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Fletë stili semantike CSS"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Dërgo mesazh"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Heqje"
|
||||
msgid "Strong fit"
|
||||
msgstr "Përshtatje e fortë"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Redaktuesi i fletës së stilit"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Fleta e stilit ka gabime"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Faqja që po kërkoni mund të jetë zhvendosur ose nuk ekziston më."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Fjalëkalimi që keni futur është i pasaktë"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Pamja paraprake e CV-së nuk mund të përditësohej. Pamja paraprake e fundit e vlefshme shfaqet ende."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV-ja që po përpiqeni të aksesoni është e mbrojtur me fjalëkalim"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Nënvizo"
|
||||
msgid "Undo"
|
||||
msgstr "Anulo"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Anulo ndryshimin e fletës së stilit"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "CV të pakufizuara"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Të dhënat tuaja ruhen në mënyrë të sigurt dhe nuk ndahen kurrë me
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Ndryshimet tuaja të fundit nuk mund të ruheshin."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Stilet tuaja të trashëguara mbeten aktive derisa ta aktivizoni në mënyrë të qartë këtë draft Semantic CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Fjalëkalimi juaj u rivendos me sukses. Tani mund të hyni me fjalëkalimin tuaj të ri."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Мени налога"
|
||||
msgid "Actions"
|
||||
msgstr "Радње"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Активирајте семантички CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Стварна величина (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Пријаве послате недељно (последњих 8 недеља)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Пријављено"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Пријављено"
|
||||
msgid "Applied on"
|
||||
msgstr "Примењено на"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Примењена правила"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Примењено са упозорењима"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Проверите е-пошту за везу за ресетовање
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Проверите е-пошту за везу да верификујете налог."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Провера"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Текућа верзија"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Кинески (поједностављени)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Разговор је копиран."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON датотека разговора је копирана."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Конвертована нацртна верзија стилског листа"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Копирано у међуспремник."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Копирај резервне кодове"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Копирај JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Копирај тајни"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Копирај стилски лист"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Копирајте овај тајни кључ и користите га у својим апликацијама за приступ вашим подацима."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Уреди {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Уреди апликацију"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Измени боју {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Унесите своју лозинку да потврдите под
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Унесите своју лозинку да бисте онемогућили двофакторску аутентификацију. Ваш налог ће бити мање безбедан без омогућеног 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Сваки допринос, велики или мали, прави велику разлику за пројекат.<0/>Хвала вам на подршци!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Сваки допринос, велики или мали, прави в
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Све што вам је потребно да креирате, прилагодите и делите професионалне резимее. Направљено имајући у виду приватност, базирано на отвореном коду и потпуно бесплатно заувек."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Изађи из режима фокусирања"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Изађи из целог екрана"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Форматирање стилског листа"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Светла"
|
||||
msgid "Light theme"
|
||||
msgstr "Светла тема"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Ред {0}, колона {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Висина реда"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Још нема сачуваних верзија."
|
||||
msgid "No source data yet."
|
||||
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 "Нема тестираног добављача"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Норвешки"
|
||||
msgid "Not connected"
|
||||
msgstr "Није повезано"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Нисте сигурни шта да напишете?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Отворите AI асистент"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Отвори клијент за е-пошту"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Отвори режим фокуса"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Отвори у креатору"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Компатибилно са OpenAI-ом"
|
||||
msgid "OpenRouter"
|
||||
msgstr "Отворени рутер"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Притисните <0>Enter</0> да бисте отворили"
|
||||
msgid "Preview"
|
||||
msgstr "Преглед"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Преглед и извоз користе последњу важећу верзију."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Примарна боја"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Реактивни резиме v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Реактивни резиме v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Прочитајте водич за примену прилагођених стилова."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Читање…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Спремно за активирање"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Спремно за активирање са упозорењима"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Прималац"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Правоугаоник (пуна ширина)"
|
||||
msgid "Redo"
|
||||
msgstr "Понови"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Понови измену стилског листа"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "Ресетуј"
|
||||
msgid "Reset Password"
|
||||
msgstr "Ресетуј лозинку"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Ресетуј стил"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Врати на примењени стилски лист"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "Покрените прву анализу да бисте добили контролну таблу, снаге и приоритезоване предлоге."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "изабрани"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самохостовање помоћу Docker-а"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Семантички CSS стилски лист"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Пошаљи поруку"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Прецртано"
|
||||
msgid "Strong fit"
|
||||
msgstr "Снажно уклапање"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Уређивач стилских листова"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Стилски лист садржи грешке"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Субредит"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Страница коју тражите је можда премешт
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Лозинка коју сте унели је нетачна"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Преглед резимеа није могао бити ажуриран. Последњи важећи преглед је и даље приказан."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Резиме коме покушавате да приступите је заштићен лозинком"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Подвучено"
|
||||
msgid "Undo"
|
||||
msgstr "Поништи"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Поништи измену стилског листа"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Неограничени резимеи"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Ваши подаци се чувају безбедно и никада
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Ваше последње измене нису могле бити сачуване."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Ваши старији стилови остају активни док експлицитно не активирате ову семантичку CSS верзију."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ваша лозинка је успешно ресетована. Сада можете да се пријавите новом лозинком."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Konto-meny"
|
||||
msgid "Actions"
|
||||
msgstr "Åtgärder"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Aktivera semantisk CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Verklig storlek (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Ansökningar skickade per vecka (senaste 8 veckorna)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Ansökt"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Ansökt"
|
||||
msgid "Applied on"
|
||||
msgstr "Tillämpas på"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Tillämpade regler"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Tillämpas med varningar"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Kontrollera din e-post för en länk för att återställa ditt lösenor
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Kontrollera din e-post för en länk för att verifiera ditt konto."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontroll"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Kontrollerar utkast"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Kinesiska (förenklad)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Konversationen kopierades."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Konversationens JSON kopierades."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Konverterat utkast till stilark"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Kopierade till urklipp."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Kopiera säkerhetskoder"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Kopiera JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopiera hemlighet"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Kopiera stilark"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Kopiera denna hemliga nyckel och använd den i dina applikationer för att komma åt din data."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Redigera {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Redigera ansökan"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Redigera färg {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Ange ditt lösenord för att bekräfta att du vill ställa in tvåfaktor
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Ange ditt lösenord för att inaktivera tvåfaktorsautentisering. Ditt konto blir mindre säkert utan aktiverad 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Fel"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Varje bidrag, stort som litet, gör en enorm skillnad för projektet.<0/>Tack för ditt stöd!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Varje bidrag, stort som litet, gör en enorm skillnad för projektet.<0/
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Allt du behöver för att skapa, anpassa och dela professionella CV:n. Byggt med fokus på integritet, drivet av öppen källkod och helt gratis för alltid."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Avsluta fokusläge"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Avsluta helskärm"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Formatera stilark"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Ljus"
|
||||
msgid "Light theme"
|
||||
msgstr "Ljust tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Rad {0}, kolumn {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Radavstånd"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Inga sparade versioner ännu."
|
||||
msgid "No source data yet."
|
||||
msgstr "Inga källdata ännu."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norska"
|
||||
msgid "Not connected"
|
||||
msgstr "Inte ansluten"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Osäker på vad du ska skriva?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Öppna AI-assistenten"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Öppna e-postklient"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Öppna fokusläge"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Öppna i verktyget"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-kompatibel"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Tryck på <0>Enter</0> för att öppna"
|
||||
msgid "Preview"
|
||||
msgstr "Förhandsvisning"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Förhandsgranska och exportera med den senast giltiga versionen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primärfärg"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktivt CV v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktivt CV v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Läs guiden för att tillämpa anpassade stilar."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Läsning…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Klar att aktiveras"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Klar att aktiveras med varningar"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Mottagare"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Rektangel (full bredd)"
|
||||
msgid "Redo"
|
||||
msgstr "Göra om"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Gör om redigeringen av stilmall"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Återställ till tillämpat formatmall"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "vald"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Självhosting med Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantisk CSS-stilmall"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Skicka meddelande"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Genomstrykning"
|
||||
msgid "Strong fit"
|
||||
msgstr "Stark passform"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stilarksredigerare"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stilarket innehåller fel"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Sidan du letar efter kan ha flyttats eller inte längre existera."
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Lösenordet du angav är felaktigt"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Förhandsgranskningen av CV:t kunde inte uppdateras. Den senast giltiga förhandsgranskningen visas fortfarande."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "CV:t du försöker komma åt är lösenordsskyddat"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Understrykning"
|
||||
msgid "Undo"
|
||||
msgstr "Ångra"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Ångra redigering av stilark"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Obegränsat antal CV:n"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Dina data lagras säkert och delas aldrig med tredje part. Du kan också
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Dina senaste ändringar kunde inte sparas."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Dina äldre stilar förblir aktiva tills du uttryckligen aktiverar detta semantiska CSS-utkast."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ditt lösenord har återställts. Du kan nu logga in med ditt nya lösenord."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ta\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Tamil\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "கணக்கு மெனு"
|
||||
msgid "Actions"
|
||||
msgstr "செயல்கள்"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "செமாண்டிக் CSS-ஐ செயல்படுத்துக"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "உண்மையான அளவு (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "வாரத்திற்கு அனுப்பப்பட்ட விண்ணப்பங்கள் (கடைசி 8 வாரங்கள்)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "விண்ணப்பிக்கப்பட்டது"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "விண்ணப்பிக்கப்பட்டது"
|
||||
msgid "Applied on"
|
||||
msgstr "அன்று விண்ணப்பித்தது"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "பயன்படுத்தப்பட்ட விதிகள்"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "எச்சரிக்கைகளுடன் கூடிய அறிவு"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "உங்கள் கடவுச்சொல்லை மீட்ட
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "உங்கள் கணக்கை சரிபார்க்க ஒரு இணைப்புக்காக உங்கள் மின்னஞ்சலைச் சரிபார்க்கவும்."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "சரிபார்த்தல்"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "வரைவைச் சரிபார்த்தல்"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "சீனம் (எளிய)"
|
||||
@@ -966,6 +979,10 @@ msgstr "உரையாடல் நகலெடுக்கப்பட்ட
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "உரையாடல் JSON நகலெடுக்கப்பட்டது."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "மாற்றப்பட்ட ஸ்டைல்ஷீட் வரைவு"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "கிளிப்போர்டுக்கு நகலெடுக்கப்பட்டது."
|
||||
@@ -989,6 +1006,15 @@ msgstr "காப்பு குறியீடுகளை நகலெடு"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON-ஐ நகலெடுக்கவும்"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "ரகசியத்தை நகலெடுக்கவும்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "பாணித்தாளை நகலெடுக்கவும்"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "இந்த ரகசிய விசையை நகலெடுத்து, உங்கள் பயன்பாடுகளில் உங்கள் தரவினை அணுக பயன்படுத்தவும்."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "திருத்து {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "பயன்பாட்டைத் திருத்தவும்"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "வண்ணத்தைத் திருத்து {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "இரண்டு நிலை அங்கீகாரத்தை அ
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "இரண்டு நிலை அங்கீகாரத்தை முடக்க உங்கள் கடவுச்சொல்லை உள்ளிடவும். 2FA இயங்காவிட்டால் உங்கள் கணக்கு குறைந்த பாதுகாப்புடன் இருக்கும்."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "பிழை"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ஒவ்வொரு பங்களிப்பும், பெரியதோ சிறியதோ, இந்த திட்டத்திற்கு மிகப் பெரிய மாற்றத்தை கொண்டுவந்து விடுகிறது.<0/>உங்கள் ஆதரவுக்கு நன்றி!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ஒவ்வொரு பங்களிப்பும், பெரி
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "தொழில்முறை ரெஸ்யூமிகளை உருவாக்க, விருப்பத்துக்கு உருப்பெற்றி, பகிர்வதற்குத் தேவையான அனைத்தும் இங்கே. தனியுரிமையை கருத்தில் கொண்டு உருவாக்கப்பட்டதால், திறந்த மூலத்தால் இயக்கப்படுகிறது மற்றும் எப்போதும் முழுவதுமாக இலவசம்."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "கவனப் பயன்முறையிலிருந்து வெளியேறு"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "முழுத்திரையிலிருந்து வெளியேறு"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "வடிவம்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "வடிவமைப்பு பாணித்தாள்"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "இலவசம்"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "லைட்"
|
||||
msgid "Light theme"
|
||||
msgstr "லைட் தீம்"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "வரி {0}, நெடுவரிசை {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "வரி உயரம்"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "இன்னும் சேமிக்கப்பட்ட பதி
|
||||
msgid "No source data yet."
|
||||
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 "சோதிக்கப்பட்ட வழங்குநர் இல்லை"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "நார்வேஜியன்"
|
||||
msgid "Not connected"
|
||||
msgstr "இணைப்பு இல்லை"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "என்ன எழுதுவது என்று தெரியவில்லையா?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "திறந்த AI உதவியாளர்"
|
||||
msgid "Open Email Client"
|
||||
msgstr "மின்னஞ்சல் பயன்பாட்டை திறக்கவும்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "திறந்த குவிய முறை"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "பில்டரில் திறக்கவும்"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-இணக்கமானது"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ஓப்பன்ரவுட்டர்"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "திறக்க <0>Enter ஐ</0> அழுத்தவும்"
|
||||
msgid "Preview"
|
||||
msgstr "முன்னோட்டம்"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "முன்னோட்டம் மற்றும் ஏற்றுமதிக்கு, கடைசியாகச் செல்லுபடியாகும் பதிப்பைப் பயன்படுத்தவும்."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "முதன்மை நிறம்"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "ரியாக்டிவ் ரெஸ்யூம் v<0>{__APP_VERSI
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "எதிர்வினை ரெஸ்யூம் v4 (ஜேசன்)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "தனிப்பயன் பாணிகளைப் பயன்படுத்துதல் வழிகாட்டியைப் படிக்கவும்."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "படிக்கிறது…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "செயல்படுத்தத் தயார்"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "எச்சரிக்கைகளுடன் செயல்படுத்தத் தயார்"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "பெறுநர்"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "சதுரம் (முழு அகலம்)"
|
||||
msgid "Redo"
|
||||
msgstr "மீண்டும் செய்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "ஸ்டைல்ஷீட் திருத்தத்தை மீண்டும் செய்"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "மீட்டமை"
|
||||
msgid "Reset Password"
|
||||
msgstr "கடவுச்சொல்லை மீட்டமைக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "பாணியை மீட்டமைக்கவும்"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "பயன்படுத்தப்பட்ட பாணித் தாளுக்கு மீட்டமைக்கவும்"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "மதிப்பெண் அட்டை, பலங்கள் மற்றும் முன்னுரிமைப்படுத்தப்பட்ட பரிந்துரைகளைப் பெற உங்கள் முதல் பகுப்பாய்வை இயக்கவும்."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "தேர்ந்தெடுக்கப்பட்டது"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker-இன் உதவியுடன் தானே ஹோஸ்ட் செய்யவும்"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "செமாண்டிக் CSS ஸ்டைல்ஷீட்"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "செய்திகளை அனுப்பு"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "கோடு கிழித்தல்"
|
||||
msgid "Strong fit"
|
||||
msgstr "வலுவான பொருத்தம்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "ஸ்டைல்ஷீட் எடிட்டர்"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "ஸ்டைல்ஷீட்டில் பிழைகள் உள்ளன"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "சப்ரெட்டிட்"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "நீங்கள் தேடும் பக்கம் வேறு
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "நீங்கள் உள்ளிட்ட கடவுச்சொல் தவறானது"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "சுயவிவர முன்னோட்டத்தைப் புதுப்பிக்க முடியவில்லை. கடைசியாகச் செல்லுபடியான முன்னோட்டம் இன்னும் காட்டப்படுகிறது."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "நீங்கள் அணுக முயற்சிக்கும் ரெஸ்யூமி கடவுச்சொல் பாதுகாப்புடன் உள்ளது"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "அடைமுறை கோடு"
|
||||
msgid "Undo"
|
||||
msgstr "செயல்தவிர்"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "ஸ்டைல்ஷீட் திருத்தத்தை செயல்தவிர்க்கவும்"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "வரம்பற்ற ரெஸ்யூமிகள்"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "உங்கள் தரவு பாதுகாப்பாக சே
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "உங்கள் சமீபத்திய மாற்றங்களைச் சேமிக்க முடியவில்லை."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "நீங்கள் இந்த செமாண்டிக் CSS வரைவை வெளிப்படையாகச் செயல்படுத்தும் வரை, உங்கள் மரபுப் பாணிகள் செயலில் இருக்கும்."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "உங்கள் கடவுச்சொல் வெற்றிகரமாக மீட்டமைக்கப்பட்டுள்ளது. இப்போது உங்கள் புதிய கடவுச்சொல்லைப் பயன்படுத்தி உள்நுழையலாம்."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: te\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "ఖాతా మెనూ"
|
||||
msgid "Actions"
|
||||
msgstr "చర్యలు"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "సెమాంటిక్ CSSని యాక్టివేట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "వాస్తవ పరిమాణం (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "వారానికి పంపిన దరఖాస్తులు (చివరి 8 వారాలు)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "దరఖాస్తు చేశారు"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "దరఖాస్తు చేశారు"
|
||||
msgid "Applied on"
|
||||
msgstr "దరఖాస్తు చేసిన తేదీ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "వర్తింపజేసిన నియమాలు"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "హెచ్చరికలతో వర్తింపజేయబడింది"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "మీ పాస్వర్డ్ను రీసెట్ చే
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "మీ అకౌంట్ను ధృవీకరించడానికి లింక్ కోసం మీ ఇమెయిల్ను తనిఖీ చేయండి."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "తనిఖీ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "డ్రాఫ్ట్ను తనిఖీ చేయడం"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "చైనీస్ (సరళీకృత)"
|
||||
@@ -966,6 +979,10 @@ msgstr "సంభాషణ నకలు చేయబడింది."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "సంభాషణ JSON కాపీ చేయబడింది."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "మార్చబడిన స్టైల్షీట్ డ్రాఫ్ట్"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "క్లిప్బోర్డ్కు కాపీ చేయబడింది."
|
||||
@@ -989,6 +1006,15 @@ msgstr "బ్యాకప్ కోడ్లను కాపీ చేయం
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSONని కాపీ చేయండి"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "రహస్యాన్ని కాపీ చేయండి"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "స్టైల్షీట్ను కాపీ చేయండి"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "ఈ సీక్రెట్ కీని కాపీ చేసి మీ యాప్లలో మీరు మీ డేటాను యాక్సెస్ చేయడానికి ఉపయోగించండి."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "సవరించు {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "దరఖాస్తును సవరించు"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "రంగును సవరించండి {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "రెండు దశల ధృవీకరణ ఏర్పాటున
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "రెండు దశల ధృవీకరణను నిలిపివేయడానికి మీ పాస్వర్డ్ని నమోదు చేయండి. 2FA ప్రారంభించబడకుండా ఉంటే మీ ఖాతా తక్కువ భద్రతగా ఉంటుంది."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "లోపం"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ప్రతి సహకారం, చిన్నదైనా పెద్దదైనా, ప్రాజెక్టులో గొప్ప మార్పును తీసుకురాగలదు.<0/>మీ మద్దతుకు ధన్యవాదాలు!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ప్రతి సహకారం, చిన్నదైనా పె
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "ప్రొఫెషనల్ రిజ్యూమ్లు సృష్టించడానికి, అనుకూలీకరించడానికి, మరియు పంచుకోవడానికి మీకు కావాల్సిన ప్రతిదీ. ప్రైవసీని దృష్టిలో పెట్టుకొని, ఓపెన్ సోర్స్తో నిర్మించబడింది, ఎప్పటికీ ఉచితం."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ఫోకస్ మోడ్ నుండి నిష్క్రమించండి"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "పూర్తి స్క్రీన్ నుండి నిష్క్రమించు"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ఫార్మాట్"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "ఫార్మాట్ స్టైల్షీట్"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ఉచితం"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "లైట్"
|
||||
msgid "Light theme"
|
||||
msgstr "లైట్ థీమ్"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "లైన్ {0}, కాలమ్ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "లైన్ హైట్"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "ఇంకా సేవ్ చేసిన వెర్షన్లు
|
||||
msgid "No source data yet."
|
||||
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 "పరీక్షించిన ప్రొవైడర్ లేదు"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "నార్వేజియన్"
|
||||
msgid "Not connected"
|
||||
msgstr "కనెక్ట్ కాలేదు"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "ఏం రాయాలో తెలియడం లేదా?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "ఓపెన్ AI అసిస్టెంట్"
|
||||
msgid "Open Email Client"
|
||||
msgstr "ఈమెయిల్ క్లైంట్ తెరవండి"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "ఫోకస్ మోడ్ను తెరవండి"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "బిల్డర్లో తెరవండి"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI-అనుకూలమైనది"
|
||||
msgid "OpenRouter"
|
||||
msgstr "ఓపెన్రౌటర్"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "తెరవడానికి <0>ఎంటర్</0> నొక్కం
|
||||
msgid "Preview"
|
||||
msgstr "ప్రివ్యూ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ప్రివ్యూ మరియు ఎక్స్పోర్ట్ చివరి చెల్లుబాటు అయ్యే వెర్షన్ను ఉపయోగిస్తాయి."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ప్రాథమిక రంగు"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "రియాక్టివ్ రెజ్యూమ్ v<0>{__APP_VERSI
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "రియాక్టివ్ రెజ్యూమ్ v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "కస్టమ్ స్టైల్స్ వర్తింపజేయడం గైడ్ను చదవండి."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "చదువుతోంది…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "యాక్టివేట్ చేయడానికి సిద్ధంగా ఉంది"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "హెచ్చరికలతో యాక్టివేట్ చేయడానికి సిద్ధంగా ఉంది"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "గ్రహీత"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "ఆయతం (పూర్తి వెడల్పు)"
|
||||
msgid "Redo"
|
||||
msgstr "మళ్ళీ చేయండి"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "స్టైల్షీట్ సవరణను మళ్లీ చేయండి"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "రీసెట్ చేయండి"
|
||||
msgid "Reset Password"
|
||||
msgstr "పాస్వర్డ్ రీసెట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "శైలిని రీసెట్ చేయండి"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "వర్తింపజేసిన స్టైల్షీట్కు రీసెట్ చేయండి"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "స్కోర్కార్డ్, బలాలు మరియు ప్రాధాన్యతా సూచనలను పొందడానికి మీ మొదటి విశ్లేషణను అమలు చేయండి."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "ఎంచుకోబడ్డాయి"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "డాకర్తో స్వయంగా హోస్ట్ చేయండి"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "సెమాంటిక్ CSS స్టైల్షీట్"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "సందేశం పంపండి"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "స్ట్రైక్"
|
||||
msgid "Strong fit"
|
||||
msgstr "బలమైన సరిపోలిక"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "స్టైల్షీట్ ఎడిటర్"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "స్టైల్షీట్లో లోపాలు ఉన్నాయి"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "సబ్రెడిట్"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "మీరు వెతుకుతున్న పేజీ తరలి
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "మీరు నమోదు చేసిన పాస్వర్డ్ సరియైనది కాదు"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "రెస్యూమ్ ప్రివ్యూను అప్డేట్ చేయలేకపోయింది. చివరి చెల్లుబాటు అయ్యే ప్రివ్యూ ఇప్పటికీ చూపబడుతోంది."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "మీరు యాక్సెస్ చేయడానికి ప్రయత్నిస్తున్న రెజ్యూమే పాస్వర్డ్ ద్వారా రక్షించబడింది"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "అండర్లైన్"
|
||||
msgid "Undo"
|
||||
msgstr "రద్దు చేయి"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "స్టైల్షీట్ సవరణను రద్దు చేయండి"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "అనంత రెజ్యూమ్లు"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "మీ డేటా భద్రంగా నిల్వ చేయబ
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "మీ తాజా మార్పులు సేవ్ చేయబడలేదు."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "మీరు ఈ సెమాంటిక్ CSS డ్రాఫ్ట్ను స్పష్టంగా యాక్టివేట్ చేసే వరకు మీ పాత స్టైల్స్ చురుకుగా ఉంటాయి."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "మీ పాస్వర్డ్ విజయవంతంగా రీసెట్ చేయబడింది. ఇప్పుడు మీ కొత్త పాస్వర్డ్తో సైన్ ఇన్ చేయవచ్చు."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: th\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "เมนูบัญชี"
|
||||
msgid "Actions"
|
||||
msgstr "การดำเนินการ"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "เปิดใช้งาน Semantic CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "ขนาดจริง (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "ใบสมัครที่ส่งต่อสัปดาห์ (8 สัปดาห์ล่าสุด)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "สมัครแล้ว"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "สมัครแล้ว"
|
||||
msgid "Applied on"
|
||||
msgstr "สมัครเมื่อ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "กฎที่ใช้"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "ใช้งานโดยมีคำเตือน"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "ตรวจสอบอีเมลของคุณสำหรับ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "ตรวจสอบอีเมลของคุณสำหรับลิงก์ยืนยันบัญชีของคุณ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "กำลังตรวจสอบ"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "ตรวจสอบร่าง"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "จีน (ตัวย่อ)"
|
||||
@@ -966,6 +979,10 @@ msgstr "บทสนทนานี้ถูกคัดลอกแล้ว"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "คัดลอกข้อมูล JSON ของบทสนทนาแล้ว"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "แปลงร่างสไตล์ชีตแล้ว"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "คัดลอกไปยังคลิปบอร์ดแล้ว"
|
||||
@@ -989,6 +1006,15 @@ msgstr "คัดลอกรหัสสำรอง"
|
||||
msgid "Copy JSON"
|
||||
msgstr "คัดลอก JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "คัดลอกความลับ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "คัดลอกสไตล์ชีต"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "คัดลอกคีย์ลับนี้และใช้ในแอปพลิเคชันของคุณเพื่อเข้าถึงข้อมูลของคุณ"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "แก้ไข {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "แก้ไขใบสมัคร"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "แก้ไขสี {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "กรอกรหัสผ่านของคุณเพื่อย
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "กรอกรหัสผ่านของคุณเพื่อปิดการใช้งานการยืนยันตัวตนสองขั้นตอน บัญชีของคุณจะไม่ปลอดภัยเท่าเดิมหากไม่ได้เปิดใช้งาน 2FA"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "ข้อผิดพลาด"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "ทุกการสนับสนุน ไม่ว่ามากหรือน้อย มีความสำคัญอย่างยิ่งต่อโปรเจกต์นี้<0/>ขอขอบคุณที่สนับสนุน!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "ทุกการสนับสนุน ไม่ว่ามาก
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "ทุกสิ่งที่คุณต้องการในการสร้าง ปรับแต่ง และแบ่งปันเรซูเม่มืออาชีพ สร้างขึ้นโดยคำนึงถึงความเป็นส่วนตัว เปิดบริการด้วยโอเพ่นซอร์ส และฟรีตลอดไป"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "ออกจากโหมดโฟกัส"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ออกจากเต็มหน้าจอ"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "รูปแบบ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "จัดรูปแบบสไตล์ชีต"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ฟรี"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "สว่าง"
|
||||
msgid "Light theme"
|
||||
msgstr "ธีมสว่าง"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "แถว {0}, คอลัมน์ {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "ความสูงของเส้น"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "ยังไม่มีเวอร์ชันที่บันทึ
|
||||
msgid "No source data yet."
|
||||
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 "ไม่มีผู้ให้บริการที่ผ่านการทดสอบ"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "นอร์เวย์"
|
||||
msgid "Not connected"
|
||||
msgstr "ไม่ได้เชื่อมต่อ"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "ไม่แน่ใจว่าจะเขียนอะไรดี?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "เปิดผู้ช่วย AI"
|
||||
msgid "Open Email Client"
|
||||
msgstr "เปิดโปรแกรมอีเมล"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "โหมดเปิดโฟกัส"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "เปิดในโปรแกรมสร้าง"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "เข้ากันได้กับ OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "โอเพ่นรูเตอร์"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "กด<0>Enter</0>เพื่อเปิด"
|
||||
msgid "Preview"
|
||||
msgstr "ตัวอย่าง"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "ให้ใช้เวอร์ชันล่าสุดที่ถูกต้องในการแสดงตัวอย่างและการส่งออก"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "สีหลัก"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "เรแอคทีฟ เรซูเม่ v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "โปรดอ่านคู่มือการใช้สไตล์ที่กำหนดเอง"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "กำลังอ่าน…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "พร้อมใช้งานแล้ว"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "พร้อมใช้งานพร้อมคำเตือน"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "ผู้รับ"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "สี่เหลี่ยมผืนผ้า (เต็มควา
|
||||
msgid "Redo"
|
||||
msgstr "ทำซ้ำ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "แก้ไขสไตล์ชีตใหม่"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "รีเซ็ต"
|
||||
msgid "Reset Password"
|
||||
msgstr "รีเซ็ตรหัสผ่าน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "รีเซ็ตสไตล์"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "รีเซ็ตเป็นสไตล์ชีตที่ใช้งานอยู่"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "ดำเนินการวิเคราะห์ครั้งแรกของคุณเพื่อรับสกอร์การ์ด จุดแข็ง และข้อเสนอแนะที่จัดลำดับความสำคัญ"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "เลือกแล้ว"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "โฮสต์ด้วยตนเองบน Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "สไตล์ชีต CSS เชิงความหมาย"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "ส่งข้อความ"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "ขีดฆ่า"
|
||||
msgid "Strong fit"
|
||||
msgstr "เหมาะสมมาก"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "ตัวแก้ไขสไตล์ชีต"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "ไฟล์สไตล์ชีตมีข้อผิดพลาด"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "ซับเรดดิต"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "หน้าที่คุณกำลังมองหาอาจถ
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "รหัสผ่านที่คุณกรอกไม่ถูกต้อง"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "ไม่สามารถอัปเดตตัวอย่างประวัติย่อได้ ตัวอย่างที่ถูกต้องล่าสุดยังคงแสดงอยู่"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "เรซูเม่ที่คุณพยายามเข้าถึงถูกป้องกันด้วยรหัสผ่าน"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "ขีดเส้นใต้"
|
||||
msgid "Undo"
|
||||
msgstr "เลิกทำ"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "ยกเลิกการแก้ไขสไตล์ชีต"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "เรซูเม่ไม่จำกัดจำนวน"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "ข้อมูลของคุณถูกจัดเก็บไว
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "ไม่สามารถบันทึกการเปลี่ยนแปลงล่าสุดของคุณได้"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "สไตล์เดิมของคุณจะยังคงใช้งานได้จนกว่าคุณจะเปิดใช้งานร่าง CSS เชิงความหมายนี้อย่างชัดเจน"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "รหัสผ่านของคุณถูกรีเซ็ตเรียบร้อยแล้ว ตอนนี้คุณสามารถเข้าสู่ระบบด้วยรหัสผ่านใหม่ของคุณได้."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Hesap menüsü"
|
||||
msgid "Actions"
|
||||
msgstr "Eylemler"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Semantik CSS'i Etkinleştir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Gerçek boyut (%100)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Haftalık gönderilen başvurular (son 8 hafta)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Başvuruldu"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Başvuruldu"
|
||||
msgid "Applied on"
|
||||
msgstr "Başvuru tarihi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Uygulanan Kurallar"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Uyarılarla birlikte uygulandı."
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Şifrenizi sıfırlamak için bağlantı içeren e-postanızı kontrol e
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Hesabınızı doğrulamak için bağlantı içeren e-postanızı kontrol edin."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kontrol Etme"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Taslağı kontrol etme"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Çince (Basitleştirilmiş)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Konuşma kopyalandı."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Konuşma JSON'u kopyalandı."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Dönüştürülmüş stil sayfası taslağı"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Panoya kopyalandı."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Yedekleme Kodlarını Kopyala"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON'u kopyala"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Kopyala gizli"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Stil sayfasını kopyala"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Bu gizli anahtarı kopyalayıp uygulamalarınızda verilerinize erişmek için kullanın."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Düzenle {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Başvuruyu düzenle"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Renk düzenleme {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "İki faktörlü kimlik doğrulamayı kurmayı onaylamak için şifrenizi
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "İki faktörlü kimlik doğrulamayı devre dışı bırakmak için şifrenizi girin. 2FA etkin olmadığında hesabınız daha az güvenli olur."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Hata"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Her katkı, büyük ya da küçük, projeye önemli bir katkı sağlar.<0/>Desteğiniz için teşekkürler!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Her katkı, büyük ya da küçük, projeye önemli bir katkı sağlar.<
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Profesyonel özgeçmişler oluşturmak, özelleştirmek ve paylaşmak için ihtiyacınız olan her şey. Gizlilik odaklı, açık kaynaklı ve sonsuza dek tamamen ücretsiz."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Odak modundan çık"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Tam Ekrandan Çık"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Biçimlendirme stili sayfası"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ücretsiz"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Açık"
|
||||
msgid "Light theme"
|
||||
msgstr "Açık tema"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Satır {0}, sütun {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Satır Yüksekliği"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Henüz kaydedilmiş sürüm yok."
|
||||
msgid "No source data yet."
|
||||
msgstr "Henüz kaynak verisi yok."
|
||||
|
||||
#: 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."
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norveççe"
|
||||
msgid "Not connected"
|
||||
msgstr "Bağlı değil"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Ne yazacağınızdan emin değil misiniz?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Açık yapay zeka asistanı"
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-posta İstemcisini Aç"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Açık odak modu"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Yapıcıda aç"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI uyumlu"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Açmak için <0>Enter</0> tuşuna basın"
|
||||
msgid "Preview"
|
||||
msgstr "Önizleme"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Önizleme ve dışa aktarma işlemleri için en son geçerli sürüm kullanılır."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Birincil Renk"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktif Özgeçmiş v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktif Özgeçmiş v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Özel Stilleri Uygulama kılavuzunu okuyun."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Okunuyor…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Etkinleştirmeye hazır"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Uyarılarla birlikte etkinleştirmeye hazır."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Alıcı"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Dikdörtgen (Tam Genişlik)"
|
||||
msgid "Redo"
|
||||
msgstr "Tekrarla"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Stil sayfası düzenlemesini yeniden yap"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Uygulanan stil sayfasına sıfırla"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "seçildi"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ile kendi kendine barındırma"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Anlamsal CSS stil sayfası"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Mesaj gönder"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Üstü Çizili"
|
||||
msgid "Strong fit"
|
||||
msgstr "Güçlü uyum"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Stil sayfası düzenleyici"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Stil dosyasında hatalar var."
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Alt Reddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Aradığınız sayfa taşınmış olabilir veya artık mevcut olmayabili
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Girdiğiniz şifre yanlış"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Özgeçmiş önizlemesi güncellenemedi. Son geçerli önizleme hala gösteriliyor."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Erişmeye çalıştığınız özgeçmiş şifre korumalıdır"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Altı Çizili"
|
||||
msgid "Undo"
|
||||
msgstr "Geri al"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Stil sayfası düzenlemesini geri al"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Sınırsız Özgeçmiş"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Verileriniz güvenli bir şekilde saklanır ve asla üçüncü partilerl
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Son değişiklikleriniz kaydedilemedi."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Eski stilleriniz, bu Semantik CSS taslağını açıkça etkinleştirene kadar aktif kalacaktır."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Şifreniz başarıyla sıfırlandı. Artık yeni şifrenizle giriş yapabilirsiniz."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\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"
|
||||
@@ -163,6 +163,10 @@ msgstr "Меню облікового запису"
|
||||
msgid "Actions"
|
||||
msgstr "Дії"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Активуйте семантичний CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Фактичний розмір (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Заявки, надіслані за тиждень (останні 8 тижнів)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Подано"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Подано"
|
||||
msgid "Applied on"
|
||||
msgstr "Подано"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Застосовані правила"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Застосовується з попередженнями"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Перевірте свою електронну пошту для по
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Перевірте свою електронну пошту для підтвердження облікового запису."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Перевірка"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Перевірка чернетки"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Китайська (спрощена)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Розмову скопійовано."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON розмови скопійовано."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Конвертований чернетка таблиці стилів"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Скопійовано до буфера обміну."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Скопіювати резервні коди"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Копіювати JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Скопіювати секретний код"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Копіювати таблицю стилів"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Скопіюйте цей секретний ключ та використовуйте його у своїх додатках для доступу до своїх даних."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Редагувати {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Редагувати заявку"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Редагувати колір {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Введіть пароль для підтвердження налаш
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Введіть свій пароль для вимикання двофакторної автентифікації. Ваш профіль буде менш захищений без увімкненого 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Помилка"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Кожен внесок, великий чи малий, має величезне значення для проєкту.<0/>Дякуємо за вашу підтримку!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Кожен внесок, великий чи малий, має вели
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Все необхідне для створення, налаштування та поширення професійних резюме. Створено з урахуванням приватності, на основі відкритих вихідних кодів і назавжди безкоштовно."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Вийти з режиму фокусування"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Вийти з повноекранного режиму"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Формат таблиці стилів"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Безкоштовно"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Світлий"
|
||||
msgid "Light theme"
|
||||
msgstr "Світла тема"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Рядок {0}, стовпець {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Інтервал між рядками"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Збережених версій поки що немає."
|
||||
msgid "No source data yet."
|
||||
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 "Немає перевіреного постачальника"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Норвезька"
|
||||
msgid "Not connected"
|
||||
msgstr "Не підключено"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Не знаєте, що написати?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Відкритий помічник зі штучним інтелект
|
||||
msgid "Open Email Client"
|
||||
msgstr "Відкрити поштовий клієнт"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Відкрити режим фокусування"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Відкрити в конструкторі"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Сумісний з OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Натисніть <0>Enter</0>, щоб відкрити"
|
||||
msgid "Preview"
|
||||
msgstr "Попередній перегляд"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Для попереднього перегляду та експорту використовується остання дійсна версія."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основний колір"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Реактивне резюме v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Реактивне резюме v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Ознайомтеся з посібником із застосування власних стилів."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Читання…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Готовий до активації"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Готовий до активації з попередженнями"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Одержувач"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Прямокутник (на всю ширину)"
|
||||
msgid "Redo"
|
||||
msgstr "Повторити"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Повторити редагування таблиці стилів"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "Скинути"
|
||||
msgid "Reset Password"
|
||||
msgstr "Скинути пароль"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "Скинути стиль"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Скинути до застосованого таблиці стилів"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "Проведіть перший аналіз, щоб отримати оціночну таблицю, сильні сторони та пріоритетні пропозиції."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "вибрано"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самостійний хостинг з Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Семантична таблиця стилів CSS"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Надіслати повідомлення"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Закреслення"
|
||||
msgid "Strong fit"
|
||||
msgstr "Висока відповідність"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Редактор таблиць стилів"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Таблиця стилів містить помилки"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Сабреддіт"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Можливо, сторінку, яку ви шукаєте, було
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Введений вами пароль невірний"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Не вдалося оновити попередній перегляд резюме. Останній дійсний попередній перегляд все ще відображається."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Резюме, до якого ви намагаєтеся отримати доступ, захищене паролем"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Підкреслення"
|
||||
msgid "Undo"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Скасувати редагування таблиці стилів"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Необмежена кількість резюме"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Ваші дані зберігаються безпечно і ніко
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Не вдалося зберегти ваші останні зміни."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Ваші застарілі стилі залишаються активними, доки ви явно не активуєте цей черновик семантичного CSS."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Ваш пароль було успішно скинуто. Тепер ви можете увійти з новим паролем."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uz\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Uzbek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Hisob menyusi"
|
||||
msgid "Actions"
|
||||
msgstr "Amallar"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Semantik CSS-ni faollashtirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Haqiqiy o'lcham (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Haftasiga yuborilgan arizalar (so‘nggi 8 hafta)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Topshirildi"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Topshirildi"
|
||||
msgid "Applied on"
|
||||
msgstr "Ariza sanasi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Amaliy qoidalar"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Ogohlantirishlar bilan qo'llanildi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Parolingizni tiklash uchun havola yuborilganligini emailingizni tekshiri
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Hisobingizni tasdiqlash uchun havola yuborilganligini emailingizni tekshiring."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Tekshirish"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Qoralama tekshirilmoqda"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Xitoy (Soddalashtirilgan)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Suhbat nusxalandi."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "JSON suhbatidan nusxa ko'chirildi."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "O'zgartirilgan uslublar jadvali qoralamasi"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Buferga nusxalandi."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Zaxira kodlarini nusxalash"
|
||||
msgid "Copy JSON"
|
||||
msgstr "JSON nusxasini olish"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Maxfiy nusxa ko'chirish"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Uslublar jadvalini nusxalash"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Ushbu maxfiy kalitni nusxalab, maʼlumotlaringizga kirish uchun ilovalaringizda foydalaning."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Tahrir qilish {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Arizani tahrirlash"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "{0} rangini tahrirlash"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Ikki bosqichli autentifikatsiyani yoqishni tasdiqlash uchun parolingizni
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Ikki bosqichli autentifikatsiyani o‘chirishni tasdiqlash uchun parolingizni kiriting. 2BShT yoqilmagan holda hisobingiz kamroq xavfsiz boʻladi."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Xato"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Har bir hissa, kichik yoki katta bo‘lishidan qat’i nazar, loyiha uchun katta ahamiyatga ega.<0/>Qo‘llab-quvvatlaganingiz uchun rahmat!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Har bir hissa, kichik yoki katta bo‘lishidan qat’i nazar, loyiha uch
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Professional rezyumelar yaratish, sozlash va ulashish uchun kerakli barcha narsa. Maxfiylik tamoyiliga asoslangan, ochiq manba asosida qurilgan va doimiy ravishda butunlay bepul."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Fokus rejimidan chiqish"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Toʻliq ekrandan chiqish"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Uslublar jadvalini formatlash"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Bepul"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Yorugʻ"
|
||||
msgid "Light theme"
|
||||
msgstr "Yorugʻ mavzu"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "{0}qatori, {1} ustuni"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Satr balandligi"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Hali saqlanmagan versiyalar mavjud."
|
||||
msgid "No source data yet."
|
||||
msgstr "Hali manba ma'lumotlari yo'q."
|
||||
|
||||
#: 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"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Norveg tili"
|
||||
msgid "Not connected"
|
||||
msgstr "Ulanmagan"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Nima yozishni bilmayapsizmi?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Ochiq AI yordamchisi"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Pochta dasturini ochish"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Fokus rejimini ochish"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Quruvchida ochish"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "OpenAI bilan mos keladi"
|
||||
msgid "OpenRouter"
|
||||
msgstr "Ochiq marshrutizator"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Ochish uchun <0>Enter tugmasini</0> bosing"
|
||||
msgid "Preview"
|
||||
msgstr "Oldindan ko'rish"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Oldindan ko'rish va eksport qilish uchun oxirgi amaldagi versiyadan foydalaning."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Asosiy rang"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reaktiv rezyume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Reaktiv Rezume v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Maxsus uslublarni qo'llash qo'llanmasini o'qing."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "O'qilmoqda…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Faollashtirishga tayyor"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Ogohlantirishlar bilan faollashtirishga tayyor"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Qabul qiluvchi"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Toʻgʻri burchakli (toʻliq kenglik)"
|
||||
msgid "Redo"
|
||||
msgstr "Qayta bajarish"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Uslublar jadvalini tahrirlashni qayta bajarish"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Qo'llanilgan uslublar jadvaliga qayta o'rnatish"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "tanlandi"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker bilan mustaqil joylashtirish"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Semantik CSS uslublar jadvali"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Xabar yuborish"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Ustiga chizish"
|
||||
msgid "Strong fit"
|
||||
msgstr "Kuchli moslik"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Uslublar jadvali muharriri"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Uslublar jadvalida xatolar mavjud"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Siz izlayotgan sahifa boshqa joyga ko'chirilgan yoki endi mavjud emas bo
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Kiritilgan parol noto'g'ri"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Rezyume oldindan ko'rish versiyasini yangilab bo'lmadi. Oxirgi haqiqiy oldindan ko'rish versiyasi hali ham ko'rsatilmoqda."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Siz kirishga harakat qilayotgan rezyume parol bilan himoyalangan"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Tagiga chizilgan"
|
||||
msgid "Undo"
|
||||
msgstr "Bekor qilish"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Uslublar jadvali tahririni bekor qilish"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Cheksiz rezyumelar"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Maʼlumotlaringiz xavfsiz saqlanadi va uchinchi tomonlarga hech qachon u
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "So'nggi o'zgarishlaringizni saqlab bo'lmadi."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Sizning eski uslublaringiz ushbu Semantik CSS qoralamasini aniq faollashtirmaguningizcha faol bo'lib qoladi."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Parolingiz muvaffaqiyatli tiklandi. Endi yangi parolingiz bilan tizimga kirishingiz mumkin."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "Menu tài khoản"
|
||||
msgid "Actions"
|
||||
msgstr "Hành động"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "Kích hoạt CSS ngữ nghĩa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "Kích thước thật (100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "Đơn ứng tuyển đã gửi mỗi tuần (8 tuần gần nhất)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "Đã ứng tuyển"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "Đã ứng tuyển"
|
||||
msgid "Applied on"
|
||||
msgstr "Đã ứng tuyển vào"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "Quy tắc áp dụng"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "Được áp dụng kèm theo cảnh báo"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "Hãy kiểm tra email của bạn để lấy đường link đặt lạ
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "Hãy kiểm tra email của bạn để lấy liên kết xác minh tài khoản."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "Kiểm tra"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "Kiểm tra bản nháp"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Tiếng Trung (Giản thể)"
|
||||
@@ -966,6 +979,10 @@ msgstr "Cuộc hội thoại đã được sao chép."
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "Đã sao chép JSON hội thoại."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "Bản nháp bảng định kiểu đã chuyển đổi"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "Đã sao chép vào bảng nhớ tạm."
|
||||
@@ -989,6 +1006,15 @@ msgstr "Sao chép mã Backup"
|
||||
msgid "Copy JSON"
|
||||
msgstr "Sao chép JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "Sao chép bí mật"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "Sao chép bảng định kiểu"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "Sao chép khóa bí mật này và sử dụng trong ứng dụng của bạn để truy cập dữ liệu."
|
||||
@@ -1545,6 +1571,11 @@ msgstr "Chỉnh sửa {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "Chỉnh sửa hồ sơ ứng tuyển"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "Chỉnh sửa màu {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "Nhập mật khẩu của bạn để xác nhận thiết lập xác th
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "Nhập mật khẩu của bạn để tắt xác thực hai yếu tố. Tài khoản của bạn sẽ kém an toàn hơn nếu không bật 2FA."
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "Lỗi"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "Mỗi đóng góp, dù lớn hay nhỏ, đều tạo nên sự khác biệt lớn cho dự án.<0/>Cảm ơn sự ủng hộ của bạn!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "Mỗi đóng góp, dù lớn hay nhỏ, đều tạo nên sự khác bi
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "Mọi thứ bạn cần để tạo, tùy chỉnh và chia sẻ bản lý lịch chuyên nghiệp. Được xây dựng với tính riêng tư, mã nguồn mở và hoàn toàn miễn phí mãi mãi."
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "Thoát chế độ lấy nét"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Thoát toàn màn hình"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Định dạng"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "Định dạng bảng định kiểu"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Miễn phí"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "Sáng"
|
||||
msgid "Light theme"
|
||||
msgstr "Chủ đề sáng"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "Dòng {0}, cột {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "Chiều cao giữa các dòng"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "Chưa có phiên bản nào được lưu."
|
||||
msgid "No source data yet."
|
||||
msgstr "Chưa có dữ liệu nguồn."
|
||||
|
||||
#: 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ử"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "Na Uy"
|
||||
msgid "Not connected"
|
||||
msgstr "Không kết nối"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "Không biết nên viết gì?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "Trợ lý AI mở"
|
||||
msgid "Open Email Client"
|
||||
msgstr "Mở ứng dụng Email"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "Chế độ lấy nét mở"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "Mở trong trình soạn thảo"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "Tương thích với OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "Nhấn <0>phím Enter</0> để mở"
|
||||
msgid "Preview"
|
||||
msgstr "Xem trước"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "Chức năng xem trước và xuất khẩu sử dụng phiên bản hợp lệ mới nhất."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Màu chủ đạo"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "Reactive Resume v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "Sơ yếu lý lịch phản hồi phiên bản 4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "Hãy đọc hướng dẫn Áp dụng kiểu tùy chỉnh."
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "Đang đọc…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "Sẵn sàng kích hoạt"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "Sẵn sàng kích hoạt kèm cảnh báo"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "Người nhận"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "Hình chữ nhật (Toàn bộ chiều rộng)"
|
||||
msgid "Redo"
|
||||
msgstr "Làm lại"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "Chỉnh sửa lại bảng định kiểu"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ 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/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "Đặt lại về kiểu định dạng đã áp dụng"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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."
|
||||
@@ -3791,6 +3857,10 @@ msgstr "đã chọn"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Tự dựng với Docker"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "Bảng định kiểu CSS ngữ nghĩa"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "Gửi tin nhắn"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "Gạch ngang"
|
||||
msgid "Strong fit"
|
||||
msgstr "Rất phù hợp"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "Trình chỉnh sửa bảng định kiểu"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "Tệp định kiểu có lỗi"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "Trang bạn đang tìm có thể đã được di chuyển hoặc không
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "Mật khẩu bạn đã nhập không đúng"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "Không thể cập nhật bản xem trước sơ yếu lý lịch. Bản xem trước hợp lệ cuối cùng vẫn được hiển thị."
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "Hồ sơ bạn đang cố truy cập đã được bảo vệ bằng mật khẩu"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "Gạch chân"
|
||||
msgid "Undo"
|
||||
msgstr "Hoàn tác"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "Hoàn tác chỉnh sửa bảng định kiểu"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "Không giới hạn hồ sơ"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "Dữ liệu của bạn được lưu trữ an toàn và không bao gi
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "Những thay đổi gần đây của bạn không thể được lưu lại."
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "Các kiểu định dạng cũ của bạn vẫn hoạt động cho đến khi bạn kích hoạt bản nháp CSS ngữ nghĩa này một cách rõ ràng."
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "Mật khẩu của bạn đã được đặt lại thành công. Bây giờ bạn có thể đăng nhập bằng mật khẩu mới."
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "帐户菜单"
|
||||
msgid "Actions"
|
||||
msgstr "操作"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "启用语义化 CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "实际尺寸(100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "每周发送的申请(最近 8 周)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "已申请"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "已申请"
|
||||
msgid "Applied on"
|
||||
msgstr "申请日期"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "应用规则"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "附带警告"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "请检查你的电子邮件,点击邮件中的链接重置密码。"
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "请检查你的电子邮件,点击邮件中的链接验证账号。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "检查"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "检查草稿"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "中文(简体)"
|
||||
@@ -966,6 +979,10 @@ msgstr "对话已复制。"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "对话JSON已复制。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "已转换的样式表草稿"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "已复制到剪贴板。"
|
||||
@@ -989,6 +1006,15 @@ msgstr "复制备份码"
|
||||
msgid "Copy JSON"
|
||||
msgstr "复制 JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "复制秘密"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "复制样式表"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "复制此密钥,并在你的应用程序中使用它来访问你的数据。"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "编辑 {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "编辑申请"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "编辑颜色 {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "请输入你的密码以确认设置双重身份验证。启用后,你
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "请输入你的密码以禁用双重身份验证。关闭 2FA 后,你的账号将不再那么安全。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "错误"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "每一笔捐助,无论多少,都会对项目产生巨大的积极影响。<0/>感谢你的支持!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "每一笔捐助,无论多少,都会对项目产生巨大的积极影
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "你创建、定制和分享专业简历所需的一切。以隐私为核心设计,由开源驱动,并且永久免费。"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "退出对焦模式"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "退出全屏"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "格式"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "格式样式表"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "免费"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "浅色"
|
||||
msgid "Light theme"
|
||||
msgstr "浅色主题"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "行 {0},列 {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "行高"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "暂无已保存版本。"
|
||||
msgid "No source data yet."
|
||||
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 "没有经过测试的提供商"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "挪威语"
|
||||
msgid "Not connected"
|
||||
msgstr "未连接"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "不知道该写些什么?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "OpenAI助手"
|
||||
msgid "Open Email Client"
|
||||
msgstr "打开邮件客户端"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "打开对焦模式"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "在构建器中打开"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "兼容 OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "开放路由器"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "按<0>Enter 键</0>打开"
|
||||
msgid "Preview"
|
||||
msgstr "预览"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "预览和导出时请使用最新有效版本。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "主颜色"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "响应式恢复 v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "反应式简历 v4(JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "请阅读“应用自定义样式”指南。"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "正在读取…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "准备激活"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "准备激活并发出警告"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "收件人"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "矩形(全宽)"
|
||||
msgid "Redo"
|
||||
msgstr "重做"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "重新编辑样式表"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "重置"
|
||||
msgid "Reset Password"
|
||||
msgstr "重置密码"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "重置样式"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "重置为已应用的样式表"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "进行首次分析,以获得记分卡、优势和优先建议。"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "已选择"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "使用 Docker 自托管"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "语义化 CSS 样式表"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "发送消息"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "删除线"
|
||||
msgid "Strong fit"
|
||||
msgstr "高度匹配"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "样式表编辑器"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "样式表存在错误"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit 论坛"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "您要查找的页面可能已被移动或已不存在。"
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "你输入的密码不正确"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "简历预览无法更新,仍显示上次有效的预览版本。"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "你尝试访问的这份简历已启用密码保护"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "下划线"
|
||||
msgid "Undo"
|
||||
msgstr "撤销"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "撤销样式表编辑"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "无限简历"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "你的数据会被安全存储,且绝不会与第三方共享。你也
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "您所做的最新更改未能保存。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "在您明确激活此语义化 CSS 草案之前,您的旧版样式仍将保持有效。"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "你的密码已成功重置。你现在可以使用新密码登录。"
|
||||
|
||||
+109
-19
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-07-27 18:56\n"
|
||||
"PO-Revision-Date: 2026-08-09 13:09\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -163,6 +163,10 @@ msgstr "帳戶選單"
|
||||
msgid "Actions"
|
||||
msgstr "動作"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr "啟用語意化 CSS"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr "實際尺寸(100%)"
|
||||
@@ -482,6 +486,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr "每週送出的申請(最近 8 週)"
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr "已申請"
|
||||
|
||||
@@ -489,9 +494,9 @@ msgstr "已申請"
|
||||
msgid "Applied on"
|
||||
msgstr "應徵日期"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
msgstr "應用規則"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr "附帶警告"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Arabic"
|
||||
@@ -800,6 +805,14 @@ msgstr "請到電子郵件收件匣查看重設密碼的連結。"
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr "請到電子郵件收件匣查看用於驗證帳戶的連結。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr "檢查"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr "檢查草稿"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "中文(簡體)"
|
||||
@@ -966,6 +979,10 @@ msgstr "對話已複製。"
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr "對話JSON已複製。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr "已轉換的樣式表草稿"
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr "已複製到剪貼簿。"
|
||||
@@ -989,6 +1006,15 @@ msgstr "複製備份代碼"
|
||||
msgid "Copy JSON"
|
||||
msgstr "複製 JSON"
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr "複製秘密"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr "複製樣式表"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr "複製這組私密金鑰,並在您的應用程式中使用它來存取您的資料。"
|
||||
@@ -1545,6 +1571,11 @@ msgstr "編輯 {chip}"
|
||||
msgid "Edit application"
|
||||
msgstr "編輯應徵紀錄"
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr "編輯顏色 {0}"
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1674,6 +1705,10 @@ msgstr "請輸入您的密碼以確認設定雙因子驗證。啟用後,每次
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr "請輸入您的密碼以停用雙因子驗證。停用後,您的帳戶將會比較不安全。"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr "錯誤"
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr "每一筆捐款,不論大小,都能為此專案帶來巨大的幫助。<0/>感謝您的支持!"
|
||||
@@ -1682,6 +1717,10 @@ msgstr "每一筆捐款,不論大小,都能為此專案帶來巨大的幫助
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr "建立、客製化與分享專業履歷所需的一切功能一應俱全。以隱私為出發點,由開放原始碼驅動,而且永遠完全免費。"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr "退出對焦模式"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "退出全螢幕"
|
||||
@@ -2001,6 +2040,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "格式"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr "格式樣式表"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "免費"
|
||||
@@ -2584,6 +2627,12 @@ msgstr "亮色"
|
||||
msgid "Light theme"
|
||||
msgstr "淺色主題"
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr "行 {0},列 {1}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr "行高"
|
||||
@@ -2898,10 +2947,6 @@ msgstr "暫無已儲存版本。"
|
||||
msgid "No source data yet."
|
||||
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 "沒有經過測試的提供者"
|
||||
@@ -2918,6 +2963,10 @@ msgstr "挪威語"
|
||||
msgid "Not connected"
|
||||
msgstr "未連接"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr "不知道該寫些什麼?"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2968,6 +3017,10 @@ msgstr "OpenAI助手"
|
||||
msgid "Open Email Client"
|
||||
msgstr "開啟電子郵件用戶端"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr "開啟對焦模式"
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr "在建構器中開啟"
|
||||
@@ -2992,6 +3045,7 @@ msgstr "相容 OpenAI"
|
||||
msgid "OpenRouter"
|
||||
msgstr "OpenRouter"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3267,6 +3321,10 @@ msgstr "按<0>Enter</0>開啟"
|
||||
msgid "Preview"
|
||||
msgstr "預覽"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr "預覽和匯出時請使用最新有效版本。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "主要顏色"
|
||||
@@ -3374,10 +3432,22 @@ msgstr "響應式恢復 v<0>{__APP_VERSION__}</0>"
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr "反應式履歷 v4 (JSON)"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr "請閱讀“套用自訂樣式”指南。"
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr "正在讀取…"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr "準備啟用"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr "準備啟動並發出警告"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr "收件人"
|
||||
@@ -3394,6 +3464,10 @@ msgstr "長方形(全幅寬)"
|
||||
msgid "Redo"
|
||||
msgstr "重做"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr "重新編輯樣式表"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3491,9 +3565,9 @@ msgstr "重置"
|
||||
msgid "Reset Password"
|
||||
msgstr "重設密碼"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
msgstr "重設樣式"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr "重設為已套用的樣式表"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Reset your password"
|
||||
@@ -3606,14 +3680,6 @@ 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 "執行您的第一次分析,以獲得計分卡、優勢和優先建議。"
|
||||
@@ -3791,6 +3857,10 @@ msgstr "已選取"
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "使用 Docker 自行託管"
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr "語意化 CSS 樣式表"
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr "發送訊息"
|
||||
@@ -4152,6 +4222,14 @@ msgstr "刪除線"
|
||||
msgid "Strong fit"
|
||||
msgstr "高度適配"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr "樣式表編輯器"
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr "樣式表存在錯誤"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr "Subreddit"
|
||||
@@ -4308,6 +4386,10 @@ msgstr "您要尋找的頁面可能已被移動或已不存在。"
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr "您輸入的密碼不正確"
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr "履歷預覽無法更新,仍顯示上次有效的預覽版本。"
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr "您嘗試存取的履歷已啟用密碼保護"
|
||||
@@ -4639,6 +4721,10 @@ msgstr "底線"
|
||||
msgid "Undo"
|
||||
msgstr "撤銷"
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr "撤銷樣式表編輯"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr "無限履歷"
|
||||
@@ -5013,6 +5099,10 @@ msgstr "您的資料會被安全保存,且絕不會分享給第三方。您也
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr "您所做的最新變更未能儲存。"
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr "在您明確啟動此語意化 CSS 草稿之前,您的舊版樣式仍將保持有效。"
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr "您的密碼已成功重設。您現在可以使用新密碼登入。"
|
||||
|
||||
+106
-16
@@ -158,6 +158,10 @@ msgstr ""
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Activate Semantic CSS"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Actual size (100%)"
|
||||
msgstr ""
|
||||
@@ -477,6 +481,7 @@ msgid "Applications sent per week (last 8 weeks)"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/applications/components/table-view.tsx
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied"
|
||||
msgstr ""
|
||||
|
||||
@@ -484,8 +489,8 @@ msgstr ""
|
||||
msgid "Applied on"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Applied Rules"
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Applied with warnings"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
@@ -795,6 +800,14 @@ msgstr ""
|
||||
msgid "Check your email for a link to verify your account."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Checking draft"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
@@ -961,6 +974,10 @@ msgstr ""
|
||||
msgid "Conversation JSON copied."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Converted stylesheet draft"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/applications/components/application-ai-copilot.tsx
|
||||
msgid "Copied to clipboard."
|
||||
msgstr ""
|
||||
@@ -984,6 +1001,15 @@ msgstr ""
|
||||
msgid "Copy JSON"
|
||||
msgstr ""
|
||||
|
||||
#. Accessible label for the button that copies the two-factor secret key
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Copy secret"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Copy stylesheet"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
msgid "Copy this secret key and use it in your applications to access your data."
|
||||
msgstr ""
|
||||
@@ -1540,6 +1566,11 @@ msgstr ""
|
||||
msgid "Edit application"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: selectedColor.token.value
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Edit color {0}"
|
||||
msgstr ""
|
||||
|
||||
#. Screen reader description for the fullscreen rich-text editor dialog
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Edit content in fullscreen mode"
|
||||
@@ -1669,6 +1700,10 @@ msgstr ""
|
||||
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
|
||||
msgstr ""
|
||||
@@ -1677,6 +1712,10 @@ msgstr ""
|
||||
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Exit focus mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
@@ -1996,6 +2035,10 @@ msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Format stylesheet"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr ""
|
||||
@@ -2579,6 +2622,12 @@ msgstr ""
|
||||
msgid "Light theme"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: diagnostic.range.start.line
|
||||
#. placeholder {1}: diagnostic.range.start.column
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Line {0}, column {1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
|
||||
msgid "Line Height"
|
||||
msgstr ""
|
||||
@@ -2893,10 +2942,6 @@ msgstr ""
|
||||
msgid "No source data yet."
|
||||
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 ""
|
||||
@@ -2913,6 +2958,10 @@ msgstr ""
|
||||
msgid "Not connected"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Not sure what to write?"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
#: src/libs/resume/section.tsx
|
||||
msgid "Notes"
|
||||
@@ -2963,6 +3012,10 @@ msgstr ""
|
||||
msgid "Open Email Client"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Open focus mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/agent/-components/resume-pane.tsx
|
||||
msgid "Open in builder"
|
||||
msgstr ""
|
||||
@@ -2987,6 +3040,7 @@ msgstr ""
|
||||
msgid "OpenRouter"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
#: src/routes/_home/-sections/donate.tsx
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "opens in new tab"
|
||||
@@ -3262,6 +3316,10 @@ msgstr ""
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Preview and export use the last valid version."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr ""
|
||||
@@ -3369,10 +3427,22 @@ msgstr ""
|
||||
msgid "Reactive Resume v4 (JSON)"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Read the Applying Custom Styles guide."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/applications/components/application-form-sheet.tsx
|
||||
msgid "Reading…"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Ready to activate with warnings"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
@@ -3389,6 +3459,10 @@ msgstr ""
|
||||
msgid "Redo"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Redo stylesheet edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/libs/resume/section-title.ts
|
||||
#: src/libs/resume/section.tsx
|
||||
@@ -3486,8 +3560,8 @@ msgstr ""
|
||||
msgid "Reset Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/custom-styles.tsx
|
||||
msgid "Reset Style"
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Reset to applied stylesheet"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
@@ -3601,14 +3675,6 @@ 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 ""
|
||||
@@ -3786,6 +3852,10 @@ msgstr ""
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/editor.tsx
|
||||
msgid "Semantic CSS stylesheet"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/agent/-components/agent-chat.tsx
|
||||
msgid "Send message"
|
||||
msgstr ""
|
||||
@@ -4147,6 +4217,14 @@ msgstr ""
|
||||
msgid "Strong fit"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Stylesheet editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/status.tsx
|
||||
msgid "Stylesheet has errors"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Subreddit"
|
||||
msgstr ""
|
||||
@@ -4303,6 +4381,10 @@ msgstr ""
|
||||
msgid "The password you entered is incorrect"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/preview/preview.browser.tsx
|
||||
msgid "The resume preview could not be updated. The last valid preview is still shown."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/auth/pages/resume-password.tsx
|
||||
msgid "The resume you are trying to access is password protected"
|
||||
msgstr ""
|
||||
@@ -4634,6 +4716,10 @@ msgstr ""
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/toolbar.tsx
|
||||
msgid "Undo stylesheet edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Unlimited Resumes"
|
||||
msgstr ""
|
||||
@@ -5008,6 +5094,10 @@ msgstr ""
|
||||
msgid "Your latest changes could not be saved."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/resume/stylesheet/legacy-banner.tsx
|
||||
msgid "Your legacy styles remain active until you explicitly activate this Semantic CSS draft."
|
||||
msgstr ""
|
||||
|
||||
#: src/features/auth/pages/reset-password.tsx
|
||||
msgid "Your password has been reset successfully. You can now sign in with your new password."
|
||||
msgstr ""
|
||||
|
||||
+43
-33
@@ -16,22 +16,30 @@
|
||||
"lingui:extract": "lingui extract --clean --overwrite"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/react": "^4.0.40",
|
||||
"@base-ui/react": "^1.6.0",
|
||||
"@better-auth/api-key": "^1.6.25",
|
||||
"@ai-sdk/react": "^4.0.61",
|
||||
"@base-ui/react": "^1.7.0",
|
||||
"@better-auth/api-key": "^1.6.26",
|
||||
"@better-auth/infra": "^0.3.7",
|
||||
"@better-auth/oauth-provider": "^1.6.25",
|
||||
"@better-auth/passkey": "^1.6.25",
|
||||
"@better-auth/oauth-provider": "^1.6.26",
|
||||
"@better-auth/passkey": "^1.6.26",
|
||||
"@codemirror/autocomplete": "^6.20.3",
|
||||
"@codemirror/commands": "^6.10.4",
|
||||
"@codemirror/lang-css": "^6.3.1",
|
||||
"@codemirror/language": "^6.12.4",
|
||||
"@codemirror/lint": "^6.9.7",
|
||||
"@codemirror/search": "^6.7.1",
|
||||
"@codemirror/state": "^6.7.1",
|
||||
"@codemirror/view": "^6.43.8",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.2",
|
||||
"@lingui/core": "^6.6.0",
|
||||
"@lingui/react": "^6.6.0",
|
||||
"@orpc/client": "^1.14.12",
|
||||
"@orpc/server": "^1.14.12",
|
||||
"@orpc/tanstack-query": "^1.14.12",
|
||||
"@orpc/client": "^1.15.0",
|
||||
"@orpc/server": "^1.15.0",
|
||||
"@orpc/tanstack-query": "^1.15.0",
|
||||
"@phosphor-icons/react": "^2.1.10",
|
||||
"@react-pdf/renderer": "^4.5.1",
|
||||
"@react-pdf/renderer": "^4.6.0",
|
||||
"@reactive-resume/ai": "workspace:*",
|
||||
"@reactive-resume/api": "workspace:*",
|
||||
"@reactive-resume/auth": "workspace:*",
|
||||
@@ -44,31 +52,33 @@
|
||||
"@reactive-resume/ui": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"@tailwindcss/vite": "^4.3.3",
|
||||
"@tanstack/react-form": "^1.33.2",
|
||||
"@tanstack/react-form": "^1.33.4",
|
||||
"@tanstack/react-hotkeys": "^0.10.0",
|
||||
"@tanstack/react-query": "^5.101.4",
|
||||
"@tanstack/react-router": "^1.170.18",
|
||||
"@tiptap/extension-color": "^3.29.1",
|
||||
"@tiptap/extension-highlight": "^3.29.1",
|
||||
"@tiptap/extension-text-align": "^3.29.1",
|
||||
"@tiptap/extension-text-style": "^3.29.1",
|
||||
"@tiptap/pm": "^3.29.1",
|
||||
"@tiptap/react": "^3.29.1",
|
||||
"@tiptap/starter-kit": "^3.29.1",
|
||||
"@tanstack/react-router": "^1.170.25",
|
||||
"@tiptap/extension-color": "^3.29.2",
|
||||
"@tiptap/extension-highlight": "^3.29.2",
|
||||
"@tiptap/extension-text-align": "^3.29.2",
|
||||
"@tiptap/extension-text-style": "^3.29.2",
|
||||
"@tiptap/pm": "^3.29.2",
|
||||
"@tiptap/react": "^3.29.2",
|
||||
"@tiptap/starter-kit": "^3.29.2",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@uiw/color-convert": "^2.10.3",
|
||||
"@uiw/react-color-colorful": "^2.10.3",
|
||||
"ai": "^7.0.37",
|
||||
"better-auth": "1.6.25",
|
||||
"ai": "^7.0.58",
|
||||
"better-auth": "1.6.26",
|
||||
"buffer": "^6.0.3",
|
||||
"cmdk": "^1.1.1",
|
||||
"drizzle-orm": "1.0.0-rc.4",
|
||||
"es-toolkit": "^1.50.0",
|
||||
"fuse.js": "^7.5.0",
|
||||
"immer": "^11.1.15",
|
||||
"immer": "^11.1.16",
|
||||
"js-cookie": "^3.0.8",
|
||||
"motion": "^12.42.2",
|
||||
"pdfjs-dist": "6.1.200",
|
||||
"pg": "^8.22.0",
|
||||
"motion": "^13.0.0",
|
||||
"pdfjs-dist": "6.2.108",
|
||||
"pg": "^8.23.0",
|
||||
"prettier": "^3.9.6",
|
||||
"qrcode.react": "^4.2.0",
|
||||
"react": "^19.2.8",
|
||||
"react-dom": "^19.2.8",
|
||||
@@ -76,9 +86,9 @@
|
||||
"react-markdown": "^10.1.0",
|
||||
"react-resizable-panels": "^4.12.2",
|
||||
"react-window": "^2.3.0",
|
||||
"react-zoom-pan-pinch": "^4.0.3",
|
||||
"react-zoom-pan-pinch": "^4.0.4",
|
||||
"remark-gfm": "^4.0.1",
|
||||
"sonner": "^2.0.7",
|
||||
"sonner": "^2.0.8",
|
||||
"ts-pattern": "^5.9.0",
|
||||
"usehooks-ts": "^3.1.1",
|
||||
"zod": "^4.4.3",
|
||||
@@ -95,18 +105,18 @@
|
||||
"@tanstack/devtools-vite": "^0.8.3",
|
||||
"@tanstack/react-devtools": "^0.10.9",
|
||||
"@tanstack/react-query-devtools": "^5.101.4",
|
||||
"@tanstack/react-router-devtools": "^1.167.0",
|
||||
"@tanstack/router-plugin": "^1.168.23",
|
||||
"@tanstack/react-router-devtools": "^1.167.1",
|
||||
"@tanstack/router-plugin": "^1.168.29",
|
||||
"@types/babel__core": "^7.20.5",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.17",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@types/pg": "^8.21.0",
|
||||
"@types/react": "^19.2.18",
|
||||
"@types/react-dom": "^19.2.4",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
||||
"@vitejs/plugin-react": "^6.0.4",
|
||||
"@vitejs/plugin-react": "^6.0.5",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
"babel-plugin-react-compiler": "^1.0.0",
|
||||
"rimraf": "^6.1.3",
|
||||
"typescript": "^7.0.2",
|
||||
"vite": "^8.1.5"
|
||||
"vite": "^8.2.1"
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
@@ -1,6 +1,6 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { fireEvent, render, screen } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
@@ -68,4 +68,17 @@ describe("IconPicker", () => {
|
||||
const { container } = renderPicker();
|
||||
expect(container.querySelectorAll("button").length).toBeGreaterThanOrEqual(1);
|
||||
});
|
||||
|
||||
it("calls onChange with an empty string when the no-icon cell is clicked", () => {
|
||||
const onChange = vi.fn();
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<IconPicker value="globe" onChange={onChange} popoverProps={{ defaultOpen: true }} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
const firstCell = screen.getByTestId("grid").querySelector("button");
|
||||
if (firstCell) fireEvent.click(firstCell);
|
||||
expect(onChange).toHaveBeenCalledWith("");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -58,7 +58,7 @@ function IconCellComponent({ columnIndex, rowIndex, style, icons, onChange }: Ic
|
||||
style={style}
|
||||
tabIndex={-1}
|
||||
onClick={() => {
|
||||
if (icon) onChange(icon);
|
||||
if (typeof icon === "string") onChange(icon);
|
||||
}}
|
||||
className="flex size-full items-center justify-center hover:bg-accent"
|
||||
>
|
||||
|
||||
@@ -1,6 +1,33 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { Editor } from "@tiptap/react";
|
||||
import StarterKit from "@tiptap/starter-kit";
|
||||
import { resolveHighlightToolbarState } from "./rich-input.utils";
|
||||
|
||||
describe("Tiptap editing", () => {
|
||||
it("creates a new paragraph when Enter is pressed", () => {
|
||||
const editor = new Editor({ extensions: [StarterKit], content: "<p>First</p>" });
|
||||
|
||||
editor.commands.setTextSelection(editor.state.doc.content.size - 1);
|
||||
editor.commands.enter();
|
||||
|
||||
expect(editor.getHTML()).toBe("<p>First</p><p></p>");
|
||||
editor.destroy();
|
||||
});
|
||||
|
||||
it("creates and splits list items", () => {
|
||||
const editor = new Editor({ extensions: [StarterKit], content: "<p>First</p>" });
|
||||
|
||||
editor.commands.setTextSelection(editor.state.doc.content.size - 1);
|
||||
editor.commands.toggleBulletList();
|
||||
editor.commands.enter();
|
||||
|
||||
expect(editor.getHTML()).toBe("<ul><li><p>First</p></li><li><p></p></li></ul><p></p>");
|
||||
editor.destroy();
|
||||
});
|
||||
});
|
||||
|
||||
describe("resolveHighlightToolbarState", () => {
|
||||
it("shows legacy colorless highlights as default yellow and clearable", () => {
|
||||
expect(resolveHighlightToolbarState(true, null)).toEqual({
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { DialogProps } from "../store";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { CopyIcon, PlusIcon } from "@phosphor-icons/react";
|
||||
import { useStore } from "@tanstack/react-form";
|
||||
import { useQueryClient } from "@tanstack/react-query";
|
||||
import { useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
@@ -83,6 +84,8 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => {
|
||||
|
||||
useFormBlocker(form);
|
||||
|
||||
const isSubmitting = useStore(form.store, (state) => state.isSubmitting);
|
||||
|
||||
return (
|
||||
<DialogContent>
|
||||
<DialogHeader>
|
||||
@@ -176,7 +179,7 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => {
|
||||
</form.Field>
|
||||
|
||||
<DialogFooter>
|
||||
<Button type="submit">
|
||||
<Button type="submit" disabled={isSubmitting}>
|
||||
<Trans comment="Create API key dialog submit action">Create</Trans>
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
@@ -254,6 +254,12 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">)
|
||||
<div className="flex items-center gap-x-2">
|
||||
<Input readOnly value={secret} className="font-mono text-sm" />
|
||||
<Button size="icon" variant="ghost" type="button" onClick={handleCopySecret}>
|
||||
<span className="sr-only">
|
||||
{t({
|
||||
comment: "Accessible label for the button that copies the two-factor secret key",
|
||||
message: "Copy secret",
|
||||
})}
|
||||
</span>
|
||||
<CopyIcon />
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import type { AnchorHTMLAttributes, ReactNode } from "react";
|
||||
import { fireEvent, render, screen, waitFor } from "@testing-library/react";
|
||||
import { afterEach, beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||
import { Dialog } from "@reactive-resume/ui/components/dialog";
|
||||
import { useDialogStore } from "@/dialogs/store";
|
||||
import { ConfirmDialogProvider } from "@/hooks/use-confirm";
|
||||
|
||||
const navigate = vi.hoisted(() => vi.fn());
|
||||
// Stands in for the navigation TanStack Router performs from inside <Link>. Keeping it separate
|
||||
// from `navigate` lets a test tell "the router took us away" apart from "the dialog took us away".
|
||||
const routerNavigate = vi.hoisted(() => vi.fn());
|
||||
|
||||
type MockLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
|
||||
to: string;
|
||||
children: ReactNode;
|
||||
};
|
||||
|
||||
vi.mock("@tanstack/react-router", () => ({
|
||||
useNavigate: () => navigate,
|
||||
// Mirrors the part of <Link> this fix depends on: the router handles the click and navigates
|
||||
// unless something already prevented the default. Without that, a missing preventDefault() in
|
||||
// the dialog would go unnoticed here.
|
||||
Link: ({ to, children, onClick, ...props }: MockLinkProps) => (
|
||||
<a
|
||||
href={to}
|
||||
onClick={(event) => {
|
||||
onClick?.(event);
|
||||
|
||||
if (event.defaultPrevented) return;
|
||||
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
|
||||
|
||||
routerNavigate({ to });
|
||||
}}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</a>
|
||||
),
|
||||
}));
|
||||
|
||||
vi.mock("@/features/settings/integrations/hooks/use-has-usable-ai-provider", () => ({
|
||||
useHasUsableAiProvider: () => ({ hasUsableProvider: false, isLoading: false }),
|
||||
}));
|
||||
|
||||
vi.mock("@/libs/orpc/client", () => ({
|
||||
client: {},
|
||||
orpc: { resume: { import: { mutationOptions: () => ({ mutationFn: vi.fn() }) } } },
|
||||
}));
|
||||
|
||||
const { ImportResumeDialog } = await import("./import");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
navigate.mockReset();
|
||||
routerNavigate.mockReset();
|
||||
});
|
||||
|
||||
// Drive `open` from the store the way DialogManager does, so closing the dialog actually unmounts it.
|
||||
function DialogHarness() {
|
||||
const open = useDialogStore((state) => state.open);
|
||||
|
||||
return (
|
||||
<Dialog open={open}>
|
||||
<ImportResumeDialog />
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
|
||||
const renderDialog = () => {
|
||||
useDialogStore.setState({ open: true, activeDialog: null, onBeforeClose: null });
|
||||
|
||||
return render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<QueryClientProvider client={new QueryClient()}>
|
||||
<ConfirmDialogProvider>
|
||||
<DialogHarness />
|
||||
</ConfirmDialogProvider>
|
||||
</QueryClientProvider>
|
||||
</I18nProvider>,
|
||||
);
|
||||
};
|
||||
|
||||
// A real "%PDF" header so the dialog auto-detects the type and shows the provider notice.
|
||||
const createPdfFile = () =>
|
||||
new File([new Uint8Array([0x25, 0x50, 0x44, 0x46])], "resume.pdf", { type: "application/pdf" });
|
||||
|
||||
// The dialog renders through a portal, so query the document rather than the render container.
|
||||
async function selectPdfFile() {
|
||||
const input = document.querySelector<HTMLInputElement>('input[type="file"]');
|
||||
if (!input) throw new Error("File input not found");
|
||||
|
||||
fireEvent.change(input, { target: { files: [createPdfFile()] } });
|
||||
|
||||
return await screen.findByText("Set up a provider");
|
||||
}
|
||||
|
||||
describe("ImportResumeDialog — Set up a provider", () => {
|
||||
// https://github.com/amruthpillai/reactive-resume/issues/3307
|
||||
it("confirms before leaving instead of navigating behind the dialog", async () => {
|
||||
renderDialog();
|
||||
const link = await selectPdfFile();
|
||||
|
||||
fireEvent.click(link);
|
||||
|
||||
expect(await screen.findByText("Leave to set up an AI provider?")).toBeInTheDocument();
|
||||
expect(routerNavigate).not.toHaveBeenCalled();
|
||||
expect(navigate).not.toHaveBeenCalled();
|
||||
expect(screen.getByText("Import an existing resume")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("stays put and keeps the selected file when the user cancels", async () => {
|
||||
renderDialog();
|
||||
const link = await selectPdfFile();
|
||||
|
||||
fireEvent.click(link);
|
||||
fireEvent.click(await screen.findByText("Stay"));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.queryByText("Leave to set up an AI provider?")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
expect(routerNavigate).not.toHaveBeenCalled();
|
||||
expect(navigate).not.toHaveBeenCalled();
|
||||
expect(useDialogStore.getState().open).toBe(true);
|
||||
expect(screen.getByText("resume.pdf")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("closes the dialog and navigates once the user confirms", async () => {
|
||||
renderDialog();
|
||||
const link = await selectPdfFile();
|
||||
|
||||
fireEvent.click(link);
|
||||
fireEvent.click(await screen.findByText("Leave"));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(navigate).toHaveBeenCalledWith({ to: "/dashboard/settings/integrations" });
|
||||
});
|
||||
|
||||
expect(useDialogStore.getState().open).toBe(false);
|
||||
await waitFor(() => {
|
||||
expect(screen.queryByText("Set up a provider")).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
it("leaves modifier clicks to the browser so the link can open in a new tab", async () => {
|
||||
renderDialog();
|
||||
const link = await selectPdfFile();
|
||||
|
||||
const event = new MouseEvent("click", { bubbles: true, cancelable: true, metaKey: true });
|
||||
fireEvent(link, event);
|
||||
|
||||
expect(event.defaultPrevented).toBe(false);
|
||||
expect(screen.queryByText("Leave to set up an AI provider?")).not.toBeInTheDocument();
|
||||
expect(navigate).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("leaves middle clicks to the browser too", async () => {
|
||||
renderDialog();
|
||||
const link = await selectPdfFile();
|
||||
|
||||
const event = new MouseEvent("click", { bubbles: true, cancelable: true, button: 1 });
|
||||
fireEvent(link, event);
|
||||
|
||||
expect(event.defaultPrevented).toBe(false);
|
||||
expect(screen.queryByText("Leave to set up an AI provider?")).not.toBeInTheDocument();
|
||||
expect(navigate).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
@@ -19,6 +19,7 @@ describe("detectJsonImportType", () => {
|
||||
});
|
||||
|
||||
it("returns an empty string for unrecognized shapes", () => {
|
||||
expect(detectJsonImportType({})).toBe("");
|
||||
expect(detectJsonImportType({ foo: "bar" })).toBe("");
|
||||
expect(detectJsonImportType(null)).toBe("");
|
||||
expect(detectJsonImportType("nope")).toBe("");
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
import type { DialogProps } from "../store";
|
||||
import type { ImportType } from "./import.utils";
|
||||
import type { ResumeJsonFormat } from "./parse-json";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { DownloadSimpleIcon, FileIcon, UploadSimpleIcon } from "@phosphor-icons/react";
|
||||
@@ -10,9 +11,6 @@ import { Link, useNavigate } from "@tanstack/react-router";
|
||||
import { useRef, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import z from "zod";
|
||||
import { parseJSONResume } from "@reactive-resume/import/json-resume";
|
||||
import { parseReactiveResumeJSON } from "@reactive-resume/import/reactive-resume-json";
|
||||
import { parseReactiveResumeV4JSON } from "@reactive-resume/import/reactive-resume-v4-json";
|
||||
import { Badge } from "@reactive-resume/ui/components/badge";
|
||||
import { Button } from "@reactive-resume/ui/components/button";
|
||||
import {
|
||||
@@ -27,12 +25,14 @@ import { Input } from "@reactive-resume/ui/components/input";
|
||||
import { Spinner } from "@reactive-resume/ui/components/spinner";
|
||||
import { Combobox } from "@/components/ui/combobox";
|
||||
import { useHasUsableAiProvider } from "@/features/settings/integrations/hooks/use-has-usable-ai-provider";
|
||||
import { useConfirm } from "@/hooks/use-confirm";
|
||||
import { useFormBlocker } from "@/hooks/use-form-blocker";
|
||||
import { getOrpcErrorMessage } from "@/libs/error-message";
|
||||
import { client, orpc } from "@/libs/orpc/client";
|
||||
import { useAppForm } from "@/libs/tanstack-form";
|
||||
import { useDialogStore } from "../store";
|
||||
import { detectJsonImportType } from "./import.utils";
|
||||
import { parseResumeJson } from "./parse-json";
|
||||
|
||||
const formSchema = z.discriminatedUnion("type", [
|
||||
z.object({
|
||||
@@ -120,6 +120,7 @@ async function detectImportType(file: File): Promise<ImportType> {
|
||||
}
|
||||
|
||||
export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
const confirm = useConfirm();
|
||||
const navigate = useNavigate();
|
||||
const closeDialog = useDialogStore((state) => state.closeDialog);
|
||||
|
||||
@@ -147,16 +148,12 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
try {
|
||||
let data: ResumeData | undefined;
|
||||
|
||||
if (value.type === "json-resume-json") {
|
||||
data = parseJSONResume(await value.file.text());
|
||||
}
|
||||
|
||||
if (value.type === "reactive-resume-json") {
|
||||
data = parseReactiveResumeJSON(await value.file.text());
|
||||
}
|
||||
|
||||
if (value.type === "reactive-resume-v4-json") {
|
||||
data = parseReactiveResumeV4JSON(await value.file.text());
|
||||
if (
|
||||
value.type === "json-resume-json" ||
|
||||
value.type === "reactive-resume-json" ||
|
||||
value.type === "reactive-resume-v4-json"
|
||||
) {
|
||||
data = parseResumeJson(await value.file.text(), value.type as ResumeJsonFormat);
|
||||
}
|
||||
|
||||
if (value.type === "pdf") {
|
||||
@@ -248,6 +245,31 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
// #6: only warn about unsaved changes once a file has actually been chosen — not on a bare type selection.
|
||||
useFormBlocker(form, { shouldBlock: () => Boolean(file) });
|
||||
|
||||
// The provider link navigates away while this dialog stays mounted over the new page, so the
|
||||
// unsaved-changes guard (which only runs on a close attempt) fires far too late. Confirm first,
|
||||
// then close and navigate ourselves.
|
||||
const onSetUpProvider = async (event: React.MouseEvent<HTMLAnchorElement>) => {
|
||||
// Modifier and middle clicks open a new tab: the user is not leaving this page, so let the
|
||||
// browser handle the link and keep the dialog exactly as it is.
|
||||
if (event.defaultPrevented || event.button !== 0) return;
|
||||
if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
if (file) {
|
||||
const confirmed = await confirm(t`Leave to set up an AI provider?`, {
|
||||
description: t`You'll be taken to the Integrations page. The file you selected won't be imported.`,
|
||||
confirmText: t`Leave`,
|
||||
cancelText: t`Stay`,
|
||||
});
|
||||
|
||||
if (!confirmed) return;
|
||||
}
|
||||
|
||||
closeDialog();
|
||||
await navigate({ to: "/dashboard/settings/integrations" });
|
||||
};
|
||||
|
||||
return (
|
||||
<DialogContent>
|
||||
<DialogHeader>
|
||||
@@ -388,7 +410,11 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
|
||||
size="sm"
|
||||
variant="secondary"
|
||||
nativeButton={false}
|
||||
render={<Link to="/dashboard/settings/integrations">{t`Set up a provider`}</Link>}
|
||||
render={
|
||||
<Link to="/dashboard/settings/integrations" onClick={onSetUpProvider}>
|
||||
{t`Set up a provider`}
|
||||
</Link>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { parseResumeJson } from "./parse-json";
|
||||
|
||||
describe("parseResumeJson", () => {
|
||||
it("keeps a selected v4 import from falling back to JSON Resume", () => {
|
||||
expect(() => parseResumeJson("{}", "reactive-resume-v4-json")).toThrow(/v4/i);
|
||||
});
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user