mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-09-30 00:34:28 +10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa7af040fb | ||
|
|
5f63dc876b | ||
|
|
014ceee31f | ||
|
|
70dff5bf49 | ||
|
|
c5787fe155 | ||
|
|
286e165a60 | ||
|
|
00dafd0c68 | ||
|
|
d251d602fb | ||
|
|
e35ff83911 | ||
|
|
62b0a1d533 | ||
|
|
0a8fe05653 | ||
|
|
de7baa5faf | ||
|
|
48555f58e5 | ||
|
|
0daf868cd4 | ||
|
|
e574d4005f | ||
|
|
fda4e500b3 | ||
|
|
adfc9b527b | ||
|
|
71aadbd73d | ||
|
|
0713cf20d4 | ||
|
|
334ea48bc7 | ||
|
|
69c23211a0 | ||
|
|
143aaa741b | ||
|
|
e4cc6a8e57 | ||
|
|
92a0e3ddb8 | ||
|
|
4ebe9e5a67 | ||
|
|
0abee1048c | ||
|
|
83a407bc10 | ||
|
|
02973a1eb1 | ||
|
|
2e04e71f4a | ||
|
|
978cbaf1f3 | ||
|
|
3cd228bd84 | ||
|
|
64ac3ff328 | ||
|
|
846b7856a7 | ||
|
|
7a60a42a04 | ||
|
|
b0de64ad13 | ||
|
|
b321e01658 | ||
|
|
6a01207b6b | ||
|
|
2f6a8904e4 | ||
|
|
56c9eb2ff4 | ||
|
|
33103536ae | ||
|
|
a93e7bd190 | ||
|
|
4cd4b8c193 | ||
|
|
be9285aa33 | ||
|
|
6787175a8a | ||
|
|
42e83cc676 | ||
|
|
62f4532157 | ||
|
|
fabe22089d | ||
|
|
fa38f3e84a | ||
|
|
0606e0072b | ||
|
|
bdfb854602 |
+4
-1
@@ -65,6 +65,9 @@ SMTP_SECURE="false"
|
||||
# --- Storage (optional) ---
|
||||
# If all S3 keys are disabled, the app uses local filesystem storage instead.
|
||||
# Make sure to mount this directory to a volume or the host filesystem to ensure data integrity.
|
||||
# LOCAL_STORAGE_PATH overrides where local uploads/cache are written.
|
||||
# Defaults to /app/data in the official Docker image; in dev, defaults to <workspace>/data.
|
||||
# LOCAL_STORAGE_PATH="/app/data"
|
||||
|
||||
# Seaweedfs
|
||||
S3_ACCESS_KEY_ID="seaweedfs"
|
||||
@@ -95,4 +98,4 @@ GOOGLE_CLOUD_API_KEY=""
|
||||
# Crowdin (optional)
|
||||
# For translation tooling.
|
||||
CROWDIN_PROJECT_ID=""
|
||||
CROWDIN_API_TOKEN=""
|
||||
CROWDIN_PERSONAL_TOKEN=""
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
"guid": "open-collective",
|
||||
"type": "payment-provider",
|
||||
"description": "Open Collective",
|
||||
"address": "https://opencollective.com/reactive-resume"
|
||||
"address": "https://opencollective.com/reactive-resume/donate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ body:
|
||||
- Onyx
|
||||
- Pikachu
|
||||
- Rhyhorn
|
||||
- Scizor
|
||||
validations:
|
||||
required: false
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ temp
|
||||
.codex
|
||||
.claude
|
||||
.cursor
|
||||
.superpowers
|
||||
docs/superpowers
|
||||
|
||||
# Local Storage Data
|
||||
|
||||
@@ -0,0 +1,332 @@
|
||||
<!-- refreshed: 2026-05-11 -->
|
||||
# Architecture
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## System Overview
|
||||
|
||||
Reactive Resume is a single full-stack web application running as one Node.js process on port 3000. The web app is a TanStack Start application (Vite + React 19 + Nitro server) packaged in a pnpm/Turborepo monorepo. All API surface area, server-side rendering, file uploads, OAuth, OpenAPI, MCP, and PWA assets are served from the same process. Internal packages are consumed as TypeScript source through `package.json` `exports` maps that point directly at `src` files; there is no per-package `dist` output to depend on.
|
||||
|
||||
```text
|
||||
┌────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Browser (React 19) │
|
||||
│ TanStack Router · TanStack Query · Zustand stores · React PDF view │
|
||||
│ `apps/web/src/router.tsx` · `apps/web/src/routes/__root.tsx` │
|
||||
└──────────┬─────────────────────────────────────────────────────┬───────────┘
|
||||
│ HTTP / SSR hydration │ /api/rpc (RPCLink)
|
||||
▼ ▼
|
||||
┌────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Nitro server entry (TanStack Start) │
|
||||
│ `apps/web/src/server.ts` · Nitro plugins (`apps/web/plugins/`) │
|
||||
├──────────────────────────┬─────────────────────────────────────────────────┤
|
||||
│ File-based routes │ Route `server.handlers` blocks │
|
||||
│ `apps/web/src/routes/*` │ `api/rpc.$.ts` · `api/auth.$.ts` · `api/health.ts`│
|
||||
│ │ `api/openapi.$.ts` · `api/uploads/$userId.$.ts`│
|
||||
│ │ `mcp/index.ts` · `[.]well-known/*` · `schema.json.ts`│
|
||||
└──────────┬───────────────┴──────────────────────────────┬─────────────────┘
|
||||
│ in-process router client │ HTTP handler
|
||||
▼ ▼
|
||||
┌────────────────────────────────────────────────────────────────────────────┐
|
||||
│ oRPC routers │
|
||||
│ `packages/api/src/routers/{ai,auth,flags,resume,statistics,storage}.ts` │
|
||||
│ Procedures: `publicProcedure` / `protectedProcedure` │
|
||||
│ Middleware: `packages/api/src/middleware/rate-limit/index.ts` │
|
||||
└──────────┬─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Services & helpers │
|
||||
│ `packages/api/src/services/{resume,ai,auth,storage,flags,statistics}.ts` │
|
||||
│ `packages/api/src/helpers/{resume-access,resume-access-policy}.ts` │
|
||||
│ `packages/api/src/services/resume-events.ts` (Postgres LISTEN/NOTIFY) │
|
||||
│ `packages/auth/src/config.ts` (Better Auth) │
|
||||
└──────────┬──────────────────────────────────────┬──────────────────────────┘
|
||||
│ Drizzle ORM │ S3 / local FS
|
||||
▼ ▼
|
||||
┌──────────────────────────────────┐ ┌──────────────────────────────────┐
|
||||
│ PostgreSQL (via `pg`) │ │ Storage (S3 or `<workspace>/data`)│
|
||||
│ `packages/db/src/client.ts` │ │ `packages/api/src/services/storage.ts`│
|
||||
│ schema: `packages/db/src/schema/*`│ │ served by `routes/uploads/$userId.$.tsx`│
|
||||
│ migrations: `migrations/` │ └──────────────────────────────────┘
|
||||
└──────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Component Responsibilities
|
||||
|
||||
| Component | Responsibility | File |
|
||||
|-----------|----------------|------|
|
||||
| Web app shell | TanStack Start app, route tree, SSR/CSR boundary, PWA, builder UI | `apps/web/src/router.tsx`, `apps/web/src/routes/__root.tsx` |
|
||||
| Server entry | Nitro fetch handler wrapping `react-start/server-entry` | `apps/web/src/server.ts` |
|
||||
| Migration plugin | Walks up to repo root, runs Drizzle migrations on boot | `apps/web/plugins/1.migrate.ts` |
|
||||
| Storage plugin | Validates `<workspace>/data` writability when S3 is unused | `apps/web/plugins/2.storage.ts` |
|
||||
| oRPC router root | Aggregates all sub-routers exposed at `/api/rpc` and OpenAPI | `packages/api/src/routers/index.ts` |
|
||||
| oRPC context | Header-based auth resolution, `publicProcedure`/`protectedProcedure` | `packages/api/src/context.ts` |
|
||||
| Resume service | CRUD, patch (RFC 6902), password, lock, statistics, analysis, events | `packages/api/src/services/resume.ts` |
|
||||
| Storage service | S3 + local FS abstraction, image processing via `sharp` | `packages/api/src/services/storage.ts` |
|
||||
| Resume access policy | Owner/viewer/redaction rules for `getBySlug` and statistics | `packages/api/src/helpers/resume-access-policy.ts` |
|
||||
| Resume events | Postgres `LISTEN/NOTIFY` channel for live updates | `packages/api/src/services/resume-events.ts` |
|
||||
| Auth | Better Auth config, OAuth provider, passkey, 2FA, API keys, JWKS | `packages/auth/src/config.ts` |
|
||||
| Database | Drizzle client singleton, schema, generated migrations | `packages/db/src/client.ts`, `packages/db/src/schema/*.ts`, `migrations/` |
|
||||
| Schema | Zod resume/page/template models shared across web + API + PDF + MCP | `packages/schema/src/resume/data.ts`, `packages/schema/src/templates.ts` |
|
||||
| PDF rendering | React PDF `Document`, font registration, 14 template implementations | `packages/pdf/src/document.tsx`, `packages/pdf/src/templates/index.ts`, `packages/pdf/src/hooks/use-register-fonts.ts` |
|
||||
| Shared UI | Base UI / shadcn-style component library and hooks | `packages/ui/src/components/*.tsx`, `packages/ui/src/hooks/*.tsx` |
|
||||
| MCP server | Model Context Protocol server backed by oRPC routers | `apps/web/src/routes/mcp/index.ts`, `apps/web/src/routes/mcp/-helpers/*` |
|
||||
|
||||
## Pattern Overview
|
||||
|
||||
**Overall:** Modular monolith. One deployable web app + a constellation of source-only TypeScript packages communicating through typed `package.json` `exports`. Browser ↔ server communication uses **oRPC** (typed RPC with REST/OpenAPI generation) instead of REST/tRPC. SSR and client share the same router/queryClient via TanStack Start.
|
||||
|
||||
**Key Characteristics:**
|
||||
- Source-consumed workspace packages (no per-package `dist` build) keep types end-to-end.
|
||||
- The oRPC router is mounted twice: as a Fetch handler at `/api/rpc` and as an in-process `createRouterClient` for SSR/server functions, with identical types on both paths.
|
||||
- Browser-only code (React PDF preview, PDF.js, canvas) is isolated behind explicit `.browser.tsx` files and `ssr: false` / `ssr: "data-only"` route opts to keep SSR bundles small and safe.
|
||||
- Postgres is both the data store and the event bus (`pg_notify` channel `resume_updated` for live builder sync).
|
||||
- Shared concerns (auth, theme, locale, feature flags, oRPC client, query client) are loaded once and passed through TanStack Router `context` rather than fetched per-route.
|
||||
|
||||
## Layers
|
||||
|
||||
**Routes (`apps/web/src/routes/`):**
|
||||
- Purpose: File-based TanStack Router routes; some are pure UI, others embed `server.handlers` blocks that act as HTTP endpoints.
|
||||
- Location: `apps/web/src/routes/`
|
||||
- Contains: Page components, route loaders, server-only API handlers, layout wrappers.
|
||||
- Depends on: `packages/api/routers` (mounted at `/api/rpc`), `packages/auth/config` (mounted at `/api/auth`), `packages/db/client`, `packages/api/services/*`.
|
||||
- Used by: TanStack Router (route tree is regenerated into `apps/web/src/routeTree.gen.ts`).
|
||||
|
||||
**oRPC API layer (`packages/api/src/routers/`):**
|
||||
- Purpose: Public typed contract for the browser, in-process callers, and OpenAPI/MCP consumers.
|
||||
- Location: `packages/api/src/routers/{ai,auth,flags,resume,statistics,storage}.ts`, aggregated in `packages/api/src/routers/index.ts`.
|
||||
- Contains: Procedure definitions, Zod input/output schemas, REST metadata, rate-limit middleware bindings.
|
||||
- Depends on: `packages/api/src/context.ts`, `packages/api/src/dto/*`, `packages/api/src/services/*`.
|
||||
- Used by: `apps/web/src/routes/api/rpc.$.ts` (RPCHandler), `apps/web/src/routes/api/openapi.$.ts` (OpenAPIHandler), `apps/web/src/libs/orpc/client.ts` (isomorphic client), MCP tools in `apps/web/src/routes/mcp/-helpers/tools.ts`.
|
||||
|
||||
**Services / business logic (`packages/api/src/services/`):**
|
||||
- Purpose: All cross-cutting business rules — resume CRUD, statistics, AI orchestration, storage, feature flags, auth helpers, event publishing.
|
||||
- Location: `packages/api/src/services/*.ts`
|
||||
- Contains: Side-effecting functions with explicit `userId`-style inputs. No request/response coupling.
|
||||
- Depends on: `packages/db/client`, `packages/db/schema`, `packages/auth/config`, `packages/schema/resume/*`, `packages/utils/*`, `packages/email/transport`, AI SDKs.
|
||||
- Used by: Routers, MCP helpers, the `/api/health` route.
|
||||
|
||||
**Persistence (`packages/db/`):**
|
||||
- Purpose: Drizzle ORM client + schema definitions; the only place SQL is written.
|
||||
- Location: `packages/db/src/client.ts`, `packages/db/src/schema/{auth,resume,index}.ts`, `packages/db/src/relations.ts`.
|
||||
- Contains: Postgres `Pool` singleton (stored on `globalThis.__pool` to survive HMR), `drizzle()` client, table definitions, relations.
|
||||
- Depends on: `pg`, `drizzle-orm`, `packages/env/server`.
|
||||
- Migrations: Generated by `drizzle-kit` into the repo-root `migrations/` directory (see `packages/db/drizzle.config.ts`) and applied at startup by `apps/web/plugins/1.migrate.ts`.
|
||||
|
||||
**Auth (`packages/auth/`):**
|
||||
- Purpose: Better Auth instance with email/password, OAuth (Google/GitHub/LinkedIn + generic), passkey, 2FA, API keys, JWKS, and a JWT-issuing OAuth provider for MCP clients.
|
||||
- Location: `packages/auth/src/config.ts`, `packages/auth/src/functions.ts`, `packages/auth/src/types.ts`.
|
||||
- Mounted at: `apps/web/src/routes/api/auth.$.ts` (delegates `request → auth.handler(request)` after sanitizing OAuth params).
|
||||
- Verifies tokens for MCP at `apps/web/src/routes/mcp/index.ts` via `verifyOAuthToken`.
|
||||
|
||||
**PDF rendering (`packages/pdf/`):**
|
||||
- Purpose: React PDF document and 14 visual templates (named after Pokémon).
|
||||
- Location: `packages/pdf/src/document.tsx` mounts `getTemplatePage(template)`; templates live under `packages/pdf/src/templates/<name>/`.
|
||||
- Shared template primitives: `packages/pdf/src/templates/shared/{filtering,rich-text,sections,primitives,picture,page-size,columns}.ts(x)`.
|
||||
- Fonts: `packages/pdf/src/hooks/use-register-fonts.ts` owns React PDF font registration, standard PDF font handling, CJK fallback stacks, and global hyphenation.
|
||||
- Consumed by: Web builder preview (`apps/web/src/components/resume/preview*.tsx`, `pdf-canvas.tsx`), public resume page (`apps/web/src/routes/$username/$slug.tsx`), and the OpenAPI `/resumes/{id}/download` procedure (`apps/web/src/routes/api/-helpers/resume-pdf.ts`).
|
||||
|
||||
**Shared schemas (`packages/schema/`):**
|
||||
- Purpose: Zod source of truth for resume data, templates, page settings, and AI analysis.
|
||||
- Location: `packages/schema/src/resume/{data,default,sample,analysis}.ts`, `packages/schema/src/templates.ts`, `packages/schema/src/page.ts`, `packages/schema/src/icons.ts`.
|
||||
- Used by: API DTOs (`packages/api/src/dto/resume.ts`), DB column typing (`packages/db/src/schema/resume.ts`), import package, PDF rendering, web forms, MCP tool descriptions, and the public JSON schema at `/schema.json`.
|
||||
|
||||
**Shared UI (`packages/ui/`):**
|
||||
- Purpose: Headless/styled component library (Base UI + shadcn-style) used by `apps/web`.
|
||||
- Location: `packages/ui/src/components/*.tsx`, `packages/ui/src/hooks/*.tsx`.
|
||||
- Examples: `dialog`, `dropdown-menu`, `command`, `resizable`, `sonner`, `tooltip`, `form`, `direction`.
|
||||
- Styles: `packages/ui/src/styles/globals.css` (Tailwind v4 entry).
|
||||
|
||||
**Support packages:**
|
||||
- `packages/utils` — small focused helpers (`color`, `date`, `field`, `file`, `html`, `level`, `locale`, `network-icons`, `rate-limit`, `sanitize`, `string`, `style`, `url`, plus Node-only `monorepo.node`, `url-security.node`, and `resume/{docx,patch}`).
|
||||
- `packages/env` — `@t3-oss/env-core` server schema; `dotenv` loads the repo-root `.env` (`packages/env/src/server.ts`).
|
||||
- `packages/email` — `nodemailer` transport + `react-email` templates (`packages/email/src/transport.ts`, `packages/email/src/templates/*.tsx`).
|
||||
- `packages/import` — converters for JSON Resume, Reactive Resume v3/v4 JSON (`packages/import/src/*.tsx`).
|
||||
- `packages/ai` — Zustand store, AI prompts (`packages/ai/src/prompts/*.md`), patch-resume tool, sanitize/extraction helpers consumed by the AI router.
|
||||
- `packages/fonts` — generated Google Fonts metadata (`packages/fonts/src/webfontlist.json`, `packages/fonts/src/index.ts`).
|
||||
- `packages/scripts` — repo-level scripts (`packages/scripts/database/reset.ts`, `packages/scripts/fonts/generate.ts`).
|
||||
- `packages/config` — shared TypeScript/Vitest base configs (`packages/config/tsconfig.base.json`, `packages/config/vitest.config.ts`).
|
||||
- `packages/runtime-externals` — declares `bcrypt`, `sharp`, `@aws-sdk/client-s3` so they remain runtime-only (externalized in `apps/web/vite.config.ts`).
|
||||
|
||||
## Data Flow
|
||||
|
||||
### Primary Request Path (browser RPC call)
|
||||
|
||||
1. Browser route uses `orpc.resume.getById.queryOptions(...)` from `apps/web/src/libs/orpc/client.ts:84` to fetch data.
|
||||
2. The isomorphic oRPC client (`apps/web/src/libs/orpc/client.ts:28-47`) creates an `RPCLink` pointing at `${window.location.origin}/api/rpc` with `credentials: "include"` and a `BatchLinkPlugin`.
|
||||
3. Request hits the file route `apps/web/src/routes/api/rpc.$.ts`, where `RPCHandler` (line 9) dispatches with `BatchHandlerPlugin`, `RequestHeadersPlugin`, and `StrictGetMethodPlugin`.
|
||||
4. `publicProcedure` (`packages/api/src/context.ts:79`) resolves the user from headers (`x-api-key` → bearer JWT via JWKS → Better Auth session cookie).
|
||||
5. `protectedProcedure` (`packages/api/src/context.ts:90`) rejects unauthenticated callers with `ORPCError("UNAUTHORIZED")`.
|
||||
6. Router handler in `packages/api/src/routers/resume.ts` calls into `packages/api/src/services/resume.ts`, which queries Drizzle (`packages/db/src/client.ts:32`).
|
||||
7. Response is serialized back through oRPC and consumed by TanStack Query / the route component.
|
||||
|
||||
### SSR / Server-Side Path
|
||||
|
||||
1. During SSR, `apps/web/src/libs/orpc/client.ts:13-27` short-circuits the HTTP path via `createRouterClient(router, { context: async () => ({ locale, reqHeaders }) })`.
|
||||
2. The same `publicProcedure`/`protectedProcedure` middleware runs in-process — no socket hop — but still resolves auth from the original request headers via `getRequestHeaders()` from `@tanstack/react-start/server`.
|
||||
3. Route loaders (e.g. `apps/web/src/routes/builder/$resumeId/route.tsx:39-44`) populate the query cache via `context.queryClient.ensureQueryData(orpc.resume.getById.queryOptions(...))`.
|
||||
|
||||
### Resume Live-Update Flow
|
||||
|
||||
1. `subscribe` procedure in `packages/api/src/routers/resume.ts:76` returns an async generator.
|
||||
2. On any mutation, `packages/api/src/services/resume-events.ts:37` calls `pg_notify('resume_updated', JSON.stringify(event))`.
|
||||
3. Subscribing clients receive `resume.updated` SSE-style events via oRPC streaming (`apps/web/src/libs/orpc/client.ts:51-82`, `streamClient`).
|
||||
4. The builder route consumes them through `useResumeUpdateSubscription` (`apps/web/src/components/resume/builder-resume-draft.ts`).
|
||||
|
||||
### PDF Download Path
|
||||
|
||||
1. Web client requests `GET /api/openapi/resumes/{id}/download` (oRPC OpenAPI handler at `apps/web/src/routes/api/openapi.$.ts`).
|
||||
2. `downloadResumePdfProcedure` in `apps/web/src/routes/api/-helpers/resume-pdf.ts` loads the resume, renders `ResumeDocument` from `packages/pdf/src/document.tsx`, persists to storage via `getStorageService()`, and returns/streams the PDF.
|
||||
|
||||
### Public Resume Path
|
||||
|
||||
1. `apps/web/src/routes/$username/$slug.tsx` uses `ssr: "data-only"` — server fetches `resume.getBySlug` but renders the React PDF preview only on the client.
|
||||
2. `packages/api/src/helpers/resume-access-policy.ts` enforces visibility, redacts non-public fields, and throws `NEED_PASSWORD` for password-protected resumes (the route then redirects to `/auth/resume-password`).
|
||||
|
||||
**State Management:**
|
||||
- Server cache: TanStack Query (`apps/web/src/libs/query/client.ts`) wrapped by oRPC's `createTanstackQueryUtils`.
|
||||
- Local UI state: Zustand stores under `apps/web/src/routes/builder/$resumeId/-store/{section,sidebar}.ts`, `apps/web/src/dialogs/store.ts`, `apps/web/src/components/command-palette/store.ts`, `apps/web/src/components/resume/builder-resume-draft.ts`.
|
||||
- Router context: `theme`, `locale`, `session`, `flags`, `queryClient`, `orpc` are computed once in `apps/web/src/router.tsx` (and again in the root route `beforeLoad`) and reused by descendants.
|
||||
- Cookies: builder layout (`BUILDER_LAYOUT_COOKIE_NAME`), theme, and locale are persisted via `getCookie`/`setCookie` server functions.
|
||||
|
||||
## Key Abstractions
|
||||
|
||||
**oRPC procedures (`os.$context<ORPCContext>()`):**
|
||||
- Purpose: Typed RPC procedures that double as REST endpoints and MCP tool surfaces.
|
||||
- Examples: `publicProcedure` and `protectedProcedure` in `packages/api/src/context.ts:79`/`:90`.
|
||||
- Pattern: `procedure.route({...openapi metadata}).input(zodSchema).use(rateLimitMiddleware).output(zodSchema).handler(async ({ context, input }) => ...)`.
|
||||
|
||||
**Drizzle tables:**
|
||||
- Purpose: Strongly-typed Postgres schema; `.jsonb()` columns are typed against Zod-derived TypeScript (`ResumeData`, `StoredResumeAnalysis`).
|
||||
- Examples: `packages/db/src/schema/resume.ts` (resume, resumeStatistics, resumeAnalysis), `packages/db/src/schema/auth.ts` (Better Auth tables).
|
||||
- Pattern: `pg.pgTable("name", { ... }, (t) => [pg.index().on(...), pg.unique().on(...)])`.
|
||||
|
||||
**Template pages (React PDF):**
|
||||
- Purpose: One `TemplatePage` component per visual template, mapped by name in `packages/pdf/src/templates/index.ts`.
|
||||
- Examples: `packages/pdf/src/templates/azurill/AzurillPage.tsx`, `packages/pdf/src/templates/onyx/OnyxPage.tsx`.
|
||||
- Pattern: `(props: { page: LayoutPage; pageIndex: number }) => JSX`, consuming `RenderProvider` from `packages/pdf/src/context.tsx`.
|
||||
|
||||
**Base UI components:**
|
||||
- Purpose: Headless primitives styled with Tailwind v4 and exported as composable parts.
|
||||
- Examples: `packages/ui/src/components/dialog.tsx`, `packages/ui/src/components/command.tsx`, `packages/ui/src/components/resizable.tsx`.
|
||||
- Imported via deep paths: `import { Dialog } from "@reactive-resume/ui/components/dialog";`.
|
||||
|
||||
**TanStack Router file routes:**
|
||||
- Purpose: Page components, loaders, and optional `server.handlers` blocks per file.
|
||||
- Examples: `apps/web/src/routes/builder/$resumeId/route.tsx`, `apps/web/src/routes/api/rpc.$.ts`.
|
||||
- Pattern: `export const Route = createFileRoute("/path")({ component, loader, beforeLoad, server: { handlers: { GET, POST } }, ssr });`.
|
||||
|
||||
## Entry Points
|
||||
|
||||
**Vite + Nitro build entry:**
|
||||
- Location: `apps/web/vite.config.ts`
|
||||
- Triggers: `pnpm dev`, `pnpm build`. Wires TanStack Start, Tailwind v4, Lingui (i18n), Nitro plugins, and the Vite PWA plugin.
|
||||
- Externals: `bcrypt`, `sharp`, `@aws-sdk/client-s3` (declared in `packages/runtime-externals`).
|
||||
|
||||
**Server fetch entry:**
|
||||
- Location: `apps/web/src/server.ts`
|
||||
- Responsibilities: Wraps `@tanstack/react-start/server-entry` and substitutes `srvx`'s `FastResponse` as the global `Response`.
|
||||
|
||||
**Nitro startup plugins:**
|
||||
- `apps/web/plugins/1.migrate.ts` — resolves the repo-root `migrations/` folder, opens its own `pg.Pool`, runs Drizzle migrations on boot, then closes the pool.
|
||||
- `apps/web/plugins/2.storage.ts` — when S3 env vars are absent, ensures the local storage directory is writable before serving requests.
|
||||
|
||||
**Router entry:**
|
||||
- Location: `apps/web/src/router.tsx`
|
||||
- Responsibilities: Builds `queryClient`, loads `theme`/`locale`/`session`/`flags` in parallel, creates the TanStack Router with router context, registers SSR query integration.
|
||||
|
||||
**Root route:**
|
||||
- Location: `apps/web/src/routes/__root.tsx`
|
||||
- Responsibilities: HTML shell, providers (`I18nProvider`, `ThemeProvider`, `HotkeysProvider`, `DirectionProvider`, `TooltipProvider`, `ConfirmDialogProvider`, `PromptDialogProvider`), PWA head/scripts, `DialogManager`, `CommandPalette`, `Toaster`.
|
||||
|
||||
**HTTP endpoints (route `server.handlers`):**
|
||||
- `apps/web/src/routes/api/rpc.$.ts` — `/api/rpc/*` oRPC handler (browser RPC).
|
||||
- `apps/web/src/routes/api/auth.$.ts` — `/api/auth/*` Better Auth handler (with OAuth payload sanitization).
|
||||
- `apps/web/src/routes/api/health.ts` — `/api/health` JSON probe (db + storage with timeouts).
|
||||
- `apps/web/src/routes/api/openapi.$.ts` — `/api/openapi/*` OpenAPI handler + spec.
|
||||
- `apps/web/src/routes/api/uploads/$userId.$.ts` and `apps/web/src/routes/uploads/$userId.$.tsx` — signed/etagged static file serving from storage.
|
||||
- `apps/web/src/routes/mcp/index.ts` — `/mcp` Model Context Protocol server (OAuth-protected).
|
||||
- `apps/web/src/routes/[.]well-known/*` — `/.well-known/oauth-authorization-server`, `/.well-known/oauth-protected-resource`, `/.well-known/openid-configuration`, `/.well-known/mcp` discovery documents.
|
||||
- `apps/web/src/routes/schema[.]json.ts` — `/schema.json` public JSON Schema for `ResumeData`.
|
||||
|
||||
**Builder + public resume entry points:**
|
||||
- `apps/web/src/routes/builder/$resumeId/route.tsx` — authenticated builder shell (header + resizable left/right sidebars + artboard outlet + assistant).
|
||||
- `apps/web/src/routes/builder/$resumeId/index.tsx` — `ssr: false`; lazy-loaded `PreviewPage` running React PDF/canvas only in the browser.
|
||||
- `apps/web/src/routes/$username/$slug.tsx` — `ssr: "data-only"`; public/shared resume view (with password gating via `NEED_PASSWORD` ORPCError).
|
||||
|
||||
## Architectural Constraints
|
||||
|
||||
- **Single Node process:** Everything (web, oRPC, auth, MCP, OpenAPI, file serving) runs in one Node 24 process on port 3000. No separate API service.
|
||||
- **Source-only workspace packages:** `package.json` `exports` point at `src/*.ts(x)`; do not assume `dist` output exists. The Vite build externalizes `bcrypt`, `sharp`, `@aws-sdk/client-s3` (`apps/web/vite.config.ts:55`).
|
||||
- **Globals on `globalThis` for DB pool:** `packages/db/src/client.ts:8-11` caches the `pg.Pool` and Drizzle client on `globalThis.__pool` / `globalThis.__drizzle` to survive HMR reloads.
|
||||
- **Browser-only PDF rendering:** PDF.js, `@react-pdf/renderer` canvas, and the builder preview must stay off the SSR path. Use `.browser.tsx` suffix files and `ssr: false` (builder preview) or `ssr: "data-only"` (public resume).
|
||||
- **Generated route tree:** `apps/web/src/routeTree.gen.ts` is regenerated by TanStack Router tooling; never edit by hand.
|
||||
- **Migrations folder location:** `drizzle-kit` writes to `../../migrations` from `packages/db/drizzle.config.ts`, so all migration directories live at the repo root, not inside the package.
|
||||
- **DATABASE_URL not auto-loaded for drizzle-kit:** `pnpm db:migrate` / `pnpm db:generate` require `DATABASE_URL` exported in the shell; only the runtime Node code loads `.env` via `packages/env/src/server.ts`.
|
||||
- **Rate limiting is production-only:** `packages/api/src/middleware/rate-limit/index.ts:5` and the Better Auth config gate rate limits on `process.env.NODE_ENV === "production"`.
|
||||
- **OAuth audience binding:** `verifyOAuthToken` (`packages/auth/src/config.ts:40`) only accepts JWTs whose `aud` matches `${APP_URL}` (with/without trailing slash) or `${APP_URL}/mcp`.
|
||||
- **Postgres LISTEN/NOTIFY coupling:** Live resume updates depend on a single shared `pg.Pool` (`packages/db/src/client.ts:13`); scaling beyond one process requires replacing `pg_notify` with a broker.
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
### Ad-hoc fetching of router context
|
||||
|
||||
**What happens:** Components separately calling `getSession()`, `getTheme()`, or `getLocale()` instead of reading them from TanStack Router context.
|
||||
**Why it's wrong:** The root route's `beforeLoad` already loads these in parallel (`apps/web/src/routes/__root.tsx:82-93`) and exposes them via `Route.useRouteContext()`; duplicating the calls causes extra round-trips during SSR and triggers locale reloads.
|
||||
**Do this instead:** Use `Route.useRouteContext()` or read from a parent route loader, as `apps/web/src/routes/__root.tsx:101` does for theme/locale.
|
||||
|
||||
### Direct DB or storage imports in client code
|
||||
|
||||
**What happens:** Importing `@reactive-resume/db/client` or `@reactive-resume/api/services/storage` from a non-route component.
|
||||
**Why it's wrong:** Pulls `pg`, `sharp`, `bcrypt`, `@aws-sdk/client-s3` into the client bundle (which Vite externalizes — the build will fail or break at runtime).
|
||||
**Do this instead:** Call the corresponding oRPC procedure from `packages/api/src/routers/*`. Server-only imports belong inside route `server.handlers` blocks or `.server.tsx` files like `apps/web/src/libs/resume/pdf-document.server.tsx`.
|
||||
|
||||
### PDF/canvas code in shared modules
|
||||
|
||||
**What happens:** Importing `@react-pdf/renderer` or PDF.js from a file that participates in SSR.
|
||||
**Why it's wrong:** These libraries crash under Node SSR (canvas/DOM dependencies).
|
||||
**Do this instead:** Keep browser code in `*.browser.tsx` / `pdf-canvas.tsx` and gate with `ssr: false` (e.g. `apps/web/src/routes/builder/$resumeId/index.tsx:6`) or `ssr: "data-only"` (e.g. `apps/web/src/routes/$username/$slug.tsx:40`).
|
||||
|
||||
### Bypassing the resume access policy
|
||||
|
||||
**What happens:** Reading resume rows directly from Drizzle in a public procedure without applying redaction.
|
||||
**Why it's wrong:** Leaks owner-only fields (password hash, private flags, statistics) and breaks the password-gate flow that depends on `NEED_PASSWORD` errors.
|
||||
**Do this instead:** Route through `packages/api/src/helpers/resume-access-policy.ts` (`assertCanView`, `redactResumeForViewer`, `shouldCountForStatistics`) as `packages/api/src/services/resume.ts` does.
|
||||
|
||||
### Hand-editing generated files
|
||||
|
||||
**What happens:** Modifying `apps/web/src/routeTree.gen.ts` or migration SQL after Drizzle writes it.
|
||||
**Why it's wrong:** Edits are overwritten on the next `tanstack-router` regen or migration; data drift between snapshots and SQL breaks future migrations.
|
||||
**Do this instead:** Add a route file under `apps/web/src/routes/`, or change the Drizzle schema in `packages/db/src/schema/*.ts` and run `pnpm db:generate`.
|
||||
|
||||
## Error Handling
|
||||
|
||||
**Strategy:** Typed errors via `ORPCError` codes; HTTP responses for low-level handlers; route-level `defaultErrorComponent` and `onError` for UI fallbacks.
|
||||
|
||||
**Patterns:**
|
||||
- Procedures throw `ORPCError("UNAUTHORIZED"|"NOT_FOUND"|"NEED_PASSWORD"|...)` or use `.errors({ ... })` to declare typed application errors (e.g. `RESUME_SLUG_ALREADY_EXISTS`, `RESUME_VERSION_CONFLICT` in `packages/api/src/routers/resume.ts`).
|
||||
- The OAuth bearer / API key / session resolvers in `packages/api/src/context.ts:14-55` swallow verification errors and log via `console.warn` so unauthenticated requests fall through to the next strategy.
|
||||
- `apps/web/src/routes/api/rpc.$.ts` and `apps/web/src/routes/api/openapi.$.ts` install `onError` interceptors that log every server error with a tag (`[oRPC Server]`, `[OpenAPI]`).
|
||||
- Route-level `onError` (e.g. `apps/web/src/routes/$username/$slug.tsx:24`) translates `NEED_PASSWORD` into a redirect.
|
||||
- Top-level UI fallbacks: `apps/web/src/components/layout/error-screen.tsx`, `loading-screen.tsx`, `not-found-screen.tsx` (wired in `apps/web/src/router.tsx:30-32`).
|
||||
- Healthcheck uses a 1.5s timeout helper (`apps/web/src/routes/api/health.ts:22-34`) so a stuck dependency cannot stall the probe.
|
||||
|
||||
## Cross-Cutting Concerns
|
||||
|
||||
**Logging:** `console.info`/`console.warn`/`console.error` with bracketed prefixes (e.g. `[oRPC Server]`, `[Healthcheck]`, `[oRPC client]`). No external log shipping is wired.
|
||||
|
||||
**Validation:** Zod 4 everywhere — Drizzle column types (`packages/db/src/schema/resume.ts`), oRPC input/output schemas, AI tool inputs, environment variables (`packages/env/src/server.ts`), and the public `/schema.json` route.
|
||||
|
||||
**Authentication:** Better Auth in `packages/auth/src/config.ts` (Drizzle adapter, email/password + OAuth + passkey + 2FA + admin + API keys + JWT + generic OAuth + dynamic client registration + custom `oauthProvider` for MCP). The unified resolver in `packages/api/src/context.ts:64` is the only place that decides which credential wins.
|
||||
|
||||
**Internationalization:** Lingui — `apps/web/lingui.config.ts`, `apps/web/locales/*.po`, `apps/web/src/libs/locale.ts`, RTL toggling in `__root.tsx`.
|
||||
|
||||
**Theming:** `apps/web/src/libs/theme.ts` (cookie-backed), `apps/web/src/components/theme/provider.tsx` (`next-themes`).
|
||||
|
||||
**Rate limiting:** `@orpc/experimental-ratelimit` with an in-memory ratelimiter from `packages/api/src/middleware/rate-limit/index.ts`. Trusted IP headers come from `packages/utils/src/rate-limit.ts`.
|
||||
|
||||
**Feature flags:** Server-resolved at boot (`packages/api/src/routers/flags.ts` and `packages/api/src/services/flags.ts`), then carried in router context via `apps/web/src/router.tsx:20`.
|
||||
|
||||
---
|
||||
|
||||
*Architecture analysis: 2026-05-11*
|
||||
@@ -0,0 +1,393 @@
|
||||
# Codebase Concerns
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## TODO / FIXME / HACK / XXX Comments
|
||||
|
||||
A repo-wide grep for `TODO`, `FIXME`, `HACK`, and `XXX` markers across `apps/web/src/**` and `packages/**` returned **zero hits** in source code. The team appears to track follow-ups in PRs/issues rather than inline. Two referenced issues remain anchored in inline comments:
|
||||
|
||||
- `packages/pdf/src/hooks/use-register-fonts.ts:22` — references issue `#2986` (CJK glyph-level font fallback).
|
||||
- `packages/pdf/src/hooks/use-register-fonts.ts:103` — references issue `#2986` again for CJK textkit substitution.
|
||||
|
||||
These are stable design references, not unresolved debt — included for traceability only.
|
||||
|
||||
The remaining inline-comment "concerns" found during exploration sit in the **Anti-debt narrative** below, derived from code shape rather than comment markers.
|
||||
|
||||
---
|
||||
|
||||
## High Severity
|
||||
|
||||
### Security: SMTP-disabled fallback logs full email bodies (incl. verification/reset links)
|
||||
|
||||
When `SMTP_HOST` / `SMTP_USER` / `SMTP_PASS` / `SMTP_FROM` are not all set, the email transport logs the entire payload — including `text` and `html` bodies — to `stdout`.
|
||||
|
||||
- File: `packages/email/src/transport.ts:59-66`
|
||||
|
||||
```ts
|
||||
console.info("SMTP not configured; skipping email send.", {
|
||||
to: payload.to,
|
||||
subject: payload.subject,
|
||||
text: payload.text,
|
||||
html: payload.html,
|
||||
});
|
||||
```
|
||||
|
||||
**Impact:**
|
||||
- Password reset, email verification, and email-change confirmation URLs (which are credential-equivalent bearer tokens) are written to server logs whenever SMTP is not fully configured.
|
||||
- In any shared-log / log-shipping environment (Docker, Kubernetes, journald, cloud logging) this is a credential leak.
|
||||
- The README and `AGENTS.md:101` describe this as a dev convenience; nothing prevents an operator from running production with partial SMTP config.
|
||||
|
||||
**Fix approach:**
|
||||
1. Add a server-startup assertion that, if `NODE_ENV === "production"`, `isSmtpEnabled()` must be true.
|
||||
2. Redact `text` / `html` from the `console.info` call — log only `to` and `subject`.
|
||||
3. Document the production SMTP requirement in `.env.example` alongside `AUTH_SECRET`.
|
||||
|
||||
### Security: rate limiting is silently disabled in non-production
|
||||
|
||||
Both the oRPC rate-limit middleware and Better Auth's rate-limit config gate on `process.env.NODE_ENV === "production"`. Anything that does not set `NODE_ENV=production` at runtime (default `node` invocation, custom Docker entrypoints that forget to set it, self-hosters running `pnpm start` without `NODE_ENV`) runs with **all rate limiting disabled**, including:
|
||||
- `/sign-in/email`, `/sign-up/email`, password-reset, OAuth `register`/`authorize`/`token` (`packages/auth/src/config.ts:30, :69-78, :249-251, :388-390`)
|
||||
- Resume password verification, AI calls, PDF export, storage uploads/deletes, resume mutations (`packages/api/src/middleware/rate-limit/index.ts:5, :75`)
|
||||
|
||||
**Impact:** brute-force-friendly. A self-hosted deployment that omits `NODE_ENV=production` is wide open on auth and resume-password endpoints.
|
||||
|
||||
**Fix approach:**
|
||||
- Either default `isRateLimitEnabled = true` and provide a `RATE_LIMIT_DISABLED` opt-out env var, or assert `NODE_ENV === "production"` at boot when not running tests.
|
||||
|
||||
### Security: rate limiter is in-process memory only — broken under horizontal scaling
|
||||
|
||||
`MemoryRatelimiter` is used for every oRPC rate limit (`packages/api/src/middleware/rate-limit/index.ts:59-66`). Better Auth's `rateLimit` and `apiKey.rateLimit` blocks (`packages/auth/src/config.ts:248-251, :387-391`) similarly do not configure a distributed store.
|
||||
|
||||
**Impact:** Running >1 Node instance behind a load balancer multiplies the effective rate limit by the instance count. Brute-force attacks bypass the limit by retrying until they hit a different replica.
|
||||
|
||||
**Fix approach:** Swap `MemoryRatelimiter` for a Redis-backed ratelimiter (the package supports it via `@orpc/experimental-ratelimit`) once a redis dependency is acceptable. Until then, document the single-instance constraint in the deployment docs.
|
||||
|
||||
### Security: file upload accepts arbitrary MIME with image processing disabled
|
||||
|
||||
`uploadFile` (`packages/api/src/routers/storage.ts:42-71`) only runs the sharp image-processing pipeline for files where `isImageFile(file.type)` returns true based on the **client-supplied `file.type`**, and even that pipeline is skipped if `FLAG_DISABLE_IMAGE_PROCESSING=true` (`packages/api/src/services/storage.ts:96-101`).
|
||||
|
||||
**Impact:**
|
||||
- A client can claim `content-type: text/html` (or any non-image MIME) on a 10 MB upload, and the file is stored verbatim into `uploads/{userId}/pictures/...` with the user-claimed content type.
|
||||
- Served back from `apps/web/src/routes/uploads/$userId.$.tsx`. `X-Content-Type-Options: nosniff` is set (`:159`) and the storage route forces `application/octet-stream` only for `.pdf` (`:39, :148-153`), so a stored HTML body could be served as HTML if the inferred extension matches. The picture key always ends in `.jpeg` (`storage.ts:60`), which mitigates this in the picture path, but there is no MIME allow-list enforced at upload time.
|
||||
- With `FLAG_DISABLE_IMAGE_PROCESSING` on, the same applies to genuine images (no resize/strip-metadata path), so EXIF data is preserved unredacted.
|
||||
|
||||
**Fix approach:**
|
||||
1. Add a strict allow-list at the router boundary (`packages/api/src/routers/storage.ts:9`) — `z.file().mime(["image/png", "image/jpeg", "image/webp", "image/gif"])` plus magic-byte validation.
|
||||
2. Reject upload if claimed MIME does not match the sharp-detected MIME; do not fall back to client claim.
|
||||
3. Surface a startup warning when `FLAG_DISABLE_IMAGE_PROCESSING=true` so it is not enabled in production unknowingly.
|
||||
|
||||
### Tech Debt: web app has near-zero test coverage
|
||||
|
||||
- `apps/web/src` has **11 test files** across **~224 source files** (~5%) — `find apps/web/src -name "*.test.*"`.
|
||||
- `apps/web/src/routes` has **1 test file** across **125 route files** (`apps/web/src/routes/builder/$resumeId/-components/donation-toast.test.tsx`).
|
||||
- Total repo: ~93 test files / ~385 source files (~24%). Most coverage lives in `packages/ui`, `packages/utils`, `packages/pdf/src/templates/shared`, and `packages/api` (5 tests).
|
||||
|
||||
**Impact:**
|
||||
- Refactors to routes, builder shell, sidebar forms, resume preview wiring, MCP tools, and uploads handler land without a regression net.
|
||||
- Particularly thin: `apps/web/src/routes/api/**` (rpc, auth, openapi, mcp, uploads) and `apps/web/src/routes/builder/$resumeId/**`.
|
||||
|
||||
**Fix approach:** Phase-by-phase, add server-handler integration tests for `api/health.ts`, `api/auth.$.ts` (registration-validation path), `uploads/$userId.$.tsx` (path traversal), and at least smoke tests around the builder store in `apps/web/src/components/resume/builder-resume-draft.ts`.
|
||||
|
||||
---
|
||||
|
||||
## Medium Severity
|
||||
|
||||
### Fragile: PDF.js / canvas SSR boundary is enforced by convention only
|
||||
|
||||
The SSR/CSR split for the resume preview is hand-maintained:
|
||||
|
||||
- `apps/web/src/components/resume/preview.tsx:14` returns `null` until `useIsClient()` resolves and then lazy-loads the browser bundle.
|
||||
- `apps/web/src/components/resume/preview.browser.tsx:2` imports `@react-pdf/renderer` (`pdf`).
|
||||
- `apps/web/src/components/resume/pdf-canvas.tsx:1, :4, :9` imports PDF.js types/runtime and sets a module-level `GlobalWorkerOptions.workerSrc`.
|
||||
- `apps/web/src/routes/templates/$.tsx:1` imports `PDFViewer` at the **top level** but the route component itself bails on `!isClient`. Top-level import means the bundle reaches the SSR chunk; correctness relies on the import being tree-shaken away when SSR runs.
|
||||
- `apps/web/src/routes/dashboard/resumes/-components/cards/resume-thumbnail.tsx` uses dynamic `await import("pdfjs-dist")` — a different convention from `pdf-canvas.tsx`'s static import.
|
||||
- SSR mode hints: `apps/web/src/routes/builder/$resumeId/index.tsx:4` (`ssr: false`), `apps/web/src/routes/$username/$slug.tsx` (`ssr: "data-only"`).
|
||||
|
||||
**Impact:** A future contributor adding a static PDF.js import inside a SSR-rendered route component will break SSR with a `window is not defined` error at build/run time. There is no lint rule or build-time guard enforcing this.
|
||||
|
||||
**Fix approach:**
|
||||
1. Document the boundary explicitly at the top of `apps/web/src/components/resume/preview.tsx` and `pdf-canvas.tsx` (currently only described in `AGENTS.md:35`).
|
||||
2. Consider a Vite SSR-externals config that aborts the build if `pdfjs-dist` / `@react-pdf/renderer` is reachable from an SSR-eligible route.
|
||||
3. Switch `apps/web/src/routes/templates/$.tsx:1` to a dynamic `import("@react-pdf/renderer")` inside the `useIsClient()` branch for consistency with the rest of the preview pipeline.
|
||||
|
||||
### Fragile: `getStorageService()` is captured at module load in router
|
||||
|
||||
`packages/api/src/routers/storage.ts:7` calls `getStorageService()` at module top level. Because `apps/web/src/routes/api/rpc.$.ts` constructs a new `RPCHandler` on every request, the router's storage reference is fixed for the lifetime of the Node process.
|
||||
|
||||
**Impact:** Switching backends (e.g. flipping S3 vars on at runtime) requires a process restart, which is normally fine — but the singleton is also held inside Nitro's HMR boundary in dev, so config changes during `pnpm dev` need a full restart (not just a save).
|
||||
|
||||
**Fix approach:** Call `getStorageService()` inside each handler instead, or invalidate the cached service when env values change.
|
||||
|
||||
### Fragile: `RPCHandler` instantiated per-request
|
||||
|
||||
`apps/web/src/routes/api/rpc.$.ts:8-16` creates a new `RPCHandler` (with plugins) for every incoming request. Each instance re-walks the router tree and re-constructs plugin pipelines.
|
||||
|
||||
**Impact:** Measurable per-request cost on high-RPS dashboards; not catastrophic but unnecessary.
|
||||
|
||||
**Fix approach:** Move `new RPCHandler(...)` out of the handler and reuse a module-level instance; only `getLocale()` should run per-request.
|
||||
|
||||
### Performance: PDF preview regenerates entire PDF on every change
|
||||
|
||||
`apps/web/src/components/resume/preview.browser.tsx:103-131` debounces PDF generation by 100ms and calls `pdf(resumeDocument).toBlob()` on every resume change. For multi-page resumes with images, this re-renders the full document and re-loads it into PDF.js.
|
||||
|
||||
**Impact:** Builder feels sluggish on slower hardware when typing into fields; CPU spikes on each keystroke after debounce.
|
||||
|
||||
**Mitigation in place:** `UPDATE_DEBOUNCE_MS = 100`, crossfade between staged/active layers (`:20-80`).
|
||||
|
||||
**Fix approach:** Long-term, switch to incremental rendering or page-level memoization keyed by section hash. Short-term, raise debounce to 200–300 ms while typing.
|
||||
|
||||
### Performance: font registration cost
|
||||
|
||||
`packages/pdf/src/hooks/use-register-fonts.ts:18, :86` keeps a module-level `registeredFontVariants` Set keyed by `family:weight:style`. Per-resume registration calls `Font.register` once per (family × weight × italic × CJK-fallback) combination, with web-font fetches resolved through `getWebFontSource`. This Set never expires — if many resumes with different typography are previewed in one session, the registered-font count grows for the page lifetime.
|
||||
|
||||
**Impact:** Memory grows in the builder for sessions that switch typography frequently. Not a leak in the GC sense, but bounded only by the size of the registered-font universe.
|
||||
|
||||
**Fix approach:** Acceptable for current usage. Document the cap and reconsider if typography switching becomes more common.
|
||||
|
||||
### Performance: large source files hint at oversized modules
|
||||
|
||||
Top offenders by line count (excluding generated/test fixtures):
|
||||
|
||||
| Lines | File |
|
||||
|------:|------|
|
||||
| 1535 | `packages/schema/src/icons.ts` (static data) |
|
||||
| 1088 | `apps/web/src/routes/builder/$resumeId/-components/assistant.tsx` |
|
||||
| 900 | `packages/pdf/src/templates/shared/sections.tsx` |
|
||||
| 789 | `apps/web/src/components/input/rich-input.tsx` |
|
||||
| 785 | `packages/import/src/reactive-resume-v4-json.tsx` |
|
||||
| 685 | `packages/ui/src/components/sidebar.tsx` |
|
||||
| 556 | `apps/web/src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx` |
|
||||
| 543 | `packages/api/src/services/resume.ts` |
|
||||
|
||||
`assistant.tsx` (1088 lines) and `sections.tsx` (900 lines) are particularly likely to accumulate further complexity without splitting. `rich-input.tsx` (789 lines) is the rich-text editor — likely justifies its size but has zero direct tests.
|
||||
|
||||
**Fix approach:** Split `assistant.tsx` along tool boundaries; extract per-section renderers from `sections.tsx` if any individual section grows further.
|
||||
|
||||
### Security: `verifyPassword` rate limit keyed by `username:slug:ip`
|
||||
|
||||
`packages/api/src/middleware/rate-limit/index.ts:77-83` keys the resume-password limiter on `resume-password:{username}:{slug}:{clientKey}` where `clientKey` is the client IP. The window/max is 5 attempts per 10 minutes (`packages/utils/src/rate-limit.ts:43`). This is reasonable, but the global Better Auth global rule for `/two-factor/verify-otp` is also 5 per 600s. An attacker on a botnet (different IPs) is not blocked at the resource level — each IP gets its own 5/10min budget against the same resume.
|
||||
|
||||
**Impact:** Limited but present brute-force surface on password-protected public resumes.
|
||||
|
||||
**Fix approach:** Add a per-resume global cap on top of the per-IP limit (e.g. 50/hour per `username:slug` regardless of IP).
|
||||
|
||||
### Security: `as string` cast on password hash
|
||||
|
||||
`packages/api/src/services/resume.ts:487` casts `resume.password` to `string` after a `isNotNull(schema.resume.password)` WHERE clause. The cast is correct in context, but if a future refactor drops the `isNotNull` guard the cast silently allows `null` through `bcrypt.compare`.
|
||||
|
||||
**Fix approach:** Replace `as string` with a runtime `if (!resume.password) throw new ORPCError(...)` check.
|
||||
|
||||
### Security: trust of `TRUSTED_IP_HEADERS` is unconditional
|
||||
|
||||
`packages/utils/src/rate-limit.ts:1-7` defines a list of trusted IP headers (`CF-Connecting-IP`, `True-Client-IP`, `X-Forwarded-For`, etc.) that the rate limiter and Better Auth (`packages/auth/src/config.ts:276`) honour from any caller.
|
||||
|
||||
**Impact:** If the app is deployed without a proxy that strips client-supplied versions of these headers, any client can spoof their rate-limit identity by setting `X-Forwarded-For: 1.2.3.4`.
|
||||
|
||||
**Fix approach:** Document that operators **must** terminate at a trusted proxy (Cloudflare, nginx, Caddy) that strips inbound `X-Forwarded-For` / `X-Real-IP`. Optionally, add a `TRUST_PROXY` env flag and only honour those headers when set.
|
||||
|
||||
### Fragile: `cachedTransport` in `email/transport.ts` ignores env mutation
|
||||
|
||||
`packages/email/src/transport.ts:21-37` caches the nodemailer transport on first use. If SMTP creds change at runtime (e.g. credential rotation in a deployed instance), the cached transport keeps using the stale credentials until the process restarts.
|
||||
|
||||
**Fix approach:** Detect cred changes and rebuild, or document the restart-on-rotation behaviour.
|
||||
|
||||
### Storage gotcha: statistics cache is filesystem-bound even with S3 configured
|
||||
|
||||
`packages/api/src/services/statistics.ts:21-52` caches user/resume/star counts as files in `getLocalDataDirectory(env.LOCAL_STORAGE_PATH)` regardless of whether S3 is enabled.
|
||||
|
||||
**Impact:** When S3 is configured and `LOCAL_STORAGE_PATH` is on ephemeral storage (e.g. container scratch), the cache is recreated on every redeploy — meaning a cold start always queries the DB / GitHub API rather than re-using the cache. Also breaks horizontal scaling — each replica has its own cache file.
|
||||
|
||||
**Fix approach:** Cache via the configured storage service (`getStorageService`) instead of raw `fs`, or move to an in-memory + TTL cache.
|
||||
|
||||
---
|
||||
|
||||
## Low Severity
|
||||
|
||||
### Tech Debt: generated file you must not edit
|
||||
|
||||
`apps/web/src/routeTree.gen.ts` (983 lines, `eslint-disable`, `@ts-nocheck` at top) is auto-generated by TanStack Router. It is correctly excluded from Biome (`biome.json:14`) and noted in `AGENTS.md:31`.
|
||||
|
||||
**Action required of contributors:** Never hand-edit. Regenerate by running `pnpm dev` (TanStack tooling watches `apps/web/src/routes/**`).
|
||||
|
||||
### Tech Debt: dev workflow — `pnpm check` is write-capable
|
||||
|
||||
`package.json:20` defines `"check": "biome check --write --unsafe ."`. Running `pnpm check` will modify files. The lefthook pre-commit (`lefthook.yml:7-9`) runs the same command on staged files only, and `stage_fixed: true` re-stages them.
|
||||
|
||||
**Impact:** Surprise file modifications when a contributor runs `pnpm check` expecting a non-mutating audit.
|
||||
|
||||
**Fix approach:** Add a parallel `pnpm check:ci` (no `--write`) for inspection, and document the distinction (already covered in `AGENTS.md:103`).
|
||||
|
||||
### Tech Debt: dev gotcha — `drizzle-kit` does not auto-load `.env`
|
||||
|
||||
`packages/db/drizzle.config.ts:8` reads `process.env.DATABASE_URL || ""`. The `@reactive-resume/env` package auto-loads `.env` via dotenv (`packages/env/src/server.ts:9-11`), but `drizzle-kit` runs as a separate process that does not import `@reactive-resume/env`.
|
||||
|
||||
**Impact:** Fresh `pnpm db:migrate` silently fails with an empty connection string unless `DATABASE_URL` is exported in the shell. Documented in `AGENTS.md:58, :79-80`.
|
||||
|
||||
**Fix approach:** Either import the env package from `drizzle.config.ts` to inherit the `.env` load, or wrap the script with a one-liner that exports `DATABASE_URL`.
|
||||
|
||||
### Tech Debt: Nitro plugin auto-runs migrations on dev/prod boot
|
||||
|
||||
`apps/web/plugins/1.migrate.ts:23-40` runs migrations on every Nitro startup. This is convenient but couples app-boot health to migration health.
|
||||
|
||||
**Impact:**
|
||||
- A bad migration takes down the whole web service on boot, not just future migration runs.
|
||||
- Two app instances starting concurrently both call `migrate()`; Drizzle's `migrations` table uses transactions to avoid duplicate apply, but the race adds startup latency.
|
||||
- For prod self-hosters, there is no "boot-without-migrate" knob.
|
||||
|
||||
**Fix approach:** Gate on an env flag (e.g. `RUN_MIGRATIONS_ON_BOOT=true`, default true) and document running `pnpm db:migrate` separately in zero-downtime deploys.
|
||||
|
||||
### Tech Debt: S3 toggle is all-or-nothing
|
||||
|
||||
`packages/api/src/services/storage.ts:336` and `apps/web/plugins/2.storage.ts:7`: storage backend selection requires all three of `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_BUCKET` to be set. Setting two of three silently falls back to local storage.
|
||||
|
||||
**Impact:** Operator misconfigures S3 (e.g. forgets `S3_BUCKET`), app silently writes to local FS — uploads disappear on next container restart on ephemeral disks.
|
||||
|
||||
**Fix approach:** Treat "any S3 var set" as "S3 intended" — throw on partial config rather than silently downgrading.
|
||||
|
||||
### Security: no global CSP / X-Frame-Options on HTML responses
|
||||
|
||||
A repo-wide grep for `Content-Security-Policy`, `X-Frame-Options`, `Strict-Transport-Security` finds them only in the uploads route (`apps/web/src/routes/uploads/$userId.$.tsx:159-165`) and the schema JSON route (`apps/web/src/routes/schema[.]json.ts`). The HTML shell (`apps/web/src/routes/__root.tsx`) sets no CSP, no HSTS, no `Permissions-Policy`, no `Referrer-Policy`.
|
||||
|
||||
**Impact:**
|
||||
- No clickjacking protection on the resume builder or public resume pages — they can be framed by any origin.
|
||||
- No CSP means an XSS through rich-text rendering (`packages/utils/src/sanitize.*`, `packages/pdf/src/templates/shared/rich-text-html.ts`) has no defence-in-depth.
|
||||
|
||||
**Fix approach:** Add a Nitro response hook that sets `Content-Security-Policy`, `Strict-Transport-Security`, `Referrer-Policy: strict-origin-when-cross-origin`, `X-Content-Type-Options: nosniff`, and `X-Frame-Options: SAMEORIGIN` on all HTML responses. Validate that the CSP allows `pdf.worker.min.mjs`, `@react-pdf/renderer` font fetches, and the configured S3/SeaweedFS origin.
|
||||
|
||||
### Security: OAuth dynamic-client registration allows unauthenticated callers
|
||||
|
||||
`packages/auth/src/config.ts:395-401` enables `allowDynamicClientRegistration: true` and `allowUnauthenticatedClientRegistration: true` on the oauthProvider plugin. The comment (`:397-399`) explicitly states this is required for MCP onboarding (RFC 7591) and that the phishing vector is closed by the redirect-URI allowlist in `hooks.before` (`:253-271`) and `apps/web/src/routes/api/auth.$.ts:97-111`.
|
||||
|
||||
**Impact:** Anyone can register an OAuth client. The protection depends entirely on the redirect-URI allowlist correctness in `parseAllowedHostList(env.OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS)` and `isAllowedOAuthRedirectUri`.
|
||||
|
||||
**Fix approach:** Already mitigated in code; the residual risk is operator misconfiguration of `OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS`. Add a startup warning when `OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS` is empty (i.e. allowlist is APP_URL-only).
|
||||
|
||||
### Tech Debt: log noise on auth fallthrough
|
||||
|
||||
`packages/api/src/context.ts:25, :37, :53` calls `console.warn` for every failed Bearer / session / API-key validation. In an unauthenticated user flow that hits the same route via Bearer-not-present → session-cookie path, no warning fires, but in an actual token-mismatch path the warning fires on every request.
|
||||
|
||||
**Impact:** Log volume in production when API keys expire or rotate. Logs may leak token shape information indirectly via repeated warnings.
|
||||
|
||||
**Fix approach:** Drop to `console.debug` (which is no-op in default Node), or rate-limit the warning per token-hash.
|
||||
|
||||
### Tech Debt: `getStorageService()` cached service singleton in module-load order
|
||||
|
||||
`packages/api/src/services/storage.ts:343-350` caches the service at first call. Combined with the `packages/api/src/routers/storage.ts:7` top-level call, if storage env vars are not present at module-load time (e.g. `.env` not loaded yet) the local backend is wired in permanently for the process.
|
||||
|
||||
**Fix approach:** Lazy-validate env on first use, not at module load.
|
||||
|
||||
### Anti-pattern: empty catch swallows preview generation errors
|
||||
|
||||
`apps/web/src/components/resume/preview.browser.tsx:120`:
|
||||
|
||||
```ts
|
||||
} catch {}
|
||||
```
|
||||
|
||||
A failed PDF generation in the builder preview is silently swallowed. The crossfade machinery keeps showing the previous preview, masking template bugs or runtime errors from contributors during development.
|
||||
|
||||
**Fix approach:** At minimum, `console.error` the failure (matching the pattern used in `pdf-canvas.tsx:68`). Better: surface a toast or banner so failed-preview state is visible.
|
||||
|
||||
### Anti-pattern: `console.warn`/`error` lacks structure
|
||||
|
||||
Every error log in `packages/api/src` uses `console.warn`/`console.error` with positional args (e.g. `services/resume.ts:158, :293, :363`, `context.ts:25, :37, :53`). There is no centralised logger, no structured fields, no request correlation ID.
|
||||
|
||||
**Fix approach:** Introduce a minimal logger (pino-light or a thin wrapper) with `level`, `event`, `userId`, `requestId` fields. Already partly done in the healthcheck (`apps/web/src/routes/api/health.ts:65, "[Healthcheck]"`).
|
||||
|
||||
### Fragile: in-process pub/sub for resume update events
|
||||
|
||||
`packages/api/src/services/resume-events.ts` (the subscribe path consumed by `packages/api/src/routers/resume.ts:99-103`'s `subscribeResumeUpdates`) is in-process. Two web replicas will not see each other's resume update events.
|
||||
|
||||
**Impact:** Multi-tab / multi-device builder sync across replicas does not work behind a load balancer.
|
||||
|
||||
**Fix approach:** Redis pub/sub or Postgres `LISTEN/NOTIFY` once distributed deployment becomes a target.
|
||||
|
||||
---
|
||||
|
||||
## Migration & Schema Concerns
|
||||
|
||||
### Migration count is small but each is unversioned in app
|
||||
|
||||
- 13 migration files in `migrations/` (`migrations/20260114102228_*` through `migrations/20260507144406_*`).
|
||||
- The Nitro plugin runs every pending migration on every boot (`apps/web/plugins/1.migrate.ts:23-40`).
|
||||
- There is no "down" / rollback story. Drizzle-kit generates forward-only migrations.
|
||||
|
||||
**Action:** Standard for drizzle workflows. Document that downgrade requires manual SQL.
|
||||
|
||||
### Schema notes
|
||||
|
||||
- `packages/db/src/schema/resume.ts:24` stores `password` as plaintext column type `text`, but content is always bcrypt-hashed at write (`packages/api/src/services/resume.ts:453`). Column name is misleading — should be `password_hash`. Renaming requires a non-trivial migration.
|
||||
|
||||
---
|
||||
|
||||
## Dependency Risk
|
||||
|
||||
### Pre-1.0 / preview dependencies in production critical path
|
||||
|
||||
| Package | Version | Risk |
|
||||
|---|---|---|
|
||||
| `drizzle-orm` | `1.0.0-beta.22` | Beta. Breaking changes possible until 1.0.0 stable. (`packages/api/package.json`, `packages/auth/package.json`, `packages/db/package.json`, `apps/web/package.json`) |
|
||||
| `drizzle-kit` | `1.0.0-beta.22` | Beta migrator. Snapshot format may change. (`packages/db/package.json`) |
|
||||
| `drizzle-zod` | `1.0.0-beta.14-a36c63d` | Beta + specific commit hash — version drift risk. (`packages/api/package.json`) |
|
||||
| `nitro` | `3.0.260429-beta` | Beta server runtime in the critical path. (`apps/web/package.json`) |
|
||||
| `@typescript/native-preview` | `7.0.0-dev.20260510.1` | Dev build of `tsgo`. All packages use it for `typecheck`. |
|
||||
| `typescript` | `^6.0.3` | TS 6 — recent major. |
|
||||
| `vite` | `^8.0.11` | Vite 8 — recent major. |
|
||||
| `react` / `react-dom` | `^19.2.6` | React 19. |
|
||||
| `@orpc/experimental-ratelimit` | `^1.14.2` | Explicitly experimental in the package name. (`packages/api/package.json`) |
|
||||
| `@tanstack/react-start` | `^1.167.65` | TanStack Start is pre-1.x semver but not labelled beta. |
|
||||
| `better-auth` | `1.6.10` (exact) | Pinned exact, not `^`. Manual upgrade required for security patches. |
|
||||
|
||||
**Impact:** Library upgrades in this stack are high-risk; the team must follow each upstream's release notes closely. The `BETA` / `DEV` versions also affect lockfile churn.
|
||||
|
||||
**Fix approach:**
|
||||
- Set up Renovate / Dependabot for the beta packages specifically, so security patches are caught.
|
||||
- Run `pnpm knip` and `pnpm dlx npm-check-updates` regularly (both are devDependencies, `package.json:34, :40`).
|
||||
|
||||
### Several heavy native dependencies are externalised at build time
|
||||
|
||||
`apps/web/vite.config.ts:55-57` externals `bcrypt`, `sharp`, `@aws-sdk/client-s3`. `packages/runtime-externals` is the workspace package that wraps these. Knip is configured to ignore them (`knip.json:14`).
|
||||
|
||||
**Risk:** Operators must ensure these are installed at runtime (covered in `Dockerfile`). Self-hosters using a Node base image without build-essentials may hit `bcrypt` build failures.
|
||||
|
||||
**Fix approach:** Mostly documented; consider switching `bcrypt` → `bcryptjs` (pure JS) to remove a build dependency.
|
||||
|
||||
---
|
||||
|
||||
## Cross-Cutting Hard-to-Find Logic
|
||||
|
||||
These are non-obvious surfaces that consumers of this map should know about before changing related code:
|
||||
|
||||
1. **PDF section filtering** — `packages/pdf/src/templates/shared/filtering.ts:25-60` decides which resume sections render in PDFs based on hidden flags and required title fields. Per-template visual exceptions live in each template directory; cross-template visual changes go here. Noted in `AGENTS.md:44`.
|
||||
|
||||
2. **React-PDF font registration & CJK fallback stack** — `packages/pdf/src/hooks/use-register-fonts.ts:68-133`. Owns standard-PDF-font handling (`isStandardPdfFontFamily`), CJK glyph-level fallback (#2986), and global hyphenation callback. Module-level registration cache (`:18`). Noted in `AGENTS.md:45`.
|
||||
|
||||
3. **Resume access policy** — `packages/api/src/helpers/resume-access-policy.ts`. Single source of truth for owner-vs-viewer redaction (`name` and `metadata.notes` stripped for non-owners), `NOT_FOUND`-vs-`FORBIDDEN` choice (not-found used to avoid existence disclosure), and self-view statistics exclusion. Owner-only mutations rely on SQL `WHERE userId =` clauses, not this policy — drift between SQL guards and policy is silent.
|
||||
|
||||
4. **Resume password cookie** — `packages/api/src/helpers/resume-access.ts`. Cookie name `resume_access_{resumeId}`, signed value is `sha256(resumeId:passwordHash)`, TTL 10 minutes, `httpOnly`, `sameSite: lax`, `secure` only when `APP_URL` starts with `https`. Forgetting to set `APP_URL=https://...` in production drops the secure flag.
|
||||
|
||||
5. **OAuth `authorize` request sanitization** — `apps/web/src/routes/api/auth.$.ts:6-51` strips control chars from OAuth parameters and decodes broken-but-decodable redirect URIs before passing to Better Auth. Easy to bypass if a new OAuth flow is added that does not route through this handler.
|
||||
|
||||
6. **Dynamic client registration coercion to public client** — `apps/web/src/routes/api/auth.$.ts:53-80` forces `token_endpoint_auth_method = "none"` for unauthenticated registrations (specifically for Claude.ai's MCP onboarding quirk). This is non-standard behaviour buried in a request preprocessor.
|
||||
|
||||
7. **Builder draft sync** — `apps/web/src/components/resume/builder-resume-draft.ts:46-100` manages per-resume zustand stores keyed by resume id, with debounced patch-and-resync. Failure to clean up `runtimes` Map on resume close = subscription/timer leaks.
|
||||
|
||||
---
|
||||
|
||||
## Test Coverage Gaps (Priority Map)
|
||||
|
||||
| Area | Source files | Test files | Priority |
|
||||
|------|-------------:|-----------:|----------|
|
||||
| `apps/web/src/routes/**` | 125 | 1 | **High** — covers all server handlers and the builder shell |
|
||||
| `apps/web/src/routes/api/**` (rpc/auth/uploads/openapi/mcp) | ~10 | 0 | **High** — security-sensitive route handlers |
|
||||
| `apps/web/src/components/resume/**` | 5 | 2 | Medium |
|
||||
| `apps/web/src/dialogs/**` | ~30 | 1 (`store.test.ts`) | Medium |
|
||||
| `packages/api/src/routers/**` | 7 | 0 (DTO test only) | **High** — auth-protected procedures |
|
||||
| `packages/api/src/services/**` | 8 | 1 (`ai.test.ts`) | High |
|
||||
| `packages/auth/src/**` | 3 | 0 | **High** — central auth config never directly tested |
|
||||
| `packages/email/src/**` | ~5 | 0 | Medium |
|
||||
| `packages/import/src/**` | several importers | 1 (v4) | Medium |
|
||||
| `packages/pdf/src/templates/shared/**` | ~20 | 11 | Low (well covered) |
|
||||
|
||||
---
|
||||
|
||||
*Concerns audit: 2026-05-11*
|
||||
@@ -0,0 +1,238 @@
|
||||
# Coding Conventions
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
This document is the canonical short-form reference for code style, structure, and feature-boundary rules in the Reactive Resume monorepo. The authoritative long-form reference lives in `AGENTS.md` at the repo root — when in doubt, defer to it.
|
||||
|
||||
## Tooling Stack
|
||||
|
||||
- **Formatter + linter:** Biome 2.x (`biome.json`). Pre-commit hook (`lefthook.yml`) runs `biome check --write --unsafe` on staged JS/TS/JSON files.
|
||||
- **Type checker:** `tsgo --noEmit` (the `@typescript/native-preview` TS implementation) in every workspace package and `apps/web`. Use `pnpm typecheck` at the root or `pnpm --filter <pkg> typecheck` per package.
|
||||
- **TypeScript base config:** `packages/config/tsconfig.base.json`, consumed by `tsconfig.json` at root and per-package `tsconfig.json` files.
|
||||
- **Commit hook:** commitlint with `@commitlint/config-conventional` (`commitlint.config.cjs`). `body-max-line-length` is disabled.
|
||||
- **Internal CLI:** `pnpm check` is **write-capable** (`biome check --write --unsafe .`). Use `biome check .` (no `--write`) for read-only inspection.
|
||||
|
||||
## Biome Configuration (`biome.json`)
|
||||
|
||||
**Formatter:**
|
||||
- `lineWidth: 120`
|
||||
- `indentStyle: "tab"`
|
||||
- `javascript.formatter.quoteStyle: "double"`
|
||||
- CSS parser has `tailwindDirectives: true`
|
||||
|
||||
**Linter rules (notable):**
|
||||
- `recommended: true`
|
||||
- `suspicious.noExplicitAny: "error"` — `any` is forbidden
|
||||
- `suspicious.noArrayIndexKey: "off"`
|
||||
- `correctness.useExhaustiveDependencies: "info"` (not an error)
|
||||
- `style.useImportType: { level: "on", options: { style: "separatedType" } }` — `import type` is required when an import is type-only and must be on its own line (not inlined per-specifier)
|
||||
- `style.noInferrableTypes: "error"` — drop redundant annotations like `const x: number = 1`
|
||||
- `style.noUselessElse: "error"`
|
||||
- `style.useSelfClosingElements: "error"`
|
||||
- `style.useSingleVarDeclarator: "error"`
|
||||
- `style.noParameterAssign: "error"`
|
||||
- `style.useDefaultParameterLast: "error"`
|
||||
- `nursery.useSortedClasses: { level: "warn", fix: "safe", functions: ["clsx", "cva", "cn"] }` — Tailwind class strings inside these wrappers are sorted automatically
|
||||
|
||||
**Import organization:** Biome's `assist.actions.source.organizeImports` is `on`, grouped in this order (`biome.json` lines 32-39):
|
||||
|
||||
1. Type-only imports (`{ "type": true }`)
|
||||
2. Node built-ins (`":NODE:"`, excluding Bun)
|
||||
3. Vitest + Testing Library (`vitest`, `vitest/**`, `@testing-library/**`)
|
||||
4. External npm packages (`:PACKAGE:`, excluding `@reactive-resume/**`)
|
||||
5. Internal workspace packages (`@reactive-resume/**`)
|
||||
6. App-local aliases / relative paths (`:ALIAS:`, `:PATH:`)
|
||||
|
||||
A representative file that demonstrates the order: `packages/api/src/services/resume.ts` (type imports → node-free externals → `@reactive-resume/*` → relatives).
|
||||
|
||||
**Biome ignores:** `**/.turbo`, `**/.output`, `**/.vercel`, `**/.wrangler`, `**/coverage`, `**/reports`, `**/routeTree.gen.ts`.
|
||||
|
||||
## TypeScript Conventions
|
||||
|
||||
**Strictness flags** in `packages/config/tsconfig.base.json` are intentionally aggressive:
|
||||
|
||||
- `strict: true`
|
||||
- `verbatimModuleSyntax: true` (pairs with Biome's `useImportType` enforcement)
|
||||
- `exactOptionalPropertyTypes: true`
|
||||
- `noUncheckedIndexedAccess: true`
|
||||
- `noUncheckedSideEffectImports: true`
|
||||
- `noUnusedLocals: true`, `noUnusedParameters: true`
|
||||
- `noFallthroughCasesInSwitch: true`
|
||||
- `isolatedModules: true`, `moduleResolution: "bundler"`
|
||||
- `target: "ESNext"`, `module: "ESNext"`
|
||||
|
||||
**Type-only imports:** Always use `import type { … }` on its own line when an import is only used in type positions. See `packages/api/src/services/resume.ts:1-5` and `packages/api/src/context.ts:1-2`.
|
||||
|
||||
**`any`:** Banned by Biome (`noExplicitAny: "error"`). Use `unknown` and narrow, or use a discriminated union.
|
||||
|
||||
**Path aliases (web app only):** `apps/web/tsconfig.json` declares:
|
||||
- `@/*` → `./src/*`
|
||||
- `@reactive-resume/ui/*` → `../../packages/ui/src/*` (build-time alias for direct source resolution)
|
||||
|
||||
Internal packages do NOT use `@/*` aliases — they import siblings via relative paths and cross-package code via the `@reactive-resume/*` export maps.
|
||||
|
||||
## Package Export Conventions (source-consumed packages)
|
||||
|
||||
**Internal packages export `src` files directly via `package.json` `exports`.** There is no per-package build step; consumers pick up the TS source through bundler/vitest resolution. Do not assume any `dist/` output.
|
||||
|
||||
Sample (`packages/utils/package.json`):
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "@reactive-resume/utils",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
"./color": "./src/color.ts",
|
||||
"./date": "./src/date.ts",
|
||||
"./resume/docx": "./src/resume/docx/index.ts",
|
||||
"./resume/patch": "./src/resume/patch.ts",
|
||||
"./url-security.node": "./src/url-security.node.ts"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Conventions when adding cross-package exports:**
|
||||
|
||||
- Use **explicit subpath exports**, not wildcards in `@reactive-resume/utils`/`@reactive-resume/db`. Some packages (`@reactive-resume/api`) do use wildcards like `"./services/*"` — match the style of the package you're editing.
|
||||
- Filenames ending in `.node.ts` (e.g. `packages/utils/src/url-security.node.ts`, `packages/utils/src/monorepo.node.ts`) are reserved for Node-only code that must not be imported from the browser bundle.
|
||||
- Filename suffixes `.browser.tsx` (e.g. `apps/web/src/components/resume/preview.browser.tsx`) mark code that must stay out of SSR paths.
|
||||
|
||||
## React & Web App Conventions
|
||||
|
||||
**Routing:** TanStack Router with file-based routes under `apps/web/src/routes`.
|
||||
- Each route file calls `createFileRoute("/path")({ … })` and exports `Route`. Example: `apps/web/src/routes/auth/login.tsx:18`.
|
||||
- `apps/web/src/routeTree.gen.ts` is generated — never hand-edit it (also Biome-ignored).
|
||||
- Server-only handlers live in `server.handlers` blocks on routes like `apps/web/src/routes/api/rpc.$.ts`, `apps/web/src/routes/api/auth.$.ts`, `apps/web/src/routes/api/health.ts`.
|
||||
- Public resume route `apps/web/src/routes/$username/$slug.tsx` is `ssr: "data-only"`; nested builder preview is `ssr: false`.
|
||||
|
||||
**Router context** (`apps/web/src/router.tsx`) provides `queryClient`, `orpc`, `theme`, `locale`, `session`, and `flags`. Read them via `Route.useRouteContext()` rather than refetching.
|
||||
|
||||
**Components:**
|
||||
- Functional components only. React 19.
|
||||
- File naming: **kebab-case** for files and directories (e.g. `apps/web/src/components/command-palette/`, `packages/ui/src/components/alert-dialog.tsx`, `apps/web/src/dialogs/api-key/create.tsx`).
|
||||
- Test file: `<name>.test.ts(x)` colocated with the implementation (e.g. `packages/ui/src/components/button.tsx` + `packages/ui/src/components/button.test.tsx`).
|
||||
- shadcn/Base UI primitive components in `packages/ui/src/components/*.tsx` are exported via the `./components/*` subpath. Hooks via `./hooks/*`.
|
||||
|
||||
**Tailwind class strings:** Always wrap in `clsx`, `cva`, or `cn` so Biome's `useSortedClasses` rule can sort them safely.
|
||||
|
||||
## oRPC Conventions (`packages/api`)
|
||||
|
||||
- **Procedures:** Build new procedures with `publicProcedure` or `protectedProcedure` from `packages/api/src/context.ts:79-99`. `protectedProcedure` adds the authenticated `User` to context and throws `ORPCError("UNAUTHORIZED")` otherwise; prefer it for anything authenticated.
|
||||
- **Routers** live in `packages/api/src/routers/*.ts` and are composed in `packages/api/src/routers/index.ts` (`ai`, `auth`, `flags`, `resume`, `statistics`, `storage`). Each router file may export sub-routers internally (see `tagsRouter`, `statisticsRouter`, `analysisRouter`, `updatesRouter` in `packages/api/src/routers/resume.ts`).
|
||||
- **Business logic** belongs in `packages/api/src/services/*.ts`. Handlers must stay thin: validate input, call a service, return its output. Example pattern: `packages/api/src/routers/resume.ts:24-26` calls `resumeService.tags.list(...)`.
|
||||
- **DTOs / IO schemas** live in `packages/api/src/dto/*.ts` and are imported as `resumeDto.<op>.input` / `resumeDto.<op>.output`.
|
||||
- **Errors:** Declare typed errors with `.errors({ CODE: { message, status } })` on the procedure (see `packages/api/src/routers/resume.ts:282-291`). Throw `new ORPCError("CODE")` inside services. The web side translates codes to user-facing strings in `apps/web/src/libs/error-message.ts`.
|
||||
- **Route metadata:** Every procedure declares `.route({ method, path, tags, operationId, summary, description, successDescription })` so the OpenAPI/MCP endpoints stay accurate.
|
||||
- **Rate limiting:** Apply via `.use(resumeMutationRateLimit)` / `.use(resumePasswordRateLimit)` from `packages/api/src/middleware/rate-limit`.
|
||||
- **Web exposure:** Routers are mounted at `/api/rpc` by `apps/web/src/routes/api/rpc.$.ts`. The isomorphic client lives at `apps/web/src/libs/orpc/client.ts` — server-side calls use the in-process router client and browser calls hit `/api/rpc` with credentials.
|
||||
|
||||
## Drizzle Conventions (`packages/db`)
|
||||
|
||||
- **Schema location:** `packages/db/src/schema/*.ts`. Tables exported from `packages/db/src/schema/index.ts`.
|
||||
- **Client:** `packages/db/src/client.ts`, exported as `@reactive-resume/db/client`.
|
||||
- **Migrations:** Generated to **`migrations/` at the repo root** by `drizzle-kit generate`. Use `pnpm db:generate` after schema changes.
|
||||
- **`DATABASE_URL` handling:** `drizzle-kit` does **not** auto-load `.env`. Always export `DATABASE_URL` in the shell (or prefix the command) before running `pnpm db:generate` / `pnpm db:migrate`.
|
||||
- **Runtime migration:** `apps/web/plugins/1.migrate.ts` runs migrations on Nitro startup, so `pnpm db:migrate` is mostly used for first-time setup or debugging.
|
||||
- **Patterns observed in `packages/db/src/schema/resume.ts`:**
|
||||
- Primary keys use `pg.text("id").$defaultFn(() => generateId())` (UUIDv7 from `@reactive-resume/utils/string`).
|
||||
- `createdAt` / `updatedAt` use `withTimezone: true`, `.defaultNow()`, and `$onUpdate(() => new Date())`.
|
||||
- JSONB columns get `.$type<T>()` for end-to-end typing.
|
||||
- Composite uniques/indexes are declared in the table's tuple callback.
|
||||
- Foreign keys use `onDelete: "cascade"`.
|
||||
|
||||
## Schema-First Change Workflow
|
||||
|
||||
When changing resume data shape, propagate in this order (per `AGENTS.md`):
|
||||
|
||||
1. **`packages/schema/src/resume/*.ts`** — Zod schemas and types (entry point).
|
||||
2. **`packages/api/src/dto/*.ts`** — API DTOs that re-use those schemas.
|
||||
3. **`packages/import/src/*.tsx`** — importers (`json-resume`, `reactive-resume-json`, `reactive-resume-v4-json`).
|
||||
4. **`packages/pdf/src/templates/**`** — PDF rendering for every template (`azurill`, `bronzor`, `chikorita`, `ditgar`, `ditto`, `gengar`, `glalie`, `kakuna`, `lapras`, `leafish`, `meowth`, `onyx`, `pikachu`, `rhyhorn`, `scizor`). Shared filtering: `packages/pdf/src/templates/shared/filtering.ts`.
|
||||
5. **`apps/web/src/`** — builder forms and any consumer hooks.
|
||||
|
||||
Adding/renaming a template requires changes in `packages/schema/src/templates.ts`, `packages/pdf/src/templates/index.ts`, the template directory `packages/pdf/src/templates/<name>/`, and static previews under `apps/web/public/templates/{jpg,pdf}/`.
|
||||
|
||||
## Error Handling Patterns
|
||||
|
||||
- **Services:** Throw `new ORPCError("CODE")` (e.g. `NOT_FOUND`, `UNAUTHORIZED`, custom `RESUME_LOCKED`). Example: `packages/api/src/services/resume.ts:54`.
|
||||
- **Routers:** Declare expected codes via `.errors({ … })` so callers get typed error narrowing.
|
||||
- **Auth helpers** in `packages/api/src/context.ts:14-55` catch verification errors and `console.warn(...)` rather than throwing, returning `null` so the caller can fall through to the next auth method.
|
||||
- **Web side:** `apps/web/src/libs/error-message.ts` exposes `getReadableErrorMessage`, `getOrpcErrorMessage`, and `getResumeErrorMessage` for translating raw errors into UI-safe strings. Pair with `sonner` toasts (see `apps/web/src/routes/auth/login.tsx:45-64`).
|
||||
|
||||
## Logging
|
||||
|
||||
- No dedicated logging framework. Use `console.warn` / `console.error` for diagnostic output, scoped tightly (see `packages/api/src/context.ts:25`).
|
||||
- Server logs are also where dev-mode email verification links surface when SMTP is unconfigured.
|
||||
|
||||
## i18n & Translations (Lingui)
|
||||
|
||||
- **Library:** `@lingui/core`, `@lingui/react` with the babel macro plugin enabled in `apps/web/vitest.config.ts` and Vite config.
|
||||
- **Config:** `apps/web/lingui.config.ts` — source locale `en-US`, pseudo locale `zu-ZA`, 50+ supported locales. Catalogs live in `apps/web/locales/{locale}.po`.
|
||||
- **Usage:**
|
||||
- Import macros: `import { t } from "@lingui/core/macro"` and `import { Trans } from "@lingui/react/macro"` (`apps/web/src/routes/auth/login.tsx:1-2`).
|
||||
- Wrap displayed text in `<Trans>...</Trans>` for JSX or `` t`...` `` / `t({ message, comment })` for strings.
|
||||
- Provide `comment:` for ambiguous fallback strings (see `login.tsx:57-60`).
|
||||
- **Extraction:** `pnpm lingui:extract` (turbo task in `apps/web`). Crowdin sync runs via `.github/workflows/crowdin-sync.yml`.
|
||||
|
||||
## Comments Policy
|
||||
|
||||
Comments stay short and explain **why**, not what. Patterns observed:
|
||||
|
||||
- One-line `//` comments before a non-obvious decision (`vitest.setup.ts:5-7` explains why `cleanup()` is registered manually; `packages/utils/src/monorepo.node.test.ts:11` explains the `realpathSync` call).
|
||||
- JSDoc/TSDoc only on cross-package public functions where intent matters (e.g. `packages/api/src/context.ts:57-63` documents `resolveUserFromRequestHeaders`).
|
||||
- Inline `/* @__PURE__ */` annotations on `$onUpdate(() => new Date())` in Drizzle schemas (`packages/db/src/schema/resume.ts:36`).
|
||||
- No commented-out code in commits.
|
||||
|
||||
## Git Hooks & Commit Style
|
||||
|
||||
**Lefthook (`lefthook.yml`):**
|
||||
|
||||
```yaml
|
||||
pre-commit:
|
||||
parallel: true
|
||||
jobs:
|
||||
- name: lint and format
|
||||
glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}"
|
||||
run: pnpm biome check --write --unsafe --no-errors-on-unmatched --files-ignore-unknown=true {staged_files}
|
||||
stage_fixed: true
|
||||
|
||||
commit-msg:
|
||||
jobs:
|
||||
- name: commitlint
|
||||
run: pnpm commitlint --edit {1}
|
||||
```
|
||||
|
||||
The pre-commit hook **rewrites staged files** with Biome fixes (`stage_fixed: true`). Run `pnpm check` before staging to avoid surprises.
|
||||
|
||||
**Commit messages:** Conventional Commits (`commitlint.config.cjs` extends `@commitlint/config-conventional`). Examples from `git log`:
|
||||
|
||||
- `feat: implement an AI chat window for agentic resume building`
|
||||
- `fix(pdf): register CJK fallback font so Chinese/Japanese/Korean text renders correctly`
|
||||
- `fix(lapras): adjust lapras border color to fixed gray`
|
||||
- `chore: migrate from jsdom to happy-dom for testing environment`
|
||||
- `docs: update AGENTS.md with detailed codebase structure`
|
||||
- `test: add unit and component tests across the monorepo`
|
||||
- `chore(release): v5.1.2`
|
||||
|
||||
Allowed types: `feat`, `fix`, `chore`, `docs`, `test`, `refactor`, `style`, `perf`, `build`, `ci`, `revert`. Scope is optional and lowercase. `body-max-line-length` is disabled, so long PR bodies are fine.
|
||||
|
||||
## CI Workflows
|
||||
|
||||
- **`.github/workflows/autofix.yml`** runs on every PR and push to `main`: `pnpm install --frozen-lockfile` → `pnpm knip --fix` (prune unused deps) → `pnpm check` (Biome) → `autofix-ci/action` opens fix commits.
|
||||
- **`.github/workflows/docker-build.yml`** is `workflow_dispatch` only, builds multi-arch Docker images.
|
||||
- **`.github/workflows/crowdin-sync.yml`** syncs translation catalogs.
|
||||
- There is no CI workflow that runs `pnpm test` today. Tests run locally via `pnpm test` / `pnpm test:ci` and through turbo's `test:agent` reporter for agent-driven runs.
|
||||
|
||||
## Function & Module Design
|
||||
|
||||
- **Function size:** Most service functions stay under ~40 lines. Bigger flows (e.g. `resumeService.patch`) are decomposed into helpers in `packages/api/src/helpers/*` and `packages/api/src/services/resume-events.ts`.
|
||||
- **Parameters:** Service helpers consistently take a single object argument (`async ({ id, userId })`) rather than positional args. See `packages/api/src/services/resume.ts:27,41,65`.
|
||||
- **Return values:** Services return plain typed objects; routers shape the response via `.output(schema)` so Zod validates at the boundary.
|
||||
- **Module boundaries:**
|
||||
- Cross-package imports must go through declared `exports` subpaths. Reaching into `packages/<x>/src/internal-file` directly is not allowed.
|
||||
- `packages/utils` exports are narrowly scoped — if you need a new helper for another package, add a new explicit subpath in `packages/utils/package.json`.
|
||||
- `packages/runtime-externals` and `packages/scripts` are support packages; avoid importing them into runtime code.
|
||||
|
||||
---
|
||||
|
||||
*Convention analysis: 2026-05-11*
|
||||
@@ -0,0 +1,239 @@
|
||||
# External Integrations
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## APIs & External Services
|
||||
|
||||
**AI Providers (user-supplied API keys, called per-request from `packages/api/src/services/ai.ts`):**
|
||||
- OpenAI — Default base URL `https://api.openai.com/v1` (`packages/ai/src/types.ts`)
|
||||
- SDK: `@ai-sdk/openai ^3.0.63` via `createOpenAI(...).chat(model)`
|
||||
- API key supplied per-call from the resume's `ai` config; not read from server env
|
||||
- Anthropic — Default base URL `https://api.anthropic.com/v1`
|
||||
- SDK: `@ai-sdk/anthropic ^3.0.76` via `createAnthropic(...).languageModel(model)`
|
||||
- Google Gemini — Default base URL `https://generativelanguage.googleapis.com/v1beta`
|
||||
- SDK: `@ai-sdk/google ^3.0.71` via `createGoogleGenerativeAI(...).languageModel(model)`
|
||||
- Vercel AI Gateway — Default base URL `https://ai-gateway.vercel.sh/v3/ai`
|
||||
- SDK: `ai ^6.0.177` via `createGateway(...).languageModel(model)`
|
||||
- OpenRouter — Default base URL `https://openrouter.ai/api/v1`
|
||||
- SDK: `@ai-sdk/openai-compatible ^2.0.47` via `createOpenAICompatible({ name: "openrouter", ... })`
|
||||
- Ollama — Default base URL `https://ollama.com/api`
|
||||
- SDK: `ollama-ai-provider-v2 ^3.5.0` via `createOllama(...)`
|
||||
- Security: `packages/api/src/services/ai.ts` `resolveBaseUrl` rejects non-HTTPS URLs, credentialed URLs, and private/loopback hosts (via `packages/utils/src/url-security.node.ts`).
|
||||
- File-input AI calls are capped at 10MB (`MAX_AI_FILE_BYTES`).
|
||||
|
||||
**OAuth Identity Providers (server-side env-configured, optional):**
|
||||
- Google — `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` (config in `packages/auth/src/config.ts`).
|
||||
- GitHub — `GITHUB_CLIENT_ID` / `GITHUB_CLIENT_SECRET`.
|
||||
- LinkedIn — `LINKEDIN_CLIENT_ID` / `LINKEDIN_CLIENT_SECRET`.
|
||||
- Custom Generic OAuth — `OAUTH_PROVIDER_NAME`, `OAUTH_CLIENT_ID`, `OAUTH_CLIENT_SECRET`, plus either `OAUTH_DISCOVERY_URL` or all three of `OAUTH_AUTHORIZATION_URL`/`OAUTH_TOKEN_URL`/`OAUTH_USER_INFO_URL`. Scopes from `OAUTH_SCOPES` (defaults `openid profile email`). Wired via Better Auth's `genericOAuth` plugin.
|
||||
- Trusted providers for account linking (`packages/auth/src/config.ts`): `google`, `github`, `linkedin`.
|
||||
|
||||
**Translation / Localization:**
|
||||
- Crowdin — `CROWDIN_PROJECT_ID`, `CROWDIN_PERSONAL_TOKEN`. Config in `crowdin.yml`; pull request automation labelled `l10n`. Source catalog `apps/web/locales/en-US.po`.
|
||||
|
||||
**Font Catalog Tooling:**
|
||||
- Google Fonts Developer API — `GOOGLE_CLOUD_API_KEY` consumed by `packages/scripts/fonts/generate.ts` hitting `https://www.googleapis.com/webfonts/v1/webfonts`. Output committed at `packages/fonts/src/webfontlist.json`.
|
||||
|
||||
## Data Storage
|
||||
|
||||
**Databases:**
|
||||
- PostgreSQL — Required relational database.
|
||||
- Connection env: `DATABASE_URL` (validated as `postgres(ql)://...` in `packages/env/src/server.ts`)
|
||||
- Client: `drizzle-orm 1.0.0-beta.22` with `pg ^8.20.0` Pool, instantiated in `packages/db/src/client.ts` (singleton via `globalThis.__pool` / `globalThis.__drizzle`).
|
||||
- Schema location: `packages/db/src/schema/index.ts` (auth + resume tables) with `packages/db/src/relations.ts`.
|
||||
- Migrations: generated by `drizzle-kit` into repo-root `migrations/` (e.g. `20260507144406_fast_nova/`). Generator config at `packages/db/drizzle.config.ts`.
|
||||
- Auto-migration on app start: `apps/web/plugins/1.migrate.ts` runs `drizzle-orm/node-postgres/migrator` against the resolved migrations folder.
|
||||
- `drizzle-kit` does NOT auto-load `.env` — `DATABASE_URL` must be exported before running `pnpm db:generate` / `pnpm db:migrate` (see `AGENTS.md` "Important" callout).
|
||||
- Health probe: `packages/api/src/services/storage.ts` healthcheck + `apps/web/src/routes/api/health.ts` runs `SELECT 1` through Drizzle (1.5s timeout).
|
||||
|
||||
**File Storage (selected at runtime in `packages/api/src/services/storage.ts`):**
|
||||
- S3-compatible object storage when all three of `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_BUCKET` are set.
|
||||
- Client: `@aws-sdk/client-s3 ^3.1045.0` (`S3Client` constructed in `S3StorageService`).
|
||||
- Options: `S3_REGION` (default `us-east-1`), `S3_ENDPOINT` (for non-AWS), `S3_FORCE_PATH_STYLE`.
|
||||
- Tested compatible backends: AWS S3 and SeaweedFS (see `compose.dev.yml` / `compose.yml`).
|
||||
- All writes use `ACL: "public-read"` (consumed publicly from `/uploads/$userId/$` route, with path validation).
|
||||
- Local filesystem fallback (`LocalStorageService`) used when any of the three S3 vars is missing.
|
||||
- Path: `LOCAL_STORAGE_PATH` if set (must be absolute); otherwise `<workspace>/data` in dev or `/app/data` in the Docker image.
|
||||
- Validated at boot by `apps/web/plugins/2.storage.ts` (mkdir + access check).
|
||||
- Key layout (built in `packages/api/src/services/storage.ts`):
|
||||
- `uploads/{userId}/pictures/{timestamp}.jpeg`
|
||||
- `uploads/{userId}/screenshots/{resumeId}/{timestamp}.jpeg`
|
||||
- `uploads/{userId}/pdfs/{resumeId}/{timestamp}.pdf`
|
||||
- Public read route: `apps/web/src/routes/uploads/$userId.$.tsx` (ETag, content-type sniffing, path traversal protection).
|
||||
- Image preprocessing: `sharp ^0.34.5` resizes to 800x800 and re-encodes JPEG at quality 80, unless `FLAG_DISABLE_IMAGE_PROCESSING=true`.
|
||||
|
||||
**Caching:**
|
||||
- No external cache (Redis/Memcached) configured.
|
||||
- In-process rate limiter: `@orpc/experimental-ratelimit` `MemoryRatelimiter` (`packages/api/src/middleware/rate-limit/index.ts`).
|
||||
- Workbox precache in the service worker (PWA) — `apps/web/vite.config.ts` `VitePWA` setup (skipWaiting, clientsClaim, cleanupOutdatedCaches).
|
||||
|
||||
## Authentication & Identity
|
||||
|
||||
**Auth Provider:** Better Auth `1.6.10`, configured in `packages/auth/src/config.ts`.
|
||||
- Mounted as a TanStack Start server handler at `/api/auth/*` via `apps/web/src/routes/api/auth.$.ts`.
|
||||
- Drizzle adapter: `@better-auth/drizzle-adapter` bound to `db` + schema (provider `pg`).
|
||||
- Trusted origins: `http://localhost:3000`, `http://127.0.0.1:3000`, and the normalized origin of `APP_URL`.
|
||||
- Secure cookies enabled automatically when `APP_URL` is `https://`.
|
||||
- Trusted IP headers (used by both Better Auth `advanced.ipAddress.ipAddressHeaders` and the oRPC rate limiter): `CF-Connecting-IP`, `CF-Connecting-IPv6`, `True-Client-IP`, `X-Forwarded-For`, `X-Real-IP` (`packages/utils/src/rate-limit.ts`).
|
||||
- Telemetry: explicitly disabled.
|
||||
|
||||
**Email/Password:**
|
||||
- Enabled unless `FLAG_DISABLE_EMAIL_AUTH=true`.
|
||||
- Password hash: `bcrypt` (cost 10) via `hash` / `compare` from `bcrypt ^6.0.0`.
|
||||
- Min 8, max 64 char passwords.
|
||||
- Email verification: sent on signup using `VerifyEmail` template from `@reactive-resume/email/templates/auth`.
|
||||
- Reset password: `sendResetPassword` -> `ResetPasswordEmail` template.
|
||||
- Email change: `sendChangeEmailConfirmation` -> `VerifyEmailChange` template.
|
||||
|
||||
**Better Auth Plugins (in `packages/auth/src/config.ts`):**
|
||||
- `jwt()` — JWKS published at `/api/auth/jwks` (also referenced by `verifyOAuthToken`).
|
||||
- `admin()` — Admin operations.
|
||||
- `passkey()` (`@better-auth/passkey ^1.6.10`) — WebAuthn passkeys.
|
||||
- `genericOAuth({ config })` — Driven by `OAUTH_*` env vars when configured.
|
||||
- `twoFactor({ issuer: "Reactive Resume" })` — TOTP + backup codes; UI routes `/auth/verify-2fa` and `/auth/verify-2fa-backup`.
|
||||
- `apiKey()` (`@better-auth/api-key ^1.6.10`) — Header `x-api-key`; `enableSessionForAPIKeys: true`; per-key rate limit 1000 req/hour.
|
||||
- `oauthProvider()` (`@better-auth/oauth-provider ^1.6.10`) — Makes this app act as an OAuth 2.1 authorization server for MCP clients. Allows dynamic and unauthenticated client registration (RFC 7591) but redirect URIs are gated by an allowlist in the auth `hooks.before` middleware and `OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS`. Audiences whitelist: `${APP_URL}`, `${APP_URL}/`, `${APP_URL}/mcp`, `${APP_URL}/mcp/`.
|
||||
- `username()` — Normalized lowercase usernames (`^[a-z0-9._-]+$`, length 3–64).
|
||||
- `dash({ apiKey: BETTER_AUTH_API_KEY })` — Better Auth Dashboard (only when `BETTER_AUTH_API_KEY` is set).
|
||||
|
||||
**Social Providers:**
|
||||
- Google, GitHub, LinkedIn — Each activates only when both `*_CLIENT_ID` and `*_CLIENT_SECRET` env vars are set (`packages/auth/src/config.ts`). `disableImplicitSignUp: true`; account linking enabled.
|
||||
|
||||
**Session / Access in API context:**
|
||||
- `packages/api/src/context.ts` exposes `protectedProcedure` (referenced in `AGENTS.md`) for authenticated procedures.
|
||||
- oRPC middleware reads request headers via `RequestHeadersPlugin` (`apps/web/src/routes/api/rpc.$.ts`, `apps/web/src/routes/api/openapi.$.ts`).
|
||||
|
||||
**API Key Auth for HTTP / MCP:**
|
||||
- `x-api-key` header recognised by Better Auth API Key plugin.
|
||||
- OpenAPI spec at `/api/openapi/spec.json` declares `apiKey` security scheme (`apps/web/src/routes/api/openapi.$.ts`).
|
||||
- MCP server first tries OAuth Bearer (`Authorization: Bearer ...`), then falls back to `x-api-key` (`apps/web/src/routes/mcp/index.ts`).
|
||||
|
||||
## Monitoring & Observability
|
||||
|
||||
**Error Tracking:**
|
||||
- None — no Sentry/Datadog/Rollbar SDK present.
|
||||
- Errors are logged via `console.error` (oRPC interceptors `onError` in `apps/web/src/routes/api/rpc.$.ts` and `apps/web/src/routes/api/openapi.$.ts`).
|
||||
|
||||
**Health Checks:**
|
||||
- `GET /api/health` — `apps/web/src/routes/api/health.ts` returns JSON with DB and storage status; 503 if unhealthy. Used by Docker `HEALTHCHECK`.
|
||||
|
||||
**Logs:**
|
||||
- `console.info`/`console.warn`/`console.error` only. SMTP failures, missing config, sanitization diagnostics, and migration progress are all written to stdout/stderr.
|
||||
|
||||
## CI/CD & Deployment
|
||||
|
||||
**Hosting / Distribution:**
|
||||
- Self-hosted Docker image — `Dockerfile` builds final image around `node:24-slim`, expose port 3000, default `LOCAL_STORAGE_PATH=/app/data`. Multi-stage uses `turbo prune` for both the web app and the `runtime-externals` package (which carries `bcrypt`, `sharp`, `@aws-sdk/client-s3` as native deps).
|
||||
- Container labels point to `https://rxresu.me` and `https://docs.rxresu.me`.
|
||||
|
||||
**CI Pipeline:**
|
||||
- Not present in this worktree (no `.github/workflows/` enumerated here). Scripts produce CI-friendly Vitest reports (`reports/vitest-junit.xml`, `reports/vitest-results.json`) via the `test:ci` task.
|
||||
|
||||
**Local Orchestration:**
|
||||
- `compose.dev.yml` — `postgres:latest`, `seaweedfs:latest`, `seaweedfs_create_bucket` (uses `quay.io/minio/mc:latest`).
|
||||
- `compose.yml` — Same services plus `reactive_resume` app container, networks `data_network` / `storage_network`.
|
||||
|
||||
**Git Hooks:**
|
||||
- Lefthook (`lefthook.yml`) — `pre-commit` runs `biome check --write --unsafe` on staged JS/TS/JSON files; `commit-msg` runs `commitlint --edit`.
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
**Required env vars (validated by Zod in `packages/env/src/server.ts`):**
|
||||
- `APP_URL` — http(s) URL, used for auth base URL, OAuth audiences, OG metadata, and public upload URLs.
|
||||
- `DATABASE_URL` — `postgres(ql)://...`.
|
||||
- `AUTH_SECRET` — Better Auth signing secret (`openssl rand -hex 32`).
|
||||
|
||||
**Optional auth env vars:**
|
||||
- `BETTER_AUTH_API_KEY` — Enables Better Auth Dashboard plugin.
|
||||
- `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`.
|
||||
- `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`.
|
||||
- `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET`.
|
||||
- `OAUTH_PROVIDER_NAME`, `OAUTH_CLIENT_ID`, `OAUTH_CLIENT_SECRET`, `OAUTH_DISCOVERY_URL`, `OAUTH_AUTHORIZATION_URL`, `OAUTH_TOKEN_URL`, `OAUTH_USER_INFO_URL`, `OAUTH_SCOPES`, `OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS`.
|
||||
|
||||
**Optional SMTP env vars (all required together to enable real sends):**
|
||||
- `SMTP_HOST`, `SMTP_PORT` (default 587), `SMTP_USER`, `SMTP_PASS`, `SMTP_FROM`, `SMTP_SECURE` (default false). Fallback in `packages/email/src/transport.ts`: log to console with subject/body when SMTP is not fully configured.
|
||||
|
||||
**Optional storage env vars:**
|
||||
- `LOCAL_STORAGE_PATH` — Must be absolute when set.
|
||||
- `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_REGION` (default `us-east-1`), `S3_ENDPOINT`, `S3_BUCKET`, `S3_FORCE_PATH_STYLE` (default false).
|
||||
|
||||
**Optional feature flags:**
|
||||
- `FLAG_DISABLE_SIGNUPS` — Disables signups across all providers.
|
||||
- `FLAG_DISABLE_EMAIL_AUTH` — Disables email/password auth and verification flows.
|
||||
- `FLAG_DISABLE_IMAGE_PROCESSING` — Skips Sharp resize/encode (useful on resource-constrained hardware).
|
||||
|
||||
**Optional tooling env vars:**
|
||||
- `CROWDIN_PROJECT_ID` and `CROWDIN_PERSONAL_TOKEN` for Crowdin translation sync.
|
||||
- `GOOGLE_CLOUD_API_KEY` — For `packages/scripts/fonts/generate.ts`.
|
||||
|
||||
**Secrets location:**
|
||||
- `.env` at the repo root (gitignored). `.env.example` provides documented defaults. Existence noted: `.env.local`, `.env.production` files present locally (contents not read; may contain secrets).
|
||||
- Turbo cache invalidation tied to env vars via `turbo.json` `globalEnv` whitelist.
|
||||
|
||||
## Webhooks & Callbacks
|
||||
|
||||
**Incoming:**
|
||||
- OAuth provider callbacks served by Better Auth: `/api/auth/oauth2/callback/{providerId}` (e.g. `/api/auth/oauth2/callback/custom` configured in `packages/auth/src/config.ts`).
|
||||
- OAuth Authorization Server endpoints (when this app acts as an OAuth provider for MCP clients): handled by Better Auth `oauthProvider` plugin under `/api/auth/oauth2/*`. Login/consent pages at `/auth/oauth` (`apps/web/src/routes/auth/oauth.ts`).
|
||||
- `.well-known` discovery routes:
|
||||
- `apps/web/src/routes/[.]well-known/oauth-authorization-server.ts` and `.../oauth-authorization-server.$.ts`
|
||||
- `apps/web/src/routes/[.]well-known/oauth-protected-resource.ts` and `.../oauth-protected-resource.$.ts`
|
||||
- `apps/web/src/routes/[.]well-known/openid-configuration.ts`
|
||||
- `apps/web/src/routes/[.]well-known/mcp/server-card[.]json.ts`
|
||||
- Generic catch-all: `apps/web/src/routes/[.]well-known/$.ts`
|
||||
- MCP Streamable HTTP transport: `apps/web/src/routes/mcp/index.ts` (uses `WebStandardStreamableHTTPServerTransport`). Authenticates via OAuth Bearer or `x-api-key`.
|
||||
|
||||
**Outgoing:**
|
||||
- AI provider HTTPS requests (see "AI Providers" above) — initiated per user request from `packages/api/src/services/ai.ts`.
|
||||
- SMTP outbound (`packages/email/src/transport.ts`) for verification, password reset, and email-change confirmations.
|
||||
- S3 PUT/GET/DELETE/LIST through `@aws-sdk/client-s3` when S3 storage is configured.
|
||||
- Crowdin and Google Fonts requests only from CI / scripts, not from the runtime web app.
|
||||
|
||||
## API Endpoints Exposed by the App
|
||||
|
||||
| Endpoint | Handler | Purpose |
|
||||
|----------|---------|---------|
|
||||
| `/api/health` | `apps/web/src/routes/api/health.ts` | Liveness/readiness JSON (DB + storage). |
|
||||
| `/api/auth/*` | `apps/web/src/routes/api/auth.$.ts` | Better Auth handler (sessions, OAuth, passkey, JWKS, etc.). |
|
||||
| `/api/rpc/*` | `apps/web/src/routes/api/rpc.$.ts` | oRPC server (`packages/api/src/routers/index.ts`: `ai`, `auth`, `flags`, `resume`, `statistics`, `storage`). |
|
||||
| `/api/openapi/*` | `apps/web/src/routes/api/openapi.$.ts` | OpenAPI-style REST wrapper of the oRPC router; spec at `/api/openapi/spec.json`. Auth via `x-api-key`. |
|
||||
| `/mcp` | `apps/web/src/routes/mcp/index.ts` | MCP Streamable HTTP server (`@modelcontextprotocol/sdk`). |
|
||||
| `/uploads/{userId}/...` | `apps/web/src/routes/uploads/$userId.$.tsx` | Public read of stored images/PDFs with ETag + path validation. |
|
||||
| `/schema.json` | `apps/web/src/routes/schema[.]json.ts` | Resume JSON schema. |
|
||||
| `/.well-known/...` | `apps/web/src/routes/[.]well-known/*` | OAuth/OIDC/MCP discovery documents. |
|
||||
|
||||
## Rate Limiting
|
||||
|
||||
**Better Auth (production only, see `packages/auth/src/config.ts` `isRateLimitEnabled`):**
|
||||
- Global default: 60 req / 60s.
|
||||
- `/sign-in/email`: 5/60s; `/sign-up/email`: 3/60s.
|
||||
- `/request-password-reset`, `/send-verification-email`: 3/600s.
|
||||
- `/two-factor/verify-otp`, `/verify-totp`, `/verify-backup-code`: 5/600s.
|
||||
- `/is-username-available`: 20/60s.
|
||||
- OAuth provider endpoints: `register` 5/60s, `authorize` 30/60s, `token` 20/60s, `introspect` 60/60s, `revoke` 30/60s, `userinfo` 60/60s.
|
||||
- API keys: 1000 req / hour per key.
|
||||
- Source: `packages/utils/src/rate-limit.ts`.
|
||||
|
||||
**oRPC procedure-level (in-memory, production only, see `packages/api/src/middleware/rate-limit/index.ts`):**
|
||||
- `resumePassword`: 5 / 10min.
|
||||
- `pdfExport`: 5 / 60s.
|
||||
- `aiRequest`: 20 / 60s.
|
||||
- `jobsSearch`: 30 / 60s.
|
||||
- `jobsTestConnection`: 10 / 60s.
|
||||
- `storageUpload`: 20 / 60s.
|
||||
- `storageDelete`: 30 / 60s.
|
||||
- `resumeMutations`: 60 / 60s.
|
||||
- Keys are derived from authenticated user id when present, otherwise from the first trusted-IP header or a UA+language fingerprint.
|
||||
|
||||
## Optional Services Declared in Compose Files
|
||||
|
||||
| Service | Image | Purpose | File |
|
||||
|---------|-------|---------|------|
|
||||
| `postgres` | `postgres:latest` | Required PostgreSQL DB | `compose.dev.yml`, `compose.yml` |
|
||||
| `seaweedfs` | `chrislusf/seaweedfs:latest` | Optional S3-compatible storage for dev/prod | `compose.dev.yml`, `compose.yml` |
|
||||
| `seaweedfs_create_bucket` | `quay.io/minio/mc:latest` | One-shot init that creates `reactive-resume` bucket | `compose.dev.yml`, `compose.yml` |
|
||||
| `reactive_resume` | Built from `Dockerfile` | The app itself in prod compose | `compose.yml` |
|
||||
|
||||
---
|
||||
|
||||
*Integration audit: 2026-05-11*
|
||||
@@ -0,0 +1,210 @@
|
||||
# Technology Stack
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## Languages
|
||||
|
||||
**Primary:**
|
||||
- TypeScript `^6.0.3` — All workspace code under `apps/web/src` and `packages/*/src`. Typechecked with the experimental TS native compiler `@typescript/native-preview` (`7.0.0-dev.20260510.1`) via `tsgo --noEmit`.
|
||||
- TSX (React 19) — UI components in `apps/web/src`, `packages/ui/src/components`, `packages/pdf/src/templates`, and email templates in `packages/email/src/templates`.
|
||||
|
||||
**Secondary:**
|
||||
- JavaScript (ESM, `"type": "module"`) — A handful of config files such as `commitlint.config.cjs` and `apps/web/postcss.config` style snippets.
|
||||
- JSON / JSONC — `package.json`, `tsconfig.json`, `biome.json`, `turbo.json`, `knip.json`, `apps/web/components.json`, `packages/schema/schema.json`, locale and webfont metadata.
|
||||
- SQL — Drizzle-generated migrations under `migrations/` (e.g. `migrations/20260507144406_fast_nova/`).
|
||||
- YAML — `compose.yml`, `compose.dev.yml`, `lefthook.yml`, `crowdin.yml`, `pnpm-workspace.yaml`.
|
||||
- Markdown — `AGENTS.md`, `README.md`, `SECURITY.md`, `LICENSE`, docs under `docs/`.
|
||||
|
||||
## Runtime
|
||||
|
||||
**Environment:**
|
||||
- Node.js `24` — Pinned in `Dockerfile` via `ARG NODE_VERSION=24`. Single Node process exposes the web app on port `3000`.
|
||||
- Browser runtime — React 19 SSR + hydration via TanStack Start. PWA service worker registered from `apps/web/vite.config.ts`.
|
||||
|
||||
**Package Manager:**
|
||||
- pnpm `11.0.9` — Pinned in `package.json` `packageManager` field (with integrity hash). Managed via Corepack (`corepack enable`) per `AGENTS.md`.
|
||||
- Workspace topology: `pnpm-workspace.yaml` includes `apps/*` and `packages/*`.
|
||||
- Lockfile: `pnpm-lock.yaml` is present and committed at repo root.
|
||||
- `allowBuilds` in `pnpm-workspace.yaml`: `bcrypt`, `esbuild`, `lefthook`, `msw`, `sharp`.
|
||||
- `postcss` is pinned by an override to `^8.5.14` in `pnpm-workspace.yaml`.
|
||||
|
||||
**Build Orchestrator:**
|
||||
- Turborepo `^2.9.12` — `turbo.json` defines tasks (`build`, `dev`, `typecheck`, `test`, `db:generate`, `db:migrate`, `db:studio`, `lingui:extract`) and the `globalEnv` whitelist for cache invalidation.
|
||||
- The Docker build also pins `turbo@2.9.9` via `pnpm dlx` for the pruner stages.
|
||||
|
||||
## Frameworks
|
||||
|
||||
**Core (apps/web):**
|
||||
- React `^19.2.6` with `react-dom ^19.2.6` (from `apps/web/package.json`).
|
||||
- TanStack Start `^1.167.65` — Full-stack framework wiring Vite, Nitro, and React Router. Server handlers live in route files under `apps/web/src/routes`.
|
||||
- TanStack Router `^1.169.2` — File-based router. `apps/web/src/routeTree.gen.ts` is generated.
|
||||
- TanStack React Query `^5.100.9` with SSR bridge `@tanstack/react-router-ssr-query ^1.166.12`.
|
||||
- TanStack React Form `^1.32.0` and React Hotkeys `^0.10.0`.
|
||||
- Vite `^8.0.11` (rolldown-based) — `apps/web/vite.config.ts` orchestrates plugins.
|
||||
- Nitro `3.0.260429-beta` — Server framework used through `nitro/vite`. Plugins at `apps/web/plugins/1.migrate.ts` and `apps/web/plugins/2.storage.ts` run on Nitro startup.
|
||||
- `srvx ^0.11.15` — HTTP server runtime used by Nitro/TanStack Start.
|
||||
|
||||
**RPC / API:**
|
||||
- oRPC `^1.14.2` family — `@orpc/server`, `@orpc/client`, `@orpc/openapi`, `@orpc/json-schema`, `@orpc/zod`, `@orpc/tanstack-query`, `@orpc/experimental-ratelimit`.
|
||||
- `@modelcontextprotocol/sdk ^1.29.0` — MCP server exposed at `/mcp` via `apps/web/src/routes/mcp/index.ts`.
|
||||
|
||||
**Auth:**
|
||||
- Better Auth `1.6.10` — Core auth framework configured in `packages/auth/src/config.ts`.
|
||||
- Better Auth plugins: `@better-auth/api-key ^1.6.10`, `@better-auth/drizzle-adapter ^1.6.10`, `@better-auth/infra ^0.2.6` (dashboard), `@better-auth/oauth-provider ^1.6.10`, `@better-auth/passkey ^1.6.10`, plus built-ins (`admin`, `jwt`, `twoFactor`, `username`, `genericOAuth`).
|
||||
- `jose ^6.2.3` — JWT verification for OAuth tokens (MCP authentication).
|
||||
- `bcrypt ^6.0.0` — Password hashing (10 rounds in `packages/auth/src/config.ts`).
|
||||
|
||||
**Database & ORM:**
|
||||
- Drizzle ORM `1.0.0-beta.22` with PostgreSQL driver `pg ^8.20.0` (node-postgres).
|
||||
- `drizzle-kit 1.0.0-beta.22` — Migration tooling. Config at `packages/db/drizzle.config.ts` (dialect `postgresql`, schema `./src/schema/index.ts`, out `../../migrations`).
|
||||
- `drizzle-zod 1.0.0-beta.14-a36c63d` — Schema-derived Zod validators in `packages/api`.
|
||||
|
||||
**PDF / Rendering:**
|
||||
- `@react-pdf/renderer ^4.5.1` with types `@react-pdf/types ^2.11.1` — Used by `packages/pdf/src/document.tsx` and all templates under `packages/pdf/src/templates/<name>/`.
|
||||
- `pdfjs-dist 5.7.284` — Client-side PDF rendering and parsing (browser-only paths).
|
||||
- `react-pdf-html ^2.1.5`, `node-html-parser ^7.1.0`, `phosphor-icons-react-pdf ^0.1.3`, `cjk-regex ^3.4.0` — PDF helpers and CJK fallback.
|
||||
- Font registration owned by `packages/pdf/src/hooks/use-register-fonts.ts`; webfont catalog at `packages/fonts/src/webfontlist.json`.
|
||||
|
||||
**UI / Styling:**
|
||||
- Base UI / shadcn-style components — `@base-ui/react ^1.4.1`, `shadcn ^4.7.0` (CLI), components live in `packages/ui/src/components/*.tsx`. Config at `apps/web/components.json` (style `base-nova`, base color `zinc`, icon library `phosphor`).
|
||||
- Tailwind CSS `^4.3.0` via `@tailwindcss/vite ^4.3.0` and `@tailwindcss/postcss ^4.3.0`. Plugin `@tailwindcss/typography ^0.5.19`. Global stylesheet at `packages/ui/src/styles/globals.css`.
|
||||
- PostCSS `^8.5.14` and `tw-animate-css ^1.4.0`.
|
||||
- `class-variance-authority ^0.7.1`, `clsx ^2.1.1`, `tailwind-merge ^3.6.0`.
|
||||
- Icons: `@phosphor-icons/react ^2.1.10`, `@phosphor-icons/web ^2.1.2`.
|
||||
- Fonts: `@fontsource-variable/ibm-plex-sans ^5.2.8` (shipped with `packages/ui`).
|
||||
- Theming: `next-themes ^0.4.6`.
|
||||
- Animation: `motion ^12.38.0`.
|
||||
- Toasts: `sonner ^2.0.7`.
|
||||
- Command palette: `cmdk ^1.1.1`.
|
||||
- Misc UI: `react-resizable-panels ^4.11.0`, `react-window ^2.2.7`, `react-zoom-pan-pinch ^4.0.3`, `qrcode.react ^4.2.0`, `@uiw/color-convert ^2.10.1`, `@uiw/react-color-colorful ^2.10.1`.
|
||||
|
||||
**Drag & Drop and Editing:**
|
||||
- `@dnd-kit/core ^6.3.1`, `@dnd-kit/sortable ^10.0.0`, `@dnd-kit/utilities ^3.2.2`.
|
||||
- TipTap `^3.23.1` editor with `starter-kit`, `pm`, `react`, plus extensions `color`, `highlight`, `table`, `text-align`, `text-style`.
|
||||
|
||||
**State / Validation / Patterns:**
|
||||
- Zustand `^5.0.13` — Client and AI state stores (`packages/ai/src/store.ts`).
|
||||
- Immer `^11.1.8`.
|
||||
- Zod `^4.4.3` — Validators across schema, api, env, ai, import, utils packages.
|
||||
- `ts-pattern ^5.9.0` — Pattern matching in API services.
|
||||
- `es-toolkit ^1.46.1` and `fuse.js ^7.3.0`.
|
||||
|
||||
**Internationalization (i18n):**
|
||||
- Lingui `^6.0.1` family — `@lingui/core`, `@lingui/react`, `@lingui/cli`, `@lingui/format-po`, `@lingui/vite-plugin`, `@lingui/babel-plugin-lingui-macro`.
|
||||
- Babel transformer chain via `@rolldown/plugin-babel ^0.2.3` and `babel-plugin-macros ^3.1.0`.
|
||||
- Locale config at `apps/web/lingui.config.ts` (source locale `en-US`, ~55 target locales, pseudo-locale `zu-ZA`).
|
||||
- Translation catalogs at `apps/web/locales/{locale}.po`. Crowdin sync configured in `crowdin.yml`.
|
||||
|
||||
**Email:**
|
||||
- React Email `^6.1.1` with `@react-email/ui ^6.1.1` — Templates in `packages/email/src/templates/auth.tsx`.
|
||||
- Nodemailer `^8.0.7` SMTP transport — `packages/email/src/transport.ts`.
|
||||
|
||||
**AI:**
|
||||
- Vercel AI SDK `ai ^6.0.177` and `@ai-sdk/react ^3.0.179`.
|
||||
- Provider SDKs: `@ai-sdk/openai ^3.0.63`, `@ai-sdk/anthropic ^3.0.76`, `@ai-sdk/google ^3.0.71`, `@ai-sdk/openai-compatible ^2.0.47`, `ollama-ai-provider-v2 ^3.5.0`.
|
||||
- Supported providers enumerated at `packages/ai/src/types.ts`: `openai`, `anthropic`, `gemini`, `vercel-ai-gateway`, `openrouter`, `ollama`.
|
||||
- JSON patch / repair: `fast-json-patch ^3.1.1`, `jsonrepair ^3.14.0`, `deepmerge-ts ^7.1.5`.
|
||||
|
||||
**Storage:**
|
||||
- AWS SDK v3 — `@aws-sdk/client-s3 ^3.1045.0` used in `packages/api/src/services/storage.ts`. Marked external in the rolldown build (see `apps/web/vite.config.ts`) and isolated into `packages/runtime-externals` for Docker.
|
||||
|
||||
**Image Processing:**
|
||||
- Sharp `^0.34.5` — Used in `packages/api/src/services/storage.ts` `processImageForUpload`. Disabled when `FLAG_DISABLE_IMAGE_PROCESSING` is true.
|
||||
|
||||
**Document Generation / Import:**
|
||||
- `docx ^9.6.1` — DOCX export utilities in `packages/utils/src/resume/docx/`.
|
||||
- JSON Resume importers in `packages/import` (`json-resume`, `reactive-resume-json`, `reactive-resume-v4-json`).
|
||||
|
||||
**HTML Sanitization:**
|
||||
- `dompurify ^3.4.2` — Used in `packages/utils/src/sanitize.ts`.
|
||||
- `@sindresorhus/slugify ^3.0.0`, `unique-names-generator ^4.7.1`, `uuid ^14.0.0`.
|
||||
|
||||
**PWA:**
|
||||
- `vite-plugin-pwa ^1.3.0` — Workbox-based service worker, manifest defined in `apps/web/src/libs/pwa`.
|
||||
|
||||
**Testing:**
|
||||
- Vitest `^4.1.5` with `@vitest/coverage-v8 ^4.1.5` (provider `v8`).
|
||||
- Shared config in `vitest.shared.ts`; per-package configs at `<pkg>/vitest.config.ts`.
|
||||
- DOM: `happy-dom ^20.9.0` (`disableJavaScriptFileLoading`, `disableCSSFileLoading`, navigation disabled in `vitest.shared.ts`).
|
||||
- Testing Library: `@testing-library/react ^16.3.2`, `@testing-library/dom ^10.4.1`, `@testing-library/jest-dom ^6.9.1`, `@testing-library/user-event ^14.6.1`.
|
||||
- Tests are co-located in each package's `src/**/*.{test,spec}.{ts,tsx}` and discovered automatically.
|
||||
|
||||
**Lint / Format / Tooling:**
|
||||
- Biome `^2.4.15` — Sole linter + formatter (`biome.json`: tabs, double quotes, line width 120, organized import groups, `useSortedClasses` for `clsx`/`cva`/`cn`). Pre-commit runs through Lefthook.
|
||||
- Lefthook `^2.1.6` — Git hooks defined in `lefthook.yml` (`biome check --write --unsafe` on staged JS/TS/JSON files; `commitlint --edit` on commit messages).
|
||||
- Commitlint `^21.0.0` with `@commitlint/config-conventional` (see `commitlint.config.cjs`).
|
||||
- Knip `^6.12.2` — Dead-code/unused-deps detection (`knip.json`).
|
||||
- `npm-check-updates ^22.1.1`.
|
||||
- `tsx ^4.21.0` — Used by `packages/scripts` for ad hoc TS scripts.
|
||||
|
||||
## Key Dependencies
|
||||
|
||||
**Critical:**
|
||||
- `@tanstack/react-start ^1.167.65` — App framework boundary; route server handlers depend on it.
|
||||
- `@orpc/server ^1.14.2` — Type-safe RPC; backbone of `/api/rpc` and `/api/openapi`.
|
||||
- `better-auth 1.6.10` — Identity, sessions, OAuth provider, MCP auth.
|
||||
- `drizzle-orm 1.0.0-beta.22` + `pg ^8.20.0` — All DB access.
|
||||
- `@react-pdf/renderer ^4.5.1` — Resume PDF generation.
|
||||
- `@aws-sdk/client-s3 ^3.1045.0` — S3-compatible object storage.
|
||||
- `@modelcontextprotocol/sdk ^1.29.0` — MCP server endpoint.
|
||||
- `ai ^6.0.177` + `@ai-sdk/*` — Resume AI features (analysis, parsing, chat).
|
||||
|
||||
**Infrastructure:**
|
||||
- `vite ^8.0.11` + `nitro 3.0.260429-beta` — Build and server runtime.
|
||||
- `turbo ^2.9.12` — Workspace task graph and caching.
|
||||
- `dotenv ^17.4.2` — Loaded by `packages/env/src/server.ts` for app/server code (drizzle-kit does NOT auto-load).
|
||||
- `@t3-oss/env-core ^0.13.11` — Server env validation in `packages/env/src/server.ts`.
|
||||
|
||||
## Configuration
|
||||
|
||||
**TypeScript:**
|
||||
- Root `tsconfig.json` extends `@reactive-resume/config/tsconfig.base.json` (`packages/config/tsconfig.base.json`).
|
||||
- Each package has its own `tsconfig.json` and runs `tsgo --noEmit`.
|
||||
- Apps/packages export source from `src/*.ts` via package.json `exports` — no `dist/` artifacts unless explicitly built (e.g. `apps/web/.output`).
|
||||
|
||||
**Build:**
|
||||
- `apps/web/vite.config.ts` orchestrates `tailwindcss`, `tanstackStart`, `viteReact`, `lingui`, `babel` (Lingui macro preset), `nitro` (with `1.migrate.ts` and `2.storage.ts` plugins), and `VitePWA`.
|
||||
- Rolldown externals: `bcrypt`, `sharp`, `@aws-sdk/client-s3` (kept out of the client/server bundle and provided by `packages/runtime-externals` in Docker).
|
||||
- Output: `apps/web/.output/server/index.mjs` (Nitro), public assets in `apps/web/.output/public`.
|
||||
|
||||
**Database:**
|
||||
- Drizzle config: `packages/db/drizzle.config.ts` — `dialect: "postgresql"`, schema in `packages/db/src/schema/index.ts`, migrations written to repo-root `migrations/`.
|
||||
- Client: `packages/db/src/client.ts` exposes singleton `db` plus `Pool` via `pg`, using `env.DATABASE_URL`.
|
||||
- Startup auto-migration: `apps/web/plugins/1.migrate.ts` runs `drizzle-orm/node-postgres/migrator` against the resolved `migrations/` folder.
|
||||
|
||||
**Environment:**
|
||||
- Server env contract validated by Zod in `packages/env/src/server.ts` (via `@t3-oss/env-core`).
|
||||
- `dotenv` auto-loads root `.env` from `packages/env/src/server.ts` using `findWorkspaceRoot()`.
|
||||
- Required: `APP_URL`, `DATABASE_URL`, `AUTH_SECRET`.
|
||||
- Cache invalidation env vars listed in `turbo.json` `globalEnv`.
|
||||
- `.env.example` present at repo root; `.env.local` and `.env.production` exist locally (contents not read — may contain secrets).
|
||||
|
||||
**Linting / Formatting:**
|
||||
- `biome.json` — Tabs, 120-col, double quotes, sorted Tailwind classes for `clsx|cva|cn`, organized import groups (`type` imports first, then Node built-ins, test packages, third-party, `@reactive-resume/**`, then aliases/relative).
|
||||
- `lefthook.yml` — Pre-commit Biome on staged files; commit-msg Commitlint.
|
||||
- `commitlint.config.cjs` — Conventional commits.
|
||||
- `knip.json` — Workspace-level ignores for `runtime-externals` external deps.
|
||||
|
||||
**Container / Compose:**
|
||||
- `Dockerfile` (multi-stage): `base` (Node 24 slim + corepack), `pruner` (turbo prune), `builder` (frozen lockfile install + `pnpm turbo run build --filter=web --force`), `runtime-pruner` + `runtime-deps` (deploy `@reactive-resume/runtime-externals` with native deps), final `runtime` image running `node .output/server/index.mjs`, HEALTHCHECK on `/api/health`.
|
||||
- `compose.dev.yml` — Dev `postgres:latest` + `seaweedfs:latest` (S3 emulator) + `seaweedfs_create_bucket` init container using `quay.io/minio/mc:latest`.
|
||||
- `compose.yml` — Same services plus the app container `reactive_resume` built from `Dockerfile`, with `data_network`/`storage_network` and S3 env defaults pointing at SeaweedFS.
|
||||
|
||||
## Platform Requirements
|
||||
|
||||
**Development:**
|
||||
- Node.js 24, pnpm 11.0.9 (via Corepack), Docker (for Postgres / SeaweedFS).
|
||||
- Repo-local `data/` directory for local-storage mode (auto-created by `apps/web/plugins/2.storage.ts`).
|
||||
- `LOCAL_STORAGE_PATH` must be absolute when set.
|
||||
- SMTP optional; without it `packages/email/src/transport.ts` logs the email to console.
|
||||
|
||||
**Production:**
|
||||
- Single Node 24 process on port 3000 (`apps/web/.output/server/index.mjs`).
|
||||
- Official Docker image listed in `Dockerfile` labels (`org.opencontainers.image.url=https://rxresu.me`).
|
||||
- Production uses S3-compatible storage when all three of `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, `S3_BUCKET` are set; otherwise falls back to local filesystem under `/app/data` (per Dockerfile `ENV LOCAL_STORAGE_PATH=/app/data`).
|
||||
- HEALTHCHECK polls `GET /api/health` (handler at `apps/web/src/routes/api/health.ts` checks DB and storage with a 1.5s timeout).
|
||||
- Rate limiting only active when `NODE_ENV=production` (see `packages/auth/src/config.ts` and `packages/api/src/middleware/rate-limit/index.ts`).
|
||||
|
||||
---
|
||||
|
||||
*Stack analysis: 2026-05-11*
|
||||
@@ -0,0 +1,394 @@
|
||||
# Codebase Structure
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## Directory Layout
|
||||
|
||||
```text
|
||||
reactive-resume/
|
||||
├── apps/
|
||||
│ └── web/ # Sole deployable application (TanStack Start / Vite / Nitro)
|
||||
│ ├── plugins/ # Nitro startup plugins (run on `pnpm dev` / `pnpm start`)
|
||||
│ ├── public/ # Static assets (PWA, opengraph, templates, screenshots)
|
||||
│ ├── locales/ # Lingui `.po` translation catalogs (~40 locales)
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # Reusable web components grouped by feature
|
||||
│ │ ├── dialogs/ # Global dialog system + dialog implementations
|
||||
│ │ ├── hooks/ # App-level React hooks
|
||||
│ │ ├── libs/ # Browser/server glue (auth, orpc, query, resume, theme, locale, pwa)
|
||||
│ │ ├── routes/ # File-based TanStack Router routes (UI + `server.handlers`)
|
||||
│ │ ├── router.tsx # Router factory (builds query client, context, SSR query integration)
|
||||
│ │ ├── routeTree.gen.ts # GENERATED — do not hand-edit
|
||||
│ │ ├── server.ts # Nitro fetch entry (wraps `react-start/server-entry`)
|
||||
│ │ └── index.css # Tailwind v4 entry
|
||||
│ ├── components.json # shadcn config
|
||||
│ ├── lingui.config.ts # i18n extract config
|
||||
│ ├── vite.config.ts # Vite + TanStack Start + Nitro + PWA + Lingui
|
||||
│ └── vitest.config.ts
|
||||
├── packages/
|
||||
│ ├── ai/ # AI prompts, Zustand store, patch-resume tool
|
||||
│ ├── api/ # oRPC routers, services, helpers, DTOs, rate-limit middleware
|
||||
│ ├── auth/ # Better Auth config and helpers
|
||||
│ ├── config/ # Shared tsconfig + vitest base configs
|
||||
│ ├── db/ # Drizzle client + schema (Postgres)
|
||||
│ ├── email/ # Nodemailer transport + react-email templates
|
||||
│ ├── env/ # `@t3-oss/env-core` server env (auto-loads root `.env`)
|
||||
│ ├── fonts/ # Google Fonts metadata
|
||||
│ ├── import/ # JSON Resume / Reactive Resume v3/v4 importers
|
||||
│ ├── pdf/ # React PDF document, fonts, 14 templates, shared primitives
|
||||
│ ├── runtime-externals/ # Declares bcrypt, sharp, @aws-sdk/client-s3 as runtime-only
|
||||
│ ├── schema/ # Zod schemas (resume data, templates, page, analysis, icons)
|
||||
│ ├── scripts/ # Standalone tsx scripts (db reset, font generation)
|
||||
│ ├── ui/ # Shared Base UI + shadcn-style components
|
||||
│ └── utils/ # Small focused helpers (color, date, html, sanitize, etc.)
|
||||
├── migrations/ # Drizzle-generated SQL + snapshots (one folder per migration)
|
||||
├── docs/ # Project documentation
|
||||
├── skills/ # Internal agent skill definitions
|
||||
├── data/ # Local-FS storage root (when S3 is unset) — gitignored runtime data
|
||||
├── .vite-hooks/ # Lefthook-managed git hooks (commit-msg, pre-commit)
|
||||
├── .github/ # GitHub Actions / issue templates
|
||||
├── .claude/ # Project-local Claude/Codex agent assets
|
||||
├── .codex/
|
||||
├── .planning/ # GSD planning + codebase maps (this directory)
|
||||
├── .vscode/
|
||||
├── compose.dev.yml # Postgres + SeaweedFS for local dev
|
||||
├── compose.yml # Production-shaped compose
|
||||
├── Dockerfile # Node 24 multi-stage build
|
||||
├── AGENTS.md # Canonical agent guide (symlinked from CLAUDE.md)
|
||||
├── README.md
|
||||
├── SECURITY.md
|
||||
├── LICENSE
|
||||
├── package.json # Root scripts (turbo run …) + workspace devDeps
|
||||
├── pnpm-workspace.yaml # `apps/*` + `packages/*`
|
||||
├── pnpm-lock.yaml
|
||||
├── turbo.json # Pipeline + globalEnv allowlist
|
||||
├── biome.json # Biome (lint + format) config
|
||||
├── knip.json # Dead-code/dep analysis config
|
||||
├── lefthook.yml # Git hooks
|
||||
├── commitlint.config.cjs
|
||||
├── crowdin.yml # Translation sync config
|
||||
├── tsconfig.json # Root TS solution config
|
||||
├── vitest.shared.ts / vitest.setup.ts # Shared vitest config and global setup
|
||||
├── .ncurc.cjs # npm-check-updates ignore list
|
||||
├── .env.example # Documented env vars
|
||||
└── .gitignore / .dockerignore
|
||||
```
|
||||
|
||||
## Directory Purposes
|
||||
|
||||
**`apps/web/`:**
|
||||
- Purpose: The only deployed app — TanStack Start / React 19 / Vite / Nitro.
|
||||
- Contains: Routes, components, dialogs, hooks, libs, server entry, build config.
|
||||
- Key files: `apps/web/vite.config.ts`, `apps/web/src/router.tsx`, `apps/web/src/server.ts`, `apps/web/src/routes/__root.tsx`, `apps/web/plugins/1.migrate.ts`, `apps/web/plugins/2.storage.ts`.
|
||||
|
||||
**`apps/web/src/routes/`:**
|
||||
- Purpose: TanStack Router file-based route tree. Each file is either a UI route, a server-only endpoint (`server.handlers`), or both.
|
||||
- Notable subtrees:
|
||||
- `__root.tsx` — global HTML shell, providers, head/meta, PWA scripts.
|
||||
- `_home/` — public marketing layout (`route.tsx`, `index.tsx`, `-sections/{hero,features,faq,testimonials,...}.tsx`).
|
||||
- `auth/` — login/register/2FA/password flows and OAuth callback (`oauth.ts`).
|
||||
- `dashboard/` — authenticated dashboard (`route.tsx`, `index.tsx`, `resumes/`, `settings/{profile,preferences,api-keys,authentication,integrations,job-search,danger-zone}.tsx`, `-components/{header,sidebar,functions}.{ts,tsx}`).
|
||||
- `builder/$resumeId/` — resume builder (`route.tsx` shell, `index.tsx` browser-only preview, `-components/`, `-sidebar/{left,right}/`, `-store/{section,sidebar}.ts`).
|
||||
- `$username/$slug.tsx` — public/shared resume route (`ssr: "data-only"`).
|
||||
- `api/` — server-only endpoints (`rpc.$.ts`, `auth.$.ts`, `health.ts`, `openapi.$.ts`, `uploads/$userId.$.ts`, `-helpers/resume-pdf.ts`).
|
||||
- `mcp/` — Model Context Protocol server (`index.ts`, `-helpers/{tools,resources,prompts,mcp-server-card,mcp-tool-names,tool-annotations}.ts`).
|
||||
- `[.]well-known/` — OAuth/OIDC/MCP discovery documents.
|
||||
- `uploads/$userId.$.tsx` — etag/security-validated file serving.
|
||||
- `templates/$.tsx` — template preview/download.
|
||||
- `schema[.]json.ts` — `/schema.json` endpoint.
|
||||
|
||||
**`apps/web/src/components/`:**
|
||||
- Purpose: Reusable, app-scoped components organized by domain.
|
||||
- Subdirectories:
|
||||
- `animation/` — Motion-driven UI (`comet-card`, `count-up`, `spotlight`, `text-mask`).
|
||||
- `command-palette/` — Cmd-K UI (`index.tsx`, `store.ts`, `pages/`).
|
||||
- `input/` — Custom inputs (`chip-input`, `color-picker`, `github-stars-button`, `icon-picker`, `rich-input`, `url-input`).
|
||||
- `layout/` — Error/loading/not-found screens, breakpoint indicator.
|
||||
- `level/`, `locale/`, `theme/`, `typography/` — combobox/toggle utilities for those concerns.
|
||||
- `resume/` — Builder preview surface (`preview.tsx`, `preview.browser.tsx`, `preview.shared.tsx`, `pdf-canvas.tsx`, `builder-resume-draft.ts`).
|
||||
- `ui/` — App-level UI extensions (`combobox.tsx`, `copyright.tsx`).
|
||||
- `user/` — User dropdown menu.
|
||||
|
||||
**`apps/web/src/libs/`:**
|
||||
- Purpose: Glue between UI and external systems.
|
||||
- Contents:
|
||||
- `auth/{client.ts,session.ts}` — Better Auth browser client + SSR session getter.
|
||||
- `orpc/client.ts` — Isomorphic oRPC client (in-process server + RPCLink browser).
|
||||
- `query/client.ts` — TanStack Query client factory.
|
||||
- `resume/` — Section, PDF, and ordering helpers (`make-section-item.ts`, `move-item.ts`, `section-actions.ts`, `section-title.ts`, `section-title-locale.ts`, `pdf-document.tsx`, `pdf-document.server.tsx`, `section.tsx`).
|
||||
- `theme.ts`, `locale.ts`, `pwa.ts`, `error-message.ts`, `tanstack-form.tsx` — direct app utilities.
|
||||
|
||||
**`apps/web/src/dialogs/`:**
|
||||
- Purpose: Global imperative dialog system.
|
||||
- Contents: `manager.tsx` (renders open dialogs), `store.ts` (Zustand store), then domain dialogs under `auth/`, `resume/{sections,template,index.tsx,import.tsx}`, `api-key/`.
|
||||
|
||||
**`apps/web/src/hooks/`:**
|
||||
- Purpose: Web-app hooks. (Shared cross-package hooks live in `packages/ui/src/hooks/`.)
|
||||
- Contents: `use-confirm.tsx`, `use-controlled-state.tsx`, `use-form-blocker.tsx`, `use-mobile.tsx`, `use-prompt.tsx`, `use-sync-form-values.ts`.
|
||||
|
||||
**`apps/web/plugins/`:**
|
||||
- Purpose: Nitro startup plugins.
|
||||
- Contents: `1.migrate.ts` (runs Drizzle migrations on boot), `2.storage.ts` (validates the local data dir when S3 isn't configured).
|
||||
|
||||
**`apps/web/public/`:**
|
||||
- Purpose: Static assets served at the site root.
|
||||
- Notable subdirs: `templates/{jpg,pdf}/` (per-template previews), `screenshots/` (PWA + marketing), `opengraph/`, `icon/`, `logo/`, `fonts/`, `photos/`, `sounds/`, `videos/`. Top-level files include `favicon.{ico,svg}`, `apple-touch-icon-180x180.png`, `manifest.webmanifest`, `pwa-{64,192,512}x.png`, `maskable-icon-512x512.png`, `robots.txt`, `sitemap.xml`, `funding.json`.
|
||||
|
||||
**`apps/web/locales/`:**
|
||||
- Purpose: Lingui `.po` translation catalogs (~40 languages, `en-US` is source).
|
||||
- Synced via `crowdin.yml` and `pnpm lingui:extract`.
|
||||
|
||||
**`packages/ai/`:**
|
||||
- Purpose: AI prompt assets, patch-resume tool, sanitize/extraction helpers.
|
||||
- Key paths: `packages/ai/src/prompts/{chat,analyze-resume,docx-parser,pdf-parser}-*.md`, `packages/ai/src/store.ts`, `packages/ai/src/tools/{patch-resume,patch-proposal}.ts`, `packages/ai/src/resume/{extraction-template,sanitize}.ts`.
|
||||
|
||||
**`packages/api/`:**
|
||||
- Purpose: Server-side business logic exposed over oRPC. The only place oRPC procedures live.
|
||||
- Key paths: `packages/api/src/context.ts` (auth context + `publicProcedure`/`protectedProcedure`), `packages/api/src/routers/{ai,auth,flags,resume,statistics,storage,index}.ts`, `packages/api/src/services/{resume,resume-events,storage,ai,auth,flags,statistics}.ts`, `packages/api/src/dto/resume.ts`, `packages/api/src/helpers/{resume-access,resume-access-policy}.ts`, `packages/api/src/middleware/rate-limit/index.ts`.
|
||||
|
||||
**`packages/auth/`:**
|
||||
- Purpose: Better Auth instance and types reused by web routes and API context.
|
||||
- Key paths: `packages/auth/src/config.ts` (Drizzle adapter, OAuth/passkey/2FA/api-key/JWT/MCP OAuth provider), `packages/auth/src/functions.ts`, `packages/auth/src/types.ts`.
|
||||
|
||||
**`packages/config/`:**
|
||||
- Purpose: Shared tsconfig and vitest base configs consumed via workspace devDep.
|
||||
- Key paths: `packages/config/tsconfig.base.json`, `packages/config/vitest.config.ts`.
|
||||
|
||||
**`packages/db/`:**
|
||||
- Purpose: Drizzle client and schema. Migration tooling but **migrations live in repo-root `migrations/`** (`packages/db/drizzle.config.ts` → `out: "../../migrations"`).
|
||||
- Key paths: `packages/db/src/client.ts` (singleton `pg.Pool` + `drizzle()` on `globalThis`), `packages/db/src/schema/{auth,resume,index}.ts`, `packages/db/src/relations.ts`.
|
||||
|
||||
**`packages/email/`:**
|
||||
- Purpose: SMTP transport + react-email templates.
|
||||
- Key paths: `packages/email/src/transport.ts`, `packages/email/src/templates/{auth,reset-password,verify-email,verify-email-change}.tsx`.
|
||||
|
||||
**`packages/env/`:**
|
||||
- Purpose: Type-safe server environment variables. Auto-loads the repo-root `.env` for app/server callers (drizzle-kit must export `DATABASE_URL` manually).
|
||||
- Key paths: `packages/env/src/server.ts`.
|
||||
|
||||
**`packages/fonts/`:**
|
||||
- Purpose: Generated Google Fonts metadata used by the typography combobox and React PDF font registration.
|
||||
- Key paths: `packages/fonts/src/index.ts`, `packages/fonts/src/webfontlist.json` (regenerated by `packages/scripts/fonts/generate.ts`).
|
||||
|
||||
**`packages/import/`:**
|
||||
- Purpose: Importers that convert external resume formats into the shared `ResumeData` schema.
|
||||
- Key paths: `packages/import/src/{json-resume,reactive-resume-json,reactive-resume-v4-json}.tsx`.
|
||||
|
||||
**`packages/pdf/`:**
|
||||
- Purpose: React PDF rendering — the same code paths used by the browser preview and the server-side PDF download.
|
||||
- Key paths: `packages/pdf/src/document.tsx`, `packages/pdf/src/context.tsx`, `packages/pdf/src/section-title.ts`, `packages/pdf/src/hooks/use-register-fonts.ts`, `packages/pdf/src/templates/index.ts`, `packages/pdf/src/templates/<name>/<Name>Page.tsx` (14 templates: `azurill`, `bronzor`, `chikorita`, `ditgar`, `ditto`, `gengar`, `glalie`, `kakuna`, `lapras`, `leafish`, `meowth`, `onyx`, `pikachu`, `rhyhorn`, `scizor`), shared primitives under `packages/pdf/src/templates/shared/` (`filtering.ts`, `rich-text.tsx`, `sections.tsx`, `primitives.tsx`, `picture.ts`, `page-size.ts`, `columns.ts`, `metrics.ts`, `meta-line.tsx`, `contact.ts`, `contact-item.tsx`, `level-display.tsx`, `section-links.ts`, `rich-text-html.ts`, `rich-text-spacing.ts`, `styles.ts`, `types.ts`, `context.tsx`).
|
||||
|
||||
**`packages/runtime-externals/`:**
|
||||
- Purpose: Vendors `bcrypt`, `sharp`, `@aws-sdk/client-s3` so they stay runtime-only (Vite externalizes them in `apps/web/vite.config.ts:55`).
|
||||
- No `src/` — `package.json` is the entire surface.
|
||||
|
||||
**`packages/schema/`:**
|
||||
- Purpose: Source-of-truth Zod schemas for resume data, templates, page settings, AI analysis, and icon catalog.
|
||||
- Key paths: `packages/schema/src/resume/{data,default,sample,analysis}.ts`, `packages/schema/src/templates.ts`, `packages/schema/src/page.ts`, `packages/schema/src/icons.ts`.
|
||||
|
||||
**`packages/scripts/`:**
|
||||
- Purpose: Standalone tsx scripts; no exports.
|
||||
- Key paths: `packages/scripts/database/reset.ts` (`pnpm --filter @reactive-resume/scripts db:reset`), `packages/scripts/fonts/generate.ts` (`pnpm --filter @reactive-resume/scripts fonts:generate`).
|
||||
|
||||
**`packages/ui/`:**
|
||||
- Purpose: Shared component library (Base UI primitives + shadcn-style wrappers, Tailwind v4 styles).
|
||||
- Key paths: `packages/ui/src/components/{dialog,dropdown-menu,command,resizable,form,tooltip,sonner,…}.tsx`, `packages/ui/src/hooks/{use-confirm,use-controlled-state,use-mobile,use-prompt}.tsx`, `packages/ui/src/styles/globals.css`.
|
||||
|
||||
**`packages/utils/`:**
|
||||
- Purpose: Pure utility functions used everywhere. Each helper has its own export path; do not import internal files.
|
||||
- Key paths: `packages/utils/src/{color,date,field,file,html,level,locale,network-icons,rate-limit,sanitize,string,style,url}.ts`, Node-only `packages/utils/src/{monorepo.node,url-security.node}.ts`, and `packages/utils/src/resume/{docx/index.ts,patch.ts}`.
|
||||
|
||||
**`migrations/`:**
|
||||
- Purpose: Drizzle-generated migration directories (one per migration), kept at the repo root.
|
||||
- Layout: each `YYYYMMDDhhmmss_<adjective>_<noun>/` contains `migration.sql` (the SQL Drizzle will apply) and `snapshot.json` (Drizzle's internal state).
|
||||
- Applied by `apps/web/plugins/1.migrate.ts` on every server boot, and manually by `pnpm db:migrate`. Generated by `pnpm db:generate` (which writes here because of `out: "../../migrations"` in `packages/db/drizzle.config.ts`). Do not hand-edit `migration.sql`/`snapshot.json`.
|
||||
|
||||
**`data/` (and `apps/web/data/`):**
|
||||
- Purpose: Default local-filesystem storage root when S3 vars are unset. `<workspace>/data` is validated/created at boot by `apps/web/plugins/2.storage.ts`. Override with `LOCAL_STORAGE_PATH` (must be absolute).
|
||||
- `data/statistics/` and `apps/web/data/statistics/` exist as runtime byproducts; treat as gitignored runtime state.
|
||||
|
||||
**`.vite-hooks/`:**
|
||||
- Purpose: Lefthook-managed git hooks (`pre-commit` runs `biome check`, `commit-msg` runs commitlint). Configured by `lefthook.yml` and `commitlint.config.cjs`.
|
||||
|
||||
**`.planning/`:**
|
||||
- Purpose: GSD planning artifacts.
|
||||
- Subdirectories: `.planning/codebase/` (this directory — analysis docs).
|
||||
|
||||
## Key File Locations
|
||||
|
||||
**Entry Points:**
|
||||
- `apps/web/src/server.ts` — Nitro fetch entry.
|
||||
- `apps/web/src/router.tsx` — Router factory.
|
||||
- `apps/web/src/routes/__root.tsx` — Root route + global providers.
|
||||
- `apps/web/plugins/1.migrate.ts` — Migration on boot.
|
||||
- `apps/web/plugins/2.storage.ts` — Local storage validation on boot.
|
||||
|
||||
**Configuration:**
|
||||
- `apps/web/vite.config.ts` — Vite + TanStack Start + Nitro + PWA + Lingui.
|
||||
- `turbo.json` — Pipeline + `globalEnv` allowlist.
|
||||
- `pnpm-workspace.yaml` — Workspaces (`apps/*` + `packages/*`).
|
||||
- `biome.json` — Lint + format rules.
|
||||
- `knip.json` — Dead-code analysis config.
|
||||
- `lefthook.yml` — Git hooks.
|
||||
- `packages/db/drizzle.config.ts` — Drizzle migration config (writes to `../../migrations`).
|
||||
- `packages/env/src/server.ts` — Server env schema + `.env` loader.
|
||||
- `apps/web/lingui.config.ts` — i18n extract config.
|
||||
- `compose.dev.yml` / `compose.yml` — Postgres + SeaweedFS (dev) and prod-shaped compose.
|
||||
|
||||
**Core API:**
|
||||
- `packages/api/src/routers/index.ts` — Router root.
|
||||
- `packages/api/src/context.ts` — Auth resolver + procedure factories.
|
||||
- `packages/api/src/services/resume.ts` — Resume CRUD/patch/lock/password/duplication.
|
||||
- `packages/api/src/services/storage.ts` — S3 + local FS storage abstraction.
|
||||
- `packages/api/src/helpers/resume-access-policy.ts` — Visibility/redaction policy.
|
||||
|
||||
**Core data:**
|
||||
- `packages/db/src/schema/resume.ts` — Resume, statistics, analysis tables.
|
||||
- `packages/db/src/schema/auth.ts` — Better Auth tables.
|
||||
- `packages/db/src/client.ts` — Singleton `pg.Pool` + `drizzle()` client.
|
||||
- `packages/schema/src/resume/data.ts` — Canonical Zod schema for `ResumeData`.
|
||||
- `packages/schema/src/templates.ts` — Enum of template names.
|
||||
|
||||
**Core PDF:**
|
||||
- `packages/pdf/src/document.tsx` — `ResumeDocument` root component.
|
||||
- `packages/pdf/src/templates/index.ts` — Template registry.
|
||||
- `packages/pdf/src/hooks/use-register-fonts.ts` — Font registration + CJK fallbacks.
|
||||
- `packages/pdf/src/templates/shared/filtering.ts` — Shared section filtering.
|
||||
|
||||
**Auth:**
|
||||
- `packages/auth/src/config.ts` — Better Auth instance.
|
||||
- `apps/web/src/routes/api/auth.$.ts` — `/api/auth/*` handler with OAuth sanitization.
|
||||
- `apps/web/src/libs/auth/{client.ts,session.ts}` — Browser client + SSR session helper.
|
||||
|
||||
**Testing:**
|
||||
- `vitest.shared.ts`, `vitest.setup.ts` — Repo-wide setup (Testing Library, jest-dom, happy-dom env).
|
||||
- `packages/config/vitest.config.ts` — Reusable Vitest base.
|
||||
- `apps/web/vitest.config.ts` — Web app Vitest config.
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
**Files:**
|
||||
- Source files: `kebab-case.ts` / `kebab-case.tsx` (e.g. `resume-access-policy.ts`, `command-palette.tsx`).
|
||||
- Component PascalCase is reserved for component names *inside* files; filenames stay kebab-case (e.g. `Button` exported from `packages/ui/src/components/button.tsx`).
|
||||
- PDF template components are the one PascalCase exception: `packages/pdf/src/templates/azurill/AzurillPage.tsx` (kept that way because the directory name doubles as the template enum value).
|
||||
- Tests sit next to their subject: `foo.ts` ↔ `foo.test.ts`, `foo.tsx` ↔ `foo.test.tsx`.
|
||||
- Browser-only modules use a `.browser.tsx` suffix (e.g. `apps/web/src/components/resume/preview.browser.tsx`).
|
||||
- Server-only modules use a `.server.tsx` suffix when they live next to browser counterparts (e.g. `apps/web/src/libs/resume/pdf-document.server.tsx`).
|
||||
- Generated files use `.gen.ts` (e.g. `apps/web/src/routeTree.gen.ts`).
|
||||
- Node-only utilities use a `.node.ts` suffix (e.g. `packages/utils/src/monorepo.node.ts`, `packages/utils/src/url-security.node.ts`).
|
||||
|
||||
**Routes (TanStack Router file conventions):**
|
||||
- `$param.tsx` — dynamic path segment (e.g. `apps/web/src/routes/$username/$slug.tsx`).
|
||||
- `$.tsx` — splat (matches the rest of the path; used for `api/rpc/$`, `api/auth/$`, `[.]well-known/$`).
|
||||
- `_layout/` (underscore prefix) — pathless layout group (e.g. `apps/web/src/routes/_home/`).
|
||||
- `-folder/` (dash prefix) — colocated, non-route helpers (`-components/`, `-sidebar/`, `-store/`, `-sections/`, `-helpers/`). The router ignores these.
|
||||
- `[.]well-known` — escaped folder name for paths starting with a dot.
|
||||
- `name[.]json.ts` — escaped dot in a route filename (used for `/schema.json`).
|
||||
- `route.tsx` — layout/wrapper route at a directory level; `index.tsx` — index route inside it.
|
||||
|
||||
**Directories:**
|
||||
- `apps/<app>` and `packages/<name>` — kebab-case workspace members.
|
||||
- `packages/<name>/src/<subdomain>/<file>.ts` — every public path in `package.json` exports points into `src/`.
|
||||
|
||||
**Package names:** All workspace packages are scoped under `@reactive-resume/*` (`api`, `auth`, `db`, `ui`, etc.). The web app is just `web`.
|
||||
|
||||
## Where to Add New Code
|
||||
|
||||
**New oRPC procedure:**
|
||||
- Define in `packages/api/src/routers/<domain>.ts`, register it on the exported router map, and add corresponding business logic to `packages/api/src/services/<domain>.ts`.
|
||||
- If authenticated, prefer `protectedProcedure` from `packages/api/src/context.ts`.
|
||||
- If it mutates resumes, attach `resumeMutationRateLimit` from `packages/api/src/middleware/rate-limit/index.ts`.
|
||||
- Define input/output Zod schemas in `packages/api/src/dto/<domain>.ts` when reused.
|
||||
|
||||
**New database table or column:**
|
||||
- Add the table/column to `packages/db/src/schema/<file>.ts`, update `packages/db/src/relations.ts` if needed, re-export from `packages/db/src/schema/index.ts`.
|
||||
- Run `DATABASE_URL=... pnpm db:generate` to write a migration directory under `migrations/`.
|
||||
- Apply with `DATABASE_URL=... pnpm db:migrate` (or just start the app — `apps/web/plugins/1.migrate.ts` runs them on boot).
|
||||
|
||||
**New resume field or section:**
|
||||
- Update Zod first in `packages/schema/src/resume/data.ts` (and `default.ts` / `sample.ts` if applicable).
|
||||
- Adjust API DTOs (`packages/api/src/dto/resume.ts`), importers (`packages/import/src/*.tsx`), PDF templates and shared primitives (`packages/pdf/src/templates/...`), and the builder forms under `apps/web/src/routes/builder/$resumeId/-sidebar/`.
|
||||
|
||||
**New resume template:**
|
||||
- Add to the template enum in `packages/schema/src/templates.ts`.
|
||||
- Implement the page component at `packages/pdf/src/templates/<name>/<Name>Page.tsx` and register it in `packages/pdf/src/templates/index.ts`.
|
||||
- Drop static previews into `apps/web/public/templates/jpg/<name>.jpg` and `apps/web/public/templates/pdf/<name>.pdf`.
|
||||
|
||||
**New web route:**
|
||||
- Add the file under `apps/web/src/routes/...`. Use `$param.tsx` for dynamic segments, `_layout/` for pathless groups, and `-folder/` for colocated helpers.
|
||||
- The route tree regenerates into `apps/web/src/routeTree.gen.ts` — do not hand-edit.
|
||||
- For browser-only sub-routes, set `ssr: false` (see `apps/web/src/routes/builder/$resumeId/index.tsx`) or `ssr: "data-only"` (see `apps/web/src/routes/$username/$slug.tsx`).
|
||||
|
||||
**New server-only HTTP endpoint:**
|
||||
- Add a route file (typically under `apps/web/src/routes/api/`) and export `Route = createFileRoute(...)({ server: { handlers: { GET/POST/ANY: handler } } })`.
|
||||
- Import server-only deps (`@reactive-resume/db/client`, `@reactive-resume/api/services/*`) only inside the handler module so they stay out of the client bundle.
|
||||
|
||||
**New shared component:**
|
||||
- App-only: `apps/web/src/components/<group>/<name>.tsx` (with colocated test if behaviour is non-trivial).
|
||||
- Reused across packages: `packages/ui/src/components/<name>.tsx` (export via deep path `@reactive-resume/ui/components/<name>`).
|
||||
|
||||
**New shared utility:**
|
||||
- Add to `packages/utils/src/<topic>.ts` and an explicit `"./<topic>": "./src/<topic>.ts"` entry in `packages/utils/package.json` `exports`. Never import private files across packages.
|
||||
|
||||
**New dialog:**
|
||||
- Implement under `apps/web/src/dialogs/<group>/<name>.tsx`.
|
||||
- Register with the dialog store and ensure `apps/web/src/dialogs/manager.tsx` renders it.
|
||||
|
||||
**New AI prompt or tool:**
|
||||
- Prompts go in `packages/ai/src/prompts/<name>.md` (re-exported via `packages/ai/src/prompts.ts`).
|
||||
- Tools go in `packages/ai/src/tools/<name>.ts` and are exposed through the AI router in `packages/api/src/routers/ai.ts`.
|
||||
|
||||
**New MCP tool/resource/prompt:**
|
||||
- Register in `apps/web/src/routes/mcp/-helpers/{tools,resources,prompts}.ts`; reuse existing oRPC services for actual logic.
|
||||
|
||||
## Special Directories
|
||||
|
||||
**`apps/web/src/routes/`:**
|
||||
- Purpose: Source for the file-based route tree.
|
||||
- Generated artifact: `apps/web/src/routeTree.gen.ts`.
|
||||
- Committed: Yes (the tree file is committed; regenerated by TanStack Router tooling on dev/build).
|
||||
|
||||
**`migrations/`:**
|
||||
- Purpose: Drizzle-generated SQL + snapshots.
|
||||
- Generated: Yes (by `pnpm db:generate`).
|
||||
- Committed: Yes — do not hand-edit, but always commit new migration folders.
|
||||
|
||||
**`apps/web/.output/`:**
|
||||
- Purpose: Nitro/Vite production build output (server + client + PWA assets).
|
||||
- Generated: Yes (by `pnpm build`).
|
||||
- Committed: No (gitignored).
|
||||
|
||||
**`apps/web/locales/`:**
|
||||
- Purpose: Lingui `.po` catalogs.
|
||||
- Generated: `en-US.po` is the source; other locales are synced via Crowdin (`crowdin.yml`).
|
||||
- Committed: Yes.
|
||||
|
||||
**`data/` and `apps/web/data/`:**
|
||||
- Purpose: Default local storage root when S3 is unset (`<workspace>/data`).
|
||||
- Generated: Yes (at runtime by `apps/web/plugins/2.storage.ts` or service calls).
|
||||
- Committed: No (gitignored runtime state).
|
||||
|
||||
**`.turbo/`, `.pnpm-store/`, `node_modules/`:**
|
||||
- Purpose: Tool caches and dependency stores.
|
||||
- Committed: No.
|
||||
|
||||
**`.vite-hooks/`:**
|
||||
- Purpose: Lefthook-installed git hooks (`commit-msg`, `pre-commit`).
|
||||
- Committed: Yes (so contributors get hooks automatically), but the underlying behavior is defined by `lefthook.yml`.
|
||||
|
||||
**`packages/runtime-externals/`:**
|
||||
- Purpose: Marks `bcrypt`, `sharp`, `@aws-sdk/client-s3` as runtime dependencies that Vite externalizes.
|
||||
- No source files — package.json is the entire contract.
|
||||
|
||||
## Files / Locations to Avoid Hand-Editing
|
||||
|
||||
- `apps/web/src/routeTree.gen.ts` — regenerated by TanStack Router tooling.
|
||||
- `migrations/<timestamp>_<name>/migration.sql` and `snapshot.json` — generated by `drizzle-kit`. Add a new migration via `pnpm db:generate` instead of editing past ones.
|
||||
- `pnpm-lock.yaml` — managed by pnpm. Update via `pnpm install`.
|
||||
- `apps/web/.output/`, `apps/web/coverage/`, `packages/*/coverage/`, `packages/*/reports/` — build/test artifacts.
|
||||
- `apps/web/locales/*.po` (except `en-US.po`) — synced from Crowdin per `crowdin.yml`.
|
||||
- `apps/web/public/screenshots/`, `apps/web/public/opengraph/`, `apps/web/public/templates/{jpg,pdf}/` — regenerated assets; replace files wholesale rather than diff-editing.
|
||||
|
||||
---
|
||||
|
||||
*Structure analysis: 2026-05-11*
|
||||
@@ -0,0 +1,253 @@
|
||||
# Testing Patterns
|
||||
|
||||
**Analysis Date:** 2026-05-11
|
||||
|
||||
## Test Framework
|
||||
|
||||
**Runner:** Vitest 4.x.
|
||||
- Root devDependency in `package.json`: `"vitest": "^4.1.5"`, `"@vitest/coverage-v8": "^4.1.5"`.
|
||||
- Every workspace package and `apps/web` has its own `vitest.config.ts` that delegates to the shared factory at `vitest.shared.ts`.
|
||||
|
||||
**DOM environment:** `happy-dom` 20.x (migrated from jsdom in commit `7a60a42a0`). Default test environment per `vitest.shared.ts:19` is `"node"`; per-package configs opt into browser-like envs.
|
||||
|
||||
**Assertion / testing libraries** (root `package.json` devDependencies):
|
||||
|
||||
- `@testing-library/react` ^16.3.2
|
||||
- `@testing-library/dom` ^10.4.1
|
||||
- `@testing-library/jest-dom` ^6.9.1 — registered globally in `vitest.setup.ts:1`
|
||||
- `@testing-library/user-event` ^14.6.1
|
||||
|
||||
**Run commands** (root `package.json`):
|
||||
|
||||
```bash
|
||||
pnpm test # turbo run test → vitest run --passWithNoTests in every package
|
||||
pnpm test:coverage # turbo run test:coverage → adds --coverage flag
|
||||
pnpm test:ci # adds GitHub Actions, JSON, and JUnit reporters
|
||||
pnpm test:agent # agent-friendly reporter + JSON output for agentic runs
|
||||
```
|
||||
|
||||
Per-package commands (uniform across all packages, see `packages/api/package.json:13-19`):
|
||||
|
||||
```bash
|
||||
pnpm --filter @reactive-resume/utils test
|
||||
pnpm --filter @reactive-resume/api test
|
||||
pnpm --filter web test
|
||||
```
|
||||
|
||||
Vitest test paths are package-relative when filtering: `pnpm --filter @reactive-resume/utils test -- src/string.test.ts`.
|
||||
|
||||
## Shared Vitest Configuration
|
||||
|
||||
`vitest.shared.ts` exports `createVitestProjectConfig({ name, dirname, environment, plugins })`. Highlights:
|
||||
|
||||
- `root: dirname` — each package runs in isolation.
|
||||
- `envDir: workspaceRoot` — `.env` at repo root is loaded for every package.
|
||||
- `resolve: { tsconfigPaths: true }` — TS path aliases resolve from the package's own `tsconfig.json`.
|
||||
- `setupFiles: [./vitest.setup.ts]` — global hooks applied to all projects.
|
||||
- `include: ["src/**/*.{test,spec}.?(c|m)[jt]s?(x)"]` — both `.test.*` and `.spec.*` are picked up.
|
||||
- `exclude: ["node_modules", "dist", ".output", "coverage", "reports"]`.
|
||||
- `pool: "threads"`, `isolate: false` — fast threaded execution with shared module state inside a worker.
|
||||
- `passWithNoTests: true` — packages without tests don't fail CI.
|
||||
- `environmentOptions.happyDOM` disables JS/CSS file loading and navigation for safety.
|
||||
|
||||
Coverage is configured directly in `vitest.shared.ts:49-56`:
|
||||
|
||||
- Provider: `v8`
|
||||
- Output: `./coverage` per package
|
||||
- Reporters: `text`, `text-summary`, `json-summary`, `json`, `lcov`, `html`
|
||||
- Include: `src/**/*.{ts,tsx}`
|
||||
- Exclude: `src/**/*.{test,spec}.*`, `src/**/*.d.ts`, `src/routeTree.gen.ts`
|
||||
- `reportOnFailure: true`
|
||||
|
||||
No global coverage thresholds are enforced (no `thresholds: {...}` block). Per-package coverage HTML lives under each package's `coverage/` directory after `pnpm test:coverage`.
|
||||
|
||||
## Global Setup (`vitest.setup.ts`)
|
||||
|
||||
Applied to every project:
|
||||
|
||||
1. `import "@testing-library/jest-dom/vitest"` — registers `toBeInTheDocument`, `toHaveAttribute`, etc.
|
||||
2. `afterEach(() => cleanup())` — explicit RTL cleanup (Vitest doesn't expose `afterEach` globally without `test.globals: true`).
|
||||
3. Polyfills for jsdom/happy-dom gaps: `ResizeObserver`, `IntersectionObserver`, `Element.prototype.scrollIntoView`, `window.matchMedia` (used by `cmdk`, Base UI, `next-themes`).
|
||||
|
||||
## Per-Package Vitest Configs
|
||||
|
||||
All `vitest.config.ts` files reuse the shared factory. Notable variants:
|
||||
|
||||
- **Node default** (`packages/utils/vitest.config.ts`, `packages/api/vitest.config.ts`, `packages/db/vitest.config.ts`, `packages/schema/vitest.config.ts`, `packages/ai/vitest.config.ts`, `packages/email/vitest.config.ts`, `packages/fonts/vitest.config.ts`, `packages/env/vitest.config.ts`, `packages/auth/vitest.config.ts`, `packages/import/vitest.config.ts`, `packages/pdf/vitest.config.ts`, `packages/config/vitest.config.ts`) — `environment: "node"`.
|
||||
- **DOM** (`packages/ui/vitest.config.ts:7`) — `environment: "happy-dom"` for component tests.
|
||||
- **Web app** (`apps/web/vitest.config.ts`) — `environment: "node"` plus Vite plugins to mirror dev: `@tailwindcss/vite`, `@lingui/vite-plugin` (with `linguiTransformerBabelPreset`), and `@rolldown/plugin-babel`. Individual web tests opt into the DOM via the `@vitest-environment happy-dom` file-level comment.
|
||||
|
||||
Per-test environment overrides (declared at the top of the file as `// @vitest-environment happy-dom` or in a `/** @vitest-environment happy-dom */` block):
|
||||
|
||||
- `packages/utils/src/sanitize.test.ts`
|
||||
- `packages/utils/src/file.test.ts`
|
||||
- `apps/web/src/components/resume/preview.browser.test.tsx`
|
||||
- `apps/web/src/components/resume/preview.shared.test.tsx`
|
||||
- `apps/web/src/components/typography/combobox.test.tsx`
|
||||
|
||||
## Test File Organization
|
||||
|
||||
**Location:** Co-located with implementation. `foo.ts` lives next to `foo.test.ts` (or `foo.test.tsx` for React).
|
||||
|
||||
**Naming:**
|
||||
- `<name>.test.ts` — Node/pure logic (e.g. `packages/utils/src/string.test.ts`).
|
||||
- `<name>.test.tsx` — JSX/component tests (e.g. `packages/ui/src/components/button.test.tsx`).
|
||||
- `<name>.node.test.ts` — Node-only modules whose implementation is also `.node.ts` (e.g. `packages/utils/src/url-security.node.test.ts`, `packages/utils/src/monorepo.node.test.ts`).
|
||||
- No `.spec.*` files in the repo today, but the include pattern supports them.
|
||||
|
||||
**Test counts (current):** 127 `*.test.ts` files + 98 `*.test.tsx` files across `packages/` and `apps/web/src/`.
|
||||
|
||||
**Hot spots (where coverage is densest):**
|
||||
|
||||
- `packages/utils/src/*.test.ts` — string, color, html, date, level, locale, sanitize, rate-limit, field, file, network-icons, style, url, url-security.node, monorepo.node, plus `resume/patch.test.ts`.
|
||||
- `packages/ui/src/components/*.test.tsx` — ~30+ component tests (button, dialog, alert, badge, card, combobox, command, popover, scroll-area, sidebar, switch, tabs, textarea, toggle, tooltip, etc.).
|
||||
- `packages/pdf/src/templates/shared/*.test.ts` — columns, section-links, rich-text, metrics, picture, filtering.
|
||||
- `packages/pdf/src/section-title.test.ts` and `packages/pdf/src/hooks/use-register-fonts.test.ts`.
|
||||
- `packages/api/src/{dto,helpers,services}/*.test.ts` — `dto/resume`, `helpers/resume-access-policy`, `services/ai`.
|
||||
- `packages/schema/src/{templates,page}.test.ts` and `packages/schema/src/resume/{data,default}.test.ts`.
|
||||
- `packages/ai/src/{tools,resume}/*.test.ts` — patch-proposal, sanitize, extraction-template.
|
||||
- `packages/import/src/reactive-resume-v4-json.test.ts`, `packages/fonts/src/index.test.ts`.
|
||||
- `apps/web/src/libs/{pwa,locale,theme,error-message}.test.ts`, `apps/web/src/dialogs/store.test.ts`, `apps/web/src/components/resume/preview.{browser,shared}.test.tsx`, `apps/web/src/components/typography/combobox.test.tsx`.
|
||||
|
||||
## Test Structure Patterns
|
||||
|
||||
**Idiomatic skeleton** (from `packages/utils/src/string.test.ts:1-21` and `packages/api/src/helpers/resume-access-policy.test.ts:1-17`):
|
||||
|
||||
```typescript
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { thingUnderTest } from "./thing";
|
||||
|
||||
describe("thingUnderTest", () => {
|
||||
it("returns X for Y", () => {
|
||||
expect(thingUnderTest(input)).toBe(expected);
|
||||
});
|
||||
|
||||
it("returns Z for empty input", () => {
|
||||
expect(thingUnderTest("")).toBe("");
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
**Patterns observed:**
|
||||
|
||||
- Top-level `describe` per exported function; nested `describe` blocks group behaviors.
|
||||
- One assertion focus per `it` — short, declarative names ("returns X", "throws Y when Z", "does not mutate the input").
|
||||
- Negative cases are first-class — every helper has tests for `null`, empty string, unknown shapes, etc.
|
||||
- `it.each([...] as const)("variant=%s renders without throwing", (variant) => {...})` for matrix tests over discriminated union variants (see `packages/ui/src/components/button.test.tsx:55-79`).
|
||||
- Setup with `beforeEach` / `afterEach` is used only when needed (timers, temp dirs, store reset). Example: `apps/web/src/dialogs/store.test.ts:4-13` resets a Zustand store between tests with `useDialogStore.setState(...)`.
|
||||
- Temp directories use `fs.mkdtempSync` + `realpathSync` and are torn down in `afterEach` (`packages/utils/src/monorepo.node.test.ts:7-17`).
|
||||
- Fake timers via `vi.useFakeTimers()` / `vi.advanceTimersByTime(300)` for animation/transition assertions (`apps/web/src/dialogs/store.test.ts:54-65`).
|
||||
|
||||
## Mocking
|
||||
|
||||
**Library:** Vitest's built-in `vi` (no Jest). Used sparingly — most tests cover pure functions.
|
||||
|
||||
**Patterns:**
|
||||
|
||||
- `vi.fn()` for callback assertions: `expect(onClick).toHaveBeenCalledOnce()` (`packages/ui/src/components/button.test.tsx:32-37`).
|
||||
- `vi.fn().mockResolvedValue(true)` for async handlers (`apps/web/src/dialogs/store.test.ts:86-93`).
|
||||
- `vi.mock("module-path", () => ({ ... }))` for replacing modules. Heaviest example: `apps/web/src/components/resume/preview.browser.test.tsx:25-81` mocks `@react-pdf/renderer`, `@/libs/resume/pdf-document`, `./builder-resume-draft`, and `./pdf-canvas` so the preview component can be exercised without React PDF.
|
||||
- `vi.hoisted(() => ({ ... }))` to share mutable state with hoisted `vi.mock` factories (`apps/web/src/components/resume/preview.browser.test.tsx:8-12`). This is required because `vi.mock` calls are hoisted above imports.
|
||||
- Spies via `vi.spyOn` are rare; mock modules are preferred so the real implementation stays out of scope.
|
||||
|
||||
**Test data / fixtures:**
|
||||
|
||||
- No central `fixtures/` directory. Tests build minimal objects inline or extend canonical defaults from the schema package:
|
||||
- `import { defaultResumeData } from "@reactive-resume/schema/resume/default"` (used by `packages/api/src/helpers/resume-access-policy.test.ts:2`).
|
||||
- `import { sampleResumeData } from "@reactive-resume/schema/resume/sample"` (used by `apps/web/src/components/resume/preview.browser.test.tsx:5`).
|
||||
- Local helper builders are inlined per test file (e.g. the `resumeDataWithPageCount` helper at `apps/web/src/components/resume/preview.browser.test.tsx:14-23`).
|
||||
|
||||
## React Component Testing
|
||||
|
||||
**Render + query** via Testing Library (`packages/ui/src/components/button.test.tsx`):
|
||||
|
||||
```typescript
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import userEvent from "@testing-library/user-event";
|
||||
|
||||
render(<Button onClick={onClick}>Click</Button>);
|
||||
await userEvent.click(screen.getByRole("button"));
|
||||
```
|
||||
|
||||
**Accessibility-first queries:** `getByRole("button", { name: "..." })` is the default; `aria-label` is asserted explicitly (`packages/ui/src/components/button.test.tsx:81-84`).
|
||||
|
||||
**Slot / data-attr conventions:** Components expose `data-slot` for shadcn/Base UI slotting and tests assert it (`button.test.tsx:22-25`).
|
||||
|
||||
**Async UI:** Use `waitFor` from `@testing-library/react` and `await userEvent.*`. The `cleanup()` afterEach in `vitest.setup.ts` ensures DOM doesn't leak between tests despite `isolate: false`.
|
||||
|
||||
## Reporters
|
||||
|
||||
Per-package `package.json` scripts (uniform pattern, e.g. `packages/api/package.json:15-18`):
|
||||
|
||||
- `test` → `vitest run --passWithNoTests`
|
||||
- `test:coverage` → `vitest run --coverage --passWithNoTests`
|
||||
- `test:ci` → `vitest run --coverage --reporter=default --reporter=github-actions --reporter=json --reporter=junit --outputFile.json=reports/vitest-results.json --outputFile.junit=reports/vitest-junit.xml --passWithNoTests`
|
||||
- `test:agent` → `vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests`
|
||||
|
||||
The `agent` reporter is a Vitest 4 feature optimized for LLM-driven runs; `pnpm test:agent` is the canonical script to use when an agent needs structured pass/fail data.
|
||||
|
||||
JUnit + JSON outputs land in `reports/` inside each package (Biome-ignored).
|
||||
|
||||
## CI
|
||||
|
||||
- **`.github/workflows/autofix.yml`** — runs on every PR and push to `main`. It runs `pnpm knip --fix` and `pnpm check`. **It does NOT run `pnpm test`.** Tests are not currently gating CI.
|
||||
- **`.github/workflows/docker-build.yml`** — `workflow_dispatch` only; builds multi-arch images. No test step.
|
||||
- **`.github/workflows/crowdin-sync.yml`** — translation sync only.
|
||||
|
||||
Tests are run locally (`pnpm test`) or by agents via `pnpm test:agent` / `pnpm test:ci`. No PR is currently blocked by a failing test on GitHub Actions.
|
||||
|
||||
## Test Types
|
||||
|
||||
- **Unit tests** — Dominant. Pure functions in `packages/utils`, `packages/schema`, `packages/pdf/src/templates/shared`, `packages/api/src/{helpers,dto}` are exercised in isolation.
|
||||
- **Component tests** — `packages/ui/src/components/*.test.tsx` and a handful in `apps/web/src/components/`. Driven by `@testing-library/react` + `happy-dom` (file-level override) or `packages/ui`'s package-level `environment: "happy-dom"`.
|
||||
- **Integration tests** — None against the live Drizzle client or the running TanStack Start server. `apps/web/src/components/resume/preview.browser.test.tsx` is the closest, mocking React PDF and exercising the preview pipeline end-to-end in happy-dom.
|
||||
- **E2E / browser tests** — Not present. No Playwright, Cypress, or `vitest --browser` config.
|
||||
|
||||
## Common Patterns
|
||||
|
||||
**Async error testing:**
|
||||
|
||||
```typescript
|
||||
expect(() => assertCanView({ userId: "u1", isPublic: false }, null)).toThrow();
|
||||
try {
|
||||
assertCanView({ userId: "u1", isPublic: false }, null);
|
||||
expect.unreachable();
|
||||
} catch (error: unknown) {
|
||||
expect((error as { code?: string }).code).toBe("NOT_FOUND");
|
||||
}
|
||||
```
|
||||
(See `packages/api/src/helpers/resume-access-policy.test.ts:29-44`.)
|
||||
|
||||
**Immutability assertions:**
|
||||
|
||||
```typescript
|
||||
const before = JSON.stringify(resume);
|
||||
redactResumeForViewer(resume, false);
|
||||
expect(JSON.stringify(resume)).toBe(before);
|
||||
```
|
||||
(See `packages/api/src/helpers/resume-access-policy.test.ts:86-93`.)
|
||||
|
||||
**Time-sensitive logic:** UUIDv7 ordering is verified with a `setTimeout` and a string compare instead of mocking time (`packages/utils/src/string.test.ts:15-20`).
|
||||
|
||||
## Coverage Gaps Worth Flagging
|
||||
|
||||
These areas have implementation but no `*.test.*` files alongside them today — agents adding features here should consider adding tests.
|
||||
|
||||
- **`packages/email/src/transport.ts` and templates** — no tests. SMTP transport is untested.
|
||||
- **`packages/env/src/server.ts`** — no tests for env-var schema validation.
|
||||
- **`packages/auth/`** — no tests; Better Auth config and helpers are uncovered.
|
||||
- **`packages/api/src/services/{resume,storage,statistics,auth,flags,resume-events}.ts`** — only `ai.ts` has a service-level test (`ai.test.ts`). Most resume mutation flow logic is exercised only indirectly through `helpers/resume-access-policy.test.ts` and `dto/resume.test.ts`.
|
||||
- **`packages/api/src/routers/*`** — no router-level tests. End-to-end oRPC procedure behavior (auth + rate limit + service composition) is not asserted.
|
||||
- **`packages/api/src/middleware/rate-limit/*`** — no tests.
|
||||
- **`packages/db/src/schema/*`** — no tests (schema correctness is implicit, but no migration roundtrip tests).
|
||||
- **`packages/scripts/`** — no tests.
|
||||
- **`packages/runtime-externals/`** — no tests.
|
||||
- **`apps/web/src/routes/**`** — route handlers (`api/rpc.$.ts`, `api/auth.$.ts`, `api/health.ts`, `uploads/...`, `mcp/...`, `auth/oauth.ts`) and most builder UI under `routes/builder/$resumeId` are uncovered.
|
||||
- **`apps/web/src/dialogs/**`** — only `store.test.ts` covers the dialog store. Individual dialog components (resume create/update/import, two-factor, api-key) are uncovered.
|
||||
- **`packages/pdf/src/templates/{azurill,bronzor,...}`** — individual template renderers have no tests; only the shared primitives in `templates/shared/` are covered.
|
||||
|
||||
When adding tests in any of these areas, follow the colocation rule (`foo.ts` ↔ `foo.test.ts`) and reuse `defaultResumeData` / `sampleResumeData` from `@reactive-resume/schema/resume/*` instead of inventing new fixtures.
|
||||
|
||||
---
|
||||
|
||||
*Testing analysis: 2026-05-11*
|
||||
@@ -0,0 +1,106 @@
|
||||
# AGENTS.md
|
||||
|
||||
## Cursor Cloud specific instructions
|
||||
|
||||
### Overview
|
||||
|
||||
Reactive Resume is a pnpm monorepo (Turborepo) with a single full-stack web app at `apps/web` (TanStack Start / React 19 / Vite) and ~15 internal packages under `packages/`. It runs as a single Node.js process on port 3000.
|
||||
|
||||
Internal packages are source-consumed through `package.json` export maps that point at `src` files. Do not assume package-local `dist` output exists unless a package explicitly adds it.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **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.0.9** is managed via corepack (`corepack enable`).
|
||||
|
||||
### Codebase map
|
||||
|
||||
- `apps/web` is the only app. It owns TanStack Start routes, Vite/Nitro config, PWA setup, oRPC client wiring, route-level server handlers, and the resume builder UI.
|
||||
- `packages/api` contains oRPC routers, services, DTOs, storage, resume access policy, statistics, AI services, and rate limiting. The web route `apps/web/src/routes/api/rpc.$.ts` exposes these routers at `/api/rpc`.
|
||||
- `packages/auth` contains Better Auth config, auth helper functions, and exported auth types. The web route `apps/web/src/routes/api/auth.$.ts` delegates to `auth.handler`.
|
||||
- `packages/db` contains the Drizzle client and schema. Migration files live at the repo root in `migrations/`.
|
||||
- `packages/env` defines server environment validation and auto-loads the root `.env` for app/server code.
|
||||
- `packages/schema` contains Zod schemas and typed resume/page/template models.
|
||||
- `packages/pdf` contains the React PDF document, font registration, shared template primitives, and template implementations.
|
||||
- `packages/ui` contains shared Base UI/shadcn-style components and hooks.
|
||||
- `packages/fonts`, `packages/email`, `packages/import`, `packages/ai`, `packages/utils`, `packages/scripts`, `packages/config`, and `packages/runtime-externals` provide focused support surfaces. Prefer their existing exports over adding cross-package shortcuts.
|
||||
|
||||
### Web app conventions
|
||||
|
||||
- Routes are file-based under `apps/web/src/routes`. Do not hand-edit `apps/web/src/routeTree.gen.ts`; it is generated by TanStack Router tooling.
|
||||
- Server-only route handlers use route `server.handlers` blocks, for example `api/rpc.$.ts`, `api/auth.$.ts`, `api/health.ts`, uploads, schema, OpenAPI, MCP, and `.well-known` routes.
|
||||
- `apps/web/src/router.tsx` initializes router context with `queryClient`, `orpc`, `theme`, `locale`, `session`, and `flags`. Reuse route context where possible instead of refetching these concerns ad hoc.
|
||||
- The builder shell lives under `apps/web/src/routes/builder/$resumeId`. The nested preview route is client-only (`ssr: false`), while the public resume route `apps/web/src/routes/$username/$slug.tsx` uses `ssr: "data-only"`.
|
||||
- Browser-only resume preview code is split across `apps/web/src/components/resume/preview.tsx`, `preview.browser.tsx`, `pdf-canvas.tsx`, and shared helpers. Keep PDF.js/canvas/browser APIs out of SSR paths.
|
||||
- The isomorphic oRPC client is in `apps/web/src/libs/orpc/client.ts`; server calls use an in-process router client and browser calls use `/api/rpc` with credentials included.
|
||||
|
||||
### Package and feature boundaries
|
||||
|
||||
- Add new API procedures in `packages/api/src/routers/*` and keep business logic in `packages/api/src/services/*` or helpers. Prefer `protectedProcedure` from `packages/api/src/context.ts` for authenticated procedures.
|
||||
- Add database columns/tables in `packages/db/src/schema/*`, then generate root-level migrations with `pnpm db:generate`.
|
||||
- Add or change resume data shape in `packages/schema/src/resume/*` first, then update API DTOs, importers, PDF rendering, and web forms that consume that shape.
|
||||
- Add or rename templates in all relevant places: `packages/schema/src/templates.ts`, `packages/pdf/src/templates/index.ts`, template source under `packages/pdf/src/templates/<name>/`, and static previews under `apps/web/public/templates/{jpg,pdf}`.
|
||||
- Shared PDF section filtering lives in `packages/pdf/src/templates/shared/filtering.ts`. Keep template-specific visual exceptions in the owning template directory unless multiple templates need the same behavior.
|
||||
- `packages/pdf/src/hooks/use-register-fonts.ts` owns React PDF font registration, standard PDF font handling, CJK fallback stacks, and global hyphenation behavior.
|
||||
- `packages/utils` has narrowly exported helpers. If another package needs a utility, add an explicit export path instead of importing private files.
|
||||
|
||||
### Database
|
||||
|
||||
PostgreSQL runs via Docker Compose:
|
||||
|
||||
```
|
||||
sudo docker compose -f compose.dev.yml up -d postgres
|
||||
```
|
||||
|
||||
The dev default connection string is `postgresql://postgres:postgres@localhost:5432/postgres`.
|
||||
|
||||
**Important**: `drizzle-kit` (used by `pnpm db:migrate`) reads `DATABASE_URL` from `process.env` directly — it does **not** auto-load the `.env` file. You must `export DATABASE_URL=...` before running migration commands, or set it in your shell profile.
|
||||
|
||||
The web app also runs migrations during Nitro startup via `apps/web/plugins/1.migrate.ts`. Manual `pnpm db:migrate` is mainly for first setup, migration debugging, or applying migrations without starting the app.
|
||||
|
||||
### Environment
|
||||
|
||||
Copy `.env.example` to `.env`. The three required variables are:
|
||||
|
||||
- `APP_URL` (default `http://localhost:3000`)
|
||||
- `DATABASE_URL` (default `postgresql://postgres:postgres@localhost:5432/postgres`)
|
||||
- `AUTH_SECRET` (any non-empty string)
|
||||
|
||||
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.
|
||||
|
||||
### Common commands
|
||||
|
||||
| Task | Command |
|
||||
|------|---------|
|
||||
| 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` |
|
||||
| Generate migrations | `DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" pnpm db:generate` |
|
||||
| Run migrations | `DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres" pnpm db:migrate` |
|
||||
| Dev server | `pnpm dev` (starts on port 3000) |
|
||||
| Web dev server only | `pnpm dev:web` |
|
||||
| Lint/format | `pnpm check` (Biome) |
|
||||
| Tests | `pnpm test` (Vitest) |
|
||||
| Build | `pnpm build` |
|
||||
| Typecheck | `pnpm typecheck` |
|
||||
|
||||
For focused validation, prefer package filters before repo-wide commands, for example:
|
||||
|
||||
```
|
||||
pnpm --filter web typecheck
|
||||
pnpm --filter @reactive-resume/pdf test
|
||||
pnpm --filter @reactive-resume/api test
|
||||
```
|
||||
|
||||
Vitest test paths are package-relative when running through `pnpm --filter <package> test -- <path>`.
|
||||
|
||||
### Gotchas
|
||||
|
||||
- The dev server (`pnpm dev`) auto-runs migrations on startup via Nitro, so `pnpm db:migrate` is only strictly needed for first-time setup or after pulling new migration files.
|
||||
- Email sending requires SMTP config; without it, emails are logged to console. This is fine for dev — the app still functions, but email verification links appear in server logs.
|
||||
- The `lefthook.yml` pre-commit hook runs `biome check` on staged files. Run `pnpm check` before committing to avoid hook failures.
|
||||
- `pnpm check` is write-capable (`biome check --write --unsafe .`). Call that out when using it, and use narrower Biome commands if you need a non-mutating inspection.
|
||||
- Biome uses tabs, double quotes, line width 120, organized import groups, and sorted Tailwind classes for `clsx`, `cva`, and `cn`.
|
||||
- Most packages use `tsgo --noEmit` for typechecking and `vitest run --passWithNoTests` for tests.
|
||||
- There may be unrelated local edits in the worktree. Inspect `git status --short` first and avoid reverting files you did not touch.
|
||||
+3
-2
@@ -25,7 +25,7 @@ RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store,sharing=locked \
|
||||
pnpm install --frozen-lockfile
|
||||
|
||||
COPY --from=pruner /app/out/full/ ./
|
||||
RUN pnpm turbo run build --filter=web
|
||||
RUN rm -rf apps/web/.output && pnpm turbo run build --filter=web --force
|
||||
|
||||
FROM base AS runtime-pruner
|
||||
COPY . .
|
||||
@@ -50,7 +50,8 @@ LABEL org.opencontainers.image.documentation="https://docs.rxresu.me"
|
||||
LABEL org.opencontainers.image.source="https://github.com/amruthpillai/reactive-resume"
|
||||
|
||||
ENV NODE_ENV="production" \
|
||||
PORT=3000
|
||||
PORT=3000 \
|
||||
LOCAL_STORAGE_PATH=/app/data
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<a href="https://discord.gg/aSyA5ZSxpb"><img src="https://img.shields.io/discord/1173518977851473940?style=flat-square&label=discord" alt="Discord" /></a>
|
||||
<a href="https://crowdin.com/project/reactive-resume"><img src="https://badges.crowdin.net/reactive-resume/localized.svg?style=flat-square" alt="Crowdin" /></a>
|
||||
<a href="https://github.com/sponsors/AmruthPillai"><img src="https://img.shields.io/github/sponsors/AmruthPillai?style=flat-square&label=sponsors" alt="Sponsors" /></a>
|
||||
<a href="https://opencollective.com/reactive-resume"><img src="https://img.shields.io/opencollective/backers/reactive-resume?style=flat-square&label=donations" alt="Donations" /></a>
|
||||
<a href="https://opencollective.com/reactive-resume/donate"><img src="https://img.shields.io/opencollective/backers/reactive-resume?style=flat-square&label=donations" alt="Donations" /></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,7 @@ Built with privacy as a core principle, Reactive Resume gives you complete owner
|
||||
**Resume Building**
|
||||
|
||||
- Real-time preview as you type
|
||||
- Multiple export formats (PDF, JSON)
|
||||
- Multiple export formats (PDF, JSON, DOCX)
|
||||
- Drag-and-drop section ordering
|
||||
- Custom sections for any content type
|
||||
- Rich text editor with formatting support
|
||||
@@ -130,6 +130,10 @@ Built with privacy as a core principle, Reactive Resume gives you complete owner
|
||||
<img src="apps/web/public/templates/jpg/meowth.jpg" alt="Meowth" width="150" />
|
||||
<br /><sub><b>Meowth</b></sub>
|
||||
</td>
|
||||
<td align="center">
|
||||
<img src="apps/web/public/templates/jpg/scizor.jpg" alt="Scizor" width="150" />
|
||||
<br /><sub><b>Scizor</b></sub>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -208,7 +212,7 @@ Reactive Resume is and always will be free and open-source. If it has helped you
|
||||
<a href="https://github.com/sponsors/AmruthPillai">
|
||||
<img src="https://img.shields.io/badge/GitHub%20Sponsors-Support-ea4aaa?style=flat-square&logo=github-sponsors" alt="GitHub Sponsors" />
|
||||
</a>
|
||||
<a href="https://opencollective.com/reactive-resume">
|
||||
<a href="https://opencollective.com/reactive-resume/donate">
|
||||
<img src="https://img.shields.io/badge/Open%20Collective-Contribute-7FADF2?style=flat-square&logo=open-collective" alt="Open Collective" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: af\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# item} other {# items}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} other {# rolle}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} voorstelle hersien"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Beslis! Jy kan jou CV met 'n enkele klik na PDF uitvoer. Die uitgevoerde PDF behou al jou uitleg en styl perfek."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Aanvaar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Aanvaar alles"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Aanvaarde voorstel"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Verkry programmatiese toegang tot jou CV's en data deur die API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Voeg ry voor by"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Na"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "KI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "KI-integrasie gedeaktiveer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "KI-voorstel toegepas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "KI-voorstel verwerp."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "KI-voorstelle toegepas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "KI-voorstelle verwerp."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "KI CV-assistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanees"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studierigting"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunsmatige Intelligensie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Vra vir 'n gerigte CV-verandering..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Vra vir 'n inkrementele verandering"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspekverhouding"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistent-versoek het misluk"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Basies"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Pragtige sjablone om van te kies, met meer op pad."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Voorheen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengaals"
|
||||
@@ -462,10 +523,6 @@ msgstr "Kolpuntlys"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Deur die gemeenskap, vir die gemeenskap."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kan ek die sjablone pasmaak?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kan ek my CV na PDF uitvoer?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Klaar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik hier om 'n lêer te kies om in te voer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Maak toe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Maak KI-assistent toe"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kodeblok"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bevestig"
|
||||
msgid "Connect"
|
||||
msgstr "Koppel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Koppel en verifieer 'n KI-verskaffer voordat u CV-redigeringsvoorstelle gebruik."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopieer hierdie geheime sleutel en gebruik dit in jou toepassings om toe
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopieer URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Kon nie die KI-voorstel toepas nie."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Ontkoppel"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Maak toe"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentasie"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Het jy nie 'n rekening nie? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Skenk"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Skenk aan Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktiveer 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktiveer KI-funksies"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktiveer KI-integrasie"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktiveer twee-faktor-magtiging"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Alles wat hier ingevoer word, word plaaslik in jou blaaier gestoor. Jou
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Voorbeelde: herskryf die opsomming, verskerp een ervaringskoeël, voeg statistieke by, of pas die CV aan vir 'n posbeskrywing."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Verlaat volskerm"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Meer voorstelaksies"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Skuif na"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Moet begin met https://"
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Benodig hersiening"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalees"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nuwe wagwoord"
|
||||
msgid "New Section"
|
||||
msgstr "Nuwe afdeling"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Geen advertensies, geen dop nie"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Deurlopende instandhouding"
|
||||
msgid "Open"
|
||||
msgstr "Maak oop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Maak KI-assistent oop"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Maak e-posklient oop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Oop Integrasies"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Maak integrasiesinstellings oop"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Voer asseblief die wagwoord in wat deur die eienaar van die CV met jou g
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Voer asseblief die URL in waarheen jy wil skakel:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Ondersteun asseblief die projek"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Posisie"
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeure"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Voorbereiding van veranderinge"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Voorgestelde instellings"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Druk <0>{RETURN_KEY}</0> of <1>{COMMA_KEY}</1> om die huidige sleutelwoo
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Druk <0>Enter</0> om oop te maak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Vorige"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primêre kleur"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Vorderingsbalk"
|
||||
msgid "Projects"
|
||||
msgstr "Projektte"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Voorstel {0} van {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Beskerm jou CV teen ongemagtigde toegang met 'n wagwoord"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikasies"
|
||||
msgid "Publisher"
|
||||
msgstr "Uitgewer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Rou JSON-pleister"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Gaan na tuisblad"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume is 'n gratis en oopbronprojek, met liefde gebou en deur
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume is 'n gratis en oopbron-hervatbouer wat die proses om jou CV te skep, by te werk en te deel, vereenvoudig."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reaktiewe CV is gratis en oopbron. As dit jou gehelp het, oorweeg dit asseblief om te skenk."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is oopbron, privaatheid-gefokus en heeltemal gratis. Anders as ander hervatbouers, wys dit nie advertensies nie, spoor nie jou data na nie en sluit nie funksies agter 'n betaalmuur nie."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Verfris"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registreer nuwe toestel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Verwerp"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Verwerp alles"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Verwerpte voorstel"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Onthou jy jou wagwoord? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Stuur tans verifikasie-e-pos weer..."
|
||||
msgid "Reset"
|
||||
msgstr "Herstel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Stel klets terug"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Herstel jou wagwoord"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Besig om jou wagwoord te herstel..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Verander grootte van KI-assistent"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Hulpbronne"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV-analise voltooi."
|
||||
msgid "Resumes"
|
||||
msgstr "CV's"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Hersiening vereis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Hersiene voorstelle"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Regs belyn"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Kies..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-aanbieding met Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Stuur"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Stuur e-pos om wagwoord te herstel"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Stuur tans e-pos om wagwoord te herstel..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Stuur versoek"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Skeier"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Enkelkolom met 'n sybalk en skoon roostruitleg; veelsydig vir enige pro
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Enkelkolom met 'n inlyn drie-kolom-inskrywingsopskrif (posisie · organisasie · tydperk); kompak en ATS-vriendelik, goed geskik vir Asiatiese CV-konvensies (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Enkelkolom met hoofletter-afdelingopskrifte en 'n primêre kleur boonste reël op elke bladsy; gepoleer vir uitvoerende, konsulterende of opstart-CV's."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Enkelkolom; gepoleer en ernstig vir senior- of ondernemingsvlakposte."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistiek"
|
||||
msgid "Stay"
|
||||
msgstr "Bly"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Sterktes"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Tekskleur"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Die KI het 'n verandering voorgestel wat nie meer op hierdie CV van toepassing is nie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Die KI het 'n voorstel terugbesorg wat nie voorbeskou kon word nie."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Die API-sleutel is suksesvol uitgevee."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Die API-sleutel sal nie meer jou data kan toegang nadat dit uitgevee is nie. Hierdie aksie kan nie ongedaan gemaak word nie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Die assistent het gestop voordat hy 'n voorstel teruggegee het."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Dit is 'n URL-vriendelike naam vir jou CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Dit kan 'n paar minute neem, afhangend van die reaksie van die KI-verskaffer. Moet asseblief nie die venster sluit of die bladsy herlaai nie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Hierdie voorstel is verouderd. Vra die assistent om dit vanaf die nuutste CV te hergenereer."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Hierdie CV is gesluit en kan nie bygewerk word nie."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume is in verskeie tale beskikbaar. Jy kan jou voorkeurtaal kies op die instellingsbladsy, of deur die taalwisselaar regs bo te gebruik. As jy jou taal nie sien nie, of as jy die bestaande vertalings wil verbeter, kan jy <0>bydra tot die vertalings op Crowdin<1> (maak in nuwe oortjie oop)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Elke sjabloon is heeltemal aanpasbaar. Jy kan kleure, lettertipes, spasiëring verander en selfs pasgemaakte CSS skryf vir volledige beheer oor jou CV se voorkoms."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume is heeltemal gratis om te gebruik, sonder versteekte koste, premiemvlakke of intekengelde. Dit is oopbron en sal altyd gratis bly."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: am\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Amharic\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# ንጥል} other {# ንጥሎች}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ሚና} other {# ሚናዎች}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} የተገመገሙ ሀሳቦች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "ፍጹም! የየታሪክዎን ወደ PDF በአንድ ጠቅታ መላክ ትችላላችሁ። የተላከው የ PDF ፋይል ሁሉንም ቅርጸትና ዲዛይን በትክክል ይጠብቃል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ተቀበል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "ሁሉንም ተቀበል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ተቀባይነት ያገኘ ሀሳብ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "በ API በመጠቀም የየታሪኮችዎን እና መረጃዎን ፕሮግራማዊ መዳረስ።"
|
||||
@@ -229,10 +246,38 @@ msgstr "ከዚህ በፊት ረድፍ ያክሉ"
|
||||
msgid "Afrikaans"
|
||||
msgstr "አፍሪካንስ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "በኋላ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "የ AI ውህደት ተሰናክሏል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "የAI ፕሮፖዛል ተተግብሯል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "የ AI ፕሮፖዛል ውድቅ ተደርጓል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "የአዕምሮ ህክምና ፕሮፖዛሎች ተግባራዊ ሆነዋል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "የ AI ፕሮፖዛሎች ውድቅ ተደርገዋል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "የ AI ሪቪው ረዳት"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "አልባኒኛ"
|
||||
@@ -367,10 +412,22 @@ msgstr "የስልጠና መስክ"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "አርቲፊሻል ኢንተለጀንስ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "የታለመ የስራ ልምድ ለውጥ ጠይቅ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ቀስ በቀስ ለውጥ ይጠይቁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "የመገናኛ መጠን"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "የረዳት ጥያቄ አልተሳካም"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "መሰረታዊ"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "ውብ ቴምፕሌቶችን ይመርጡ፣ ተጨማሪዎችም በመንገድ ላይ ናቸው።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "ከዚህ በፊት"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "ቤንጋሊኛ"
|
||||
@@ -462,10 +523,6 @@ msgstr "የነጥብ ዝርዝር"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "በማህበረሰቡ፣ ለማህበረሰቡ።"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "ቴምፕሌቶቹን ልገምግሙ እችላለሁ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "የየታሪክዬን ወደ PDF ልላክ እችላለሁ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "አጽዳ"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ፋይል ለማምጣት ለመምረጥ እዚህ ጠቅ ያድርጉ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "ዝጋ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "የ AI ረዳትን ዝጋ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "የኮድ ብሎክ"
|
||||
@@ -622,6 +687,10 @@ msgstr "አረጋግጥ"
|
||||
msgid "Connect"
|
||||
msgstr "አገናኝ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "የሪዚሜ አርትዖት ፕሮፖዛሎችን ከመጠቀምዎ በፊት የAI አቅራቢን ያገናኙ እና ያረጋግጡ።"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ይህንን ሚስጥራዊ ቁልፍ ቅጂ አድርጉ እና ውስ
|
||||
msgid "Copy URL"
|
||||
msgstr "URL ቅጂ አድርግ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "የAI ፕሮፖዛሉን መተግበር አልተቻለም።"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ግንኙነትን ቁርጥ"
|
||||
msgid "Discord"
|
||||
msgstr "ዲስኮርድ"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "አሰናብት"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ሰነዶች"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "መለያ የለዎትም? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "ይለግሱ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "ለ Reactive Resume መዋጮ አድርግ"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FAን አንቃ"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "የ AI ባህሪዎችን አንቃ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "የAI ውህደትን አንቃ"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "ሁለት-ደረጃ ማረጋገጫን አንቃ"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ምሳሌዎች፡ ማጠቃለያውን እንደገና ይፃፉ፣ የአንድ ልምድ ነጥብ ያጥብቁ፣ መለኪያዎችን ያክሉ ወይም የስራ መግለጫውን (ሲቪ) ያስተካክሉ።"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ሙሉ ስክሪን ውጣ"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "ሞዴል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "ተጨማሪ የፕሮፖዛል እርምጃዎች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "አንቀሳቅስ ወደ"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "በhttps:// መጀመር አለበት"
|
||||
msgid "Name"
|
||||
msgstr "ስም"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "ግምገማ ያስፈልገዋል"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "ኔፓሊኛ"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "አዲስ የይለፍ ቃል"
|
||||
msgid "New Section"
|
||||
msgstr "አዲስ ክፍል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "ቀጣይ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "ምንም ማስታወቂያ የለም፣ ምንም መከታተያ የለም"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "የቀጣይ ጥገና"
|
||||
msgid "Open"
|
||||
msgstr "ክፈት"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "ክፍት የ AI ረዳት"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "የኢሜል ደንበኛን ክፈት"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ክፍት ውህደቶች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "የውህደቶች ቅንብሮችን ክፈት"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "ወደ የየታሪክው ባለቤት በተካፈለዎት የይለ
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "ሊያገናኙት የሚፈልጉትን URL እባክዎን ያስገቡ፡"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "እባክዎን ፕሮጀክቱን ይደግፉ"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "አቀማመጥ"
|
||||
msgid "Preferences"
|
||||
msgstr "ምርጫዎች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "ለውጦችን በማዘጋጀት ላይ"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "ቀድሞ የተዘጋጁ"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "የአሁኑን ቁልፍ ቃል ለማከል ወይም ለማስቀመ
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "ለመክፈት <0>Enter</0>ን ይጫኑ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "ቀዳሚ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ዋና ቀለም"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "የሂደት አሰሳ ማስመሪያ"
|
||||
msgid "Projects"
|
||||
msgstr "ፕሮጀክቶች"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "ሀሳብ {0} የ {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "የየታሪክዎን ከፍተኛ ያልተፈቀደ መዳረስ በይለፍ ቃል ይከላከሉት"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "ህትመቶች"
|
||||
msgid "Publisher"
|
||||
msgstr "አታሚ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "ጥሬ JSON ፓች"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ወደ መነሻ ገጽ ሂድ"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ነፃ እና ክፍት ምንጭ ፕሮጀክት ሲሆ
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume የየታሪክ መፍጠር፣ ማዘመን እና መካፈል ሂደትን የሚቀላቅል ነፃ እና ክፍት ምንጭ የየታሪክ ማቅረቢያ መገንቢያ ነው።"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "ምላሽ ሰጪ የስራ ልምድ (Reactive) ነፃ እና ክፍት ምንጭ ነው። ከረዳዎት፣ እባክዎን መለገስን ያስቡበት።"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ክፍት ምንጭ፣ ግላዊነትን የሚመርጥ እና ፍጹም ነፃ ነው። ከሌሎች የየታሪክ ማቅረቢያዎች የተለየ ምክንያቱ ማስታወቂያ አያሳይም፣ መረጃዎን አይከታተልም፣ ባህሪዎችንም በክፍያ ግድግዳ አያስገባም።"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "ዳስ አድርግ"
|
||||
msgid "Register New Device"
|
||||
msgstr "አዲስ መሣሪያ መመዝገብ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "ውድቅ አድርግ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "ሁሉንም ውድቅ አድርግ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "ውድቅ የተደረገ ሀሳብ"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "የይለፍ ቃልዎን ያስታውሳሉ? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "የማረጋገጫ ኢሜልን እንደገና በመላክ ላይ…"
|
||||
msgid "Reset"
|
||||
msgstr "ዳግም ለመጀመር"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "ውይይትን ዳግም አስጀምር"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "የይለፍ ቃልዎን ዳግም ያስጀምሩ"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "የይለፍ ቃልዎን በመዳግም ላይ…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "የAI ረዳት መጠን ቀይር"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "ሀብቶች"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "የሥራ ማመልከቻ ሰነድ ትንተና ተጠናቋል።"
|
||||
msgid "Resumes"
|
||||
msgstr "የየታሪክ ማቅረቢያዎች"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "ግምገማ ያስፈልጋል"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "የተገመገሙ ፕሮፖዛሎችን"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "በቀኝ ማሰለፊያ"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "ምረጥ..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "በ Docker ራስህን አስተናግድ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ላክ"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "የይለፍ ቃል ዳግም እንዲታወቅ ኢሜል ላክ"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "የይለፍ ቃል ዳግም እንዲታወቅ ኢሜል በመላክ ላይ…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "ጥያቄ በመላክ ላይ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "መለያ መለያ"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "አንድ-አምድ የሆነ ከጎን አሞሌ እና ንፁህ የ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ነጠላ አምድ ከውስጠ-መስመር ሶስት-አምድ የመግቢያ ራስጌ ጋር (ቦታ · ድርጅት · ጊዜ)፤ የታመቀ እና ለATS ተስማሚ ሲሆን ለእስያ የሥራ ማመልከቻ ሰነድ ልማዶች (CN/JP/KR) በጣም የሚስማማ ነው።"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "በእያንዳንዱ ገጽ ላይ አቢይ ሆሄ ያለው የክፍል ርዕሶች እና ዋና ቀለም ያለው የላይኛው ደንብ ያለው ነጠላ-አምድ፤ ለአስፈፃሚ፣ ለምክር ወይም ለጀማሪ የስራ ልምድ የተወለወለ።"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "አንድ-አምድ የሆነ፣ የታማኝ እና ኃላፊነት ያለው ለከፍተኛ ወይም ለድርጅታዊ ደረጃ ሚናዎች የሚስማማ።"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "ስታቲስቲክስ"
|
||||
msgid "Stay"
|
||||
msgstr "ቆይ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "ተወ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ጥንካሬዎች"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "የጽሁፍ ቀለም"
|
||||
msgid "Thai"
|
||||
msgstr "ታይኛ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "የአይአይ (AI) ከዚህ የስራ ልምድ መግለጫ ጋር የማይተገበር ለውጥ አቅርቧል።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "የአይአርአይ ቅድመ እይታ ሊደረግበት የማይችል ሀሳብ መልሷል።"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API ቁልፉ በተሳካ ሁኔታ ተሰርዟል።"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API ቁልፉ ከተሰረዘ በኋላ ለመረጃዎ መዳረስ አይችልም። ይህ ሥራ መቀለብ አይቻልም።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ረዳቱ አንድ ሀሳብ ከመመለሱ በፊት ቆመ።"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "ይህ ለየታሪክዎ ተመቻቹ የ URL ስም ነው።"
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "ይህ በ AI አቅራቢው ምላሽ ላይ በመመርኮዝ ጥቂት ደቂቃዎች ሊወስድ ይችላል። እባክዎ መስኮቱን አትዘጉ ወይም ገጹን አታሻሽሉ።"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ይህ ሀሳብ ጊዜው ያለፈበት ነው። ረዳቱን ከአዲሱ የስራ ልምድ (ሲቪ) እንደገና እንዲያድስለት ይጠይቁት።"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ይህ የየታሪክ ማቅረቢያ ተቆልፏል እና ማዘመን አይቻልም።"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "ኤክስ (ትዊተር)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "አዎ፣ Reactive Resume በብዙ ቋንቋዎች ላይ ይገኛል። የምትመርጡትን ቋንቋ በቅንብሮች ገጽ ውስጥ ወይም በላይኛው ቀኝ ጠርዝ ያለውን የቋንቋ መቀየሪያ በመጠቀም መምረጥ ትችላላችሁ። ቋንቋዎን ካላያችሁ፣ ወይም ቀረውን ትርጉም ለማሻሻል ከፈለጉ፣ በ<0> Crowdin ላይ ትርጉሞችን በማሻሻል መዋኛ ለመያዝ ትችላላችሁ<1> (በአዲስ ታብ ይከፈታል)</1></0>።"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "አዎ! ሁሉም ቴምፕሌቶች ሙሉ በሙሉ የሚቀየሩ ናቸው። ቀለሞችን፣ ፊደሎችን፣ ክፍተቶችን መቀየር ትችላላችሁ፣ ደግሞም ለየታሪክዎ መልክ ፍጹም መቆጣጠር ለማግኘት ብጁ CSS መጻፍ ትችላላችሁ።"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "አዎ! Reactive Resume ፍጹም ነፃ ለመጠቀም ይችላሉ፣ የተደበቁ ወጪዎች፣ የፕሪሚየም ደረጃዎች ወይም ክፍያ መመዝገብ የለም። ክፍት ምንጭ ነው እና ሁልጊዜም ነፃ ይቆያል።"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, zero {# عنصر} one {# عنصر} two {# عنصران} few
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, zero {# أدوار} one {# دور} two {# دوران} few {# أدوار} many {# دورًا} other {# أدوار}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "تمت مراجعة المقترحات {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "حجم الورق A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "بكل تأكيد! يمكنك تصدير سيرتك الذاتية إلى PDF بنقرة واحدة فقط. يحافظ ملف PDF المُصدَّر على جميع التنسيقات والأنماط الخاصة بك بشكل مثالي."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "يقبل"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "قبول الكل"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "الاقتراح المقبول"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "يمكنك الوصول إلى سيرك الذاتية وبياناتك برمجيًا باستخدام واجهة برمجة التطبيقات (API)."
|
||||
@@ -229,10 +246,38 @@ msgstr "إضافة صف قبل"
|
||||
msgid "Afrikaans"
|
||||
msgstr "الأفريقانس"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "بعد"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "الذكاء الاصطناعي"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "تم تعطيل تكامل الذكاء الاصطناعي"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "تم تقديم اقتراح الذكاء الاصطناعي."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "تم رفض اقتراح الذكاء الاصطناعي."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "تم تطبيق مقترحات الذكاء الاصطناعي."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "تم رفض مقترحات الذكاء الاصطناعي."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "مساعد كتابة السيرة الذاتية المدعوم بالذكاء الاصطناعي"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "الألبانية"
|
||||
@@ -367,10 +412,22 @@ msgstr "مجال الدراسة"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "الذكاء الاصطناعي"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "اطلب تعديلاً مُحدداً لسيرتك الذاتية..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "اطلب تغييرًا تدريجيًا"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبة الأبعاد"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "فشل طلب المساعد"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "الأساسيات"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "قوالب جميلة للاختيار من بينها، مع المزيد في الطريق."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "قبل"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "البنغالية"
|
||||
@@ -462,10 +523,6 @@ msgstr "قائمة نقطية"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "من قبل المجتمع، من أجل المجتمع."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "هل يمكنني تخصيص القوالب؟"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "هل يمكنني تصدير سيرتي الذاتية إلى PDF؟"
|
||||
@@ -576,6 +633,14 @@ msgstr "واضح"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "انقر هنا لتحديد ملف لاستيراده"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "إغلاق"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "مساعد الذكاء الاصطناعي للإغلاق"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "كتلة برمجية"
|
||||
@@ -622,6 +687,10 @@ msgstr "تأكيد"
|
||||
msgid "Connect"
|
||||
msgstr "اتصال"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "قم بالتواصل مع مزود خدمة الذكاء الاصطناعي والتحقق منه قبل استخدام مقترحات تحرير السيرة الذاتية."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "انسخ مفتاحك السري هذا واستخدمه في تطبيق
|
||||
msgid "Copy URL"
|
||||
msgstr "نسخ عنوان URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "تعذر تطبيق اقتراح الذكاء الاصطناعي."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "قطع الاتصال"
|
||||
msgid "Discord"
|
||||
msgstr "ديسكورد"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "رفض"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "إرشادات الاستخدام"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "ليس لديك حساب؟ <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "يتبرع"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "تبرع لـReactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "تمكين المصادقة الثنائية (2FA)"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "تمكين ميزات الذكاء الاصطناعي"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "تفعيل تكامل الذكاء الاصطناعي"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "تمكين المصادقة الثنائية"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "أمثلة: إعادة كتابة الملخص، أو تحسين إحدى نقاط الخبرة، أو إضافة مقاييس، أو تعديل السيرة الذاتية لتناسب وصف الوظيفة."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "الخروج من وضع ملء الشاشة"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "مايكروسوفت وورد"
|
||||
msgid "Model"
|
||||
msgstr "النموذج"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "المزيد من إجراءات الاقتراح"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "نقل إلى"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "يجب أن تبدأ بـ https://"
|
||||
msgid "Name"
|
||||
msgstr "الاسم"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "يحتاج إلى مراجعة"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "النيبالية"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "كلمة مرور جديدة"
|
||||
msgid "New Section"
|
||||
msgstr "قسم جديد"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "التالي"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "بدون إعلانات، بدون تتبّع"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "صيانة مستمرة"
|
||||
msgid "Open"
|
||||
msgstr "افتح"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "مساعد الذكاء الاصطناعي المفتوح"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "فتح عميل البريد الإلكتروني"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "التكاملات المفتوحة"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "فتح إعدادات التكامل"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "يُرجى إدخال كلمة المرور التي تمت مشاركت
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "يُرجى إدخال عنوان URL الذي تريد الربط به:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "يرجى دعم المشروع"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "المنصب"
|
||||
msgid "Preferences"
|
||||
msgstr "التفضيلات"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "إعداد التغييرات"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "الإعدادات المسبقة"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "اضغط على <0>{RETURN_KEY}</0> أو <1>{COMMA_KEY}</1> لإضافة
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "اضغط على <0>Enter</0> لفتح"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "السابق"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "اللون الأساسي"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "شريط التقدّم"
|
||||
msgid "Projects"
|
||||
msgstr "المشاريع"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "الاقتراح {0} من {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "احمِ سيرتك الذاتية من الوصول غير المصرّح به باستخدام كلمة مرور"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "المنشورات"
|
||||
msgid "Publisher"
|
||||
msgstr "الناشر"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "رقعة JSON الخام"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - الانتقال إلى الصفحة الرئيسية"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume هو مشروع مجاني ومفتوح المصدر،
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume هي أداة إنشاء سيرة ذاتية مجانية ومفتوحة المصدر تعمل على تبسيط عملية إنشاء سيرتك الذاتية وتحديثها ومشاركتها."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "برنامج Reactive Resume مجاني ومفتوح المصدر. إذا أفادك، يُرجى التفكير في التبرع."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume مفتوح المصدر ويركز على الخصوصية ومجاني تمامًا. وعلى عكس أدوات إنشاء السير الذاتية الأخرى، لا يعرض إعلانات، ولا يتتبع بياناتك، ولا يقيّد ميزاتك خلف جدار دفع."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "تحديث"
|
||||
msgid "Register New Device"
|
||||
msgstr "تسجيل جهاز جديد"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "يرفض"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "رفض الكل"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "اقتراح مرفوض"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "تتذكر كلمة المرور؟ <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "جاري إعادة إرسال رسالة التحقق..."
|
||||
msgid "Reset"
|
||||
msgstr "إعادة تعيين"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "إعادة ضبط المحادثة"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "إعادة تعيين كلمة المرور"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "جاري إعادة تعيين كلمة المرور..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "مساعد الذكاء الاصطناعي لتغيير الحجم"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "الموارد"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "اكتمل تحليل السيرة الذاتية."
|
||||
msgid "Resumes"
|
||||
msgstr "السير الذاتية"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "مراجعة مطلوبة"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "المقترحات التي تمت مراجعتها"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "محاذاة لليمين"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "تحديد..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "الاستضافة الذاتية مع Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "يرسل"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "إرسال رسالة إعادة تعيين كلمة المرور"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "جاري إرسال رسالة إعادة تعيين كلمة المرور..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "إرسال الطلب"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "فاصل"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "عمود واحد مع شريط جانبي وتخطيط شبكي نظي
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "عمود واحد مع رأس إدخال مضمن من ثلاثة أعمدة (الموضع - المؤسسة - الفترة)؛ مدمج وملائم لـ ATS، ومناسب تمامًا للسيرة الذاتية الآسيوية (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "تصميم ذو عمود واحد مع عناوين أقسام بأحرف كبيرة وخطوط علوية بلون أساسي في كل صفحة؛ مصمم خصيصًا للسير الذاتية التنفيذية أو الاستشارية أو للشركات الناشئة."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "عمود واحد؛ مصقول ورسمي للوظائف العليا أو مناصب الشركات الكبرى."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "الإحصاءات"
|
||||
msgid "Stay"
|
||||
msgstr "البقاء"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "قف"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "نقاط القوة"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "لون النص"
|
||||
msgid "Thai"
|
||||
msgstr "التايلاندية"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "اقترح الذكاء الاصطناعي تغييرًا لم يعد ينطبق على هذه السيرة الذاتية."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "أعاد الذكاء الاصطناعي اقتراحًا لا يمكن معاينته."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "تم حذف مفتاح واجهة برمجة التطبيقات (API) ب
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "لن يتمكن مفتاح واجهة برمجة التطبيقات هذا من الوصول إلى بياناتك بعد حذفه. لا يمكن التراجع عن هذا الإجراء."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "توقف المساعد قبل أن يعيد الاقتراح."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "هذا اسم مناسب لعناوين URL لسيرتك الذاتية.
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "قد يستغرق هذا بضع دقائق اعتمادًا على استجابة مزوّد الذكاء الاصطناعي. يُرجى عدم إغلاق النافذة أو تحديث الصفحة."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "هذا الاقتراح قديم. اطلب من المساعد إعادة إنشائه من أحدث سيرة ذاتية."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "هذه السيرة الذاتية مقفلة ولا يمكن تحديثها."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (تويتر)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "نعم، يتوفر Reactive Resume بعدة لغات. يمكنك اختيار لغتك المفضلة في صفحة الإعدادات، أو باستخدام مبدّل اللغة في الزاوية العلوية اليمنى. إذا لم ترَ لغتك، أو كنت ترغب في تحسين الترجمات الموجودة، يمكنك <0>المساهمة في الترجمات على Crowdin<1> (يفتح في علامة تبويب جديدة)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "نعم! كل قالب قابل للتخصيص بالكامل. يمكنك تغيير الألوان والخطوط والتباعد، وحتى كتابة CSS مخصص للتحكم الكامل في مظهر سيرتك الذاتية."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "نعم! Reactive Resume مجاني تمامًا للاستخدام، بدون تكاليف خفية أو مستويات مدفوعة أو رسوم اشتراك. إنه مفتوح المصدر وسيظل مجانيًا دائمًا."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: az\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Azerbaijani\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# element}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} other {# rol}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} təkliflər nəzərdən keçirildi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Əlbəttə! Özgeçmişinizi cəmi bir kliklə PDF formatına ixrac edə bilərsiniz. İxrac olunmuş PDF bütün formatlaşdırmanı və tərtibatı mükəmməl şəkildə saxlayır."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Qəbul et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Hamısını qəbul edin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Qəbul edilmiş təklif"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API vasitəsilə özgeçmişlərinizi və məlumatlarınızı proqramlı şəkildə idarə edin."
|
||||
@@ -229,10 +246,38 @@ msgstr "Əvvəl Sətir əlavə et"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Sonra"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "Süni İntellekt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Süni intellekt inteqrasiyası deaktiv edildi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Süni intellekt təklifi tətbiq edildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Süni intellekt təklifi rədd edildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Süni intellekt təklifləri tətbiq olundu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Süni intellekt təklifləri rədd edildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Süni intellekt CV köməkçisi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanca"
|
||||
@@ -367,10 +412,22 @@ msgstr "Təhsil sahəsi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Süni İntellekt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Hədəfli CV dəyişikliyi istəyin..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Artan dəyişiklik tələb edin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporsiya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Köməkçi sorğusu uğursuz oldu"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Əsas məlumatlar"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Seçmək üçün gözəl şablonlar, yolda olan yeniləri ilə."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Əvvəl"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Benqal"
|
||||
@@ -462,10 +523,6 @@ msgstr "Markerlə Siyahı"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "İcma tərəfindən, icma üçün."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Şablonları fərdiləşdirə bilərəm?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Özgeçmişimi PDF‑ə ixrac edə bilərəm?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Açıq"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "İdxal üçün fayl seçmək üçün bura klikləyin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Bağla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Süni intellekt köməkçisini bağlayın"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kod Bloku"
|
||||
@@ -622,6 +687,10 @@ msgstr "Təsdiqlə"
|
||||
msgid "Connect"
|
||||
msgstr "Qoşul"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "CV redaktə təkliflərindən istifadə etməzdən əvvəl süni intellekt provayderinə qoşulun və təsdiqləyin."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Bu gizli açarı kopyalayın və verilənlərinizə daxil olmaq üçün
|
||||
msgid "Copy URL"
|
||||
msgstr "URL‑i kopyala"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Süni intellekt təklifini tətbiq etmək mümkün olmadı."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Ayır"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Ləğv et"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Sənədləşmə"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Hesabınız yoxdur? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Bağışlayın"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume‑yə ianə et"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA‑nı Aktiv et"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Süni İntellekt Xüsusiyyətlərini Aktiv et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Süni intellekt inteqrasiyasını aktivləşdirin"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "İki Mərhələli Autentifikasiyanı Aktiv et"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Buraya daxil etdiyiniz hər şey brauzerinizdə lokal olaraq saxlanı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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Nümunələr: xülasənin yenidən yazılması, təcrübə siyahısından birinin qısaldılması, metriklər əlavə edilməsi və ya CV-ni iş təsviri üçün uyğunlaşdırmaq."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Tam ekrandan çıx"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Daha çox təklif hərəkəti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Keçir"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// ilə başlamalıdır"
|
||||
msgid "Name"
|
||||
msgstr "Ad"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Baxışa ehtiyac var"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepal"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Yeni Parol"
|
||||
msgid "New Section"
|
||||
msgstr "Yeni Bölmə"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Sonrakı"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Reklam yoxdur, İzləmə yoxdur"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Davamlı Baxım"
|
||||
msgid "Open"
|
||||
msgstr "Aç"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Açıq süni intellekt köməkçisi"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "E‑poçt müştərisini aç"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Açıq İnteqrasiyalar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "İnteqrasiyalar parametrlərini açın"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Davam etmək üçün, özgeçmiş sahibi tərəfindən sizinlə paylaş
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Link vermək istədiyiniz URL‑i daxil edin:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Layihəni dəstəkləyin"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Vəzifə"
|
||||
msgid "Preferences"
|
||||
msgstr "Parametrlər"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Dəyişikliklərin hazırlanması"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Qabaqcadan təyin olunmuş parametrlər"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Hazırkı açar sözü əlavə etmək və ya saxlamaq üçün <0>{RETURN
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Açmaq üçün <0>Enter düyməsini</0> basın"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Əvvəlki"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Əsas Rəng"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Proqres Zolağı"
|
||||
msgid "Projects"
|
||||
msgstr "Layihələr"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Təklif {total} / {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Özgeçmişinizi parol ilə icazəsiz girişdən qoruyun"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Nəşrlər"
|
||||
msgid "Publisher"
|
||||
msgstr "Nəşriyyatçı"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Xam JSON Yamağı"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ana səhifəyə keç"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume pulsuz və açıq mənbə layihəsidir; sevgi ilə yarad
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume özgeçmişinizi yaratma, yeniləmə və paylaşma prosesini sadələşdirən pulsuz və açıq mənbə özgeçmiş qurucusudur."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume pulsuz və açıq mənbəlidir. Əgər sizə kömək edibsə, zəhmət olmasa, ianə etməyi düşünün."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume açıq mənbəlidir, məxfilik yönümlüdür və tamamilə pulsuzdur. Digər özgeçmiş qurucularından fərqli olaraq, o reklamlara yer vermir, məlumatınızı izləmir və funksiyaları ödəniş divarının arxasında məhdudlaşdırmır."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Yenilə"
|
||||
msgid "Register New Device"
|
||||
msgstr "Yeni cihazı qeydiyyatdan keçirin"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rədd et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Hamısını rədd et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Rədd edilmiş təklif"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Şifrənizi xatırlayırsınız? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Təsdiq e‑poçtu yenidən göndərilir..."
|
||||
msgid "Reset"
|
||||
msgstr "Sıfırla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Söhbəti sıfırlayın"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Parolunuzu sıfırlayın"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Parolunuz sıfırlanır..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Süni intellekt köməkçisinin ölçüsünü dəyişin"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resurslar"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Təcrübə təhlili tamamlandı."
|
||||
msgid "Resumes"
|
||||
msgstr "Özgeçmişlər"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Baxış tələb olunur"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Təkliflər nəzərdən keçirildi"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Sağdan Sətirlə"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Seçin..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ilə Özün‑host et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Göndər"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Parol Sıfırlama E‑poçtu Göndər"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Parol sıfırlama e‑poçtu göndərilir..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Sorğu göndərilir"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Ayırıcı"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Tək sütunlu, yan panel və təmiz şəbəkə maketi ilə; istənilən
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Tək sütunlu, xətti üçsütunlu giriş başlığı (vəzifə · təşkilat · dövr); yığcam və ATS-ə uyğun, Asiya tərcümeyi-hal konvensiyalarına (Çin/Yaponiya/Koreya) uyğundur."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Hər səhifədə böyük hərflərlə bölmə başlıqları və əsas rəng üst qaydası olan tək sütunlu; rəhbər, konsaltinq və ya startap tərcümeyi-halları üçün cilalanmış."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Tək sütunlu; yüksək vəzifəli və ya müəssisə səviyyəli vəzifələr üçün cilalanmış və ciddi üslub."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistika"
|
||||
msgid "Stay"
|
||||
msgstr "Qal"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Dayan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Güclü tərəflər"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Mətn Rəngi"
|
||||
msgid "Thai"
|
||||
msgstr "Tay"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Süni intellekt artıq bu CV-yə aid olmayan bir dəyişiklik təklif etdi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Süni intellekt, önizləməsi mümkün olmayan bir təklifi geri qaytardı."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API açarı uğurla silindi."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Silindikdən sonra bu API açarı məlumatlarınıza daha çıxış əldə edə bilməyəcək. Bu əməliyyat geri qaytarıla bilməz."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Köməkçi təklifi cavablandırmadan əvvəl dayandı."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Bu, özgeçmişiniz üçün URL‑ə uyğun bir addır."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Bu, Süni İntellekt provayderinin cavabından asılı olaraq bir neçə dəqiqə çəkə bilər. Zəhmət olmasa, pəncərəni bağlamayın və ya səhifəni yeniləməyin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Bu təklif köhnəlib. Köməkçidən onu ən son CV-dən yenidən yaratmasını xahiş edin."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Bu özgeçmiş kilidlənib və yenilənə bilməz."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Bəli, Reactive Resume bir neçə dildə mövcuddur. Seçim etdiyiniz dili parametrlər səhifəsindən və ya sağ yuxarı küncdəki dil dəyişdiricisindən seçə bilərsiniz. Əgər dilinizi görmürsünüzsə və ya mövcud tərcümələri yaxşılaşdırmaq istəyirsinizsə, <0>Crowdin‑də tərcümələrə töhfə verə bilərsiniz<1> (yeni vərəqdə açılır)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Bəli! Hər bir şablon tam fərdiləşdirilə bilər. Rəngləri, şriftləri, aralıqları dəyişə və hətta özgeçmişinizin görünüşünə tam nəzarət üçün xüsusi CSS yaza bilərsiniz."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Bəli! Reactive Resume heç bir gizli xərc, premium səviyyə və ya abunə haqqı olmadan tamamilə pulsuzdur. O, açıq mənbəlidir və həmişə pulsuz qalacaq."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bg\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# елемент} other {# елемента}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# роля} other {# роли}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} прегледани предложения"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Абсолютно! Можете да експортирате автобиографията си в PDF само с едно кликване. Експортираният PDF файл запазва перфектно всички ваши форматирания и стилове."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Приемам"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Приемане на всички"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Прието предложение"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Получете програмен достъп до автобиографиите и данните си чрез API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Добавяне на ред преди"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африканс"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "След"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Интеграцията с изкуствен интелект е деактивирана"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Предложението за изкуствен интелект е приложено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Предложението за изкуствен интелект е отхвърлено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Приложени са предложения за ИИ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Предложенията за изкуствен интелект са отхвърлени."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Асистент за автобиография с изкуствен интелект"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албански"
|
||||
@@ -367,10 +412,22 @@ msgstr "Област на обучение"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Изкуствен интелект"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Поискайте целенасочена промяна в автобиографията си..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Поискайте постепенна промяна"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Съотношение на страните"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Заявката за Асистент не беше успешна"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Основна информация"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Красиви шаблони, от които да избирате, с още по пътя."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Преди"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Бенгалски"
|
||||
@@ -462,10 +523,6 @@ msgstr "Точков списък"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "От общността, за общността."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Мога ли да персонализирам шаблоните?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Мога ли да експортирам автобиографията си в PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clear"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Кликнете тук, за да изберете файл за импортиране"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Затвори асистента с изкуствен интелект"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Блок с код"
|
||||
@@ -622,6 +687,10 @@ msgstr "Потвърждаване"
|
||||
msgid "Connect"
|
||||
msgstr "Свързване"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Свържете се и проверете доставчик на изкуствен интелект, преди да използвате предложения за редактиране на автобиографии."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Копирайте този таен ключ и го използвай
|
||||
msgid "Copy URL"
|
||||
msgstr "Копиране на URL адрес"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Не можа да се приложи предложението за изкуствен интелект."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Прекъсване на връзката"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Отхвърляне"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Документация"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Нямате акаунт? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Дарете"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Дарете на Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Активиране на 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Активиране на AI функциите"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Активиране на интеграция с изкуствен интелект"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Активиране на двуфакторно удостоверяване"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Примери: пренаписване на резюмето, стесняване на един от елементите за опит, добавяне на показатели или адаптиране на автобиографията към описанието на длъжността."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Излизане от цял екран"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Модел"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Още действия за предложението"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Преместване в"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Трябва да започне с https://"
|
||||
msgid "Name"
|
||||
msgstr "Име"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Необходим е преглед"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Непалски"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Нова парола"
|
||||
msgid "New Section"
|
||||
msgstr "Нов раздел"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Следваща"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Без реклами, без проследяване"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Текуща поддръжка"
|
||||
msgid "Open"
|
||||
msgstr "Отвори"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Отворете AI асистент"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Отваряне на имейл клиент"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Отворени интеграции"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Отворете Настройки на интеграциите"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Моля, въведете паролата, която ви е спод
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Моля, въведете URL адреса, към който искате да създадете връзка:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Моля, подкрепете проекта"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Позиция"
|
||||
msgid "Preferences"
|
||||
msgstr "Предпочитания"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Подготовка на промени"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Предварителни настройки"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Натиснете <0>{RETURN_KEY}</0> или <1>{COMMA_KEY}</1>, за
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Натиснете <0>Enter</0>, за да отворите"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Предишна"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основен цвят"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Лента за напредък"
|
||||
msgid "Projects"
|
||||
msgstr "Проекти"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Предложение {0} от {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Защитете автобиографията си от неоторизиран достъп с парола"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Публикации"
|
||||
msgid "Publisher"
|
||||
msgstr "Издател"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Кръпка за суров JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Отиване към началната страница"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume е безплатен проект с отворен к
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume е безплатен конструктор на автобиографии с отворен код, който опростява процеса на създаване, актуализиране и споделяне на автобиографията ви."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume е безплатен и с отворен код. Ако ви е помогнал, моля, помислете за дарение."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume е с отворен код, фокусиран върху поверителността и напълно безплатен. За разлика от други конструктори на автобиографии, той не показва реклами, не проследява данните ви и не ограничава функциите зад платена стена."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Опресняване"
|
||||
msgid "Register New Device"
|
||||
msgstr "Регистрация на ново устройство"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Отхвърляне"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Отхвърляне на всички"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Отхвърлено предложение"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Спомняте ли си паролата? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Повторно изпращане на имейл за потвърж
|
||||
msgid "Reset"
|
||||
msgstr "Нулиране"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Нулиране на чата"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Нулирайте паролата си"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Нулиране на паролата ви..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Преоразмеряване на асистента с изкуствен интелект"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ресурси"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Анализът на автобиографията е завършен
|
||||
msgid "Resumes"
|
||||
msgstr "Автобиографии"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Изисква се преглед"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Прегледани предложения"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Подравняване вдясно"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Изберете..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самостоятелно хостване с Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Изпрати"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Изпращане на имейл за нулиране на парол
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Изпращане на имейл за нулиране на парола..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Изпращане на заявка"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Разделител"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Една колона със странична лента и изчис
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Единична колона с вградено заглавие в три колони (длъжност - организация - точка); компактен и удобен за ATS, подходящ за азиатските конвенции за автобиографии (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Едноколона с главни букви в заглавията на секциите и линия с основен цвят на горната част на всяка страница; изпипано за автобиографии на ръководители, консултанти или стартиращи компании."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Една колона; изпипан и сериозен за старши или корпоративни позиции."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Статистика"
|
||||
msgid "Stay"
|
||||
msgstr "Остани"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Спри"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Силни страни"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Цвят на текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тайландски"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Изкуственият интелект предложи промяна, която вече не се отнася за това резюме."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Изкуственият интелект върна предложение, което не можеше да бъде прегледано предварително."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API ключът беше изтрит успешно."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "След изтриване този API ключ вече няма да може да получава достъп до данните ви. Това действие е необратимо."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Асистентът спря, преди да върне предложението."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Това е име, подходящо за URL, за вашата ав
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Това може да отнеме няколко минути в зависимост от отговора на AI доставчика. Моля, не затваряйте прозореца и не опреснявайте страницата."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Това предложение е остаряло. Помолете асистента да го генерира отново от най-новата автобиография."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Тази автобиография е заключена и не може да бъде актуализирана."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Туитър)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Да, Reactive Resume е наличен на множество езици. Можете да изберете предпочитания от вас език от страницата с настройки или чрез превключвателя за език в горния десен ъгъл. Ако не виждате вашия език или искате да подобрите съществуващите преводи, можете да <0>допринесете към преводите в Crowdin<1> (отваря се в нов раздел)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Да! Всеки шаблон е напълно персонализируем. Можете да променяте цветове, шрифтове, разстояния и дори да пишете потребителски CSS за пълен контрол върху външния вид на автобиографията."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Да! Reactive Resume е напълно безплатен за ползване, без скрити разходи, премиум нива или абонаментни такси. Той е с отворен код и винаги ще остане безплатен."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bengali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {#টি আইটেম} other {#টি আইটেম
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ভূমিকা} other {# ভূমিকা}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} প্রস্তাবনা পর্যালোচনা করা হয়েছে"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "অবশ্যই! আপনি এক ক্লিকেই আপনার জীবনবৃত্তান্তকে PDF আকারে এক্সপোর্ট করতে পারবেন। এক্সপোর্ট করা PDF-এ আপনার সব ফরম্যাটিং ও স্টাইলিং ঠিক যেমন আছে তেমনই থাকবে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "গ্রহণ করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "সব গ্রহণ করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "গৃহীত প্রস্তাব"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API ব্যবহার করে প্রোগ্রামেটিক ভাবে আপনার জীবনবৃত্তান্ত ও ডেটায় প্রবেশ করুন।"
|
||||
@@ -229,10 +246,38 @@ msgstr "আগের দিকে সারি যোগ করুন"
|
||||
msgid "Afrikaans"
|
||||
msgstr "আফ্রিকান্স"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "পরে"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "এআই"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "এআই ইন্টিগ্রেশন নিষ্ক্রিয় করা হয়েছে"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "এআই প্রস্তাব প্রয়োগ করা হয়েছে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "এআই প্রস্তাব প্রত্যাখ্যাত হয়েছে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "এআই প্রস্তাবনাগুলো প্রয়োগ করা হয়েছে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "এআই প্রস্তাবগুলো প্রত্যাখ্যাত হয়েছে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "এআই রেজ্যুমে অ্যাসিস্ট্যান্ট"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "আলবেনিয়ান"
|
||||
@@ -367,10 +412,22 @@ msgstr "অধ্যয়নের এলাকা"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "কৃত্রিম বুদ্ধিমত্তা"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "নির্দিষ্ট জীবনবৃত্তান্ত পরিবর্তনের জন্য অনুরোধ করুন..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ধাপে ধাপে পরিবর্তনের জন্য অনুরোধ করুন।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "আকারের অনুপাত"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "সহকারীর অনুরোধ ব্যর্থ হয়েছে"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "বেসিক"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "পছন্দ করার জন্য সুন্দর সুন্দর টেমপ্লেট, আরও অনেক টেমপ্লেট শিগগিরই আসছে।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "আগে"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "বাংলা"
|
||||
@@ -462,10 +523,6 @@ msgstr "বুলেট লিস্ট"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "সম্প্রদায়ের দ্বারা, সম্প্রদায়ের জন্য।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "আমি কি টেমপ্লেটগুলো কাস্টমাইজ করতে পারি?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "আমি কি আমার জীবনবৃত্তান্তকে PDF-এ এক্সপোর্ট করতে পারি?"
|
||||
@@ -576,6 +633,14 @@ msgstr "স্বচ্ছ"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ইমপোর্ট করার জন্য এখান ক্লিক করে একটি ফাইল নির্বাচন করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "বন্ধ করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "এআই সহকারী বন্ধ করুন"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "কোড ব্লক"
|
||||
@@ -622,6 +687,10 @@ msgstr "নিশ্চিত করুন"
|
||||
msgid "Connect"
|
||||
msgstr "কনেক্ট করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "রেজ্যুমে সম্পাদনার প্রস্তাবগুলো ব্যবহার করার আগে একজন এআই প্রদানকারীর সাথে সংযোগ স্থাপন করুন এবং তাকে যাচাই করে নিন।"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "এই সিক্রেট কী কপি করে আপনার
|
||||
msgid "Copy URL"
|
||||
msgstr "URL কপি করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "এআই প্রস্তাবটি প্রয়োগ করা যায়নি।"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ডিসকনেক্ট করুন"
|
||||
msgid "Discord"
|
||||
msgstr "ডিসকর্ড"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "খারিজ করুন"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ডকুমেন্টেশন"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "অ্যাকাউন্ট নেই? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "দান করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume-এ অনুদান দিন"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA চালু করুন"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "এআই ফিচারগুলো চালু করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "এআই ইন্টিগ্রেশন সক্ষম করুন"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ চালু করুন"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "উদাহরণস্বরূপ: সারাংশটি নতুন করে লিখুন, অভিজ্ঞতার একটি বুলেট পয়েন্ট সংক্ষিপ্ত করুন, পরিমাপক যোগ করুন, অথবা চাকরির বিবরণের জন্য জীবনবৃত্তান্তটি সাজিয়ে নিন।"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "পূর্ণ স্ক্রীন থেকে বের হন"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "মাইক্রোসফট ওয়ার্ড"
|
||||
msgid "Model"
|
||||
msgstr "মডেল"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "আরও প্রস্তাবনা কার্যক্রম"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "এখানে সরান"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// দিয়ে শুরু করতে হবে।"
|
||||
msgid "Name"
|
||||
msgstr "নাম"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "পর্যালোচনা প্রয়োজন"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "নেপালি"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "নতুন পাসওয়ার্ড"
|
||||
msgid "New Section"
|
||||
msgstr "নতুন বিভাগ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "পরবর্তী"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "কোনো বিজ্ঞাপন নয়, কোনো ট্র্যাকিং নয়"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "চলমান রক্ষণাবেক্ষণ"
|
||||
msgid "Open"
|
||||
msgstr "খুলুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "ওপেন এআই অ্যাসিস্ট্যান্ট"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ইমেইল ক্লায়েন্ট খুলুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ওপেন ইন্টিগ্রেশন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ইন্টিগ্রেশন সেটিংস খুলুন"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "অবিরত থাকতে জীবনবৃত্তান্ত
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "যে URL‑এ লিংক করতে চান অনুগ্রহ করে সেটি লিখুন:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "প্রকল্পটি সমর্থন করুন।"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "পদবি"
|
||||
msgid "Preferences"
|
||||
msgstr "পছন্দসমূহ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "পরিবর্তন প্রস্তুত করা"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "প্রিসেটসমূহ"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "বর্তমান কীওয়ার্ড যোগ বা স
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "খুলতে <0>এন্টার</0> চাপুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "পূর্ববর্তী"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "প্রাথমিক রঙ"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "প্রগতি নির্দেশক বার"
|
||||
msgid "Projects"
|
||||
msgstr "প্রোজেক্টসমূহ"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{0} এর {total} প্রস্তাব"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "একটি পাসওয়ার্ড দিয়ে আপনার জীবনবৃত্তান্তকে অননুমোদিত প্রবেশ থেকে সুরক্ষিত রাখুন"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "প্রকাশনাসমূহ"
|
||||
msgid "Publisher"
|
||||
msgstr "প্রকাশক"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "কাঁচা JSON প্যাচ"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - হোমপেইজে যান"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume একটি বিনামূল্যের ও ম
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume একটি বিনামূল্যের এবং মুক্ত উৎস জীবনবৃত্তান্ত নির্মাতা, যা আপনার জীবনবৃত্তান্ত তৈরি, আপডেট ও শেয়ার করার প্রক্রিয়াকে সহজ করে।"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "রিঅ্যাক্টিভ রেজ্যুমে বিনামূল্যে এবং ওপেন সোর্স। যদি এটি আপনাকে সাহায্য করে থাকে, তবে অনুগ্রহ করে অনুদান দেওয়ার কথা বিবেচনা করুন।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume মুক্ত উৎস, গোপনীয়তা-কেন্দ্রিক এবং সম্পূর্ণ বিনামূল্যে। অন্য জীবনবৃত্তান্ত নির্মাতাদের মতো এটি কোনো বিজ্ঞাপন দেখায় না, আপনার ডেটা ট্র্যাক করে না, বা ফিচারগুলো পেওয়ালের আড়ালে আটকে রাখে না।"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "রিফ্রেশ"
|
||||
msgid "Register New Device"
|
||||
msgstr "নতুন ডিভাইস নিবন্ধন করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "প্রত্যাখ্যান করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "সব প্রত্যাখ্যান করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "প্রত্যাখ্যাত প্রস্তাব"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "আপনার পাসওয়ার্ড মনে আছে? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "যাচাইকরণের ইমেইল পুনরায় প
|
||||
msgid "Reset"
|
||||
msgstr "রিসেট"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "চ্যাট রিসেট করুন"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "আপনার পাসওয়ার্ড রিসেট করু
|
||||
msgid "Resetting your password..."
|
||||
msgstr "আপনার পাসওয়ার্ড রিসেট করা হচ্ছে..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "আকার পরিবর্তন করুন এআই সহকারী"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "রিসোর্সসমূহ"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "রিজিউমে বিশ্লেষণ সম্পন্ন।"
|
||||
msgid "Resumes"
|
||||
msgstr "জীবনবৃত্তান্তসমূহ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "পর্যালোচনা প্রয়োজন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "পর্যালোচিত প্রস্তাবনা"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "ডান দিকে অ্যালাইন"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "নির্বাচন করুন..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ডকার দিয়ে নিজে হোস্ট করুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "পাঠান"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "পাসওয়ার্ড রিসেটের ইমেইল প
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "পাসওয়ার্ড রিসেটের ইমেইল পাঠানো হচ্ছে..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "অনুরোধ পাঠানো হচ্ছে"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "সেপারেটর"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "এক কলামের লেআউট, সাইডবার এব
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "একক-কলাম, ইনলাইন তিন-কলাম এন্ট্রি হেডার (পদ · প্রতিষ্ঠান · সময়কাল); সংক্ষিপ্ত এবং ATS-বান্ধব, এশীয় রিজিউমে রীতি (CN/JP/KR)-এর জন্য উপযুক্ত।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "প্রতিটি পৃষ্ঠায় বড় হাতের অক্ষরে বিভাগীয় শিরোনাম এবং প্রাথমিক রঙের একটি শীর্ষরেখা সহ এক-কলাম বিন্যাস; নির্বাহী, পরামর্শক বা স্টার্টআপ জীবনবৃত্তান্তের জন্য পরিমার্জিত।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "এক কলামের লেআউট; প্রাজ্ঞ ও গম্ভীর ধরন, সিনিয়র বা এন্টারপ্রাইজ‑লেভেলের পদের জন্য উপযোগী।"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "পরিসংখ্যান"
|
||||
msgid "Stay"
|
||||
msgstr "থাকুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "থামুন"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "শক্তি"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "টেক্সটের রঙ"
|
||||
msgid "Thai"
|
||||
msgstr "থাই"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "এআই এমন একটি পরিবর্তনের প্রস্তাব করেছিল যা এখন এই জীবনবৃত্তান্তের ক্ষেত্রে আর প্রযোজ্য নয়।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "এআই এমন একটি প্রস্তাবনা ফেরত দিয়েছে যা প্রিভিউ করা সম্ভব ছিল না।"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API কী সফলভাবে মুছে ফেলা হয়ে
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API কী মুছে ফেলার পর আর আপনার ডেটায় প্রবেশ করতে পারবে না। এই কাজটি ফিরিয়ে নেওয়া যাবে না।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "সহকারী প্রস্তাবটি ফেরত দেওয়ার আগে থেমে গেল।"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "এটি আপনার জীবনবৃত্তান্তের
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI প্রদানকারীর রেসপন্সের ওপর নির্ভর করে এতে কয়েক মিনিট সময় লাগতে পারে। অনুগ্রহ করে উইন্ডো বন্ধ বা পৃষ্ঠা রিফ্রেশ করবেন না।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "এই প্রস্তাবনাটি পুরনো হয়ে গেছে। সহকারীকে সর্বশেষ জীবনবৃত্তান্ত থেকে এটি পুনরায় তৈরি করতে বলুন।"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "এই জীবনবৃত্তান্তটি লক করা আছে এবং হালনাগাদ করা যাবে না।"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "এক্স (টুইটার)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "হ্যাঁ, Reactive Resume একাধিক ভাষায় উপলভ্য। আপনি সেটিংস পেজ থেকে বা ডান দিকের উপরের কোণের ভাষা পরিবর্তনকারী ব্যবহার করে নিজের পছন্দের ভাষা বেছে নিতে পারেন। যদি আপনার ভাষা তালিকায় না থাকে, বা আপনি বিদ্যমান অনুবাদ উন্নত করতে চান, তাহলে আপনি <0>Crowdin‑এ অনুবাদে অবদান রাখতে পারেন<1> (নতুন ট্যাবে খুলবে)</1></0>।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "হ্যাঁ! প্রতিটি টেমপ্লেটই পুরোপুরি কাস্টমাইজযোগ্য। আপনি রঙ, ফন্ট, স্পেসিং পরিবর্তন করতে পারবেন, এমনকি আপনার জীবনবৃত্তান্তের চেহারার পূর্ণ নিয়ন্ত্রণের জন্য কাস্টম CSS-ও লিখতে পারবেন।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "হ্যাঁ! Reactive Resume সম্পূর্ণ বিনামূল্যে ব্যবহারের জন্য, কোনো গোপন খরচ, প্রিমিয়াম স্তর বা সাবস্ক্রিপশন ফি নেই। এটি মুক্ত উৎস এবং সবসময়ই বিনামূল্যে থাকবে।"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ca\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# elements}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# càrrec} other {# càrrecs}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propostes revisades"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "I tant! Pots exportar el teu currículum a PDF amb un sol clic. El PDF exportat manté perfectament tot el format i l’estil."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accepta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accepta-ho tot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposta acceptada"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Accedeix als teus currículums i dades de manera programàtica mitjançant l’API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Afegeix una fila abans"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Després"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integració d'IA desactivada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposta d'IA aplicada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposta d'IA rebutjada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propostes d'IA aplicades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propostes d'IA rebutjades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Assistent de currículum amb IA"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanès"
|
||||
@@ -367,10 +412,22 @@ msgstr "Àrea d’estudi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intel·ligència artificial"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Demana un canvi de currículum específic..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Demanar un canvi incremental"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relació d’aspecte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "La sol·licitud de l'assistent ha fallat"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Bàsic"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Plantilles boniques per triar, amb més en camí."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Abans"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalí"
|
||||
@@ -462,10 +523,6 @@ msgstr "Llista amb pics"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "De la comunitat i per a la comunitat."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Puc personalitzar les plantilles?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Puc exportar el meu currículum a PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Fes clic aquí per seleccionar un fitxer per importar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Tanca l'assistent d'IA"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloc de codi"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirma"
|
||||
msgid "Connect"
|
||||
msgstr "Connecta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Connecta't i verifica un proveïdor d'IA abans d'utilitzar propostes d'edició de currículums."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copia aquesta clau secreta i utilitza-la a les aplicacions per accedir a
|
||||
msgid "Copy URL"
|
||||
msgstr "Copia l’URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "No s'ha pogut aplicar la proposta d'IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Desconnecta"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Ignora"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentació"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "No teniu compte? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Fes una donació a Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Activa l’A2F"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Activa les funcions d’IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Habilita la integració de la IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Activa l’autenticació en dos passos"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tot el que introdueixis aquí es desa localment al navegador. Les dades
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exemples: reescriure el resum, ajustar un punt d'experiència, afegir mètriques o adaptar el currículum a una descripció del lloc de treball."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Surt de la pantalla completa"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Més accions de proposta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Mou a"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Ha de començar amb https://"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Cal revisió"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalès"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Contrasenya nova"
|
||||
msgid "New Section"
|
||||
msgstr "Secció nova"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Següent"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Sense publicitat, sense seguiment"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Manteniment continu"
|
||||
msgid "Open"
|
||||
msgstr "Obre"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Assistent d'IA oberta"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Obre el client de correu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integracions obertes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Obre la configuració d'integracions"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Introdueix la contrasenya que t’ha compartit el propietari del curríc
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Introdueix l’URL al qual vols enllaçar:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Si us plau, doneu suport al projecte"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Càrrec"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferències"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparació de canvis"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Preajustaments"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Prem <0>{RETURN_KEY}</0> o <1>{COMMA_KEY}</1> per afegir o desar la para
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Premeu <0>Intro</0> per obrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Color principal"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barra de progrés"
|
||||
msgid "Projects"
|
||||
msgstr "Projectes"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposta {0} de {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protegeix el currículum contra accessos no autoritzats amb una contrasenya"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicacions"
|
||||
msgid "Publisher"
|
||||
msgstr "Editor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Pegat JSON en brut"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ves a la pàgina inicial"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume és un projecte gratuït i de codi obert, creat amb amor
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume és un creador de currículums gratuït i de codi obert que simplifica el procés de crear, actualitzar i compartir el teu currículum."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume és gratuït i de codi obert. Si t'ha ajudat, considera fer una donació."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume és de codi obert, centrat en la privadesa i completament gratuït. A diferència d’altres creadors de currículums, no mostra anuncis, no rastreja les dades ni limita les funcions darrere d’un mur de pagament."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Actualitza"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registra un dispositiu nou"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rebutja"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Rebutja-ho tot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposta rebutjada"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Recordeu la contrasenya? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "S’està tornant a enviar el correu de verificació..."
|
||||
msgid "Reset"
|
||||
msgstr "Restableix"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Restableix el xat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Restableix la contrasenya"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "S’està restablint la contrasenya..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Assistent d'IA per canviar la mida"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Anàlisi del currículum completada."
|
||||
msgid "Resumes"
|
||||
msgstr "Currículums"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Revisió obligatòria"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propostes revisades"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Alinea a la dreta"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Selecciona..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Allotjament propi amb Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Envia el correu per restablir la contrasenya"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "S’està enviant el correu per restablir la contrasenya..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Enviant la sol·licitud"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separador"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Una sola columna amb barra lateral i disposició en quadrícula neta; ve
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "D'una sola columna amb un encapçalament d'entrada de tres columnes en línia (posició · organització · període); compacte i adaptat a ATS, molt adequat per a les convencions de currículum asiàtiques (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Una sola columna amb encapçalaments de secció en majúscules i un fil superior de color primari a cada pàgina; polit per a currículums executius, de consultoria o d'empreses emergents."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Una sola columna; polit i seriós per a posicions sènior o d’àmbit corporatiu."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Estadístiques"
|
||||
msgid "Stay"
|
||||
msgstr "Queda't"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Atura"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Fortaleses"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Color del text"
|
||||
msgid "Thai"
|
||||
msgstr "Tai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "La IA va proposar un canvi que ja no s'aplica a aquest currículum."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "La IA ha retornat una proposta que no es va poder previsualitzar."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "La clau API s’ha suprimit correctament."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Després de la supressió, la clau API ja no podrà accedir a les dades. Aquesta acció no es pot desfer."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "L'assistent es va aturar abans de retornar una proposta."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Aquest és un nom d’URL fàcil d’utilitzar per al currículum."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Això pot trigar uns minuts, segons la resposta del proveïdor d’IA. No tanquis la finestra ni actualitzis la pàgina."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Aquesta proposta està obsoleta. Demana a l'assistent que la generi a partir del currículum més recent."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Aquest currículum està bloquejat i no es pot actualitzar."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Sí, Reactive Resume està disponible en múltiples idiomes. Pots triar l’idioma preferit a la pàgina de configuració o utilitzant el selector d’idioma a l’angle superior dret. Si no hi veus el teu idioma o vols millorar les traduccions existents, pots <0>contribuir a les traduccions a Crowdin<1> (s’obre en una pestanya nova)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Sí. Cada plantilla és completament personalitzable. Pots canviar colors, lletres, espaiat i fins i tot escriure CSS personalitzat per tenir un control total sobre l’aparença del currículum."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Sí. Reactive Resume és completament gratuït d’utilitzar, sense costos ocults, nivells premium ni subscripcions. És de codi obert i sempre serà gratuït."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: cs\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# položka} few {# položky} many {# položek} other {#
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# role} few {# role} many {# rolí} other {# rolí}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} návrhů zkontrolováno"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Ano! Svůj životopis můžete exportovat do PDF jedním kliknutím. Exportované PDF dokonale zachová veškeré vaše formátování a styl."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Přijmout"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Přijmout vše"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Přijatý návrh"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Přistupujte ke svým životopisům a datům programově pomocí API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Přidat řádek před"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikánština"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrace umělé inteligence zakázána"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Návrh umělé inteligence byl použit."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Návrh na umělou inteligenci byl zamítnut."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Použité návrhy umělé inteligence."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Návrhy na umělou inteligenci byly zamítnuty."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asistent životopisů s umělou inteligencí"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albánština"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studijní obor"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Umělá inteligence"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Požádejte o cílenou změnu životopisu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Požádejte o postupnou změnu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Poměr stran"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Žádost o pomoc selhala"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Základy"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Krásné šablony, ze kterých můžete vybírat, a další jsou na cestě."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Před"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengálština"
|
||||
@@ -462,10 +523,6 @@ msgstr "Odrážkový seznam"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Vytvořeno komunitou pro komunitu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Mohu si šablony přizpůsobit?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Mohu svůj životopis exportovat do PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Přehledně"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknutím zde vyberte soubor k importu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Zavřít asistenta s umělou inteligencí"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok kódu"
|
||||
@@ -622,6 +687,10 @@ msgstr "Potvrdit"
|
||||
msgid "Connect"
|
||||
msgstr "Připojit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Před použitím návrhů na úpravu životopisů se připojte a ověřte poskytovatele umělé inteligence."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Zkopírujte tento tajný klíč a použijte ho ve svých aplikacích pro
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopírovat URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nelze použít návrh umělé inteligence."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Odpojit"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Propustit"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentace"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nemáte účet? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Darovat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Přispět na Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktivovat 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Povolit funkce AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Povolit integraci umělé inteligence"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktivovat dvoufázové ověření"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Vše, co zde zadáte, je ukládáno lokálně ve vašem prohlížeči. V
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Příklady: přepsat shrnutí, zúžit jednu odrážku zkušeností, přidat metriky nebo upravit životopis pro popis práce."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ukončit celou obrazovku"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Další akce s návrhem"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Přesunout do"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Musí začít na https://"
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Vyžaduje kontrolu"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepálština"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nové heslo"
|
||||
msgid "New Section"
|
||||
msgstr "Nová sekce"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Další"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Bez reklam, bez sledování"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Průběžná údržba"
|
||||
msgid "Open"
|
||||
msgstr "Otevřít"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Otevřený asistent s umělou inteligencí"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otevřít e-mailového klienta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Otevřené integrace"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Otevřít Nastavení integrace"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Zadejte prosím heslo, které vám sdílel vlastník životopisu, abyste
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Zadejte prosím URL, na kterou chcete odkazovat:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Prosím, podpořte projekt"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pozice"
|
||||
msgid "Preferences"
|
||||
msgstr "Předvolby"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Příprava změn"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Předvolby"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Stiskněte <0>{RETURN_KEY}</0> nebo <1>{COMMA_KEY}</1> pro přidání ne
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Stisknutím klávesy <0>Enter</0> otevřete"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Předchozí"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hlavní barva"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Ukazatel průběhu"
|
||||
msgid "Projects"
|
||||
msgstr "Projekty"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Návrh {0} z {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Chraňte svůj životopis heslem před neoprávněným přístupem"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikace"
|
||||
msgid "Publisher"
|
||||
msgstr "Vydavatel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch pro surový JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – přejít na domovskou stránku"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume je bezplatný open source projekt, vytvořený z lásky
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume je bezplatný nástroj pro tvorbu životopisů s otevřeným zdrojovým kódem, který zjednodušuje proces vytváření, aktualizace a sdílení životopisů."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume je zdarma a má otevřený zdrojový kód. Pokud vám pomohl, zvažte prosím dar."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je open source, zaměřené na soukromí a zcela zdarma. Na rozdíl od jiných nástrojů pro tvorbu životopisů nezobrazuje reklamy, nesleduje vaše data a neomezuje funkce za paywallem."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Obnovit"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrace nového zařízení"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Odmítnout"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Odmítnout vše"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Zamítnutý návrh"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Vzpomínáte si na heslo? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Opětovné odesílání ověřovacího e-mailu…"
|
||||
msgid "Reset"
|
||||
msgstr "Resetovat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Obnovit chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Obnovte své heslo"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Obnovování hesla…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Změna velikosti asistenta s umělou inteligencí"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Zdroje"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analýza životopisu dokončena."
|
||||
msgid "Resumes"
|
||||
msgstr "Životopisy"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Vyžaduje se kontrola"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Zkontrolované návrhy"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Zarovnat vpravo"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Vybrat..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Vlastní hosting pomocí Dockeru"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Poslat"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Odeslat e-mail pro obnovení hesla"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Odesílání e-mailu pro obnovení hesla…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Odesílání požadavku"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Oddělovač"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Jednosloupcové s postranním panelem a čistým mřížkovým rozložen
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Jednosloupcový s inline třísloupcovým záhlavím (pozice - organizace - tečka); kompaktní a vhodný pro ATS, vhodný pro asijské konvence životopisů (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Jednosloupcový s velkými písmeny nadpisů sekcí a horní linií v základní barvě na každé stránce; vybroušené pro životopisy vedoucích pracovníků, konzultantů nebo startupů."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Jednosloupcové; uhlazené a seriózní pro seniorské nebo enterprise pozice."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistiky"
|
||||
msgid "Stay"
|
||||
msgstr "Zůstat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Zastávka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Silné stránky"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Barva textu"
|
||||
msgid "Thai"
|
||||
msgstr "Thajština"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Umělá inteligence navrhla změnu, která se na tento životopis již nevztahuje."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Umělá inteligence vrátila návrh, jehož náhled nebylo možné zobrazit."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API klíč byl úspěšně smazán."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API klíč po smazání již nebude mít přístup k vašim datům. Tuto akci nelze vrátit zpět."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistent se zastavil, než vrátil návrh."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Toto je název vašeho životopisu vhodný pro URL adresu."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Může to trvat několik minut v závislosti na odezvě poskytovatele AI. Nezavírejte prosím okno ani neobnovujte stránku."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Tento návrh je zastaralý. Požádejte asistenta, aby jej znovu vytvořil z nejnovějšího životopisu."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Tento životopis je uzamčen a nelze ho aktualizovat."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ano, Reactive Resume je dostupné ve více jazycích. Svůj preferovaný jazyk si můžete vybrat na stránce nastavení nebo pomocí přepínače jazyka v pravém horním rohu. Pokud svůj jazyk nevidíte nebo chcete vylepšit existující překlady, můžete <0>přispět k překladům na Crowdin<1> (otevře se na nové kartě)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ano! Každá šablona je plně přizpůsobitelná. Můžete měnit barvy, písma, rozestupy a dokonce psát vlastní CSS pro úplnou kontrolu nad vzhledem svého životopisu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ano! Reactive Resume je zcela zdarma k použití, bez skrytých poplatků, prémiových úrovní nebo předplatného. Je open source a vždy zdarma zůstane."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: da\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# elementer}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rolle} other {# roller}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} forslag gennemgået"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Ja, selvfølgelig! Du kan eksportere dit CV til PDF med ét klik. Den eksporterede PDF bevarer al din formatering og styling perfekt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Acceptere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accepter alle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Accepteret forslag"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Få programmatisk adgang til dine CV'er og data ved hjælp af API'et."
|
||||
@@ -229,10 +246,38 @@ msgstr "Tilføj række før"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Efter"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI-integration deaktiveret"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI-forslag anvendt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI-forslag afvist."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI-forslag anvendt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI-forslag afvist."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI CV-assistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albansk"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studieområde"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstig intelligens"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Bed om en målrettet CV-ændring..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Bed om en trinvis ændring"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Billedformat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistent-anmodning mislykkedes"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Grundlæggende"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Smukke skabeloner at vælge imellem, med flere på vej."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Før"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Punktliste"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Af fællesskabet, for fællesskabet."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kan jeg tilpasse skabelonerne?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kan jeg eksportere mit CV til PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Klar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik her for at vælge en fil, der skal importeres"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Luk AI-assistent"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kodeblok"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bekræft"
|
||||
msgid "Connect"
|
||||
msgstr "Forbind"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Opret forbindelse til og bekræft en AI-udbyder, før du bruger forslag til redigering af CV'er."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopiér denne hemmelige nøgle og brug den i dine applikationer for at f
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopiér URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Kunne ikke anvende AI-forslaget."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Afbryd forbindelse"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Afskedige"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Har du ikke en konto? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donér"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donér til Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktivér 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktivér AI-funktioner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktivér AI-integration"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktivér to-faktor-godkendelse"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Alt hvad du indtaster her, gemmes lokalt i din browser. Dine data sendes
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Eksempler: omskriv resuméet, stram ét erfaringspunkt, tilføj målinger eller tilpas CV'et til en jobbeskrivelse."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Afslut fuldskærm"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Flere forslagshandlinger"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Flyt til"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Skal starte med https://"
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Skal gennemgås"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalesisk"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Ny adgangskode"
|
||||
msgid "New Section"
|
||||
msgstr "Nyt afsnit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Næste"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Ingen reklamer, ingen sporing"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Løbende vedligeholdelse"
|
||||
msgid "Open"
|
||||
msgstr "Åbn"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Åbn AI-assistent"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Åbn e-mailklient"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Åbne integrationer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Åbn indstillinger for integrationer"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Indtast adgangskoden, som ejeren af CV'et har delt med dig, for at forts
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Angiv den URL, du vil oprette et link til:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Støt venligst projektet"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Stilling"
|
||||
msgid "Preferences"
|
||||
msgstr "Præferencer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Forbereder ændringer"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Forudindstillinger"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Tryk på <0>{RETURN_KEY}</0> eller <1>{COMMA_KEY}</1> for at tilføje el
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Tryk på <0>Enter</0> for at åbne"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Forrige"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primær farve"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Statuslinje"
|
||||
msgid "Projects"
|
||||
msgstr "Projekter"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Forslag {0} af {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Beskyt dit CV mod uautoriseret adgang med en adgangskode"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikationer"
|
||||
msgid "Publisher"
|
||||
msgstr "Udgiver"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Rå JSON-patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Gå til startside"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume er et gratis og open-source projekt, bygget med kærligh
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume er en gratis og open-source CV-bygger, der forenkler processen med at oprette, opdatere og dele dit CV."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume er gratis og open source. Hvis det har hjulpet dig, så overvej venligst at donere."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume er open-source, fokuserer på privatliv og er helt gratis. I modsætning til andre CV-byggere viser det ingen reklamer, sporer ikke dine data og begrænser ikke funktioner bag en betalingsmur."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Opdater"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrer ny enhed"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Afvise"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Afvis alle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Afvist forslag"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Husker du din adgangskode? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Gensender bekræftelsesmail..."
|
||||
msgid "Reset"
|
||||
msgstr "Nulstil"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Nulstil chatten"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Nulstil din adgangskode"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Nulstiller din adgangskode..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Ændre størrelse på AI-assistenten"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ressourcer"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV-analysen er færdig."
|
||||
msgid "Resumes"
|
||||
msgstr "CV'er"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Gennemgang påkrævet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Gennemgåede forslag"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Højrejustér"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Vælg..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selvhostning med Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Sende"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Send e-mail til nulstilling af adgangskode"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Sender e-mail til nulstilling af adgangskode..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Sender anmodning"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Skillelinje"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Enkeltkolonne med sidebjælke og rent gitterlayout; alsidig til enhver p
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Enspaltet med en inline-overskrift på tre spalter (position - organisation - periode); kompakt og ATS-venlig, velegnet til asiatiske CV-konventioner (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Enkelt kolonne med sektionsoverskrifter med store bogstaver og en primærfarvet toplinje på hver side; poleret til CV'er for ledere, konsulenter eller startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Enkeltkolonne; poleret og seriøs til senior- eller enterprise-stillinger."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistik"
|
||||
msgid "Stay"
|
||||
msgstr "Bliv"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Styrker"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Tekstfarve"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI'en har foreslået en ændring, der ikke længere gælder for dette CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI'en returnerede et forslag, der ikke kunne forhåndsvises."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-nøglen er blevet slettet."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API-nøglen vil ikke længere kunne få adgang til dine data efter sletning. Denne handling kan ikke fortrydes."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Assistenten stoppede, før han gentog et forslag."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Dette er et URL-venligt navn til dit CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Dette kan tage et par minutter afhængigt af svaret fra AI-udbyderen. Luk venligst ikke vinduet og genindlæs ikke siden."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Dette forslag er forældet. Bed assistenten om at generere det fra det seneste CV."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Dette CV er låst og kan ikke opdateres."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume er tilgængelig på flere sprog. Du kan vælge dit foretrukne sprog på indstillingssiden eller ved hjælp af sprogvælgeren i øverste højre hjørne. Hvis du ikke kan se dit sprog, eller hvis du gerne vil forbedre de eksisterende oversættelser, kan du <0>bidrage til oversættelserne på Crowdin<1> (åbner i ny fane)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Hver skabelon er fuldt ud til at tilpasse. Du kan ændre farver, skrifttyper, mellemrum og endda skrive brugerdefineret CSS for fuld kontrol over dit CV's udseende."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume er helt gratis at bruge, uden skjulte omkostninger, premium-niveauer eller abonnementsgebyrer. Det er open-source og vil altid forblive gratis."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# Element} other {# Elemente}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# Rolle} other {# Rollen}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} geprüfte Vorschläge"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Auf jeden Fall! Du kannst deinen Lebenslauf mit einem einzigen Klick als PDF exportieren. Das exportierte PDF übernimmt all deine Formatierungen und dein Styling perfekt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Akzeptieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Alle akzeptieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Angenommener Vorschlag"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Greife mit der API programmgesteuert auf deine Lebensläufe und Daten zu."
|
||||
@@ -229,10 +246,38 @@ msgstr "Zeile davor einfügen"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Nach"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "KI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "KI-Integration deaktiviert"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "KI-Vorschlag eingereicht."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "KI-Vorschlag abgelehnt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "KI-Vorschläge wurden eingereicht."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "KI-Vorschläge abgelehnt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "KI-Lebenslaufassistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanisch"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studienfach"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Künstliche Intelligenz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Bitten Sie um eine gezielte Lebenslaufänderung..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Bitten Sie um eine schrittweise Änderung"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Seitenverhältnis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistentenanfrage fehlgeschlagen"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Grundlagen"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Schöne Vorlagen zur Auswahl – und es kommen laufend weitere hinzu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Vor"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalisch"
|
||||
@@ -462,10 +523,6 @@ msgstr "Aufzählungsliste"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Von der Gemeinschaft, für die Gemeinschaft."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kann ich die Vorlagen anpassen?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kann ich meinen Lebenslauf als PDF exportieren?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Klar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Hier klicken, um eine Datei zum Importieren auszuwählen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Schließen Sie den KI-Assistenten"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Code-Block"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bestätigen"
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Bevor Sie Vorschläge zur Lebenslaufbearbeitung nutzen, sollten Sie einen KI-Anbieter kontaktieren und dessen Eignung überprüfen."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopiere diesen geheimen Schlüssel und verwende ihn in deinen Anwendunge
|
||||
msgid "Copy URL"
|
||||
msgstr "URL kopieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Der KI-Vorschlag konnte nicht angewendet werden."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Trennen"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Zurückweisen"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Sie haben noch kein Konto? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Spenden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "An Reactive Resume spenden"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA aktivieren"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "KI-Funktionen aktivieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "KI-Integration aktivieren"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Zwei-Faktor-Authentifizierung aktivieren"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Alles, was du hier eingibst, wird lokal in deinem Browser gespeichert. D
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Beispiele: die Zusammenfassung überarbeiten, einen Erfahrungspunkt präzisieren, Kennzahlen hinzufügen oder den Lebenslauf an eine Stellenbeschreibung anpassen."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Vollbild schließen"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Weitere Aktionsvorschläge"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Verschieben nach"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Muss mit https:// beginnen."
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Überprüfung erforderlich"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalesisch"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Neues Passwort"
|
||||
msgid "New Section"
|
||||
msgstr "Neuer Abschnitt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Nächste"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Keine Werbung, kein Tracking"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Laufende Wartung"
|
||||
msgid "Open"
|
||||
msgstr "Öffnen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Offener KI-Assistent"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-Mail-Programm öffnen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Offene Integrationen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Integrationseinstellungen öffnen"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Bitte geben Sie das Passwort ein, das Ihnen vom Besitzer des Lebenslaufs
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Bitte geben Sie die URL ein, zu der Sie verlinken möchten:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Bitte unterstützen Sie das Projekt."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Position"
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Änderungen vorbereiten"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Voreinstellungen"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Drücken Sie <0>{RETURN_KEY}</0> oder <1>{COMMA_KEY}</1>, um das aktuell
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Drücken Sie <0>Enter</0> zum Öffnen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primärfarbe"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Fortschrittsbalken"
|
||||
msgid "Projects"
|
||||
msgstr "Projekte"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Vorschlag {0} von {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Schützen Sie Ihren Lebenslauf mit einem Passwort vor unbefugtem Zugriff"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Veröffentlichungen"
|
||||
msgid "Publisher"
|
||||
msgstr "Verlag"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Raw JSON Patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – Zur Startseite gehen"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ist ein kostenloses Open-Source-Projekt, mit viel Liebe
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ist ein kostenloser und quelloffener Lebenslauf-Builder, der das Erstellen, Aktualisieren und Teilen Ihres Lebenslaufs vereinfacht."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume ist kostenlos und Open Source. Wenn es Ihnen geholfen hat, würden wir uns über eine Spende freuen."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ist Open Source, datenschutzorientiert und vollständig kostenlos. Anders als andere Lebenslauf-Builder zeigt es keine Werbung an, trackt deine Daten nicht und versteckt keine Funktionen hinter einer Bezahlschranke."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Aktualisieren"
|
||||
msgid "Register New Device"
|
||||
msgstr "Neues Gerät registrieren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Alle ablehnen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Abgelehnter Vorschlag"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Passwort noch parat? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Verifizierungs-E-Mail wird erneut gesendet..."
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Chat zurücksetzen"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Setzen Sie Ihr Passwort zurück"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Ihr Passwort wird zurückgesetzt..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "KI-Assistenten zur Größenänderung"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ressourcen"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analyse des Lebenslaufs abgeschlossen."
|
||||
msgid "Resumes"
|
||||
msgstr "Lebensläufe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Überprüfung erforderlich"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Geprüfte Vorschläge"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Rechtsbündig"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Auswählen..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selbst hosten mit Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Schicken"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "E-Mail zum Zurücksetzen des Passworts senden"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "E-Mail zum Zurücksetzen des Passworts wird gesendet..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Anfrage senden"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Trennzeichen"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Einspaltig mit Seitenleiste und sauberem Rasterlayout; vielseitig für j
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Einspaltig mit einer dreispaltigen Kopfzeile (Position - Organisation - Punkt); kompakt und ATS-freundlich, gut geeignet für asiatische Lebenslaufkonventionen (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Einspaltig mit in Großbuchstaben geschriebenen Abschnittsüberschriften und einer farbigen Trennlinie am oberen Rand jeder Seite; optimiert für Lebensläufe von Führungskräften, Beratern oder Startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Einspaltig; seriös und ausgefeilt für Senior- oder Enterprise-Positionen."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistiken"
|
||||
msgid "Stay"
|
||||
msgstr "Hier bleiben"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Stärken"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Textfarbe"
|
||||
msgid "Thai"
|
||||
msgstr "Thailändisch"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Die KI hat eine Änderung vorgeschlagen, die auf diesen Lebenslauf nicht mehr zutrifft."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Die KI hat einen Vorschlag zurückgegeben, der nicht in der Vorschau angezeigt werden konnte."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Der API-Schlüssel wurde erfolgreich gelöscht."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Der API-Schlüssel kann nach dem Löschen nicht mehr auf deine Daten zugreifen. Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Der Assistent hielt inne, bevor er einen Vorschlag zurückgeben konnte."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Dies ist ein URL-freundlicher Name für Ihren Lebenslauf."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Dies kann einige Minuten dauern, abhängig von der Antwort des KI-Anbieters. Bitte schließe das Fenster nicht und lade die Seite nicht neu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Dieser Vorschlag ist veraltet. Bitten Sie Ihren Assistenten, ihn anhand des aktuellen Lebenslaufs neu zu erstellen."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Dieser Lebenslauf ist gesperrt und kann nicht aktualisiert werden."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume ist in mehreren Sprachen verfügbar. Du kannst deine bevorzugte Sprache auf der Einstellungsseite oder über den Sprachumschalter in der oberen rechten Ecke auswählen. Wenn du deine Sprache nicht findest oder die bestehenden Übersetzungen verbessern möchtest, kannst du <0>auf Crowdin zu den Übersetzungen beitragen<1> (öffnet in neuem Tab)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Jede Vorlage ist vollständig anpassbar. Du kannst Farben, Schriften und Abstände ändern und sogar eigenes CSS schreiben, um die Darstellung deines Lebenslaufs vollständig zu kontrollieren."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume ist völlig kostenlos nutzbar, ohne versteckte Kosten, Premium-Stufen oder Abonnementgebühren. Es ist Open Source und wird immer kostenlos bleiben."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: el\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# στοιχείο} other {# στοιχεία}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ρόλος} other {# ρόλοι}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} προτάσεις που εξετάστηκαν"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "Α4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Φυσικά! Μπορείτε να εξαγάγετε το βιογραφικό σας σημείωμα σε PDF με ένα μόνο κλικ. Το εξαγόμενο PDF διατηρεί άψογα όλη τη μορφοποίηση και το στυλ σας."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Αποδέχομαι"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Αποδοχή όλων"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Αποδεκτή πρόταση"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Αποκτήστε πρόσβαση στα βιογραφικά σημειώματά σας και στα δεδομένα σας προγραμματιστικά χρησιμοποιώντας το API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Προσθήκη γραμμής πριν"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Αφρικάανς"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Μετά"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "ΤΝ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Η ενσωμάτωση τεχνητής νοημοσύνης απενεργοποιήθηκε"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Η πρόταση τεχνητής νοημοσύνης εφαρμόστηκε."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Η πρόταση για την Τεχνητή Νοημοσύνη απορρίφθηκε."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Εφαρμόστηκαν προτάσεις για την Τεχνητή Νοημοσύνη."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Οι προτάσεις για τεχνητή νοημοσύνη απορρίφθηκαν."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Βοηθός βιογραφικού AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Αλβανικά"
|
||||
@@ -367,10 +412,22 @@ msgstr "Τομέας σπουδών"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Τεχνητή Νοημοσύνη"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Ζητήστε μια στοχευμένη αλλαγή βιογραφικού..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Ζητήστε μια σταδιακή αλλαγή"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Αναλογία διαστάσεων"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Το αίτημα του Βοηθού απέτυχε"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Βασικά στοιχεία"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Όμορφα πρότυπα για να επιλέξετε, με ακόμα περισσότερα καθ’ οδόν."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Προτού"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Μπενγκάλι"
|
||||
@@ -462,10 +523,6 @@ msgstr "Λίστα κουκκίδων"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Από την κοινότητα, για την κοινότητα."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Μπορώ να προσαρμόσω τα πρότυπα;"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Μπορώ να εξαγάγω το βιογραφικό μου σημείωμα σε PDF;"
|
||||
@@ -576,6 +633,14 @@ msgstr "Σαφής"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Κάντε κλικ εδώ για να επιλέξετε ένα αρχείο προς εισαγωγή"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Κλείσιμο βοηθού τεχνητής νοημοσύνης"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Μπλοκ κώδικα"
|
||||
@@ -622,6 +687,10 @@ msgstr "Επιβεβαίωση"
|
||||
msgid "Connect"
|
||||
msgstr "Σύνδεση"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Συνδεθείτε και επαληθεύστε έναν πάροχο τεχνητής νοημοσύνης πριν χρησιμοποιήσετε προτάσεις επεξεργασίας βιογραφικού."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Αντιγράψτε αυτό το μυστικό κλειδί και χ
|
||||
msgid "Copy URL"
|
||||
msgstr "Αντιγραφή URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Δεν ήταν δυνατή η εφαρμογή της πρότασης τεχνητής νοημοσύνης."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Αποσύνδεση"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Απολύω"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Τεκμηρίωση"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Δεν έχετε λογαριασμό; <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Προσφέρω"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Κάντε μία δωρεά στο Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Ενεργοποίηση 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Ενεργοποίηση λειτουργιών ΤΝ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Ενεργοποίηση ενσωμάτωσης τεχνητής νοημοσύνης"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Ενεργοποίηση ελέγχου ταυτότητας δυο σταδίων"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Παραδείγματα: ξαναγράψτε την περίληψη, περιορίστε ένα σημείο εμπειρίας, προσθέστε μετρήσεις ή προσαρμόστε το βιογραφικό σημείωμα για μια περιγραφή θέσης εργασίας."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Έξοδος από πλήρη οθόνη"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Μοντέλο"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Περισσότερες ενέργειες πρότασης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Μετακίνηση σε"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Πρέπει να αρχίζει με https://"
|
||||
msgid "Name"
|
||||
msgstr "Όνομα"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Χρειάζεται αναθεώρηση"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Νεπάλι"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Νέος κωδικός πρόσβασης"
|
||||
msgid "New Section"
|
||||
msgstr "Νέα ενότητα"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Επόμενο"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Χωρίς διαφημίσεις, χωρίς παρακολούθηση"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Συνεχής συντήρηση"
|
||||
msgid "Open"
|
||||
msgstr "Άνοιγμα"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Ανοιχτός βοηθός τεχνητής νοημοσύνης"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Άνοιγμα προγράμματος email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Ανοιχτές Ενοποιήσεις"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Ανοίξτε τις Ρυθμίσεις Ολοκληρώσεων"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Εισαγάγετε τον κωδικό πρόσβασης που μο
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Εισαγάγετε το URL στο οποίο θέλετε να γίνεται ο σύνδεσμος:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Παρακαλώ υποστηρίξτε το έργο"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Θέση"
|
||||
msgid "Preferences"
|
||||
msgstr "Προτιμήσεις"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Προετοιμασία αλλαγών"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Προεπιλογές"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Πατήστε <0>{RETURN_KEY}</0> ή <1>{COMMA_KEY}</1> για να π
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Πατήστε <0>Enter</0> για να ανοίξετε"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Προηγούμενο"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Βασικό χρώμα"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Γραμμή προόδου"
|
||||
msgid "Projects"
|
||||
msgstr "Έργα"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Πρόταση {0} από {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Προστατέψτε το βιογραφικό σας σημείωμα από μη εξουσιοδοτημένη πρόσβαση με έναν κωδικό πρόσβασης"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Δημοσιεύσεις"
|
||||
msgid "Publisher"
|
||||
msgstr "Εκδότης"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Ακατέργαστη ενημέρωση κώδικα JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Μετάβαση στην αρχική σελίδα"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Το Reactive Resume είναι ένα δωρεάν έργο ανοικ
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Το Reactive Resume είναι ένας δωρεάν κατασκευαστής βιογραφικών σημειωμάτων ανοικτού κώδικα που απλοποιεί τη διαδικασία δημιουργίας, ενημέρωσης και κοινοποίησης του βιογραφικού σας σημειώματος."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Το Reactive Resume είναι δωρεάν και ανοιχτού κώδικα. Αν σας έχει βοηθήσει, σκεφτείτε να κάνετε μια δωρεά."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Το Reactive Resume είναι ανοικτού κώδικα, με έμφαση στο απόρρητο και εντελώς δωρεάν. Σε αντίθεση με άλλους κατασκευαστές βιογραφικών σημειωμάτων, δεν εμφανίζει διαφημίσεις, δεν παρακολουθεί τα δεδομένα σας και δεν περιορίζει τις λειτουργίες του πίσω από paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Ανανέωση"
|
||||
msgid "Register New Device"
|
||||
msgstr "Εγγραφή νέας συσκευής"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Απορρίπτω"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Απόρριψη όλων"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Απορρίφθηκε η πρόταση"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Θυμάστε τον κωδικό σας; <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Επαναποστολή email επαλήθευσης..."
|
||||
msgid "Reset"
|
||||
msgstr "Επαναφορά"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Επαναφορά συνομιλίας"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Επαναφορά κωδικού πρόσβασης"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Επαναφορά κωδικού πρόσβασης..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Αλλαγή μεγέθους βοηθού τεχνητής νοημοσύνης"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Πόροι"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Η ανάλυση του βιογραφικού ολοκληρώθηκε
|
||||
msgid "Resumes"
|
||||
msgstr "Βιογραφικά σημειώματα"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Απαιτείται έλεγχος"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Εξετασμένες προτάσεις"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Στοίχιση δεξιά"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Επιλογή..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Αυτο-φιλοξενία με Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Στέλνω"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Αποστολή email επαναφοράς κωδικού πρόσβα
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Αποστολή email επαναφοράς κωδικού πρόσβασης..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Αποστολή αιτήματος"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Διαχωριστικό"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Μονή στήλη με πλαϊνή μπάρα και καθαρή δ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Μονόστηλο με γραμμική κεφαλίδα εισόδου τριών στηλών (θέση - οργάνωση - περίοδος)- συμπαγές και φιλικό προς την ATS, κατάλληλο για τις ασιατικές συμβάσεις βιογραφικού σημειώματος (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Μονόστηλο με κεφαλαία γράμματα στις επικεφαλίδες και κύριο χρώμα στο πάνω μέρος σε κάθε σελίδα. Βελτιωμένο για βιογραφικά στελεχών, συμβούλων ή νεοσύστατων επιχειρήσεων."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Μονή στήλη· προσεγμένο και σοβαρό για ανώτερες ή θέσεις εταιρικού επιπέδου."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Στατιστικά"
|
||||
msgid "Stay"
|
||||
msgstr "Παραμονή"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Στάση"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Δυνατά σημεία"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Χρώμα κειμένου"
|
||||
msgid "Thai"
|
||||
msgstr "Ταϊλανδικά"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Η Τεχνητή Νοημοσύνη πρότεινε μια αλλαγή που δεν ισχύει πλέον για αυτό το βιογραφικό."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Η Τεχνητή Νοημοσύνη επέστρεψε μια πρόταση της οποίας η προεπισκόπηση δεν ήταν δυνατή."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Το κλειδί API διαγράφηκε με επιτυχία."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Μετά τη διαγραφή, το κλειδί API δεν θα μπορεί πλέον να αποκτά πρόσβαση στα δεδομένα σας. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Ο βοηθός σταμάτησε πριν επιστρέψει μια πρόταση."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Αυτό είναι ένα φιλικό προς το URL όνομα γ
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Αυτό μπορεί να πάρει μερικά λεπτά, ανάλογα με την απόκριση του παρόχου ΤΝ. Μην κλείσετε το παράθυρο ή ανανεώσετε τη σελίδα."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Αυτή η πρόταση είναι παλιά. Ζητήστε από τον βοηθό να την αναδημιουργήσει από το πιο πρόσφατο βιογραφικό."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Αυτό το βιογραφικό σημείωμα είναι κλειδωμένο και δεν μπορεί να ενημερωθεί."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "Χ (Τwitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ναι, το Reactive Resume είναι διαθέσιμο σε πολλές γλώσσες. Μπορείτε να επιλέξετε την προτιμώμενη γλώσσα σας στη σελίδα ρυθμίσεων ή χρησιμοποιώντας τον επιλογέα γλώσσας στην επάνω δεξιά γωνία. Αν δεν βλέπετε τη γλώσσα σας ή θα θέλατε να βελτιώσετε τις υπάρχουσες μεταφράσεις, μπορείτε να <0>συμβάλετε στις μεταφράσεις στο Crowdin<1> (ανοίγει σε νέα καρτέλα)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ναι! Κάθε πρότυπο είναι πλήρως προσαρμόσιμο. Μπορείτε να αλλάξετε χρώματα, γραμματοσειρές, αποστάσεις και ακόμη και να γράψετε προσαρμοσμένο CSS για πλήρη έλεγχο της εμφάνισης του βιογραφικού σας σημειώματος."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ναι! Το Reactive Resume είναι εντελώς δωρεάν στη χρήση, χωρίς κρυφές χρεώσεις, επίπεδα premium ή συνδρομές. Είναι ανοικτού κώδικα και θα παραμείνει πάντα δωρεάν."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: en_GB\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: English, United Kingdom\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# item} other {# items}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# role} other {# roles}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} proposals reviewed"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accept"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accept all"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Accepted proposal"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Access your resumes and data programmatically using the API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Add Row Before"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "After"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI integration disabled"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI proposal applied."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI proposal rejected."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI proposals applied."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI proposals rejected."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI Resume Assistant"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -367,10 +412,22 @@ msgstr "Area of Study"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Artificial Intelligence"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Ask for a targeted resume change..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Ask for an incremental change"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspect Ratio"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistant request failed"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Basics"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Beautiful templates to choose from, with more on the way."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Before"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Bullet List"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "By the community, for the community."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Can I customise the templates?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Can I export my resume to PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clear"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Click here to select a file to import"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Close AI assistant"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Code Block"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirm"
|
||||
msgid "Connect"
|
||||
msgstr "Connect"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Connect and verify an AI provider before using resume editing proposals."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copy this secret key and use it in your applications to access your data
|
||||
msgid "Copy URL"
|
||||
msgstr "Copy URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Could not apply the AI proposal."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Disconnect"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Dismiss"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Don't have an account? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donate"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donate to Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Enable 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Enable AI Features"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Enable AI integration"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Enable Two-Factor Authentication"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Everything entered here is stored locally on your browser. Your data is
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Exit fullscreen"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "More proposal actions"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Move to"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Must start with https://"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Needs review"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "New Password"
|
||||
msgid "New Section"
|
||||
msgstr "New Section"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "No Advertising, No Tracking"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Ongoing Maintenance"
|
||||
msgid "Open"
|
||||
msgstr "Open"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Open AI assistant"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Open Email Client"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Open Integrations"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Open Integrations Settings"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Please enter the password shared with you by the owner of the resume to
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Please enter the URL you want to link to:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Please support the project"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Position"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparing changes"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Presets"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Press <0>{RETURN_KEY}</0> or <1>{COMMA_KEY}</1> to add or save the curre
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Press <0>Enter</0> to open"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Prev"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primary Colour"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Progress Bar"
|
||||
msgid "Projects"
|
||||
msgstr "Projects"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposal {0} of {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protect your resume from unauthorised access with a password"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publications"
|
||||
msgid "Publisher"
|
||||
msgstr "Publisher"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Raw JSON Patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Go to homepage"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume is a free and open-source project, built with love and m
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 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."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Refresh"
|
||||
msgid "Register New Device"
|
||||
msgstr "Register New Device"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Reject"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Reject all"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Rejected proposal"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Remember your password? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Resending verification email..."
|
||||
msgid "Reset"
|
||||
msgstr "Reset"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reset chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Reset your password"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Resetting your password..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Resize AI assistant"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resources"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Resume analysis complete."
|
||||
msgid "Resumes"
|
||||
msgstr "Resumes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Review required"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Reviewed proposals"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Right Align"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Select..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host with Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Send"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Send Password Reset Email"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Sending password reset email..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Sending request"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separator"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Single-column with a sidebar and clean grid layout; versatile for any pr
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistics"
|
||||
msgid "Stay"
|
||||
msgstr "Stay"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Strengths"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Text Colour"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "The AI proposed a change that no longer applies to this resume."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "The AI returned a proposal that could not be previewed."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "The API key has been deleted successfully."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "The assistant stopped before returning a proposal."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "This is a URL-friendly name for your resume."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "This resume is locked and cannot be updated."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Yes! Every template is fully customisable. You can change colours, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "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."
|
||||
|
||||
+199
-8
@@ -43,6 +43,11 @@ msgstr "{0, plural, one {# item} other {# items}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# role} other {# roles}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} proposals reviewed"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -114,6 +119,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accept"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accept all"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Accepted proposal"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Access your resumes and data programmatically using the API."
|
||||
@@ -224,10 +241,38 @@ msgstr "Add Row Before"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "After"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI integration disabled"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI proposal applied."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI proposal rejected."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI proposals applied."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI proposals rejected."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI Resume Assistant"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -362,10 +407,22 @@ msgstr "Area of Study"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Artificial Intelligence"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Ask for a targeted resume change..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Ask for an incremental change"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspect Ratio"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistant request failed"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -416,6 +473,10 @@ msgstr "Basics"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Beautiful templates to choose from, with more on the way."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Before"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -457,10 +518,6 @@ msgstr "Bullet List"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "By the community, for the community."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Can I customize the templates?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Can I export my resume to PDF?"
|
||||
@@ -571,6 +628,14 @@ msgstr "Clear"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Click here to select a file to import"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Close AI assistant"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Code Block"
|
||||
@@ -617,6 +682,10 @@ msgstr "Confirm"
|
||||
msgid "Connect"
|
||||
msgstr "Connect"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Connect and verify an AI provider before using resume editing proposals."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -664,6 +733,10 @@ msgstr "Copy this secret key and use it in your applications to access your data
|
||||
msgid "Copy URL"
|
||||
msgstr "Copy URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Could not apply the AI proposal."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -956,6 +1029,10 @@ msgstr "Disconnect"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Dismiss"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -965,6 +1042,10 @@ msgstr "Documentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Don't have an account? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donate"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donate to Reactive Resume"
|
||||
@@ -1089,6 +1170,10 @@ msgstr "Enable 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Enable AI Features"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Enable AI integration"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Enable Two-Factor Authentication"
|
||||
@@ -1157,6 +1242,10 @@ msgstr "Everything entered here is stored locally on your browser. Your data is
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Exit Fullscreen"
|
||||
@@ -1951,6 +2040,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "More proposal actions"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Move to"
|
||||
@@ -1977,6 +2070,10 @@ msgstr "Must start with https://"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Needs review"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2007,6 +2104,10 @@ msgstr "New Password"
|
||||
msgid "New Section"
|
||||
msgstr "New Section"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "No Advertising, No Tracking"
|
||||
@@ -2056,11 +2157,19 @@ msgstr "Ongoing Maintenance"
|
||||
msgid "Open"
|
||||
msgstr "Open"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Open AI assistant"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Open Email Client"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Open Integrations"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Open Integrations Settings"
|
||||
@@ -2214,6 +2323,10 @@ msgstr "Please enter the password shared with you by the owner of the resume to
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Please enter the URL you want to link to:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Please support the project"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2249,6 +2362,10 @@ msgstr "Position"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparing changes"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Presets"
|
||||
@@ -2262,6 +2379,10 @@ msgstr "Press <0>{RETURN_KEY}</0> or <1>{COMMA_KEY}</1> to add or save the curre
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Press <0>Enter</0> to open"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Prev"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primary Color"
|
||||
@@ -2292,6 +2413,11 @@ msgstr "Progress Bar"
|
||||
msgid "Projects"
|
||||
msgstr "Projects"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposal {0} of {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protect your resume from unauthorized access with a password"
|
||||
@@ -2314,6 +2440,10 @@ msgstr "Publications"
|
||||
msgid "Publisher"
|
||||
msgstr "Publisher"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Raw JSON Patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Go to homepage"
|
||||
@@ -2335,6 +2465,10 @@ msgstr "Reactive Resume is a free and open-source project, built with love and m
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 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."
|
||||
@@ -2375,6 +2509,18 @@ msgstr "Refresh"
|
||||
msgid "Register New Device"
|
||||
msgstr "Register New Device"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Reject"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Reject all"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Rejected proposal"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Remember your password? <0/>"
|
||||
@@ -2425,6 +2571,10 @@ msgstr "Resending verification email..."
|
||||
msgid "Reset"
|
||||
msgstr "Reset"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reset chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2438,6 +2588,10 @@ msgstr "Reset your password"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Resetting your password..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Resize AI assistant"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resources"
|
||||
@@ -2458,6 +2612,14 @@ msgstr "Resume analysis complete."
|
||||
msgid "Resumes"
|
||||
msgstr "Resumes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Review required"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Reviewed proposals"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Right Align"
|
||||
@@ -2556,6 +2718,10 @@ msgstr "Select..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host with Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Send"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2565,6 +2731,10 @@ msgstr "Send Password Reset Email"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Sending password reset email..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Sending request"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separator"
|
||||
@@ -2703,6 +2873,10 @@ msgstr "Single-column with a sidebar and clean grid layout; versatile for any pr
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
@@ -2803,6 +2977,10 @@ msgstr "Statistics"
|
||||
msgid "Stay"
|
||||
msgstr "Stay"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Strengths"
|
||||
@@ -2897,6 +3075,14 @@ msgstr "Text Color"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "The AI proposed a change that no longer applies to this resume."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "The AI returned a proposal that could not be previewed."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2910,6 +3096,10 @@ msgstr "The API key has been deleted successfully."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "The assistant stopped before returning a proposal."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2976,7 +3166,12 @@ msgstr "This is a URL-friendly name for your resume."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "This resume is locked and cannot be updated."
|
||||
|
||||
@@ -3380,10 +3575,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "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."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# elemento} other {# elementos}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# puesto} other {# puestos}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propuestas revisadas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Por supuesto. Puedes exportar tu currículum a PDF con un solo clic. El PDF exportado mantiene perfectamente todo tu formato y estilo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Aceptar todo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Propuesta aceptada"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Accede a tus currículums y datos de forma programática usando la API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Añadir fila antes"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikáans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Después"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integración de IA desactivada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Se ha aplicado la propuesta de IA."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Propuesta de IA rechazada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Se han presentado propuestas de IA."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propuestas de IA rechazadas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asistente de IA para la elaboración de currículums"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanés"
|
||||
@@ -367,10 +412,22 @@ msgstr "Área de estudio"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligencia artificial"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Solicita un cambio específico en tu currículum..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Solicitar un cambio gradual"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relación de aspecto"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "La solicitud de asistencia falló."
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Lo esencial"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Hermosas plantillas entre las que puedes elegir, y pronto habrá más."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Antes"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalí"
|
||||
@@ -462,10 +523,6 @@ msgstr "Lista con viñetas"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Por la comunidad, para la comunidad."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "¿Puedo personalizar las plantillas?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "¿Puedo exportar mi currículum a PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Claro"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Haz clic aquí para seleccionar un archivo para importar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Asistente de IA de cierre"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloque de código"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirmar"
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Antes de utilizar las propuestas de edición de currículums, contacte con un proveedor de IA y verifíquelo."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copia esta clave secreta y úsala en tus aplicaciones para acceder a tus
|
||||
msgid "Copy URL"
|
||||
msgstr "Copiar URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "No se pudo aplicar la propuesta de IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Desconectar"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Despedir"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentación"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "¿No tienes una cuenta? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donar a Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Habilitar 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Habilitar funciones de IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Habilitar la integración de la IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Habilitar la autenticación de doble factor"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Todo lo que introduzcas aquí se almacena localmente en tu navegador. Tu
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Ejemplos: reescribir el resumen, concretar un punto de la experiencia, añadir métricas o adaptar el currículum a la descripción del puesto."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Salir de pantalla completa"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Más propuestas de acción"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Mover a"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Debe empezar por https://"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Necesita revisión"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalí"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nueva contraseña"
|
||||
msgid "New Section"
|
||||
msgstr "Nueva sección"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Sin publicidad, sin rastreo"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Mantenimiento continuo"
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Asistente de IA abierta"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de correo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integraciones abiertas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Abrir Configuración de integraciones"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Introduce la contraseña que el propietario del currículum compartió c
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Introduce la URL a la que quieres enlazar:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Por favor, apoyen el proyecto."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Puesto"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparando cambios"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Preajustes"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Presiona <0>{RETURN_KEY}</0> o <1>{COMMA_KEY}</1> para agregar o guardar
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Pulse <0>Intro</0> para abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Color primario"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barra de progreso"
|
||||
msgid "Projects"
|
||||
msgstr "Proyectos"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Propuesta {0} de {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protege tu currículum del acceso no autorizado con una contraseña"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicaciones"
|
||||
msgid "Publisher"
|
||||
msgstr "Editor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Parche JSON sin procesar"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ir a la página de inicio"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume es un proyecto gratuito y de código abierto, creado con
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume es un creador de currículums gratuito y de código abierto que simplifica el proceso de crear, actualizar y compartir tu currículum."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume es gratuito y de código abierto. Si te ha sido útil, considera hacer una donación."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume es de código abierto, centrado en la privacidad y completamente gratuito. A diferencia de otros creadores de currículums, no muestra anuncios, no rastrea tus datos ni limita tus funciones tras un muro de pago."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Actualizar"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrar nuevo dispositivo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Rechazar todo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Propuesta rechazada"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "¿Recuerdas tu contraseña? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Reenviando correo de verificación..."
|
||||
msgid "Reset"
|
||||
msgstr "Restablecer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reiniciar chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Restablecer tu contraseña"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Restableciendo tu contraseña..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Asistente de IA para redimensionar"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Análisis del currículum finalizado."
|
||||
msgid "Resumes"
|
||||
msgstr "Currículums"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Se requiere revisión"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propuestas revisadas"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Alinear a la derecha"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Seleccionar..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto alojamiento con Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Enviar correo para restablecer contraseña"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Enviando correo para restablecer contraseña..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Enviando solicitud"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separador"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Una sola columna con una barra lateral y un diseño de cuadrícula limpi
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Una sola columna con un encabezado de entrada en línea de tres columnas (cargo - organización - punto); compacto y apto para ATS, muy adecuado para las convenciones asiáticas de currículum (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Currículum de una sola columna con encabezados de sección en mayúsculas y una línea superior de color primario en cada página; ideal para currículums de ejecutivos, consultores o empresas emergentes."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Una sola columna; pulido y serio para puestos sénior o de nivel empresarial."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Estadísticas"
|
||||
msgid "Stay"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Detener"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Puntos fuertes"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Color del texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandés"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "La IA propuso un cambio que ya no se aplica a este currículum."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "La IA devolvió una propuesta que no se pudo previsualizar."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "La clave API se ha eliminado correctamente."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Después de eliminarla, la clave API ya no podrá acceder a tus datos. Esta acción no se puede deshacer."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "El asistente se detuvo antes de devolver la propuesta."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Este es un nombre compatible con URL para tu currículum."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Esto puede tardar unos minutos, dependiendo de la respuesta del proveedor de IA. No cierres la ventana ni recargues la página."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Esta propuesta está desactualizada. Pídele al asistente que la actualice a partir del currículum más reciente."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Este currículum está bloqueado y no se puede actualizar."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Sí, Reactive Resume está disponible en varios idiomas. Puedes elegir tu idioma preferido en la página de configuración o usando el selector de idioma en la esquina superior derecha. Si no ves tu idioma o quieres mejorar las traducciones existentes, puedes <0>contribuir a las traducciones en Crowdin<1> (abrir en una nueva pestaña)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Sí. Todas las plantillas son totalmente personalizables. Puedes cambiar colores, fuentes, espaciado e incluso escribir CSS personalizado para tener un control total sobre la apariencia de tu currículum."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Sí. Reactive Resume es completamente gratuito, sin costes ocultos, niveles premium ni cuotas de suscripción. Es de código abierto y siempre será gratuito."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fa\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# مورد} other {# مورد}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# نقش} other {# نقش}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} پیشنهادات بررسی شد"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "قطعاً! میتوانید رزومه خود را تنها با یک کلیک به PDF خروجی بگیرید. فایل PDF خروجی تمام قالببندی و سبکدهی شما را بهطور کامل حفظ میکند."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "پذیرفتن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "همه را بپذیرید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "پیشنهاد پذیرفته شده"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "به رزومهها و دادههای خود از طریق API و بهصورت برنامهنویسی دسترسی داشته باشید."
|
||||
@@ -229,10 +246,38 @@ msgstr "افزودن ردیف قبل از این"
|
||||
msgid "Afrikaans"
|
||||
msgstr "آفریکانس"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "بعد از"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "ادغام هوش مصنوعی غیرفعال است"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "پیشنهاد هوش مصنوعی اعمال شد."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "پیشنهاد هوش مصنوعی رد شد."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "پیشنهادهای هوش مصنوعی اعمال شد."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "پیشنهادهای هوش مصنوعی رد شدند."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "دستیار رزومه هوش مصنوعی"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "آلبانیایی"
|
||||
@@ -367,10 +412,22 @@ msgstr "حوزهٔ تحصیل"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "هوش مصنوعی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "درخواست تغییر هدفمند رزومه را بدهید..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "درخواست تغییر تدریجی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبت تصویر"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "درخواست دستیار ناموفق بود"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "مبانی"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "قالبهای زیبایی برای انتخاب، با موارد بیشتری که در راه هستند."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "قبل از"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "بنگالی"
|
||||
@@ -462,10 +523,6 @@ msgstr "فهرست نشانهدار"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "توسط جامعه، برای جامعه."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "آیا میتوانم قالبها را شخصیسازی کنم؟"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "آیا میتوانم رزومهام را به PDF خروجی بگیرم؟"
|
||||
@@ -576,6 +633,14 @@ msgstr "شفاف"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "برای انتخاب فایل برای وارد کردن، اینجا کلیک کنید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "بستن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "دستیار هوش مصنوعی را ببندید"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "بلوک کد"
|
||||
@@ -622,6 +687,10 @@ msgstr "تأیید"
|
||||
msgid "Connect"
|
||||
msgstr "اتصال"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "قبل از استفاده از پیشنهادهای ویرایش رزومه، به یک ارائهدهنده هوش مصنوعی متصل شوید و آن را تأیید کنید."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "این کلید مخفی را کپی کنید و برای دسترسی
|
||||
msgid "Copy URL"
|
||||
msgstr "کپی URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "نتوانستم پیشنهاد هوش مصنوعی را اعمال کنم."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "قطع اتصال"
|
||||
msgid "Discord"
|
||||
msgstr "دیسکورد"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "رد کردن"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "مستندات"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "حساب ندارید؟ <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "اهدا کنید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "به Reactive Resume دونیت کنید"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "فعالسازی ورود دو مرحلهای"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "فعالسازی قابلیتهای هوش مصنوعی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "ادغام هوش مصنوعی را فعال کنید"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "فعالسازی احراز هویت دو مرحلهای"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "مثالها: خلاصه را بازنویسی کنید، یک بخش مربوط به تجربیات را محدودتر کنید، معیارها را اضافه کنید، یا رزومه را با شرح شغل تطبیق دهید."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "خروج از حالت تمامصفحه"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "مایکروسافت ورد"
|
||||
msgid "Model"
|
||||
msgstr "مدل"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "اقدامات پیشنهادی بیشتر"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "انتقال به"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "باید با https:// شروع شود."
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "نیاز به بررسی دارد"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "نپالی"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "گذرواژهٔ جدید"
|
||||
msgid "New Section"
|
||||
msgstr "بخش جدید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "بعدی"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "بدون تبلیغات، بدون رهگیری"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "نگهداری مداوم"
|
||||
msgid "Open"
|
||||
msgstr "باز کردن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "دستیار هوش مصنوعی را باز کنید"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "باز کردن کلاینت ایمیل"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ادغامهای باز"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "تنظیمات یکپارچهسازی را باز کنید"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "لطفاً گذرواژهای را که صاحب رزومه با شم
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "لطفاً URL مورد نظر برای لینک دادن را وارد کنید:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "لطفا از پروژه حمایت کنید"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "موقعیت شغلی"
|
||||
msgid "Preferences"
|
||||
msgstr "ترجیحات"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "آمادهسازی تغییرات"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "پیشتنظیمها"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "برای افزودن یا ذخیره کلمه کلیدی فعلی <0>{R
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "برای باز کردن <0>Enter را</0> فشار دهید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "قبلی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "رنگ اصلی"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "نوار پیشرفت"
|
||||
msgid "Projects"
|
||||
msgstr "پروژهها"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "پیشنهاد {0} از {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "از رزومه خود در برابر دسترسی غیرمجاز با گذرواژه محافظت کنید"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "انتشارها"
|
||||
msgid "Publisher"
|
||||
msgstr "منتشرکننده"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "وصله خام JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - رفتن به صفحهٔ اصلی"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume یک پروژهٔ رایگان و متنباز است
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume یک رزومهساز رایگان و متنباز است که فرایند ایجاد، بهروزرسانی و اشتراکگذاری رزومه شما را ساده میکند."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "رزومه واکنشی رایگان و متنباز است. اگر به شما کمک کرده است، لطفاً کمک مالی را در نظر بگیرید."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume متنباز، حریمخصوصیمحور و کاملاً رایگان است. برخلاف سایر رزومهسازها، هیچ تبلیغی نشان نمیدهد، دادههای شما را رهگیری نمیکند و قابلیتهایتان را پشت دیوار پرداخت محدود نمیکند."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "تازهسازی"
|
||||
msgid "Register New Device"
|
||||
msgstr "ثبت دستگاه جدید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "رد کردن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "همه را رد کنید"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "پیشنهاد رد شده"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "رمز عبور را به خاطر دارید؟ <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "در حال ارسال دوباره ایمیل تأیید..."
|
||||
msgid "Reset"
|
||||
msgstr "ریست"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "تنظیم مجدد چت"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "تنظیم مجدد گذرواژهٔ شما"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "در حال تنظیم مجدد گذرواژه شما..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "تغییر اندازه دستیار هوش مصنوعی"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "منابع"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "تحلیل رزومه کامل شد."
|
||||
msgid "Resumes"
|
||||
msgstr "رزومهها"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "بررسی مورد نیاز"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "پیشنهادهای بررسی شده"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "تراز راست"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "انتخاب..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "میزبانی خودکار با Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ارسال"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "ارسال ایمیل تنظیم مجدد گذرواژه"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "در حال ارسال ایمیل تنظیم مجدد گذرواژه..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "ارسال درخواست"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "جداکننده"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "تکستونه با نوار کناری و چیدمان شبکها
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "یکستونی با سربرگ ورودی سهستونی در یک خط (موقعیت · سازمان · دوره)؛ فشرده و سازگار با ATS، مناسب برای هنجارهای رزومه آسیایی (چین/ژاپن/کره)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "تک ستونی با سرتیترهای بخشها با حروف بزرگ و یک خط با رنگ اصلی در بالای هر صفحه؛ مناسب برای رزومههای مدیریتی، مشاورهای یا استارتاپی."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "تکستونه؛ صیقلخورده و جدی برای موقعیتهای ارشد یا سطح سازمانی."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "آمارها"
|
||||
msgid "Stay"
|
||||
msgstr "ماندن"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "توقف"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "نقاط قوت"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "رنگ متن"
|
||||
msgid "Thai"
|
||||
msgstr "تایلندی"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "هوش مصنوعی تغییری را پیشنهاد داد که دیگر در مورد این رزومه اعمال نمیشود."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "هوش مصنوعی پیشنهادی را برگرداند که قابل پیشنمایش نبود."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "کلید API با موفقیت حذف شد."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "پس از حذف، این کلید API دیگر قادر به دسترسی به دادههای شما نخواهد بود. این عمل قابل بازگشت نیست."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "دستیار قبل از اینکه پیشنهادی را برگرداند، مکث کرد."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "این یک نام مناسب برای URLِ رزومه شما است."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "این کار ممکن است چند دقیقه طول بکشد، بسته به پاسخ ارائهدهندهٔ هوش مصنوعی. لطفاً پنجره را نبندید یا صفحه را تازهسازی نکنید."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "این پیشنهاد قدیمی است. از دستیار بخواهید آن را از آخرین رزومه بازسازی کند."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "این رزومه قفل شده و قابل بهروزرسانی نیست."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "ایکس (توییتر)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "بله، Reactive Resume در چندین زبان در دسترس است. میتوانید زبان دلخواه خود را در صفحهٔ تنظیمات یا با استفاده از تعویضکنندهٔ زبان در گوشهٔ بالا سمت راست انتخاب کنید. اگر زبان خود را نمیبینید یا میخواهید ترجمههای موجود را بهبود دهید، میتوانید <0>در ترجمهها روی Crowdin مشارکت کنید<1> (در زبانهٔ جدید باز میشود)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "بله! هر قالب کاملاً قابلسفارشیسازی است. میتوانید رنگها، فونتها، فواصل و حتی CSS سفارشی برای کنترل کامل ظاهر رزومه خود بنویسید."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "بله! Reactive Resume کاملاً رایگان است، بدون هزینهٔ پنهان، پلن پریمیوم یا حق اشتراک. این پروژه متنباز است و برای همیشه رایگان میماند."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# kohde} other {# kohdetta}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rooli} other {# roolia}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} ehdotuksia tarkistettu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Ehdottomasti! Voit viedä ansioluettelosi PDF-muotoon yhdellä klikkauksella. Viety PDF säilyttää kaiken muotoilun ja tyylin täydellisesti."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Hyväksyä"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Hyväksy kaikki"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Hyväksytty ehdotus"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Käytä ansioluetteloitasi ja tietojasi ohjelmallisesti rajapinnan (API:n) kautta."
|
||||
@@ -229,10 +246,38 @@ msgstr "Lisää rivi ennen"
|
||||
msgid "Afrikaans"
|
||||
msgstr "afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Jälkeen"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Tekoälyintegraatio poistettu käytöstä"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Tekoälyehdotus sovellettu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Tekoälyehdotus hylättiin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Tekoälyehdotuksia sovellettu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Tekoälyehdotukset hylättiin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Tekoälyinen ansioluetteloavustaja"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "albania"
|
||||
@@ -367,10 +412,22 @@ msgstr "Opintoala"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Tekoäly"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Pyydä kohdennettua ansioluettelon muutosta..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Pyydä asteittaista muutosta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Kuvasuhde"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistant-pyyntö epäonnistui"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Perustiedot"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Kauniita mallipohjia, joista valita – ja lisää tulossa."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Ennen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Luettelomerkkilista"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Yhteisöltä yhteisölle."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Voinko mukauttaa mallipohjia?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Voinko viedä ansioluetteloni PDF-muotoon?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Kirkas"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Napsauta tästä valitaksesi tuotavan tiedoston"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Sulje tekoälyavustaja"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Koodilohko"
|
||||
@@ -622,6 +687,10 @@ msgstr "Vahvista"
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Yhdistä ja tarkista tekoälypalveluntarjoaja ennen ansioluettelon muokkausehdotusten käyttöä."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopioi tämä salainen avain ja käytä sitä sovelluksissasi tietojesi
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopioi URL-osoite"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Tekoälyehdotusta ei voitu soveltaa."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Katkaise yhteys"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Hylkää"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentaatio"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Eikö sinulla ole tiliä? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Lahjoittaa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Lahjoita Reactive Resumelle"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Ota 2FA käyttöön"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Ota tekoälyominaisuudet käyttöön"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Ota tekoälyintegraatio käyttöön"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Ota kaksivaiheinen todennus käyttöön"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Kaikki tähän syötetty tallennetaan paikallisesti selaimeesi. Tietosi
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Esimerkkejä: kirjoita yhteenveto uudelleen, tiivistä yhtä kokemusta koskevaa luettelokohtaa, lisää mittareita tai mukauta ansioluettelo työpaikkailmoitukseen."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Poistu koko näytöstä"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Malli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Lisää ehdotustoimintoja"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Siirrä"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Aloitettava osoitteesta https://"
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Tarvitsee tarkistuksen"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Uusi salasana"
|
||||
msgid "New Section"
|
||||
msgstr "Uusi osio"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Seuraava"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Ei mainoksia, ei seurantaa"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Jatkuva ylläpito"
|
||||
msgid "Open"
|
||||
msgstr "Avaa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Avoin tekoälyavustaja"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Avaa sähköpostiohjelma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Avoimet integraatiot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Avaa Integraatioiden asetukset"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Syötä ansioluettelon omistajan jakama salasana jatkaaksesi."
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Syötä linkitettävä URL-osoite:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Tue projektia"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Tehtävänimike"
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Muutosten valmistelu"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Esiasetukset"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Paina <0>{RETURN_KEY}</0> tai <1>{COMMA_KEY}</1> lisätäksesi tai talle
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Paina <0>Enter</0> avataksesi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Edellinen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Pääväri"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Edistymispalkki"
|
||||
msgid "Projects"
|
||||
msgstr "Projektit"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Ehdotus {0} / {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Suojaa ansioluettelosi luvattomalta käytöltä salasanalla"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Julkaisut"
|
||||
msgid "Publisher"
|
||||
msgstr "Julkaisija"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Raaka JSON-korjaus"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – Siirry etusivulle"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume on ilmainen ja avoimen lähdekoodin projekti, joka on te
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume on ilmainen ja avoimen lähdekoodin ansioluettelon laatija, joka helpottaa ansioluettelon luomista, päivittämistä ja jakamista."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume on ilmainen ja avoimen lähdekoodin työkalu. Jos siitä on ollut sinulle apua, harkitse lahjoittamista."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume on avoimen lähdekoodin, yksityisyyteen keskittyvä ja täysin ilmainen. Toisin kuin monet muut ansioluettelon laatijat, se ei näytä mainoksia, seuraa tietojasi tai piilota ominaisuuksia maksumuurin taakse."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Päivitä"
|
||||
msgid "Register New Device"
|
||||
msgstr "Rekisteröi uusi laite"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Hylätä"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Hylkää kaikki"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Hylätty ehdotus"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Muistatko salasanasi? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Lähetetään vahvistussähköpostia uudelleen..."
|
||||
msgid "Reset"
|
||||
msgstr "Palauta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Palauta keskustelu"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Palauta salasanasi"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Palautetaan salasanaasi..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Muuta tekoälyavustajaa"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resurssit"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Ansioluettelon analyysi valmis."
|
||||
msgid "Resumes"
|
||||
msgstr "Ansioluettelot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Tarkistus vaaditaan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Tarkistetut ehdotukset"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Tasaa oikealle"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Valitse..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Itse-isännöinti Dockerilla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Lähetä"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Lähetä salasanan palautussähköposti"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Lähetetään salasanan palautussähköpostia..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Lähetetään pyyntö"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Erotin"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Yksipalstainen, sivupalkilla ja selkeällä ruudukkoasettelulla; monipuo
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Yksisarakkeinen, riviin sijoitettu kolmisarakkeinen otsikko (asema - organisaatio - piste); kompakti ja ATS-ystävällinen, sopii hyvin aasialaisiin ansioluettelokäytäntöihin (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Yksipalstainen ansioluettelo, jossa isoilla kirjaimilla kirjoitetut osioiden otsikot ja päävärinen yläviiva jokaisella sivulla; viimeistelty johtajien, konsulttien tai startup-yritysten ansioluetteloihin."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Yksipalstainen; viimeistelty ja asiallinen kokeneille tai yritystason tehtäviin hakeville."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Tilastot"
|
||||
msgid "Stay"
|
||||
msgstr "Pysy"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Vahvuudet"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Tekstiväri"
|
||||
msgid "Thai"
|
||||
msgstr "thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Tekoäly ehdotti muutosta, joka ei enää koske tätä ansioluetteloa."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Tekoäly palautti ehdotuksen, jota ei voitu esikatsella."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-avain on poistettu onnistuneesti."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API-avain ei voi enää käyttää tietojasi poistamisen jälkeen. Tätä toimintoa ei voi perua."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Avustaja pysähtyi ennen kuin palasi ehdotukseen."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Tämä on URL-ystävällinen nimi ansioluettelollesi."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Tämä voi kestää muutaman minuutin riippuen tekoälypalveluntarjoajan vasteesta. Älä sulje ikkunaa tai päivitä sivua."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Tämä ehdotus on vanhentunut. Pyydä avustajaa luomaan se uudelleen uusimmasta ansioluettelosta."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Tämä ansioluettelo on lukittu eikä sitä voi päivittää."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Kyllä, Reactive Resume on saatavilla useilla kielillä. Voit valita haluamasi kielen asetussivulla tai oikean yläkulman kielivalitsimesta. Jos et näe omaa kieltäsi tai haluat parantaa olemassa olevia käännöksiä, voit <0>osallistua käännöksiin Crowdinessa<1> (avautuu uuteen välilehteen)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Kyllä! Jokainen mallipohja on täysin muokattavissa. Voit vaihtaa värejä, fontteja, välistystä ja jopa kirjoittaa oman CSS:n täydellistä hallintaa varten ansioluettelosi ulkoasuun."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Kyllä! Reactive Resume on täysin ilmainen käyttää – ei piilokuluja, premium-tasoja tai tilausmaksuja. Se on avoimen lähdekoodin ja pysyy aina ilmaisena."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# élément} other {# éléments}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# poste} other {# postes}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propositions examinées"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Absolument ! Vous pouvez exporter votre CV au format PDF en un seul clic. Le PDF exporté conserve parfaitement toutes vos mises en forme et votre style."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accepter"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accepter tout"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposition acceptée"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Accédez à vos CVs et données par programme en utilisant l'API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Ajouter une ligne avant"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Après"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Intégration de l'IA désactivée"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposition d'IA appliquée."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposition d'IA rejetée."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propositions d'IA appliquées."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Les propositions concernant l'IA ont été rejetées."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Assistant CV IA"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanais"
|
||||
@@ -367,10 +412,22 @@ msgstr "Domaine d'étude"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intelligence artificielle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Demandez une modification ciblée de votre CV..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Demandez un changement progressif"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Format d'image"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "La requête d'assistance a échoué"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Infos de base"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Vous avez le choix parmi de magnifiques modèles, et d'autres sont en cours d'élaboration."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Avant"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Liste à puces"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Par la communauté, pour la communauté."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Puis-je personnaliser les modèles ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Puis-je exporter mon CV au format PDF ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clair"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Cliquez ici pour sélectionner un fichier à importer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Assistant IA proche"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloc de code"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirmer"
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Connectez-vous avec un fournisseur d'IA et vérifiez-le avant d'utiliser ses propositions de modification de CV."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copiez cette clé secrète et utilisez-la dans vos applications pour acc
|
||||
msgid "Copy URL"
|
||||
msgstr "Copier l'URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Impossible d'appliquer la proposition relative à l'IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Déconnecter"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Rejeter"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Vous n'avez pas de compte ? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Faire un don"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Faire un don à Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Activer 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Activer les fonctionnalités IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Activer l'intégration de l'IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Activer l'authentification à deux facteurs"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tout ce qui est entré ici est stocké localement dans votre navigateur.
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exemples : réécrire le résumé, raccourcir un point concernant une expérience, ajouter des indicateurs ou adapter le CV à une description de poste."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Quitter le mode plein écran"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modèle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Autres propositions"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Déplacer vers"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Doit commencer par https://"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Nécessite une révision"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Népalais"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nouveau mot de passe"
|
||||
msgid "New Section"
|
||||
msgstr "Nouvelle section"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Pas de publicité, pas de suivi"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Maintenance en cours"
|
||||
msgid "Open"
|
||||
msgstr "Ouvrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Assistant Open AI"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Ouvrir le client de messagerie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Intégrations ouvertes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Ouvrez Integrations Settings"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Veuillez saisir le mot de passe qui vous a été communiqué par le prop
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Veuillez saisir l'URL vers laquelle vous souhaitez rediriger :"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Veuillez soutenir le projet"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Poste"
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Préparation des changements"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Préréglages"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Appuyez sur <0>{RETURN_KEY}</0> ou sur <1>{COMMA_KEY}</1> pour ajouter o
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Appuyez sur <0>Entrée</0> pour ouvrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Couleur principale"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barre de progression"
|
||||
msgid "Projects"
|
||||
msgstr "Projets"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposition {0} de {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protégez votre CV contre tout accès non autorisé à l'aide d'un mot de passe"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publications"
|
||||
msgid "Publisher"
|
||||
msgstr "Éditeur"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON brut"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Aller à la page d'accueil"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume est un projet libre et gratuit, construit avec amour et
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume est un outil de création de CV gratuit et open-source qui simplifie le processus de création, de mise à jour et de partage de votre CV."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume est un logiciel libre et gratuit. S'il vous a été utile, n'hésitez pas à faire un don."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume est un logiciel libre, respectueux de la vie privée et entièrement gratuit. Contrairement à d'autres outils de création de CV, il n'affiche pas de publicité, ne suit pas vos données et ne limite pas vos fonctionnalités derrière un mur payant."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Actualiser"
|
||||
msgid "Register New Device"
|
||||
msgstr "Enregistrer un nouveau dispositif"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rejeter"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Tout refuser"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposition rejetée"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Vous vous souvenez de votre mot de passe ? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Renvoi de l'e-mail de vérification..."
|
||||
msgid "Reset"
|
||||
msgstr "Réinitialiser"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Réinitialiser le chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Réinitialisez votre mot de passe"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Réinitialisation de votre mot de passe..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Assistant IA de redimensionnement"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ressources"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "L'analyse du curriculum vitae est terminée."
|
||||
msgid "Resumes"
|
||||
msgstr "CVs"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Examen requis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propositions examinées"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Alignement à droite"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Sélectionner..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto-hébergement avec Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Envoyer un e-mail de réinitialisation du mot de passe"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Envoi de l'e-mail de réinitialisation du mot de passe..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Envoi de la requête"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Séparateur"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Une seule colonne avec un encart et une disposition en grille propre ; p
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Colonne unique avec un en-tête d'entrée en ligne sur trois colonnes (poste - organisation - point) ; compact et adapté aux ATS, bien adapté aux conventions asiatiques en matière de curriculum vitae (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Une seule colonne avec des titres de section en majuscules et une ligne supérieure de couleur primaire sur chaque page ; une présentation soignée pour les CV de cadres, de consultants ou de startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Colonne unique ; soigné et sérieux pour les postes de seniors ou de direction."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistiques"
|
||||
msgid "Stay"
|
||||
msgstr "Rester"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Arrêt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Points forts"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Couleur du texte"
|
||||
msgid "Thai"
|
||||
msgstr "Thaïlandais"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "L'IA a proposé une modification qui ne s'applique plus à ce CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "L'IA a renvoyé une proposition qui n'a pas pu être prévisualisée."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "La clé API a été supprimée avec succès."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "La clé API ne pourra plus accéder à vos données après la suppression. Cette action ne peut pas être annulée."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "L'assistant s'est arrêté avant de renvoyer une proposition."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Il s'agit d'un nom convivial pour l'URL de votre CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Cela peut prendre quelques minutes, en fonction de la réponse du fournisseur d'IA. Ne fermez pas la fenêtre et n'actualisez pas la page."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Cette proposition est obsolète. Demandez à l'assistant de la régénérer à partir du CV le plus récent."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Ce CV est verrouillé et ne peut pas être modifié."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Oui, Reactive Resume est disponible en plusieurs langues. Vous pouvez choisir votre langue préférée dans la page des paramètres, ou en utilisant le sélecteur de langue dans le coin supérieur droit. Si vous ne voyez pas votre langue, ou si vous souhaitez améliorer les traductions existantes, vous pouvez <0>contribuer aux traductions sur Crowdin<1> (s'ouvre dans un nouvel onglet)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Oui ! Chaque modèle est entièrement personnalisable. Vous pouvez modifier les couleurs, les polices, l'espacement et même écrire des feuilles de style CSS personnalisées pour un contrôle total de l'apparence de votre CV."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Oui ! Reactive Resume est entièrement gratuit, sans frais cachés, ni droits d'entrée, ni frais d'abonnement. Il est open-source et restera toujours gratuit."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: he\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# פריט} two {# פריטים} many {# פריטים}
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# תפקיד} other {# תפקידים}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} הצעות שנבדקו"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "בהחלט! אפשר לייצא את קורות החיים שלך ל־PDF בלחיצה אחת. קובץ ה־PDF המיוצא שומר בצורה מושלמת על כל העיצוב והסגנון שלך."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "לְקַבֵּל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "קבלו את הכל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "הצעה שהתקבלה"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "גש לקורות החיים ולנתונים שלך באופן תכנותי באמצעות ה־API."
|
||||
@@ -229,10 +246,38 @@ msgstr "הוספת שורה לפני"
|
||||
msgid "Afrikaans"
|
||||
msgstr "אפריקאנס"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "לְאַחַר"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "בינה מלאכותית"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "שילוב בינה מלאכותית מושבת"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "הצעת בינה מלאכותית יושמה."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "הצעת בינה מלאכותית נדחתה."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "הצעות בינה מלאכותית יושמו."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "הצעות בתחום הבינה המלאכותית נדחו."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "עוזר קורות חיים של בינה מלאכותית"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "אלבנית"
|
||||
@@ -367,10 +412,22 @@ msgstr "תחום לימודים"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "בינה מלאכותית"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "בקשו שינוי ממוקד בקורות חיים..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "בקשו שינוי הדרגתי"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "יחס גובה־רוחב"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "בקשת העוזר נכשלה"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "פרטים בסיסיים"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "תבניות יפות לבחירה, ועוד תבניות בדרך."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "לִפנֵי"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "בנגלית"
|
||||
@@ -462,10 +523,6 @@ msgstr "רשימת תבליטים"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "על ידי הקהילה ועבורה."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "האם אפשר להתאים אישית את התבניות?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "האם אפשר לייצא את קורות החיים שלי ל־PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "נקה"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "לחץ כאן כדי לבחור קובץ לייבוא"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "סגור"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "סגור את עוזר הבינה המלאכותית"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "בלוק קוד"
|
||||
@@ -622,6 +687,10 @@ msgstr "אישור"
|
||||
msgid "Connect"
|
||||
msgstr "חיבור"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "התחברו ואמתו ספק בינה מלאכותית לפני השימוש בהצעות עריכת קורות חיים."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "העתק את המפתח הסודי הזה והשתמש בו ביישו
|
||||
msgid "Copy URL"
|
||||
msgstr "העתקת כתובת"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "לא ניתן היה ליישם את הצעת הבינה המלאכותית."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ניתוק"
|
||||
msgid "Discord"
|
||||
msgstr "דיסקורד"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "לְפַטֵר"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "תיעוד"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "אין לך חשבון? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "לִתְרוֹם"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "תרומה ל־Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "הפעלת אימות דו־שלבי"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "הפעלת יכולות בינה מלאכותית"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "הפעלת שילוב בינה מלאכותית"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "הפעלת אימות דו־שלבי"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "דוגמאות: כתיבה מחדש של הסיכום, צמצום תבליט ניסיון אחד, הוספת מדדים או התאמת קורות החיים לתיאור תפקיד."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "יציאה ממסך מלא"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "מודל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "פעולות נוספות של ההצעה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "העברה אל"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "יש להתחיל ב-https://"
|
||||
msgid "Name"
|
||||
msgstr "שם"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "צריך בדיקה"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "נפאלית"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "סיסמה חדשה"
|
||||
msgid "New Section"
|
||||
msgstr "סעיף חדש"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "הבא"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "בלי פרסום, בלי מעקב"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "תחזוקה מתמשכת"
|
||||
msgid "Open"
|
||||
msgstr "פתיחה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "פתח את עוזר הבינה המלאכותית"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "פתיחת תוכנת הדוא\"ל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "אינטגרציות פתוחות"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "פתח את הגדרות האינטגרציות"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "נא להזין את הסיסמה ששיתף איתך בעל קורות
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "נא להזין את כתובת ה־URL שאליה ברצונך לקשר:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "אנא תמכו בפרויקט"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "תפקיד"
|
||||
msgid "Preferences"
|
||||
msgstr "העדפות"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "הכנת שינויים"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "הגדרות קבועות מראש"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "לחץ על <0>{RETURN_KEY}</0> או <1>{COMMA_KEY}</1> כדי להוס
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "לחץ על <0>Enter</0> כדי לפתוח"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "קודם"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "צבע עיקרי"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "פס התקדמות"
|
||||
msgid "Projects"
|
||||
msgstr "פרויקטים"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "הצעה {0} של {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "הגן על קורות החיים שלך מגישה לא מורשית באמצעות סיסמה"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "פרסומים"
|
||||
msgid "Publisher"
|
||||
msgstr "מוציא לאור"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "תיקון JSON גולמי"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - מעבר לדף הבית"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume הוא מיזם חינמי בקוד פתוח, שנבנה
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume הוא בונה קורות חיים חינמי בקוד פתוח שמפשט את תהליך יצירת, עדכון ושיתוף קורות החיים שלך."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "ריאקטיבי קורות חיים הם חינמיים ובקוד פתוח. אם זה עזר לך, אנא שקול לתרום."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume הוא בקוד פתוח, ממוקד פרטיות וחינמי לחלוטין. בניגוד לבוני קורות חיים אחרים, הוא לא מציג פרסומות, לא עוקב אחרי הנתונים שלך ולא נועל יכולות מאחורי חומת תשלום."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "רענון"
|
||||
msgid "Register New Device"
|
||||
msgstr "הרשמת מכשיר חדש"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "לִדחוֹת"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "דחה את הכל"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "הצעה שנדחתה"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "זוכר את הסיסמה? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "שולח מחדש דוא\"ל אימות..."
|
||||
msgid "Reset"
|
||||
msgstr "איפוס"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "איפוס צ'אט"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "איפוס הסיסמה שלך"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "איפוס הסיסמה שלך..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "שינוי גודל של עוזר בינה מלאכותית"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "משאבים"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "ניתוח קורות החיים הושלם."
|
||||
msgid "Resumes"
|
||||
msgstr "מסמכי קורות חיים"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "נדרשת בדיקה"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "הצעות שנבדקו"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "יישור לימין"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "בחר..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "אירוח עצמי עם Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "לִשְׁלוֹחַ"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "שליחת דוא\"ל לאיפוס סיסמה"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "שולח דוא\"ל לאיפוס סיסמה..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "שולח בקשה"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "מפריד"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "עמודה אחת עם סרגל צד וגריד נקי; רב־שימוש
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "עמודה אחת עם כותרת כניסה משולבת בת שלוש עמודות (תפקיד · ארגון · תקופה); קומפקטי ומתאים לשיטת ATS, מתאים היטב למנהגי כתיבת קורות חיים באסיה (סין/יפן/קוריאה)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "עמודה אחת עם כותרות באותיות גדולות וקו עליון בצבע ראשי בכל עמוד; מלוטש לקורות חיים של מנהלים, ייעוץ או סטארט-אפים."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "עמודה אחת; מלוטש ורציני לתפקידים בכירים או ברמת ארגון."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "סטטיסטיקה"
|
||||
msgid "Stay"
|
||||
msgstr "הישאר"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "לְהַפְסִיק"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "נקודות חוזק"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "צבע כתב"
|
||||
msgid "Thai"
|
||||
msgstr "תאית"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "הבינה המלאכותית הציעה שינוי שכבר אינו חל על קורות חיים אלה."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "הבינה המלאכותית החזירה הצעה שלא ניתן היה לצפות בה בתצוגה מקדימה."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "מפתח ה־API נמחק בהצלחה."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "לאחר המחיקה מפתח ה־API לא יוכל יותר לגשת לנתונים שלך. לא ניתן לבטל פעולה זו."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "העוזר עצר לפני שהחזיר הצעה."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "זהו שם ידידותי לכתובת URL עבור קורות החיי
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "זה עלול לקחת כמה דקות, בהתאם לזמן התגובה של ספק הבינה המלאכותית. נא לא לסגור את החלון או לרענן את העמוד."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "הצעה זו מיושנת. בקש מהעוזר ליצור אותה מחדש מהקורות חיים האחרונים."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "קורות חיים אלה נעולים ולא ניתן לעדכן אותם."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "איקס (טוויטר)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "כן, Reactive Resume זמין במספר שפות. אפשר לבחור את השפה המועדפת עליך בעמוד ההגדרות או באמצעות מחליף השפה בפינה העליונה הימנית. אם אינך רואה את השפה שלך, או אם ברצונך לשפר את התרגומים הקיימים, אפשר <0>לתמוך בתרגומים ב־Crowdin<1> (נפתח בלשונית חדשה)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "כן! כל תבנית ניתנת להתאמה מלאה. אפשר לשנות צבעים, גופנים, ריווח, ואפילו לכתוב CSS מותאם אישית לשליטה מלאה במראה של קורות החיים שלך."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "כן! Reactive Resume חינמי לחלוטין לשימוש, בלי עלויות נסתרות, מדרגות פרימיום או דמי מנוי. הוא בקוד פתוח ותמיד יישאר חינמי."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# आइटम} other {# आइटम}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# भूमिका} other {# भूमिकाएं}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} प्रस्तावों की समीक्षा की गई"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "ए4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "बिल्कुल! आप एक ही क्लिक में अपने रेज़्यूमे को PDF में एक्सपोर्ट कर सकते हैं। एक्सपोर्ट किया गया PDF आपके सभी फ़ॉर्मेटिंग और स्टाइलिंग को बिल्कुल सही बनाए रखता है।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "स्वीकार करना"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "सभी स्वीकृत"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "प्रस्ताव स्वीकृत"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API का उपयोग करके अपने रेज़्यूमे और डेटा तक प्रोग्रामेटिक रूप से पहुँच प्राप्त करें।"
|
||||
@@ -229,10 +246,38 @@ msgstr "इसके पहले पंक्ति जोड़ें"
|
||||
msgid "Afrikaans"
|
||||
msgstr "अफ्रीकान्स"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "बाद"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "एआई एकीकरण अक्षम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "एआई प्रस्ताव लागू किया गया।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "एआई का प्रस्ताव खारिज कर दिया गया।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "एआई संबंधी प्रस्ताव लागू किए गए।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "एआई से संबंधित प्रस्ताव खारिज कर दिए गए।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "एआई रिज्यूमे असिस्टेंट"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बानियाई"
|
||||
@@ -367,10 +412,22 @@ msgstr "अध्ययन का क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बुद्धिमत्ता"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "अपने रिज्यूमे में लक्षित बदलाव करने का अनुरोध करें..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "क्रमिक परिवर्तन की मांग करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "सहायक का अनुरोध विफल रहा"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "बुनियादी"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "सुंदर खाके जिनमें से चुन सकते हैं, और भी रास्ते में हैं।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "पहले"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "बंगाली"
|
||||
@@ -462,10 +523,6 @@ msgstr "बुलेट सूची"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "समुदाय द्वारा, समुदाय के लिए।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "क्या मैं खाकों को अनुकूलित कर सकता/सकती हूँ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "क्या मैं अपना रेज़्यूमे PDF में एक्सपोर्ट कर सकता/सकती हूँ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "स्पष्ट"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "इम्पोर्ट करने के लिए फ़ाइल चुनने हेतु यहाँ क्लिक करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "बंद करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "एआई सहायक को बंद करें"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "कोड ब्लॉक"
|
||||
@@ -622,6 +687,10 @@ msgstr "पुष्टि करें"
|
||||
msgid "Connect"
|
||||
msgstr "कनेक्ट करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "रिज्यूम एडिटिंग के प्रस्तावों का उपयोग करने से पहले किसी एआई प्रदाता से संपर्क करें और उसकी पुष्टि करें।"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "इस सीक्रेट कुंजी को कॉपी कर
|
||||
msgid "Copy URL"
|
||||
msgstr "URL कॉपी करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "एआई प्रस्ताव लागू नहीं हो सका।"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "डिसकनेक्ट करें"
|
||||
msgid "Discord"
|
||||
msgstr "डिस्कॉर्ड"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "नकार देना"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "आलेख"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "खाता नहीं है? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "दान करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "रिएक्टिव रेज़्यूमे के लिए दान करें"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA चालू करें"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI सुविधाएँ सक्षम करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "एआई एकीकरण को सक्षम करें"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "दो कारक प्रमाणीकरण सक्रिय करें"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "उदाहरण: सारांश को दोबारा लिखें, अनुभव से संबंधित किसी एक बिंदु को संक्षिप्त करें, मापदंड जोड़ें, या नौकरी के विवरण के अनुसार रिज्यूमे को अनुकूलित करें।"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रीन से बाहर निकलें"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "माइक्रोसॉफ्ट वर्ड"
|
||||
msgid "Model"
|
||||
msgstr "मॉडल"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "अधिक प्रस्ताव कार्रवाइयां"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "स्थानांतरित करें"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// से शुरू करना अनिवार्य ह
|
||||
msgid "Name"
|
||||
msgstr "नाम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "समीक्षा की आवश्यकता है"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "नेपाली"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "नया पासवर्ड"
|
||||
msgid "New Section"
|
||||
msgstr "नया अनुभाग"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "अगला"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "कोई विज्ञापन नहीं, कोई ट्रैकिंग नहीं"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "निरंतर रखरखाव"
|
||||
msgid "Open"
|
||||
msgstr "खोलें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "ओपन एआई सहायक"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ईमेल क्लाइंट खोलें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ओपन इंटीग्रेशन"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "एकीकरण सेटिंग्स खोलें"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "आगे बढ़ने के लिए कृपया रेज़
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "कृपया वह URL दर्ज करें जिससे आप लिंक करना चाहते हैं:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "कृपया इस परियोजना का समर्थन करें।"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "पद"
|
||||
msgid "Preferences"
|
||||
msgstr "प्राथमिकताएँ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "बदलाव की तैयारी"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "पूर्वनिर्धारित सेटिंग्स"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "वर्तमान कीवर्ड जोड़ने या स
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "खोलने के लिए <0>Enter</0> दबाएँ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "पिछला"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "प्राथमिक रंग"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "प्रगति पट्टी"
|
||||
msgid "Projects"
|
||||
msgstr "प्रोजेक्ट्स"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "प्रस्ताव {0} का {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "अपने रेज़्यूमे को पासवर्ड से अनधिकृत एक्सेस से सुरक्षित रखें"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "प्रकाशन"
|
||||
msgid "Publisher"
|
||||
msgstr "प्रकाशक"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "रॉ JSON पैच"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - होमपेज पर जाएँ"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume एक मुफ़्त और ओपन‑सोर
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume एक मुफ़्त और ओपन‑सोर्स रेज़्यूमे बिल्डर है जो आपके रेज़्यूमे को बनाने, अपडेट करने और साझा करने की प्रक्रिया को सरल बनाता है।"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "रिएक्टिव रिज्यूम मुफ़्त और ओपन सोर्स है। अगर इससे आपको मदद मिली है, तो कृपया दान करने पर विचार करें।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ओपन‑सोर्स, गोपनीयता‑केंद्रित और पूरी तरह मुफ़्त है। अन्य रेज़्यूमे बिल्डर के विपरीत, यह विज्ञापन नहीं दिखाता, आपका डेटा ट्रैक नहीं करता और न ही आपकी सुविधाओं को पेवॉल के पीछे सीमित करता है।"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "रिफ़्रेश"
|
||||
msgid "Register New Device"
|
||||
msgstr "नया डिवाइस पंजीकृत करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "अस्वीकार करना"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "सभी को अस्वीकार करें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "प्रस्ताव अस्वीकृत कर दिया गया"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "अपना पासवर्ड याद है? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "सत्यापन ईमेल दोबारा भेजा ज
|
||||
msgid "Reset"
|
||||
msgstr "रीसेट"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "चैट रीसेट करें"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "अपना पासवर्ड रीसेट करें"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "आपका पासवर्ड रीसेट किया जा रहा है..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "आकार बदलने वाला एआई सहायक"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "संसाधन"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "रिज़्यूमे विश्लेषण पूरा हो
|
||||
msgid "Resumes"
|
||||
msgstr "रेज़्यूमे"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "समीक्षा आवश्यक है"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "समीक्षित प्रस्ताव"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "दाएँ संरेखित करें"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "चुनें..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "डॉकर के साथ स्व‑मेज़बान"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "भेजना"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "पासवर्ड रीसेट ईमेल भेजें"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "पासवर्ड रीसेट ईमेल भेजा जा रहा है..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "भेजने का अनुरोध"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "सेपरेटर"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "साइडबार और साफ़ ग्रिड लेआउ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "एकल-स्तंभ, जिसमें इनलाइन तीन-स्तंभ प्रविष्टि शीर्षक (स्थिति · संगठन · अवधि) शामिल है; संक्षिप्त और ATS-अनुकूल, एशियाई रिज्यूमे परंपराओं (CN/JP/KR) के लिए उपयुक्त।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "प्रत्येक पृष्ठ पर प्राथमिक रंग की शीर्ष रेखा के साथ बड़े अक्षरों में लिखे गए अनुभाग शीर्षकों वाला एकल-स्तंभ; कार्यकारी, परामर्शदाता या स्टार्टअप के रिज्यूमे के लिए उपयुक्त।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "सिंगल‑कॉलम; वरिष्ठ या एंटरप्राइज़‑स्तरीय पदों के लिए परिष्कृत और गंभीर।"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "आंकड़े"
|
||||
msgid "Stay"
|
||||
msgstr "रहें"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "रुकना"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ताकतें"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "अक्षरों का रंग"
|
||||
msgid "Thai"
|
||||
msgstr "थाई"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "एआई ने एक बदलाव का प्रस्ताव दिया था जो अब इस रिज्यूमे पर लागू नहीं होता है।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "एआई ने एक ऐसा प्रस्ताव प्रस्तुत किया जिसका पूर्वावलोकन नहीं किया जा सका।"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API कुंजी सफलतापूर्वक हटा दी
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "हटाए जाने के बाद यह API कुंजी अब आपके डेटा तक पहुँच नहीं कर पाएगी। इस कार्रवाई को पूर्ववत नहीं किया जा सकता।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "प्रस्ताव लौटाने से पहले सहायक रुक गया।"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "यह आपके रेज़्यूमे के लिए एक
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "इसमें कुछ मिनट लग सकते हैं, यह AI प्रोवाइडर की प्रतिक्रिया पर निर्भर करता है। कृपया विंडो को बंद न करें या पेज रिफ़्रेश न करें।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "यह प्रस्ताव पुराना हो चुका है। कृपया सहायक से नवीनतम रिज्यूमे से इसे पुनः तैयार करने का अनुरोध करें।"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "यह रेज़्यूमे लॉक है और इसे अपडेट नहीं किया जा सकता।"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "एक्स (ट्विटर)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "हाँ, Reactive Resume कई भाषाओं में उपलब्ध है। आप सेटिंग्स पेज में, या ऊपर दाएँ कोने में भाषा स्विचर का उपयोग करके अपनी पसंदीदा भाषा चुन सकते हैं। यदि आपको अपनी भाषा नहीं दिखती, या आप मौजूदा अनुवादों में सुधार करना चाहते हैं, तो आप <0>Crowdin पर अनुवादों में योगदान दे सकते हैं<1> (नए टैब में खुलता है)</1></0>।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "हाँ! हर खाका पूरी तरह से कस्टमाइज़ेबल है। आप रंग, फ़ॉन्ट, स्पेसिंग बदल सकते हैं और यहाँ तक कि अपने रेज़्यूमे के लुक पर पूरा नियंत्रण पाने के लिए कस्टम CSS भी लिख सकते हैं।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "हाँ! Reactive Resume का उपयोग पूरी तरह मुफ़्त है, बिना किसी छिपी हुई लागत, प्रीमियम टियर या सब्सक्रिप्शन फ़ीस के। यह ओपन‑सोर्स है और हमेशा मुफ़्त रहेगा।"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hu\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# elem} other {# elem}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# szerepkör} other {# szerepkör}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} javaslatok áttekintése"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Természetesen! Egy kattintással PDF‑be exportálhatod az önéletrajzodat. Az exportált PDF tökéletesen megőrzi az összes formázást és stílust."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Elfogadás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Összes elfogadása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Elfogadott javaslat"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Férj hozzá az önéletrajzaidhoz és adataidhoz programozottan az API segítségével."
|
||||
@@ -229,10 +246,38 @@ msgstr "Sor hozzáadása fölé"
|
||||
msgid "Afrikaans"
|
||||
msgstr "afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Után"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI-integráció letiltva"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI-javaslat alkalmazva."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "A mesterséges intelligencia javaslatát elutasították."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Alkalmazott mesterséges intelligencia javaslatok."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "A mesterséges intelligencia javaslatait elutasították."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI önéletrajz asszisztens"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "albán"
|
||||
@@ -367,10 +412,22 @@ msgstr "Tanulmányok területe"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Mesterséges intelligencia"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Kérj célzott önéletrajz-módosítást..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Kérjen fokozatos változtatást"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Méretarány"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Asszisztensi kérelem sikertelen"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Alapadatok"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Választható, gyönyörű sablonok, és még több érkezik."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Előtt"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "bangla"
|
||||
@@ -462,10 +523,6 @@ msgstr "Felsorolásjelezett lista"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "A közösség által, a közösségért."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Testreszabhatom a sablonokat?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Exportálhatom az önéletrajzomat PDF‑be?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Tiszta"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kattints ide az importálandó fájl kiválasztásához"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Bezárás AI asszisztens"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kódblokk"
|
||||
@@ -622,6 +687,10 @@ msgstr "Megerősítés"
|
||||
msgid "Connect"
|
||||
msgstr "Csatlakozás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Csatlakoztasson és ellenőrizzen egy mesterséges intelligencia szolgáltatót az önéletrajz-szerkesztési javaslatok használata előtt."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Másold ki ezt a titkos kulcsot, és használd az alkalmazásaidban az a
|
||||
msgid "Copy URL"
|
||||
msgstr "URL másolása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nem sikerült alkalmazni a mesterséges intelligencia javaslatát."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Leválasztás"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Elvetés"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentáció"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nincs fiókja? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Adományoz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Adományozzon a Reactive Resume-nak"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA bekapcsolása"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI funkciók engedélyezése"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI-integráció engedélyezése"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Kétlépcsős hitelesítés engedélyezése"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Minden itt megadott adat helyben, a böngésződben kerül tárolásra.
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Példák: írja át az összefoglalót, szűkítse le a tapasztalati pontot, adjon hozzá mérőszámokat, vagy igazítsa az önéletrajzot egy munkaköri leíráshoz."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Kilépés a teljes képernyőből"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "További javaslati műveletek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Áthelyezés ide"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "A https:// címmel kell kezdeni."
|
||||
msgid "Name"
|
||||
msgstr "Név"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Felülvizsgálatra szorul"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "nepáli"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Új jelszó"
|
||||
msgid "New Section"
|
||||
msgstr "Új szekció"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Következő"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Nincs reklám, nincs követés"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Folyamatos karbantartás"
|
||||
msgid "Open"
|
||||
msgstr "Megnyitás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Nyílt AI asszisztens"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "E‑mail kliens megnyitása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Nyílt integrációk"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Integrációk beállításainak megnyitása"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Kérjük, add meg a neked megosztott, az önéletrajz tulajdonosa által
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Kérjük, add meg a csatolni kívánt URL‑t:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Kérjük, támogassa a projektet"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pozíció"
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Változások előkészítése"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Előbeállítások"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Nyomja meg a <0>{RETURN_KEY}</0> vagy a <1>{COMMA_KEY}</1> gombot a jele
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Nyomja meg az <0>Entert</0> a megnyitáshoz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Előző"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Elsődleges szín"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Folyamatjelző sáv"
|
||||
msgid "Projects"
|
||||
msgstr "Projektek"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{0} javaslat {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Védd az önéletrajzodat a jogosulatlan hozzáféréstől jelszóval"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikációk"
|
||||
msgid "Publisher"
|
||||
msgstr "Kiadó"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Nyers JSON javítás"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – Ugrás a kezdőlapra"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "A Reactive Resume egy ingyenes és nyílt forráskódú projekt, szerete
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "A Reactive Resume ingyenes és nyílt forráskódú önéletrajz készítő, amely leegyszerűsíti az önéletrajz készítésének, frissítésének és megosztásának folyamatát."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "A Reactive Resume ingyenes és nyílt forráskódú. Ha segített, kérjük, fontold meg az adományozást."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "A Reactive Resume nyílt forráskódú, adatvédelem‑központú és teljesen ingyenes. Más önéletrajz‑készítőkkel ellentétben nem jelenít meg hirdetéseket, nem követi az adataidat, és nem zár funkciókat fizetős fal mögé."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Frissítés"
|
||||
msgid "Register New Device"
|
||||
msgstr "Új eszköz regisztrálása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Elutasít"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Összes elutasítása"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Elutasított javaslat"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Emlékszik a jelszavára? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Megerősítő e‑mail újraküldése..."
|
||||
msgid "Reset"
|
||||
msgstr "Visszaállítás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Csevegés visszaállítása"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Jelszó visszaállítása"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Jelszó visszaállítása..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI asszisztens átméretezése"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Erőforrások"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Az önéletrajzelemzés befejeződött."
|
||||
msgid "Resumes"
|
||||
msgstr "Önéletrajzok"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Felülvizsgálat szükséges"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Felülvizsgált javaslatok"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Jobbra igazítás"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Kiválasztás..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Önálló hosztolás Dockerrel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Elküld"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Jelszó‑visszaállító e‑mail küldése"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Jelszó‑visszaállító e‑mail küldése..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Kérés küldése"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Elválasztó"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Egyoszlopos elrendezés oldalsávval és rendezett rácsszerkezettel; so
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Egyoszlopos, sorba illesztett háromoszlopos belépési fejléccel (pozíció - szervezet - pont); kompakt és ATS-barát, jól illeszkedik az ázsiai önéletrajzok konvencióihoz (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Egyhasábos, nagybetűs szakaszcímekkel és minden oldalon alapszínű felső vonallal; kifinomult vezetői, tanácsadói vagy startup önéletrajzokhoz."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Egyoszlopos; kifinomult és komoly, vezetői vagy vállalati szintű pozíciókhoz."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statisztikák"
|
||||
msgid "Stay"
|
||||
msgstr "Maradás"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Erősségek"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Szövegszín"
|
||||
msgid "Thai"
|
||||
msgstr "thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "A mesterséges intelligencia egy olyan módosítást javasolt, amely már nem vonatkozik erre az önéletrajzra."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "A mesterséges intelligencia egy olyan javaslatot adott vissza, amelynek az előnézete nem volt megtekinthető."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Az API kulcsot sikeresen töröltük."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Az API kulcs törlése után többé nem fér hozzá az adataidhoz. Ez a művelet nem vonható vissza."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Az asszisztens megállt, mielőtt válaszolt volna egy javaslatra."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Ez az önéletrajzod URL‑barát neve."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Ez néhány percet igénybe vehet, az AI szolgáltató válaszidejétől függően. Kérjük, ne zárd be az ablakot, és ne frissítsd az oldalt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Ez az ajánlat elavult. Kérje meg az asszisztenst, hogy generálja újra a legutóbbi önéletrajzból."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Ez az önéletrajz zárolva van, és nem frissíthető."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Igen, a Reactive Resume több nyelven is elérhető. A beállítások oldalon választhatod ki a kívánt nyelvet, vagy a jobb felső sarokban található nyelvváltó segítségével. Ha nem látod a saját nyelvedet, vagy szeretnél javítani a meglévő fordításokon, <0>közreműködhetsz a fordításokban a Crowdin‑on<1> (új lapon nyílik meg)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Igen! Minden sablon teljesen testreszabható. Módosíthatod a színeket, betűtípusokat, térközöket, és akár egyéni CSS‑t is írhatsz, hogy teljes mértékben irányítsd az önéletrajzod megjelenését."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Igen! A Reactive Resume teljesen ingyenesen használható, rejtett költségek, prémium szintek vagy előfizetési díjak nélkül. Nyílt forráskódú, és mindig ingyenes marad."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: id\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# item}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# peran} other {# peran}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} proposal ditinjau"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Tentu saja! Anda dapat mengekspor resume Anda ke PDF hanya dengan satu klik. PDF yang diekspor mempertahankan semua pemformatan dan gaya Anda dengan sempurna."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Menerima"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Terima semua"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposal diterima"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Akses resume dan data Anda secara terprogram menggunakan API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Tambah Baris Sebelum"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Setelah"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrasi AI dinonaktifkan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposal AI telah diterapkan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposal AI ditolak."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Proposal AI diterapkan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Proposal AI ditolak."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asisten Resume AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albania"
|
||||
@@ -367,10 +412,22 @@ msgstr "Bidang Studi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Minta perubahan resume yang spesifik..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Mintalah perubahan bertahap."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Rasio Aspek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Permintaan asisten gagal."
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Dasar"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Template indah untuk dipilih, dengan lebih banyak lagi yang akan datang."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Sebelum"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Daftar Poin"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Oleh komunitas, untuk komunitas."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Bisakah saya menyesuaikan template?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Bisakah saya mengekspor resume saya ke PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Jelas"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik di sini untuk memilih file yang akan diimpor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Tutup asisten AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok Kode"
|
||||
@@ -622,6 +687,10 @@ msgstr "Konfirmasi"
|
||||
msgid "Connect"
|
||||
msgstr "Hubungkan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Hubungi dan verifikasi penyedia AI sebelum menggunakan proposal pengeditan resume."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Salin kunci rahasia ini dan gunakan di aplikasi Anda untuk mengakses dat
|
||||
msgid "Copy URL"
|
||||
msgstr "Salin URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Proposal AI tidak dapat diterapkan."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Putuskan"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Membubarkan"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentasi"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Belum punya akun? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Menyumbangkan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donasi ke Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktifkan 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktifkan Fitur AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktifkan integrasi AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktifkan Autentikasi Dua Faktor"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Semua yang dimasukkan di sini disimpan secara lokal di browser Anda. Dat
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Contoh: tulis ulang ringkasan, ringkas salah satu poin pengalaman, tambahkan metrik, atau sesuaikan resume dengan deskripsi pekerjaan."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Keluar dari Layar Penuh"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Tindakan proposal lainnya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Pindahkan ke"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Harus dimulai dengan https://"
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Perlu ditinjau ulang"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Kata Sandi Baru"
|
||||
msgid "New Section"
|
||||
msgstr "Bagian Baru"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Berikutnya"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Tanpa Iklan, Tanpa Pelacakan"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Pemeliharaan Berkelanjutan"
|
||||
msgid "Open"
|
||||
msgstr "Buka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Asisten AI terbuka"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Buka Klien Email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrasi Terbuka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Buka Pengaturan Integrasi"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Silakan masukkan kata sandi yang dibagikan kepada Anda oleh pemilik resu
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Silakan masukkan URL yang ingin Anda tautkan:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Mohon dukung proyek ini."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Posisi"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferensi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Mempersiapkan perubahan"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Preset"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Tekan <0>{RETURN_KEY}</0> atau <1>{COMMA_KEY}</1> untuk menambah atau me
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Tekan <0>Enter</0> untuk membuka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Sebelumnya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Warna Utama"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Bilah Progres"
|
||||
msgid "Projects"
|
||||
msgstr "Proyek"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposal {0} dari {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Lindungi resume Anda dari akses tidak sah dengan kata sandi"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikasi"
|
||||
msgid "Publisher"
|
||||
msgstr "Penerbit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON mentah"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Pergi ke beranda"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume adalah proyek gratis dan sumber terbuka, dibuat dengan c
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume adalah pembuat resume gratis dan sumber terbuka yang menyederhanakan proses membuat, memperbarui, dan membagikan resume Anda."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume gratis dan bersifat open source. Jika aplikasi ini bermanfaat bagi Anda, mohon pertimbangkan untuk berdonasi."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume bersifat sumber terbuka, berfokus pada privasi, dan sepenuhnya gratis. Tidak seperti pembuat resume lainnya, aplikasi ini tidak menampilkan iklan, melacak data Anda, atau membatasi fitur di balik paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Muat Ulang"
|
||||
msgid "Register New Device"
|
||||
msgstr "Daftarkan Perangkat Baru"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Menolak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Tolak semuanya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposal ditolak"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Ingat kata sandi Anda? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Mengirim ulang email verifikasi..."
|
||||
msgid "Reset"
|
||||
msgstr "Atur Ulang"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Atur ulang obrolan"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Atur ulang kata sandi Anda"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Mengatur ulang kata sandi Anda..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Asisten AI pengubah ukuran"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Sumber Daya"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Lanjutkan analisis hingga selesai."
|
||||
msgid "Resumes"
|
||||
msgstr "Resume"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Diperlukan peninjauan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Proposal yang ditinjau"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Rata Kanan"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Pilih..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-Host dengan Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Mengirim"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Kirim Email Atur Ulang Kata Sandi"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Mengirim email atur ulang kata sandi..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Mengirim permintaan"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Pemisah"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Satu kolom dengan bilah sisi dan tata letak grid bersih; serbaguna untuk
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Kolom tunggal dengan tajuk entri tiga kolom sebaris (posisi - organisasi - periode); ringkas dan ramah ATS, cocok untuk konvensi resume Asia (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Tata letak satu kolom dengan judul bagian huruf kapital dan garis atas berwarna dasar di setiap halaman; dirancang untuk resume eksekutif, konsultan, atau perusahaan rintisan."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Satu kolom; rapi dan serius untuk posisi tingkat senior atau level perusahaan."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistik"
|
||||
msgid "Stay"
|
||||
msgstr "Tetap"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Berhenti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Kekuatan"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Warna Teks"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI tersebut mengusulkan perubahan yang tidak lagi berlaku untuk resume ini."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI tersebut memberikan proposal yang tidak dapat dipratinjau."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API key telah berhasil dihapus."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API key tidak akan lagi dapat mengakses data Anda setelah dihapus. Tindakan ini tidak dapat dibatalkan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asisten itu berhenti sebelum mengembalikan proposal tersebut."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Ini adalah nama yang ramah URL untuk resume Anda."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Ini mungkin memakan waktu beberapa menit, tergantung respons penyedia AI. Harap jangan menutup jendela atau memuat ulang halaman."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Proposal ini sudah kadaluarsa. Mintalah asisten untuk membuatnya ulang dari resume terbaru."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Resume ini dikunci dan tidak dapat diperbarui."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ya, Reactive Resume tersedia dalam banyak bahasa. Anda dapat memilih bahasa pilihan Anda di halaman pengaturan, atau menggunakan pengalih bahasa di sudut kanan atas. Jika Anda tidak melihat bahasa Anda, atau ingin meningkatkan terjemahan yang ada, Anda dapat <0>berkontribusi pada terjemahan di Crowdin<1> (terbuka di tab baru)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ya! Setiap template sepenuhnya dapat disesuaikan. Anda dapat mengubah warna, font, jarak, dan bahkan menulis CSS kustom untuk kontrol penuh atas tampilan resume Anda."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ya! Reactive Resume sepenuhnya gratis digunakan, tanpa biaya tersembunyi, tingkat premium, atau biaya langganan. Ini bersumber terbuka dan akan selalu tetap gratis."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# elemento} other {# elementi}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ruolo} other {# ruoli}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} proposte esaminate"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Certo! Puoi esportare il tuo curriculum in PDF con un solo clic. Il PDF esportato mantiene perfettamente tutta la tua formattazione e lo stile."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accettare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Accetta tutto"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposta accettata"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Accedi in modo programmatico ai tuoi curriculum e ai tuoi dati usando l'API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Aggiungi riga prima"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Dopo"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrazione dell'IA disabilitata"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposta di intelligenza artificiale applicata."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposta sull'intelligenza artificiale respinta."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Sono state applicate le proposte basate sull'IA."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Proposte sull'IA respinte."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Assistente AI per la redazione del curriculum"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanese"
|
||||
@@ -367,10 +412,22 @@ msgstr "Area di studio"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intelligenza artificiale"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Richiedi una modifica mirata al tuo curriculum..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Richiedi un cambiamento graduale"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporzioni"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Richiesta di assistenza non riuscita"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Informazioni di base"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Modelli bellissimi tra cui scegliere, con altri in arrivo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Prima"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalese"
|
||||
@@ -462,10 +523,6 @@ msgstr "Elenco puntato"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Dalla comunità, per la comunità."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Posso personalizzare i modelli?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Posso esportare il mio curriculum in PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Libero"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Fai clic qui per selezionare un file da importare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Assistente AI ravvicinato"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blocco di codice"
|
||||
@@ -622,6 +687,10 @@ msgstr "Conferma"
|
||||
msgid "Connect"
|
||||
msgstr "Connetti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Prima di utilizzare i suggerimenti per la modifica del curriculum, collega e verifica il fornitore di intelligenza artificiale."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copia questa chiave segreta e usala nelle tue applicazioni per accedere
|
||||
msgid "Copy URL"
|
||||
msgstr "Copia URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Impossibile applicare la proposta basata sull'IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Disconnetti"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Congedare"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentazione"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Non hai un account? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Fai una donazione a Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Abilita 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Abilita funzionalità IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Abilita l'integrazione dell'IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Abilita autenticazione a due fattori"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tutto ciò che inserisci qui viene memorizzato localmente nel tuo browse
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Esempi: riscrivere il riepilogo, sintetizzare un punto relativo all'esperienza, aggiungere dati statistici o adattare il curriculum alla descrizione di una posizione lavorativa."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Esci dalla modalità a schermo intero"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modello"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Ulteriori azioni proposte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Sposta in"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Deve iniziare con https://"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Necessita di revisione"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalese"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nuova password"
|
||||
msgid "New Section"
|
||||
msgstr "Nuova sezione"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Avanti"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Nessuna pubblicità, nessun tracciamento"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Manutenzione continua"
|
||||
msgid "Open"
|
||||
msgstr "Apri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Assistente Open AI"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Apri client email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrazioni aperte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Apra le Impostazioni delle integrazioni"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Inserisci la password condivisa con te dal proprietario del curriculum p
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Inserisci l'URL a cui vuoi collegarti:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Per favore, sostenete il progetto."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Posizione"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparazione dei cambiamenti"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Preset"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Premi <0>{RETURN_KEY}</0> o <1>{COMMA_KEY}</1> per aggiungere o salvare
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Premere <0>Invio</0> per aprire"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Precedente"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Colore primario"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barra di avanzamento"
|
||||
msgid "Projects"
|
||||
msgstr "Progetti"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposta {0} di {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Proteggi il tuo curriculum da accessi non autorizzati con una password"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Pubblicazioni"
|
||||
msgid "Publisher"
|
||||
msgstr "Editore"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON non elaborato"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Vai alla homepage"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume è un progetto gratuito e open source, creato con amore
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume è un generatore di curriculum gratuito e open source che semplifica il processo di creazione, aggiornamento e condivisione del tuo curriculum."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume è gratuito e open source. Se ti è stato utile, considera la possibilità di fare una donazione."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume è open source, incentrato sulla privacy e completamente gratuito. A differenza di altri generatori di curriculum, non mostra annunci, non traccia i tuoi dati e non limita le funzionalità dietro un paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Aggiorna"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registra un nuovo dispositivo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rifiutare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Rifiuta tutto"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposta respinta"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Ricordi la tua password? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Invio dell'email di verifica in corso..."
|
||||
msgid "Reset"
|
||||
msgstr "Ripristina"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reimposta la chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Reimposta la tua password"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Reimpostazione della tua password in corso..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Assistente AI per il ridimensionamento"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Risorse"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analisi del curriculum completata."
|
||||
msgid "Resumes"
|
||||
msgstr "Curriculum"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Revisione necessaria"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Proposte esaminate"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Allinea a destra"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Seleziona..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host con Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Inviare"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Invia email per reimpostare la password"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Invio dell'email per reimpostare la password in corso..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Invio della richiesta"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separatore"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Una singola colonna con barra laterale e griglia pulita; versatile per q
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "A colonna singola con intestazione in linea a tre colonne (posizione - organizzazione - periodo); compatta e adatta agli ATS, si adatta bene alle convenzioni asiatiche per i curriculum (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Impaginazione a colonna singola con intestazioni di sezione in maiuscolo e una linea superiore di colore primario su ogni pagina; ideale per curriculum di dirigenti, consulenti o startup."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Una singola colonna; curato e serio per posizioni senior o a livello enterprise."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistiche"
|
||||
msgid "Stay"
|
||||
msgstr "Rimani"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Fermare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Punti di forza"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Colore del testo"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "L'intelligenza artificiale ha proposto una modifica che non si applica più a questo curriculum."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "L'intelligenza artificiale ha restituito una proposta che non poteva essere visualizzata in anteprima."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "La chiave API è stata eliminata correttamente."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Dopo l'eliminazione, la chiave API non potrà più accedere ai tuoi dati. Questa azione non può essere annullata."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "L'assistente si fermò prima di restituire la proposta."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Questo è un nome adatto agli URL per il tuo curriculum."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Potrebbero essere necessari alcuni minuti, a seconda della risposta del provider IA. Non chiudere la finestra e non aggiornare la pagina."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Questa proposta non è aggiornata. Chiedi all'assistente di rigenerarla a partire dal curriculum più recente."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Questo curriculum è bloccato e non può essere aggiornato."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Sì, Reactive Resume è disponibile in più lingue. Puoi scegliere la tua lingua preferita nella pagina delle impostazioni o usando il selettore di lingua nell'angolo in alto a destra. Se non vedi la tua lingua, o se vuoi migliorare le traduzioni esistenti, puoi <0>contribuire alle traduzioni su Crowdin<1> (apre in una nuova scheda)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Sì! Ogni modello è completamente personalizzabile. Puoi cambiare colori, font, spaziatura e persino scrivere CSS personalizzato per avere il pieno controllo dell'aspetto del tuo curriculum."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Sì! Reactive Resume è completamente gratuito da usare, senza costi nascosti, livelli premium o abbonamenti. È open source e resterà sempre gratuito."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ja\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# 件のアイテム}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, other {# 個の役職}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} 提案が審査されました"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "もちろん可能です。ワンクリックで履歴書を PDF にエクスポートできます。エクスポートされた PDF では、書式やスタイルがそのまま維持されます。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "受け入れる"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "すべて受け入れる"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "提案が承認されました"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API を使用して、プログラムから履歴書とデータにアクセスできます。"
|
||||
@@ -229,10 +246,38 @@ msgstr "前に行を追加"
|
||||
msgid "Afrikaans"
|
||||
msgstr "アフリカーンス語"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "後"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI統合は無効になっています"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI提案が適用されました。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AIに関する提案は却下された。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI関連の提案が適用されました。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI関連の提案は却下された。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI履歴書アシスタント"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "アルバニア語"
|
||||
@@ -367,10 +412,22 @@ msgstr "研究分野"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工知能"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "履歴書の内容を具体的に変更するよう依頼してください。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "段階的な変更を求める"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "アスペクト比"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "アシスタントのリクエストが失敗しました"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "基本情報"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "選択できる美しいテンプレートを多数用意しており、今後もさらに追加される予定です。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "前に"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "ベンガル語"
|
||||
@@ -462,10 +523,6 @@ msgstr "箇条書きリスト"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "コミュニティによる、コミュニティのためのプロジェクト。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "テンプレートはカスタマイズできますか?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "履歴書を PDF にエクスポートできますか?"
|
||||
@@ -576,6 +633,14 @@ msgstr "クリア"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ここをクリックしてインポートするファイルを選択"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "閉じる"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AIアシスタントを閉じる"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "コードブロック"
|
||||
@@ -622,6 +687,10 @@ msgstr "確認"
|
||||
msgid "Connect"
|
||||
msgstr "接続"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "履歴書編集提案を利用する前に、AIプロバイダーと連絡を取り、その信頼性を確認してください。"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "このシークレットキーをコピーし、アプリケーション
|
||||
msgid "Copy URL"
|
||||
msgstr "URL をコピー"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI提案を適用できませんでした。"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "切断"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "却下する"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ドキュメンテーション"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "アカウントをお持ちでないですか? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "寄付する"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume に寄付"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA を有効化"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI 機能を有効にする"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI統合を有効にする"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "二要素認証を有効化"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "例:要約を書き直す、職務経歴の箇条書きを一つ絞り込む、数値データを追加する、または求人内容に合わせて履歴書を修正する。"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "全画面表示を終了"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "マイクロソフトワード"
|
||||
msgid "Model"
|
||||
msgstr "モデル"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "その他の提案アクション"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "移動先"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https://。"
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "要見直し"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "ネパール語"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "新しいパスワード"
|
||||
msgid "New Section"
|
||||
msgstr "新しいセクション"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "次のページ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "広告なし・トラッキングなし"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "継続的な保守"
|
||||
msgid "Open"
|
||||
msgstr "開く"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "OpenAIアシスタント"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "メールクライアントを開く"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "オープンインテグレーション"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "統合設定を開く"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "履歴書の所有者から共有されたパスワードを入力して
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "リンク先の URL を入力してください:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "プロジェクトへのご支援をお願いいたします"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "役職"
|
||||
msgid "Preferences"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "変更の準備"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "プリセット"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "現在のキーワードを追加または保存するには、<0>{RETUR
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "<0>Enter</0>キーを押して開く"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "前へ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "メインカラー"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "プログレスバー"
|
||||
msgid "Projects"
|
||||
msgstr "プロジェクト"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{0} の {total} の提案"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "パスワードで履歴書を保護し、許可されていないアクセスを防ぎます。"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "掲載情報"
|
||||
msgid "Publisher"
|
||||
msgstr "出版社"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "生のJSONパッチ"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ホームページへ移動"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume は、愛情を込めて作られ、私とコミュニ
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume は、履歴書の作成、更新、共有のプロセスを簡素化する、無料でオープンソースの履歴書ビルダーです。"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resumeは無料のオープンソースソフトウェアです。もしお役に立てたなら、ぜひご寄付をご検討ください。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume はオープンソースでプライバシー重視、そして完全無料です。他の履歴書ビルダーと違い、広告を表示したり、あなたのデータを追跡したり、有料プランの裏に機能を隠したりすることはありません。"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "再読み込み"
|
||||
msgid "Register New Device"
|
||||
msgstr "新規デバイスの登録"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "拒否する"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "すべて拒否"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "却下された提案"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "パスワードを思い出しましたか? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "確認メールを再送信しています..."
|
||||
msgid "Reset"
|
||||
msgstr "リセット"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "チャットをリセット"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "パスワードをリセット"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "パスワードをリセットしています..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "リサイズAIアシスタント"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "リソース"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "履歴書分析完了。"
|
||||
msgid "Resumes"
|
||||
msgstr "履歴書"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "レビューが必要です"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "提案内容を検討しました"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "右揃え"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "選択..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker でセルフホスト"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "送信"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "パスワードリセットメールを送信"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "パスワードリセットメールを送信しています..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "リクエストを送信中"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "区切り線"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "サイドバーと整ったグリッドレイアウトを備えた 1 カ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "1段組、インライン3段組(ポジション-所属-ピリオド)。コンパクトでATSフレンドリー、アジアの履歴書規約(CN/JP/KR)に適しています。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "1段組で、セクションの見出しはすべて大文字、各ページの上部には原色を使った罫線が入っています。経営幹部、コンサルタント、スタートアップ企業の履歴書に最適な洗練されたデザインです。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "1 カラムレイアウトで、落ち着いた印象の真面目なデザイン。シニア職やエンタープライズレベルのポジションに適しています。"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "統計"
|
||||
msgid "Stay"
|
||||
msgstr "このまま"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "強み"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "テキストカラー"
|
||||
msgid "Thai"
|
||||
msgstr "タイ語"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AIが提案した変更内容は、この履歴書にはもはや適用されません。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AIはプレビューできない提案を返しました。"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API キーを正常に削除しました。"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "この API キーは削除後、データにアクセスできなくなります。この操作は取り消せません。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "アシスタントは提案を返す前に立ち止まった。"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "これは履歴書用の、URL 向けの名前です。"
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI プロバイダーからの応答によっては、数分かかる場合があります。ウィンドウを閉じたりページを再読み込みしたりしないでください。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "この提案書は古い情報です。アシスタントに最新の履歴書から再作成するよう依頼してください。"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "この履歴書はロックされているため、更新できません。"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X(ツイッター)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "はい。Reactive Resume は複数の言語に対応しています。設定ページ、または右上の言語切り替えからお好みの言語を選択できます。もしご希望の言語が見つからない場合や、既存の翻訳を改善したい場合は、<0>Crowdin で翻訳に貢献<1>(新しいタブで開きます)</1></0>できます。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "はい。すべてのテンプレートは完全にカスタマイズ可能です。色やフォント、余白を変更できるほか、カスタム CSS を記述して履歴書の見た目を完全にコントロールできます。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "はい。Reactive Resume は完全に無料で、隠れたコストやプレミアムプラン、サブスクリプション料金は一切ありません。オープンソースであり、今後もずっと無料で提供されます。"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: km\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Khmer\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# ធាតុ}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# តួនាទី} other {# តួនាទី}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "សំណើ {0} ត្រូវបានពិនិត្យឡើងវិញ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "បានប្រាកដ! អ្នកអាចនាំចេញប្រវត្តិរូបរបស់អ្នកជា PDF ដោយចុចតែម្ដង។ ឯកសារ PDF ដែលនាំចេញនឹងរក្សាទុកទ្រង់ទ្រាយ និងរចនាប័ទ្មទាំងអស់របស់អ្នកដូចដើម។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ទទួលយក"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "ទទួលយកទាំងអស់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "សំណើដែលបានទទួលយក"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "ចូលដំណើរការប្រវត្តិរូប និងទិន្នន័យរបស់អ្នកតាមកម្មវិធី ដោយប្រើ API។"
|
||||
@@ -229,10 +246,38 @@ msgstr "បន្ថែមជួរដេកនៅមុខ"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "បន្ទាប់ពី"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "បានបិទការរួមបញ្ចូល AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "សំណើ AI ត្រូវបានអនុវត្ត។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "សំណើ AI ត្រូវបានបដិសេធ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "សំណើ AI ត្រូវបានអនុវត្ត។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "សំណើ AI ត្រូវបានបដិសេធ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "ជំនួយការប្រវត្តិរូបសង្ខេប AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -367,10 +412,22 @@ msgstr "ជំនាញរៀន"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "បញ្ញាសិប្បនិម្មិត"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "ស្នើសុំការផ្លាស់ប្តូរប្រវត្តិរូបសង្ខេបដែលមានគោលដៅ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ស្នើសុំការផ្លាស់ប្តូរបន្តិចម្តងៗ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "សមាមាត្រទ្រង់ទ្រាយ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "សំណើសុំជំនួយបរាជ័យ"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "មូលដ្ឋាន"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "គំរូស្អាតៗឲ្យជ្រើសរើស ហើយនៅមានបន្ថែមទៀតកំពុងមកដល់។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "មុន"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "បញ្ជីមានគ្រាប់ចំណុច"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "ដោយសហគមន៍ សម្រាប់សហគមន៍។"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "តើខ្ញុំអាចប្ដូរតាមបំណងគំរូទាំងនេះបានទេ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "តើខ្ញុំអាចនាំចេញប្រវត្តិរូបរបស់ខ្ញុំជា PDF បានទេ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "សម្អាត"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ចុចទីនេះដើម្បីជ្រើសឯកសារមួយដើម្បីនាំចូល"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "បិទ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "បិទជំនួយការ AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "កូដប្លុក"
|
||||
@@ -622,6 +687,10 @@ msgstr "អះអាង"
|
||||
msgid "Connect"
|
||||
msgstr "តភ្ជាប់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "ភ្ជាប់ និងផ្ទៀងផ្ទាត់អ្នកផ្តល់សេវា AI មុនពេលប្រើប្រាស់សំណើកែសម្រួលប្រវត្តិរូបសង្ខេប។"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ចម្លងកូនសោសម្ងាត់នេះ
|
||||
msgid "Copy URL"
|
||||
msgstr "ចម្លង URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "មិនអាចអនុវត្តសំណើ AI បានទេ។"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ផ្ដាច់"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "បដិសេធ"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ឯកសារ"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "មិនមានគណនី? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "បរិច្ចាគ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "បរិច្ចាគឲ្យ Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "បើកប្រើ 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "បើកប្រើមុខងារ AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "បើកការរួមបញ្ចូល AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "បើកប្រើការផ្ទៀងផ្ទាត់ពីរជាន់"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ឧទាហរណ៍៖ សរសេរសេចក្តីសង្ខេបឡើងវិញ រឹតបន្តឹងចំណុចបទពិសោធន៍មួយ បន្ថែមរង្វាស់ ឬកែសម្រួលប្រវត្តិរូបសង្ខេបសម្រាប់ការពិពណ៌នាការងារ។"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ចេញពីអេក្រង់ពេញ"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "ម៉ូដែល"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "សកម្មភាពស្នើបន្ថែមទៀត"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "ផ្លាស់ទីទៅ"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "ត្រូវតែចាប់ផ្តើមដោយ https://"
|
||||
msgid "Name"
|
||||
msgstr "ឈ្មោះ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "ត្រូវការការពិនិត្យឡើងវិញ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "ពាក្យសម្ងាត់ថ្មី"
|
||||
msgid "New Section"
|
||||
msgstr "ផ្នែកថ្មី"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "បន្ទាប់"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "គ្មានការផ្សពាណិជ្ជកម្ម គ្មានការតាមដាន"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "ការថែទាំបន្ត"
|
||||
msgid "Open"
|
||||
msgstr "បើក"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "បើកជំនួយការ AI"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "បើកកម្មវិធីអ៊ីមែល"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ការរួមបញ្ចូលបើកចំហ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "បើកការកំណត់ការរួមបញ្ចូល"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "សូមបញ្ចូលពាក្យសម្ងាត់
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "សូមបញ្ចូល URL ដែលអ្នកចង់តភ្ជាប់ទៅ៖"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "សូមជួយគាំទ្រគម្រោងនេះផង"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "តួនាទី"
|
||||
msgid "Preferences"
|
||||
msgstr "ចំណង់ចំណូលចិត្ត"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "កំពុងរៀបចំការផ្លាស់ប្តូរ"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "កំណត់ជាមុន"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "ចុច <0>{RETURN_KEY}</0> ឬ <1>{COMMA_KEY}</1> ដើម្បី
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "ចុច <0>Enter</0> ដើម្បីបើក"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "មុន"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ពណ៌មូលដ្ឋាន"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "របារវឌ្ឍនភាព"
|
||||
msgid "Projects"
|
||||
msgstr "គម្រោង"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "សំណើ {0} នៃ {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "ការពារប្រវត្តិរូបរបស់អ្នកពីការចូលដំណើរការដោយមិនបានអនុញ្ញាត ដោយប្រើពាក្យសម្ងាត់"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "អត្ថបទផ្សព្វផ្សាយ"
|
||||
msgid "Publisher"
|
||||
msgstr "អ្នកបោះពុម្ពផ្សាយ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "បំណះ JSON ឆៅ"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ទៅកាន់ទំព័រដើម"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ជាគម្រោងឥតគិតថ្ល
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ជាកម្មវិធីបង្កើតប្រវត្តិរូបឥតគិតថ្លៃ និងបើកប្រភព ដែលធ្វើឱ្យដំណើរការបង្កើត បច្ចុប្បន្នភាព និងចែករំលែកប្រវត្តិរូបរបស់អ្នក ក្លាយជារឿងងាយស្រួល។"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume គឺឥតគិតថ្លៃ និងជាប្រភពបើកចំហ។ ប្រសិនបើវាបានជួយអ្នក សូមពិចារណាបរិច្ចាគ។"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume គឺបើកប្រភព ផ្តោតលើភាពឯកជន និងឥតគិតថ្លៃទាំងស្រុង។ ខុសពីកម្មវិធីបង្កើតប្រវត្តិរូបផ្សេងៗ វាមិនបង្ហាញពាណិជ្ជកម្ម មិនតាមដានទិន្នន័យរបស់អ្នក ហើយមិនកំណត់មុខងារពីក្រោយ paywall ឡើយ។"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "ផ្ទៀងផ្ទាត់ម្ដងទៀត"
|
||||
msgid "Register New Device"
|
||||
msgstr "ចុះឈ្មោះឧបករណ៍ថ្មី"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "បដិសេធ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "បដិសេធទាំងអស់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "សំណើត្រូវបានបដិសេធ"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "ចាំពាក្យសម្ងាត់របស់អ្នក? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "កំពុងផ្ញើអ៊ីមែលផ្ទៀងផ
|
||||
msgid "Reset"
|
||||
msgstr "កំណត់ឡើងវិញ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "កំណត់ការជជែកឡើងវិញ"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "កំណត់ពាក្យសម្ងាត់របស់
|
||||
msgid "Resetting your password..."
|
||||
msgstr "កំពុងកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "ប្ដូរទំហំជំនួយការ AI"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "ធនធាន"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "ការវិភាគប្រវត្តិរូបបានបញ
|
||||
msgid "Resumes"
|
||||
msgstr "ប្រវត្តិរូប"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "តម្រូវឱ្យមានការពិនិត្យឡើងវិញ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "សំណើដែលបានពិនិត្យ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "តម្រង់ស្ដាំ"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "ជ្រើសរើស..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ដំឡើងផ្ទាល់ខ្លួនដោយប្រើ Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ផ្ញើ"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "ផ្ញើអ៊ីមែលកំណត់ពាក្យស
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "កំពុងផ្ញើអ៊ីមែលកំណត់ពាក្យសម្ងាត់ឡើងវិញ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "កំពុងផ្ញើសំណើ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "បន្ទាត់បំបែក"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "ជួរឈរតែមួយ មានរបារបាត
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ប្លង់ជួរឈរតែមួយដែលមានបឋមកថាធាតុជាបីជួរឈរនៅក្នុងបន្ទាត់តែមួយ (មុខតំណែង · ស្ថាប័ន · រយៈពេល)៖ បង្រួម ងាយស្រួលសម្រាប់ ATS និងសមស្របសម្រាប់ទម្រង់ប្រវត្តិរូបបែបអាស៊ី (CN/JP/KR)។"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ជួរឈរតែមួយដែលមានចំណងជើងផ្នែកអក្សរធំ និងបន្ទាត់កំពូលពណ៌ចម្បងនៅលើទំព័រនីមួយៗ។ ត្រូវបានរៀបចំយ៉ាងល្អសម្រាប់ប្រវត្តិរូបសង្ខេបសម្រាប់នាយកប្រតិបត្តិ ប្រឹក្សាយោបល់ ឬចាប់ផ្តើមអាជីវកម្ម។"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ជួរឈរតែមួយ រូបរាងរលោង និងផ្លូវការសម្រាប់តំណែងជាន់ខ្ពស់ ឬកម្រិតសហគ្រាស។"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "ស្ថិតិ"
|
||||
msgid "Stay"
|
||||
msgstr "ស្ថិត"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "ឈប់"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ចំណុចខ្លាំង"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "ពណ៌អត្ថបទ"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "បញ្ញាសិប្បនិម្មិត (AI) បានស្នើការផ្លាស់ប្តូរមួយដែលលែងអនុវត្តចំពោះប្រវត្តិរូបសង្ខេបនេះទៀតហើយ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "បញ្ញាសិប្បនិម្មិត (AI) បានប្រគល់សំណើមួយដែលមិនអាចមើលជាមុនបាន។"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "កូនសោ API ត្រូវបានលុបដោយ
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "បន្ទាប់ពីលុប កូនសោ API នេះនឹងមិនអាចចូលដំណើរការទិន្នន័យរបស់អ្នកបានទៀតទេ។ សកម្មភាពនេះមិនអាចមិនធ្វើវិញបានទេ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ជំនួយការបានឈប់មុនពេលប្រគល់សំណើមួយវិញ។"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "នេះជាឈ្មោះងាយស្រួលស
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "វាអាចចំណាយពេលពីរនាទី អាស្រ័យលើការឆ្លើយតបរបស់អ្នកផ្តល់សេវា AI។ សូមកុំបិទបង្អួចនេះ ឬផ្ទុកទំព័រឡើងវិញ។"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "សំណើនេះហួសសម័យហើយ។ សូមស្នើសុំឱ្យជំនួយការបង្កើតវាឡើងវិញពីប្រវត្តិរូបសង្ខេបចុងក្រោយបំផុត។"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ប្រវត្តិរូបនេះត្រូវបានចាក់សោ ហើយមិនអាចបច្ចុប្បន្នភាពបានទេ។"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (ធ្វីតធ័រ)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "បាទ Reactive Resume អាចប្រើបានជាភាសាច្រើន។ អ្នកអាចជ្រើសភាសាដែលអ្នកពេញចិត្តនៅលើទំព័រការកំណត់ ឬដោយប្រើកម្មវិធីប្ដូរភាសានៅកូណឺឆ្វេងលើ។ បើអ្នកមិនឃើញភាសារបស់អ្នក ឬចង់ធ្វើឱ្យការបកប្រែដែលមានស្រាប់ប្រសើរឡើង អ្នកអាច <0>ចូលរួមបកប្រែនៅលើ Crowdin<1> (បើកក្នុងផ្ទាំងថ្មី)</1></0>។"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "បាទ! គំរូនីមួយៗអាចប្ដូរតាមបំណងបានទាំងស្រុង។ អ្នកអាចប្តូរពណ៌ ពុម្ពអក្សរ គម្លាត និងសរសេរ CSS ផ្ទាល់ខ្លួន ដើម្បីត្រួតត្រាលើរូបរាងប្រវត្តិរូបរបស់អ្នកបានពេញលេញ។"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "បាទ! Reactive Resume គឺឥតគិតថ្លៃទាំងស្រុង គ្មានចំនាយលាក់កំបាំង កម្រិតពិសេស ឬកម្រៃជាវប្រចាំខែទេ។ វាបើកប្រភព ហើយនឹងនៅតែឥតគិតថ្លៃជារៀងរហូត។"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: kn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Kannada\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# ಐಟಂ} other {# ಐಟಂಗಳು}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ಪಾತ್ರ} other {# ಪಾತ್ರಗಳು}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} ಪ್ರಸ್ತಾವನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿದೆ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "ಖಂಡಿತ! ನೀವು ಒಂದೇ ಕ್ಲಿಕ್ನಿಂದ ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅನ್ನು PDF ಗೆ ರಫ್ತು ಮಾಡಬಹುದು. ರಫ್ತುಗೊಂಡ PDF ದಲ್ಲಿನ ಎಲ್ಲಾ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮತ್ತು ಶೈಲಿಗಳನ್ನು ಅದು ನಿಖರವಾಗಿ ಉಳಿಸುತ್ತದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ಸ್ವೀಕರಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "ಎಲ್ಲವನ್ನೂ ಸ್ವೀಕರಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ಪ್ರಸ್ತಾವನೆಯನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API ಬಳಸಿ ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಿ."
|
||||
@@ -229,10 +246,38 @@ msgstr "ಸಾಲನ್ನು ಮೊದಲು ಸೇರಿಸಿ"
|
||||
msgid "Afrikaans"
|
||||
msgstr "ಆಫ್ರಿಕಾನ್ಸ್"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "ನಂತರ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI ಏಕೀಕರಣವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI ಪ್ರಸ್ತಾವನೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI ಪ್ರಸ್ತಾವನೆಯನ್ನು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI ಪ್ರಸ್ತಾವನೆಗಳನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI ಪ್ರಸ್ತಾವನೆಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI ರೆಸ್ಯೂಮ್ ಅಸಿಸ್ಟೆಂಟ್"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "ಅಲ್ಬೇನಿಯನ್"
|
||||
@@ -367,10 +412,22 @@ msgstr "ಅಧ್ಯಯನದ ಕ್ಷೇತ್ರ"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ಕೃತಕ ಬುದ್ಧಿವಂತಿಕೆ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "ಉದ್ದೇಶಿತ ರೆಸ್ಯೂಮ್ ಬದಲಾವಣೆಗಾಗಿ ಕೇಳಿ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ಕ್ರಮೇಣ ಬದಲಾವಣೆಯನ್ನು ಕೇಳಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ಆಕಾರ ಅನುಪಾತ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "ಸಹಾಯಕ ವಿನಂತಿ ವಿಫಲವಾಗಿದೆ"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "ಮೂಲಭೂತಗಳು"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "ಆಯ್ಕೆ ಮಾಡಲು ಸುಂದರವಾದ ಮಾದರಿಗಳು, ಇನ್ನೂ ಬಹಳ ಬೇಗ ಬರುತ್ತಿವೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "ಮೊದಲು"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "ಬೆಂಗಾಲಿ"
|
||||
@@ -462,10 +523,6 @@ msgstr "ಬುಲೆಟ್ ಪಟ್ಟ್ತಿ"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "ಸಮುದಾಯದಿಂದ, ಸಮುದಾಯಕ್ಕಾಗಿ."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "ನಾನು ಮಾದರಿಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿಸಬಹುದೇ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "ನಾನು ನನ್ನ ರೆಸ್ಯೂಮ್ ಅನ್ನು PDF ಗೆ ರಫ್ತು ಮಾಡಿಸಬಹುದೇ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "ತೆರವುಗೊಳಿಸಿ"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ಆಮದು ಮಾಡಲು ಕಡತವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "ಮುಚ್ಚಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI ಸಹಾಯಕವನ್ನು ಮುಚ್ಚಿ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "ಕೋಡ್ ಬ್ಲಾಕ್"
|
||||
@@ -622,6 +687,10 @@ msgstr "ದೃಢೀಕರಿಸಿ"
|
||||
msgid "Connect"
|
||||
msgstr "ಕನೆಕ್ಟ್ ಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "ರೆಸ್ಯೂಮ್ ಎಡಿಟಿಂಗ್ ಪ್ರಸ್ತಾವನೆಗಳನ್ನು ಬಳಸುವ ಮೊದಲು AI ಪೂರೈಕೆದಾರರನ್ನು ಸಂಪರ್ಕಿಸಿ ಮತ್ತು ಪರಿಶೀಲಿಸಿ."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ಈ ಸೀಕ್ರೆಟ್ ಕೀ ಅನ್ನು ನಕಲಿಸಿ
|
||||
msgid "Copy URL"
|
||||
msgstr "URL ನಕಲಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI ಪ್ರಸ್ತಾವನೆಯನ್ನು ಅನ್ವಯಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ಡಿಸ್ಕನೆಕ್ಟ್ ಮಾಡಿ"
|
||||
msgid "Discord"
|
||||
msgstr "ಡಿಸ್ಕೋರ್ಡ್"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "ವಜಾಗೊಳಿಸಿ"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ದಾಖಲೀಕರಣ"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "ಖಾತೆ ಇಲ್ಲವೇ? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "ದಾನ ಮಾಡಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ಗೆ ದೇಣಿಗೆ ನೀಡಿ"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA ಸಕ್ರಿಯಗೊಳಿಸಿ"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI ಏಕೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "ಎರಡು ಅಂಶಗಳ ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ಉದಾಹರಣೆಗಳು: ಸಾರಾಂಶವನ್ನು ಪುನಃ ಬರೆಯುವುದು, ಒಂದು ಅನುಭವದ ಬುಲೆಟ್ ಅನ್ನು ಬಿಗಿಗೊಳಿಸುವುದು, ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸೇರಿಸುವುದು ಅಥವಾ ಕೆಲಸದ ವಿವರಣೆಗೆ ಅನುಗುಣವಾಗಿ ರೆಸ್ಯೂಮ್ ಅನ್ನು ಅಳವಡಿಸುವುದು."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ಪೂರ್ಣ ಪರದೆಯಿಂದ ನಿರ್ಗಮಿಸಿ"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "ಮಾದರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "ಹೆಚ್ಚಿನ ಪ್ರಸ್ತಾವನೆ ಕ್ರಮಗಳು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "ಸ್ಥಳಾಂತರಿಸಿ"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// ನಿಂದ ಪ್ರಾರಂಭವಾಗಬೇಕು"
|
||||
msgid "Name"
|
||||
msgstr "ಹೆಸರು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "ಪರಿಶೀಲನೆ ಅಗತ್ಯವಿದೆ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "ನೇಪಾಳಿ"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "ಹೊಸ ಪಾಸ್ವರ್ಡ್"
|
||||
msgid "New Section"
|
||||
msgstr "ಹೊಸ ವಿಭಾಗ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "ಮುಂದೆ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "ಯಾವುದೇ ಜಾಹೀರಾತುಗಳಿಲ್ಲ, ಯಾವುದೇ ಟ್ರ್ಯಾಕಿಂಗ್ ಇಲ್ಲ"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "ನಿರಂತರ ನಿರ್ವಹಣೆ"
|
||||
msgid "Open"
|
||||
msgstr "ತೆರೆಯಿರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "AI ಸಹಾಯಕವನ್ನು ತೆರೆಯಿರಿ"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ಇಮೇಲ್ ಕ್ಲೈಂಟ್ ತೆರೆಯಿರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ಸಂಯೋಜನೆಗಳನ್ನು ತೆರೆಯಿರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ಸಂಯೋಜನೆಗಳ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ತೆರೆಯಿರಿ"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "ಮುಂದುವರಿಸಲು, ದಯವಿಟ್ಟು ರೆಸ್
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "ನೀವು ಲಿಂಕ್ ಮಾಡಲು ಬಯಸುವ URL ಅನ್ನು ನಮೂದಿಸಿ:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "ದಯವಿಟ್ಟು ಯೋಜನೆಯನ್ನು ಬೆಂಬಲಿಸಿ"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "ಸ್ಥಾನ"
|
||||
msgid "Preferences"
|
||||
msgstr "ಆದ್ಯತೆಗಳು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "ಬದಲಾವಣೆಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತಿದೆ"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "ಪ್ರೀಸೆಟ್ಗಳು"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "ಮುಖ್ಯವಚನವನ್ನಾ ಸೇರಿಸಲು ಅಥವ
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "ತೆರೆಯಲು <0>Enter</0> ಒತ್ತಿರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "ಹಿಂದಿನದು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ಪ್ರಾಥಮಿಕ ಬಣ್ಣ"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "ಪ್ರಗತಿ ಪಟ್ಟೆ"
|
||||
msgid "Projects"
|
||||
msgstr "ಯೋಜನೆಗಳು"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "ಪ್ರಸ್ತಾವನೆ {0} / {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ರಿಂದ ಅನಧಿಕೃತ ಪ್ರವೇಶದಿಂದ ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅನ್ನು ರಕ್ಷಿಸಿ"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "ಪ್ರಕಟನೆಗಳು"
|
||||
msgid "Publisher"
|
||||
msgstr "ಪ್ರಕಾಶಕರು"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "ಕಚ್ಚಾ JSON ಪ್ಯಾಚ್"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ಮುಖ್ಯ ಪುಟಕ್ಕೆ ಹೋಗಿ"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ಉಚಿತ ಮತ್ತು ಮುಕ್ತ-ಮೂಲ
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅನ್ನು ರಚಿಸುವ, ನವೀಕರಿಸುವ ಮತ್ತು ಹಂಚಿಕೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಉಚಿತ ಮತ್ತು ಮುಕ್ತ-ಮೂಲ ರೆಸ್ಯೂಮ್ ನಿರ್ಮಾಪಕವಾಗಿದೆ."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲವಾಗಿದೆ. ಇದು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಿದ್ದರೆ, ದಯವಿಟ್ಟು ದಾನ ಮಾಡುವುದನ್ನು ಪರಿಗಣಿಸಿ."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ಮುಕ್ತ-ಮೂಲ, ಗೌಪ್ಯತಿಗೆ ಪ್ರಾಧಾನ್ಯ ನೀಡುವ ಹಾಗು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿದೆ. ಇತರೆ ರೆಸ್ಯೂಮ್ ನಿರ್ಮಾಪಕರಿಗಿಂತ ವಿಭಿನ್ನವಾಗಿ, ಇದು ಜಾಹೀರಾತುಗಳನ್ನು ತೋರಿಸುವುದಿಲ್ಲ, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದಿಲ್ಲ, ಅಥವಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪೇಯ್ವಾಲ್ ಹಿಂದೆ ಮಿತಿ ಮಾಡುವುದಿಲ್ಲ."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "ರಿಫ್ರೆಶ್ ಮಾಡಿ"
|
||||
msgid "Register New Device"
|
||||
msgstr "ಹೊಸ ಸಾಧನವನ್ನು ನೋಂದಾಯಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "ತಿರಸ್ಕರಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "ಎಲ್ಲವನ್ನೂ ತಿರಸ್ಕರಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "ತಿರಸ್ಕರಿಸಿದ ಪ್ರಸ್ತಾವನೆ"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನೆನಪಿದೆಯೇ? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "ಪರಿಶೀಲನಾ ಇಮೇಲ್ ಅನ್ನು ಮರುಕಳ
|
||||
msgid "Reset"
|
||||
msgstr "ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "ಚಾಟ್ ಮರುಹೊಂದಿಸಿ"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರು
|
||||
msgid "Resetting your password..."
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಲಾಗುತ್ತಿದೆ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI ಸಹಾಯಕವನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಿ"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "ಸಂಪನ್ಮೂಲಗಳು"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "ರೆಸ್ಯೂಮ್ ವಿಶ್ಲೇಷಣೆ ಪೂರ್ಣಗ
|
||||
msgid "Resumes"
|
||||
msgstr "ರೆಸ್ಯೂಮೇ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "ಪರಿಶೀಲನೆ ಅಗತ್ಯವಿದೆ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "ಪರಿಶೀಲಿಸಿದ ಪ್ರಸ್ತಾವನೆಗಳು"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "ಬಲ ಸರಿಸು"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "ಆಯ್ಕೆಮಾಡಿ..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "ಡಾಕರ್ ಜೊತೆಗೆ ಸ್ವಯಂ ಹೋಸ್ಟ್"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ಕಳುಹಿಸಿ"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "ಪಾಸ್ವರ್ಡ್ ಮರುಹೊಂದಿಸುವ ಇಮ
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ಮರುಹೊಂದಿಸುವ ಇಮೇಲ್ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "ವಿಭಜಕ"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "ಒಂದು ಕಾಲಮ್, ಸೈಡ್ಬಾರ್ ಮತ್ತ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ಒಂದು ಕಾಲಮ್ ವಿನ್ಯಾಸ; ಇನ್ಲೈನ್ ಮೂರು-ಕಾಲಮ್ ಎಂಟ್ರಿ ಹೆಡರ್ೊಂದಿಗೆ (ಹುದ್ದೆ · ಸಂಸ್ಥೆ · ಅವಧಿ), ಸಂಕ್ಷಿಪ್ತ ಮತ್ತು ATS ಗೆ ಅನುಕೂಲಕರ, ಏಷ್ಯನ್ ರೆಸ್ಯೂಮ್ ಪದ್ಧತಿಗಳಿಗೆ (CN/JP/KR) ಚೆನ್ನಾಗಿ ಸೂಕ್ತವಾಗಿದೆ."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ಪ್ರತಿ ಪುಟದಲ್ಲಿ ದೊಡ್ಡಕ್ಷರ ವಿಭಾಗ ಶೀರ್ಷಿಕೆಗಳು ಮತ್ತು ಪ್ರಾಥಮಿಕ-ಬಣ್ಣದ ಮೇಲ್ಭಾಗದ ನಿಯಮವನ್ನು ಹೊಂದಿರುವ ಏಕ-ಕಾಲಮ್; ಕಾರ್ಯನಿರ್ವಾಹಕ, ಸಲಹಾ ಅಥವಾ ಆರಂಭಿಕ ರೆಸ್ಯೂಮ್ಗಳಿಗಾಗಿ ಪಾಲಿಶ್ ಮಾಡಲಾಗಿದೆ."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ಒಂದು ಕಾಲಮ್; ಹಿರಿಯ ಅಥವಾ ಎಂಟರ್ಪ್ರೈಸ್-ಮಟ್ಟದ ಹುದ್ದೆಗಳಿಗಾಗಿ ಮೆರಗು ಮತ್ತು ಗಂಭೀರ."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "ಅಂಕಿಅಂಶಗಳು"
|
||||
msgid "Stay"
|
||||
msgstr "ಇರಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "ನಿಲ್ಲಿಸಿ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ಬಲಗಳು"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "ಅಕ್ಷರದ ಬಣ್ಣ"
|
||||
msgid "Thai"
|
||||
msgstr "ಥಾಯ್"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "ಈ ರೆಸ್ಯೂಮ್ಗೆ ಇನ್ನು ಮುಂದೆ ಅನ್ವಯಿಸದ ಬದಲಾವಣೆಯನ್ನು AI ಪ್ರಸ್ತಾಪಿಸಿದೆ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "ಪೂರ್ವವೀಕ್ಷಣೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗದ ಪ್ರಸ್ತಾವನೆಯನ್ನು AI ಹಿಂತಿರುಗಿಸಿತು."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API ಕೀಲಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿ
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "ಅಳಿಸಿದ ನಂತರ ಈ API ಕೀಲಿಗೆ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಇನ್ನೂ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಈ ಕ್ರಿಯೆಯನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ಪ್ರಸ್ತಾವನೆಯನ್ನು ಹಿಂದಿರುಗಿಸುವ ಮೊದಲು ಸಹಾಯಕ ನಿಲ್ಲಿಸಿದನು."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "ಇದು ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ಗಾಗಿ URL
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "ಇದು AI ಪ್ರೊವೈಡರ್ನ ಪ್ರತಿಕ್ರಿಯೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿ ಕೆಲ ನಿಮಿಷಗಳು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ದಯವಿಟ್ಟು ವಿಂಡೋ ಅನ್ನು ಮುಚ್ಚಬೇಡಿ ಅಥವಾ ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡಬೇಡಿ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ಈ ಪ್ರಸ್ತಾವನೆ ಹಳೆಯದಾಗಿದೆ. ಇತ್ತೀಚಿನ ರೆಸ್ಯೂಮ್ನಿಂದ ಇದನ್ನು ಪುನರುತ್ಪಾದಿಸಲು ಸಹಾಯಕರನ್ನು ಕೇಳಿ."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ಈ ರೆಸ್ಯೂಮ್ ಲಾಕ್ ಆಗಿದೆ ಮತ್ತು ಅದನ್ನು ನವೀಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "ಎಕ್ಸ್ (ಟ್ವಿಟರ್)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "ಹೌದು, Reactive Resume ಅನೇಕ ಭಾಷೆಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ. ನೀವು ಸೆಟ್ಟಿಂಗ್ಸ್ ಪುಟದಲ್ಲಿ ಅಥವಾ ಮೇಲ್ಭಾಗದ ಬಲ ಮೂಲೆಯಲ್ಲಿರುವ ಭಾಷಾ ಸ್ವಿಚರ್ ಬಳಸಿ ನಿಮ್ಮ ಇಷ್ಟದ ಭಾಷೆಯನ್ನು ಆರಿಸಬಹುದು. ನಿಮ್ಮ ಭಾಷೆ ಕಾಣದಿದ್ದರೆ ಅಥವಾ ಇತ್ತೀಚಗಿನ ಅನುವಾದಗಳನ್ನು ಸುಧಾರಿಸಲು ಬಯಸಿದರೆ, ನೀವು <0>Crowdin ನಲ್ಲಿ ಅನುವಾದಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡಬಹುದು<1> (ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ತೆರೆಯುತ್ತದೆ)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "ಹೌದು! ಪ್ರತಿ ಮಾದರಿಯು ಸಂಪೂರ್ಣವಾಗಿ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದಾಗಿದೆ. ನೀವು ಬಣ್ಣಗಳು, ಫಾಂಟ್ಗಳು, ಅಂತರ ಮತ್ತು ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ನ ರೂಪುರೇಷೆಯ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಕಸ್ಟಮ್ CSS ಕೂಡ ಬರೆಯಬಹುದು."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "ಹೌದು! Reactive Resume ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿ ಬಳಸಬಹುದು, ಯಾವುದೇ ಅಡಕ ವೆಚ್ಚಗಳು, ಪ್ರೀಮಿಯಂ ಹಂತಗಳು ಅಥವಾ ಚಂದಾ ಶುಲ್ಕಗಳಿಲ್ಲದೇ. ಇದು ಮುಕ್ತ-ಮೂಲವಾಗಿದ್ದು ಯಾವಾಗಲೂ ಉಚಿತವಾಗಿಯೇ ಉಳಿಯುತ್ತದೆ."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {#개 항목}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, other {# 개 역할}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} 제안 검토 완료"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "물론 가능합니다! 한 번의 클릭으로 이력서를 PDF로 내보낼 수 있습니다. 내보낸 PDF에는 모든 서식과 스타일이 그대로 유지됩니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "수용하다"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "모두 수락"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "제안서가 승인되었습니다"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API를 사용해 이력서와 데이터를 프로그래밍 방식으로 사용할 수 있습니다."
|
||||
@@ -229,10 +246,38 @@ msgstr "앞에 행 추가"
|
||||
msgid "Afrikaans"
|
||||
msgstr "아프리칸스어"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "후에"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI 통합 기능이 비활성화되었습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI 관련 제안이 접수되었습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI 관련 제안이 거부되었습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI 관련 제안이 적용되었습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI 관련 제안이 거부되었습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI 이력서 도우미"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "알바니아어"
|
||||
@@ -367,10 +412,22 @@ msgstr "연구 분야"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "인공지능"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "이력서 수정 요청을 구체적으로 해주세요..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "점진적인 변화를 요구하세요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "가로세로 비율"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "보조 요청이 실패했습니다."
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "기본 사항"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "선택할 수 있는 아름다운 템플릿이 준비되어 있으며, 앞으로 더 추가될 예정입니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "전에"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "벵골어"
|
||||
@@ -462,10 +523,6 @@ msgstr "글머리 기호 목록"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "커뮤니티에 의해, 커뮤니티를 위해."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "템플릿을 사용자 지정할 수 있나요?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "이력서를 PDF로 내보낼 수 있나요?"
|
||||
@@ -576,6 +633,14 @@ msgstr "지우기"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "가져올 파일을 선택하려면 여기를 클릭하세요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI 비서 닫기"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "코드 블록"
|
||||
@@ -622,6 +687,10 @@ msgstr "확인"
|
||||
msgid "Connect"
|
||||
msgstr "연결"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "이력서 편집 제안을 사용하기 전에 AI 제공업체를 연결하고 검증하세요."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "이 비밀 키를 복사해 애플리케이션에 붙여넣어 데이터
|
||||
msgid "Copy URL"
|
||||
msgstr "URL 복사"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI 제안을 적용할 수 없었습니다."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "연결 해제"
|
||||
msgid "Discord"
|
||||
msgstr "디스코드"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "해고하다"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "문서"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "계정이 없으신가요? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "기부하세요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume에 기부하기"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2단계 인증 활성화"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI 기능 활성화"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI 통합 활성화"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "2단계 인증 활성화"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "예시: 요약 내용을 다시 작성하거나, 특정 경력 항목을 더 간결하게 다듬거나, 성과 지표를 추가하거나, 채용 공고에 맞춰 이력서를 수정하세요."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "전체 화면 종료"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "모델"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "추가 제안 조치"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "이동"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// 으로 시작해야 합니다."
|
||||
msgid "Name"
|
||||
msgstr "이름"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "검토 필요"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "네팔어"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "새 비밀번호"
|
||||
msgid "New Section"
|
||||
msgstr "새 섹션"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "다음"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "광고 없음, 추적 없음"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "지속적인 유지 관리"
|
||||
msgid "Open"
|
||||
msgstr "열기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "오픈 AI 어시스턴트"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "이메일 클라이언트 열기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "오픈 통합"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "통합 설정 열기"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "이력서 소유자가 공유한 비밀번호를 입력해 계속 진행
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "링크할 URL을 입력하세요:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "이 프로젝트를 지원해 주세요."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "직책"
|
||||
msgid "Preferences"
|
||||
msgstr "환경 설정"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "변경 준비 중"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "사전 설정"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "현재 키워드를 추가하거나 저장하려면 <0>{RETURN_KEY}</0>
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "<0>Enter</0> 키를 눌러 열기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "이전"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "기본 색상"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "진행률 바"
|
||||
msgid "Projects"
|
||||
msgstr "프로젝트"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{0} 의 제안 {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "비밀번호로 이력서를 보호해, 허가되지 않은 접근을 막으세요"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "출판물"
|
||||
msgid "Publisher"
|
||||
msgstr "발행인"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "원시 JSON 패치"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - 홈페이지로 이동"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume는 애정을 담아 만든 무료 오픈 소스 프로
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume는 이력서 작성, 업데이트 및 공유를 간단하게 할 수 있는 무료 오픈 소스 이력서 작성 도구입니다."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume는 무료 오픈 소스 소프트웨어입니다. 도움이 되셨다면 기부를 고려해 주세요."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume는 오픈 소스, 개인정보 보호 중심, 완전 무료 서비스입니다. 다른 이력서 작성 도구와 달리 광고를 표시하지 않고, 데이터를 추적하지 않으며, 기능을 페이월 뒤에 숨기지도 않습니다."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "새로고침"
|
||||
msgid "Register New Device"
|
||||
msgstr "새 장치 등록"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "거부하다"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "모두 거부하세요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "제안이 거절되었습니다"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "비밀번호가 기억나시나요? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "인증 이메일을 다시 보내는 중입니다..."
|
||||
msgid "Reset"
|
||||
msgstr "초기화"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "채팅 초기화"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "비밀번호 재설정"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "비밀번호를 재설정하는 중입니다..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI 비서 크기 조정"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "리소스"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "이력서 분석 완료."
|
||||
msgid "Resumes"
|
||||
msgstr "이력서"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "검토 필요"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "검토된 제안서"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "오른쪽 정렬"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "선택..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker로 자체 호스팅"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "보내다"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "비밀번호 재설정 이메일 보내기"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "비밀번호 재설정 이메일을 보내는 중입니다..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "요청 전송"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "구분선"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "사이드바와 깔끔한 그리드 레이아웃을 갖춘 단일 열
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "인라인 3열 항목 헤더(직위-조직-기간)가 있는 단일 열로, 컴팩트하고 ATS 친화적이며 아시아 이력서 양식(CN/JP/KR)에 적합합니다."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "각 페이지 상단에 기본 색상의 선이 있고, 섹션 제목은 대문자로 된 단일 열 레이아웃입니다. 임원, 컨설턴트 또는 스타트업 이력서에 적합하도록 세련되게 디자인되었습니다."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "단일 열 구성에 세련되고 진중한 느낌을 더한 템플릿으로, 시니어 혹은 엔터프라이즈급 포지션에 적합합니다."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "통계"
|
||||
msgid "Stay"
|
||||
msgstr "머물기"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "멈추다"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "강점"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "텍스트 색상"
|
||||
msgid "Thai"
|
||||
msgstr "태국어"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI가 제안한 변경 사항은 더 이상 이 이력서에 적용되지 않습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI가 미리 볼 수 없는 제안을 반환했습니다."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API 키가 성공적으로 삭제되었습니다."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API 키를 삭제하면 더 이상 데이터에 액세스할 수 없습니다. 이 작업은 되돌릴 수 없습니다."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "비서는 제안서를 돌려주기 전에 잠시 멈칫했다."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "이것은 이력서에 사용할 URL 친화적인 이름입니다."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI 제공자의 응답 속도에 따라 몇 분 정도 걸릴 수 있습니다. 창을 닫거나 페이지를 새로 고치지 마세요."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "이 제안서는 오래된 것입니다. 담당자에게 최신 이력서를 바탕으로 다시 작성해 달라고 요청하세요."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "이 이력서는 잠겨 있어 수정할 수 없습니다."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (트위터)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "네, Reactive Resume는 여러 언어로 제공됩니다. 설정 페이지나 오른쪽 상단의 언어 전환기를 사용해 원하는 언어를 선택할 수 있습니다. 원하는 언어가 없거나 기존 번역을 개선하고 싶다면, <0>Crowdin에서 번역에 기여해 보세요<1> (새 탭에서 열림)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "네! 모든 템플릿은 완전히 사용자 지정할 수 있습니다. 색상, 글꼴, 간격을 변경하고, 사용자 지정 CSS를 작성해 이력서의 외형을 완전히 제어할 수 있습니다."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "네! Reactive Resume는 숨은 비용, 프리미엄 플랜, 구독료 없이 완전히 무료로 사용할 수 있습니다. 오픈 소스이며 앞으로도 계속 무료로 제공됩니다."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# elementas} few {# elementai} many {# elementų} other
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# vaidmuo} few {# vaidmenys} many {# vaidmenų} other {# vaidmenys}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} peržiūrėti pasiūlymai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Žinoma! Galite vienu spustelėjimu eksportuoti savo gyvenimo aprašymą į PDF. Eksportuotas PDF išsaugo visą jūsų formatavimą ir stilių."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Priimti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Priimti visus"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Priimtas pasiūlymas"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Programiškai pasiekite savo gyvenimo aprašymus ir duomenis naudodami API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Pridėti eilutę prieš"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikanso"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Dirbtinio intelekto integracija išjungta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Pritaikytas dirbtinio intelekto pasiūlymas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "DI pasiūlymas atmestas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Pritaikyti dirbtinio intelekto pasiūlymai."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Dirbtinio intelekto pasiūlymai atmesti."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Dirbtinio intelekto gyvenimo aprašymo asistentas"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanų"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studijų sritis"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Dirbtinis intelektas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Paprašykite tikslinio gyvenimo aprašymo pakeitimo..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Paprašykite laipsniško pakeitimo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Vaizdo santykis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Asistento užklausa nepavyko"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Pagrindai"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Gražūs šablonai, iš kurių galima rinktis, ir dar daugiau pakeliui."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Prieš"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalų"
|
||||
@@ -462,10 +523,6 @@ msgstr "Suženklintas sąrašas"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Bendruomenės ir bendruomenei."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Ar galiu pritaikyti šablonus?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Ar galiu eksportuoti savo gyvenimo aprašymą į PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Skaidrus"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Spustelėkite čia, kad pasirinktumėte importuojamą failą"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Uždaryti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Uždaryti DI asistentą"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kodo blokas"
|
||||
@@ -622,6 +687,10 @@ msgstr "Patvirtinti"
|
||||
msgid "Connect"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Prieš naudodami gyvenimo aprašymo redagavimo pasiūlymus, prisijunkite prie dirbtinio intelekto teikėjo ir jį patikrinkite."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Nukopijuokite šį slaptą raktą ir naudokite jį savo programose duome
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopijuoti URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nepavyko pritaikyti dirbtinio intelekto pasiūlymo."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Atsijungti"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Atmesti"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentacija"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Neturite paskyros? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Paaukoti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Paaukoti „Reactive Resume“"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Įjungti 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Įjungti DI funkcijas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Įgalinti dirbtinio intelekto integraciją"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Įjungti dviejų veiksnių tapatumo patvirtinimą"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Viskas, ką čia įvedate, saugoma vietoje jūsų naršyklėje. Jūsų d
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Pavyzdžiai: perrašykite santrauką, sugriežtinkite vieną patirties punktą, pridėkite metrikų arba pritaikykite gyvenimo aprašymą pareigybės aprašymui."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Išeiti iš viso ekrano"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "\"Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modelis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Daugiau pasiūlymų veiksmų"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Perkelti į"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Turi prasidėti nuo https://"
|
||||
msgid "Name"
|
||||
msgstr "Pavadinimas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Reikia peržiūrėti"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalų"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Naujas slaptažodis"
|
||||
msgid "New Section"
|
||||
msgstr "Naujas skyrius"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Kitas"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Be reklamų, be sekimo"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Nuolatinė priežiūra"
|
||||
msgid "Open"
|
||||
msgstr "Atidaryti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Atidaryti dirbtinio intelekto asistentą"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Atidaryti el. pašto programą"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Atviros integracijos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Atidarykite Integracijos nustatymai"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Norėdami tęsti, įveskite gyvenimo aprašymo savininko su jumis pasida
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Įveskite URL, su kuriuo norite susieti:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Prašome paremti projektą"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pareigos"
|
||||
msgid "Preferences"
|
||||
msgstr "Nustatymai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Ruošiami pakeitimai"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Išankstiniai nustatymai"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Paspauskite <0>{RETURN_KEY}</0> arba <1>{COMMA_KEY}</1>, kad pridėtumė
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Paspauskite <0>Enter</0>, kad atidarytumėte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Ankstesnis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Pagrindinė spalva"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Progreso juosta"
|
||||
msgid "Projects"
|
||||
msgstr "Projektai"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Pasiūlymas {0} iš {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Apsaugokite savo gyvenimo aprašymą slaptažodžiu nuo neteisėtos prieigos"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikacijos"
|
||||
msgid "Publisher"
|
||||
msgstr "Leidėjas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Neapdorotas JSON pataisymas"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "„Reactive Resume“ – eiti į pagrindinį puslapį"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "„Reactive Resume“ yra nemokamas atvirojo kodo projektas, sukurtas su
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "„Reactive Resume“ – nemokama atvirojo kodo gyvenimo aprašymų kūrimo priemonė, supaprastinanti gyvenimo aprašymo kūrimo, atnaujinimo ir bendrinimo procesą."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "„Reactive Resume“ yra nemokamas ir atvirojo kodo. Jei jis jums padėjo, apsvarstykite galimybę paaukoti."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "„Reactive Resume“ yra atvirojo kodo, orientuota į privatumą ir visiškai nemokama. Skirtingai nei kiti gyvenimo aprašymų kūrėjai, ji nerodo reklamų, nerenka jūsų duomenų ir neapriboja funkcijų už mokamos sienos."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Perkrauti"
|
||||
msgid "Register New Device"
|
||||
msgstr "Naujo įrenginio registravimas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Atmesti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Atmesti viską"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Atmestas pasiūlymas"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Prisimenate slaptažodį? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Iš naujo siunčiamas patvirtinimo el. laiškas..."
|
||||
msgid "Reset"
|
||||
msgstr "Nustatyti iš naujo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Iš naujo nustatyti pokalbių langą"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Atkurkite slaptažodį"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Atstatomas slaptažodis..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Keisti dirbtinio intelekto asistento dydį"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ištekliai"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Baigta gyvenimo aprašymo analizė."
|
||||
msgid "Resumes"
|
||||
msgstr "Gyvenimo aprašymai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Reikalinga peržiūra"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Peržiūrėti pasiūlymai"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Lygiuoti dešinėje"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Pasirinkite..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Savarankiškas talpinimas naudojant Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Siųsti"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Siųsti slaptažodžio atkūrimo el. laišką"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Siunčiamas slaptažodžio atkūrimo el. laiškas..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Siunčiama užklausa"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Skirtukas"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Vienas stulpelis su šonine juosta ir švariu tinklelio išdėstymu; uni
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Vieno stulpelio su trijų stulpelių įvesties antraštėmis (pareigos - organizacija - taškas); kompaktiškas ir patogus ATS, gerai pritaikytas Azijos šalių CV konvencijoms (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Vieno stulpelio su didžiosiomis raidėmis rašomomis skyrių antraštėmis ir pagrindinės spalvos viršutine linija kiekviename puslapyje; puikiai tinka vadovų, konsultavimo ar startuolių gyvenimo aprašymams."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Vienas stulpelis; solidus ir rimtas vyresnio ar aukšto lygio pareigoms."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistika"
|
||||
msgid "Stay"
|
||||
msgstr "Likti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Stipriosios pusės"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Teksto spalva"
|
||||
msgid "Thai"
|
||||
msgstr "Tajų"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Dirbtinis intelektas pasiūlė pakeitimą, kuris šiam gyvenimo aprašymui nebetaikomas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Dirbtinis intelektas pateikė pasiūlymą, kurio nebuvo galima peržiūrėti."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API raktas sėkmingai ištrintas."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Po ištrynimo šis API raktas nebegalės pasiekti jūsų duomenų. Šio veiksmo anuliuoti neįmanoma."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistentas sustojo prieš atsakydamas pasiūlymu."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Tai URL draugiškas jūsų gyvenimo aprašymo pavadinimas."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Tai gali užtrukti kelias minutes, priklausomai nuo DI tiekėjo atsako. Neuždarykite lango ir neatnaujinkite puslapio."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Šis pasiūlymas pasenęs. Paprašykite asistento jį iš naujo sukurti iš naujausio gyvenimo aprašymo."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Šis gyvenimo aprašymas užrakintas ir negali būti atnaujintas."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Taip, „Reactive Resume“ prieinama keliomis kalbomis. Galite pasirinkti pageidaujamą kalbą nustatymų puslapyje arba naudoti kalbos perjungiklį viršutiniame dešiniajame kampe. Jei nematote savo kalbos arba norite patobulinti esamus vertimus, galite <0>prisidėti prie vertimų „Crowdin“<1> (atidaro naujame skirtuke)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Taip! Kiekvienas šablonas visiškai pritaikomas. Galite keisti spalvas, šriftus, tarpelius ir net rašyti pasirinktinį CSS, kad visiškai valdytumėte savo gyvenimo aprašymo išvaizdą."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Taip! „Reactive Resume“ visiškai nemokama naudoti – be paslėptų kainų, „premium“ lygių ar prenumeratos mokesčių. Ji yra atvirojo kodo ir visada tokia išliks."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, zero {# ierakstu} one {# ieraksts} other {# ieraksti}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, zero {# lomas} one {# loma} other {# lomas}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} pārskatītie priekšlikumi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Protams! Jūs varat eksportēt savu CV uz PDF ar vienu klikšķi. Eksportētais PDF pilnībā saglabā visu jūsu formatējumu un stilu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Pieņemt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Pieņemt visus"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Akceptēts priekšlikums"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Piekļūstiet saviem CV un datiem programmatiski, izmantojot API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Pievienot rindu pirms"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikandu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Pēc"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "MI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Mākslīgā intelekta integrācija ir atspējota"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Mākslīgā intelekta priekšlikums ir piemērots."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI priekšlikums noraidīts."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Piemēroti mākslīgā intelekta priekšlikumi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Mākslīgā intelekta priekšlikumi noraidīti."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Mākslīgā intelekta CV palīgs"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albāņu"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studiju joma"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Mākslīgais intelekts"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Pieprasiet mērķtiecīgu CV maiņu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Lūdziet pakāpeniskas izmaiņas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcijas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Asistenta pieprasījums neizdevās."
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Pamatinformācija"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Skaistas veidnes, no kurām izvēlēties, un vēl vairāk drīzumā."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Pirms"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengāļu"
|
||||
@@ -462,10 +523,6 @@ msgstr "Aizzīmju saraksts"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "No kopienas kopienai."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Vai varu pielāgot veidnes?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Vai varu eksportēt savu CV uz PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Skaidrs"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Noklikšķiniet šeit, lai izvēlētos importējamo failu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Aizvērt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Aizvērt mākslīgā intelekta palīgu"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Koda bloks"
|
||||
@@ -622,6 +687,10 @@ msgstr "Apstiprināt"
|
||||
msgid "Connect"
|
||||
msgstr "Savienot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Pirms CV rediģēšanas priekšlikumu izmantošanas izveidojiet savienojumu ar mākslīgā intelekta pakalpojumu sniedzēju un pārbaudiet to."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Nokopējiet šo slepeno atslēgu un izmantojiet to savās lietotnēs, la
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopēt URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nevarēja lietot mākslīgā intelekta priekšlikumu."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Atvienot"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Noraidīt"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentācija"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nav konta? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Ziedot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Ziedot Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Iespējot 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Iespējot MI funkcijas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Iespējot mākslīgā intelekta integrāciju"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Iespējot divu faktoru autentifikāciju"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Viss, ko ievadāt šeit, tiek glabāts lokāli jūsu pārlūkprogrammā.
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Piemēri: pārrakstīt kopsavilkumu, sašaurināt vienu pieredzes aizzīmi, pievienot rādītājus vai pielāgot CV amata aprakstam."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Iziet no pilnekrāna"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modelis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Vairāk priekšlikumu darbību"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Pārvietot uz"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Jāuzsāk ar https://"
|
||||
msgid "Name"
|
||||
msgstr "Nosaukums"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Nepieciešama pārskatīšana"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepāļu"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Jaunā parole"
|
||||
msgid "New Section"
|
||||
msgstr "Jauna sadaļa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Nākamais"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Bez reklāmām, bez izsekošanas"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Nepārtraukta uzturēšana"
|
||||
msgid "Open"
|
||||
msgstr "Atvērt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Atvērt AI palīgu"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Atvērt e-pasta klientu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Atvērtās integrācijas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Atvērt Integrāciju iestatījumi"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Lūdzu, ievadiet paroli, ko ar jums kopīgoja CV īpašnieks, lai turpin
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Lūdzu, ievadiet URL, uz kuru vēlaties izveidot saiti:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Lūdzu, atbalstiet projektu"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Amats"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Izmaiņu sagatavošana"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Sākotnējie iestatījumi"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Nospiediet <0>{RETURN_KEY}</0> vai <1>{COMMA_KEY}</1>, lai pievienotu va
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Nospiediet <0>Enter</0>, lai atvērtu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Iepriekšējais"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primārā krāsa"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Progresa josla"
|
||||
msgid "Projects"
|
||||
msgstr "Projekti"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Priekšlikums {0} no {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Aizsargājiet savu CV no nesankcionētas piekļuves ar paroli"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikācijas"
|
||||
msgid "Publisher"
|
||||
msgstr "Izdevējs"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Neapstrādāts JSON ielāps"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - doties uz sākumlapu"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ir bezmaksas un atvērtā pirmkoda projekts, kas veidots
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ir bezmaksas un atvērtā pirmkoda CV veidotājs, kas vienkāršo jūsu CV izveides, atjaunināšanas un kopīgošanas procesu."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive CV ir bezmaksas un atvērtā koda resurss. Ja tas jums ir palīdzējis, lūdzu, apsveriet iespēju ziedot."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ir atvērtā pirmkoda, uz privātumu vērsts un pilnīgi bezmaksas. Atšķirībā no citiem CV veidotājiem tas nerāda reklāmas, neizseko jūsu datus un neierobežo funkcijas ar maksas sienu."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Atsvaidzināt"
|
||||
msgid "Register New Device"
|
||||
msgstr "Reģistrēt jaunu ierīci"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Noraidīt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Noraidīt visus"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Noraidīts priekšlikums"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Atceraties paroli? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Atkārtoti nosūta verifikācijas e-pastu..."
|
||||
msgid "Reset"
|
||||
msgstr "Atiestatīt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Atiestatīt tērzēšanu"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Atiestatīt paroli"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Tiek atiestatīta jūsu parole..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Mainīt AI palīga izmēru"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resursi"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV analīze pabeigta."
|
||||
msgid "Resumes"
|
||||
msgstr "CV"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Nepieciešama pārskatīšana"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Pārskatītie priekšlikumi"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Izlīdzināt pa labi"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Atlasīt..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Pašhostēšana ar Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Sūtīt"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Nosūtīt paroles atiestatīšanas e-pastu"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Nosūta paroles atiestatīšanas e-pastu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Pieprasījuma nosūtīšana"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Atdalītājs"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Vienkolonnu izkārtojums ar sānu joslu un tīru režģa izkārtojumu; u
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Vienas kolonnas ar ievilktu trīs kolonnu virsrakstu (amats - organizācija - punkts); kompakts un ATS draudzīgs, labi piemērots Āzijas CV konvencijām (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Vienas kolonnas CV ar lielajiem burtiem rakstītiem sadaļu virsrakstiem un pamatkrāsas augšējo rindiņu katrā lapā; lieliski piemērots vadītāju, konsultāciju vai jaunuzņēmumu CV."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Vienkolonnu izkārtojums; nopietns un noslīpēts vecākā līmeņa vai uzņēmuma līmeņa amatiem."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistika"
|
||||
msgid "Stay"
|
||||
msgstr "Palikt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Apstāties"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Stiprās puses"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Teksta krāsa"
|
||||
msgid "Thai"
|
||||
msgstr "Taju"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Mākslīgais intelekts ierosināja izmaiņas, kas vairs neattiecas uz šo CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Mākslīgais intelekts atgrieza priekšlikumu, kuru nevarēja priekšskatīt."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API atslēga veiksmīgi dzēsta."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Pēc dzēšanas šī API atslēga vairs nevarēs piekļūt jūsu datiem. Šī darbība nav atsaucama."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistents apstājās, pirms atbildēja uz priekšlikumu."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Tas ir URL-draudzīgs nosaukums jūsu CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Tas var aizņemt dažas minūtes atkarībā no MI pakalpojumu sniedzēja atbildes. Lūdzu, neaizveriet logu un neatjaunojiet lapu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Šis piedāvājums ir novecojis. Palūdziet asistentam to atkārtoti ģenerēt no jaunākā CV."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Šis CV ir bloķēts un to nevar atjaunināt."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Jā, Reactive Resume ir pieejams vairākās valodās. Jūs varat izvēlēties vēlamo valodu iestatījumu lapā vai, izmantojot valodas pārslēdzēju augšējā labajā stūrī. Ja neredzat savu valodu vai vēlaties uzlabot esošos tulkojumus, varat <0>piedalīties tulkošanā vietnē Crowdin<1> (atveras jaunā cilnē)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Jā! Katra veidne ir pilnībā pielāgojama. Varat mainīt krāsas, fontus, atstatumus un pat rakstīt pielāgotu CSS, lai pilnībā kontrolētu sava CV izskatu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Jā! Reactive Resume ir pilnīgi bez maksas, bez slēptām izmaksām, premium līmeņiem vai abonēšanas maksām. Tas ir atvērtā pirmkoda un vienmēr paliks bez maksas."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ml\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malayalam\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# ഇനം} other {# ഇനങ്ങൾ}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# റോൾ} other {# റോളുകൾ}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} നിർദ്ദേശങ്ങൾ അവലോകനം ചെയ്തു"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "തീർച്ചയായും! നിങ്ങൾക്ക് ഒരു ക്ലിക്കിൽ തന്നെ നിങ്ങളുടെ റിസ്യൂം PDF ആയി എക്സ്പോർട്ട് ചെയ്യാൻ കഴിയും. എക്സ്പോർട്ട് ചെയ്ത PDF നിങ്ങൾ ഉപയോഗിച്ച എല്ലാ ഫോർമാറ്റിംഗും സ്റ്റൈലിംഗും ഏകദേശം സമ്പൂർണ്ണമായി നിലനിർത്തും."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "അംഗീകരിക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "എല്ലാം സ്വീകരിക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "നിർദ്ദേശം അംഗീകരിച്ചു"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API ഉപയോഗിച്ച് നിങ്ങളുടെ റിസ്യൂമുകളും ഡാറ്റയും പ്രോഗ്രാമാറ്റിക് ആയി ആക്സസ് ചെയ്യൂ."
|
||||
@@ -229,10 +246,38 @@ msgstr "വരി മുമ്പ് ചേർക്കുക"
|
||||
msgid "Afrikaans"
|
||||
msgstr "ആഫ്രിക്കാൻസ്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "ശേഷം"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI സംയോജനം പ്രവർത്തനരഹിതമാക്കി"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI നിർദ്ദേശം പ്രയോഗിച്ചു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI നിർദ്ദേശം നിരസിച്ചു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI നിർദ്ദേശങ്ങൾ പ്രയോഗിച്ചു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI നിർദ്ദേശങ്ങൾ നിരസിച്ചു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI റെസ്യൂം അസിസ്റ്റന്റ്"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "അൽബേനിയൻ"
|
||||
@@ -367,10 +412,22 @@ msgstr "പഠന മേഖല"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "ഒരു ടാർഗെറ്റഡ് റെസ്യൂമെ മാറ്റത്തിന് ആവശ്യപ്പെടുക..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ക്രമേണ മാറ്റം ആവശ്യപ്പെടുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ആസ്പെക്ട് റേഷ്യോ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "അസിസ്റ്റന്റ് അഭ്യർത്ഥന പരാജയപ്പെട്ടു"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "അടിസ്ഥാന വിവരങ്ങൾ"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "തിരഞ്ഞെടുക്കാൻ മനോഹരമായ ടെംപ്ലേറ്റുകൾ, കൂടാതെ ഇതിലേറെ ഉടൻ വരുന്നു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "മുമ്പ്"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "ബെംഗാളി"
|
||||
@@ -462,10 +523,6 @@ msgstr "ബുള്ളറ്റ് ലിസ്റ്റ്"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "സമൂഹം ഉണ്ടാക്കുന്നതും സമൂഹത്തിനുമുള്ളതുമായ ഒരു പ്രോജക്ട്."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "ടെംപ്ലേറ്റുകൾ കസ്റ്റമൈസ് ചെയ്യാൻ കഴിയുമോ?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "എന്റെ റിസ്യൂം PDF ആയി എക്സ്പോർട്ട് ചെയ്യാനാകുമോ?"
|
||||
@@ -576,6 +633,14 @@ msgstr "വ്യക്തമാക്കുക"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ഇംപോർട്ട് ചെയ്യാൻ ഒരു ഫയൽ തിരഞ്ഞെടുക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "അടയ്ക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI അസിസ്റ്റന്റ് അടയ്ക്കുക"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "കോഡ് ബ്ലോക്ക്"
|
||||
@@ -622,6 +687,10 @@ msgstr "സ്ഥിരീകരിക്കുക"
|
||||
msgid "Connect"
|
||||
msgstr "കണക്റ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "റെസ്യൂമെ എഡിറ്റിംഗ് പ്രൊപ്പോസലുകൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഒരു AI ദാതാവിനെ ബന്ധിപ്പിച്ച് പരിശോധിച്ചുറപ്പിക്കുക."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ഈ സീക്രട്ട് കീ പകർത്തി, നിങ
|
||||
msgid "Copy URL"
|
||||
msgstr "URL പകർത്തുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI നിർദ്ദേശം പ്രയോഗിക്കാൻ കഴിഞ്ഞില്ല."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ഡിസ്കണക്റ്റ് ചെയ്യുക"
|
||||
msgid "Discord"
|
||||
msgstr "ഡിസ്കോർഡ്"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "നിരസിക്കുക"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ഡോക്യുമെന്റേഷൻ"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "അക്കൗണ്ട് ഇല്ലേ? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "സംഭാവന ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume‑ന് സംഭാവന ചെയ്യുക"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA പ്രാപ്തമാക്കുക"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI സവിശേഷതകൾ പ്രാപ്തമാക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI സംയോജനം പ്രാപ്തമാക്കുക"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "ടു‑ഫാക്ടർ ഓത്ന്റിക്കേഷൻ പ്രാപ്തമാക്കുക"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ഉദാഹരണങ്ങൾ: സംഗ്രഹം മാറ്റിയെഴുതുക, ഒരു അനുഭവ ബുള്ളറ്റ് കൂടുതൽ കൃത്യമാക്കുക, മെട്രിക്കുകൾ ചേർക്കുക, അല്ലെങ്കിൽ ഒരു ജോലി വിവരണത്തിനായി റെസ്യൂമെ പൊരുത്തപ്പെടുത്തുക."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "മുഴുവൻ സ്ക്രീനിൽ നിന്ന് പുറത്തുകടക്കുക"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "മൈക്രോസോഫ്റ്റ് വേഡ്"
|
||||
msgid "Model"
|
||||
msgstr "മോഡൽ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "കൂടുതൽ നിർദ്ദേശ നടപടികൾ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "ഇതിലേക്കു മാറ്റുക"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// എന്നതിൽ തുടങ്ങണം"
|
||||
msgid "Name"
|
||||
msgstr "പേര്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "അവലോകനം ആവശ്യമാണ്"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "നേപ്പാളി"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "പുതിയ പാസ്വേഡ്"
|
||||
msgid "New Section"
|
||||
msgstr "പുതിയ സെക്ഷൻ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "അടുത്തത്"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "പരസ്യങ്ങളില്ല, ട്രാക്കിംഗ് ഇല്ല"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "തുടർച്ചയായ മെയിൻറനൻസ്"
|
||||
msgid "Open"
|
||||
msgstr "ഓപ്പൺ ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "AI അസിസ്റ്റന്റ് തുറക്കുക"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ഇമെയിൽ ക്ലയന്റ് ഓപ്പൺ ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ഓപ്പൺ ഇന്റഗ്രേഷനുകൾ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ഇന്റഗ്രേഷൻ ക്രമീകരണങ്ങൾ തുറക്കുക"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "തുടരുന്നതിന്, റിസ്യൂം ഉടമ
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "നിങ്ങൾ ലിങ്ക് ചെയ്യാനാഗ്രഹിക്കുന്ന URL നൽകുക:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "ദയവായി പദ്ധതിയെ പിന്തുണയ്ക്കുക."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "പദവി"
|
||||
msgid "Preferences"
|
||||
msgstr "പ്രിഫറൻസുകൾ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "മാറ്റങ്ങൾ തയ്യാറാക്കുന്നു"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "മുൻകൂട്ടി ക്രമീകരിച്ച ക്രമീകരണങ്ങൾ"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "നിലവിലുള്ള കീവിഡ്സ് ചേർക്
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "തുറക്കാൻ <0>എന്റർ</0> അമർത്തുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "മുമ്പത്തേത്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "പ്രൈമറി നിറം"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "പ്രോഗ്രസ് ബാർ"
|
||||
msgid "Projects"
|
||||
msgstr "പ്രോജക്ടുകൾ"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "പ്രൊപ്പോസൽ {0} ന്റെ {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "നിങ്ങളുടെ റിസ്യൂമിനെ അനധികൃത ആക്സസിൽ നിന്ന് സംരക്ഷിക്കാൻ ഒരു പാസ്വേഡ് ഉപയോഗിക്കുക"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "പ്രസിദ്ധീകരണങ്ങൾ"
|
||||
msgid "Publisher"
|
||||
msgstr "പ്രസാധകൻ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "റോ JSON പാച്ച്"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ഹോംപേജിലേക്കു പോകുക"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume സ്നേഹത്തോടെ നിർമ്മി
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume നിങ്ങളുടെ റിസ്യൂം സൃഷ്ടിക്കാനും അപ്ഡേറ്റ് ചെയ്യാനും പങ്കിടാനും ഉള്ള പ്രക്രിയ ലളിതമാക്കുന്ന, സൗജന്യവും ഓപ്പൺ സോഴ്സുമായ ഒരു റിസ്യൂം ബിൽഡറാണ്."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "റിയാക്ടീവ് റെസ്യൂമെ സൌജന്യവും ഓപ്പൺ സോഴ്സുമാണ്. ഇത് നിങ്ങൾക്ക് സഹായകരമായിട്ടുണ്ടെങ്കിൽ, ദയവായി സംഭാവന നൽകുന്നത് പരിഗണിക്കുക."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ഓപ്പൺ സോഴ്സും സ്വകാര്യത കേന്ദ്രീകൃതവുമായ, പൂർണ്ണമായും സൗജന്യമായൊരു ആപ്പാണ്. മറ്റ് റിസ്യൂം ബിൽഡറുകളെ അപേക്ഷിച്ച്, ഇത് പരസ്യങ്ങൾ കാണിക്കുകയോ, നിങ്ങളുടെ ഡാറ്റ ട്രാക്ക് ചെയ്യുകയോ, സവിശേഷതകൾ പേയ്വാളിന് പിന്നിൽ ഒതുക്കുകയോ ചെയ്യുന്നില്ല."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "റിഫ്രെഷ് ചെയ്യുക"
|
||||
msgid "Register New Device"
|
||||
msgstr "പുതിയ ഉപകരണം രജിസ്റ്റർ ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "നിരസിക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "എല്ലാം നിരസിക്കുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "നിരസിച്ച നിർദ്ദേശം"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് ഓർമ്മയുണ്ടോ? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "സ്ഥിരീകരണ ഇമെയിൽ വീണ്ടും അ
|
||||
msgid "Reset"
|
||||
msgstr "റീസെറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "ചാറ്റ് പുനഃസജ്ജമാക്കുക"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "നിങ്ങളുടെ പാസ്വേഡ് റീസെറ
|
||||
msgid "Resetting your password..."
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് റീസെറ്റ് ചെയ്യുന്നു..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI അസിസ്റ്റന്റിന്റെ വലുപ്പം മാറ്റുക"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "റിസോഴ്സുകൾ"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "റെസ്യൂമെ വിശകലനം പൂർത്തിയ
|
||||
msgid "Resumes"
|
||||
msgstr "റിസ്യൂങ്ങൾ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "അവലോകനം ആവശ്യമാണ്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "അവലോകനം ചെയ്ത നിർദ്ദേശങ്ങൾ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "റൈറ്റ് അലൈനിൽ ആക്കുക"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "തിരഞ്ഞെടുക്കുക..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ഉപയോഗിച്ച് സ്വയം ഹോസ്റ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "അയയ്ക്കുക"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "പാസ്വേഡ് റീസെറ്റ് ഇമെയിൽ
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "പാസ്വേഡ് റീസെറ്റ് ഇമെയിൽ അയക്കുന്നു..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "അഭ്യർത്ഥന അയയ്ക്കുന്നു"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "സെപറേറ്റർ"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "ഒറ്റ കോളമാണ്, സൈഡ്ബാറും ക്
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ഒറ്റ കോളത്തിൽ, ഇൻലൈനായി മൂന്ന് കോളങ്ങളുള്ള എൻട്രി ഹെഡർ (സ്ഥാനം · സ്ഥാപനം · കാലയളവ്); സംക്ഷിപ്തവും ATS-സൗഹൃദപരവുമായ ഇത്, ഏഷ്യൻ റെസ്യൂമെ രീതികൾക്ക് (CN/JP/KR) അനുയോജ്യമാണ്."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "എല്ലാ പേജിലും വലിയക്ഷര വിഭാഗ തലക്കെട്ടുകളും മുകളിൽ ഒരു പ്രാഥമിക വർണ്ണ നിയമവുമുള്ള ഒറ്റ കോളം; എക്സിക്യൂട്ടീവ്, കൺസൾട്ടിംഗ് അല്ലെങ്കിൽ സ്റ്റാർട്ടപ്പ് റെസ്യൂമെകൾക്കായി പോളിഷ് ചെയ്തിരിക്കുന്നു."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ഒറ്റ കോളമാണ്; polished ആയും ഗൗരവതരമായതുമാണ്, സീനിയർ അല്ലെങ്കിൽ എന്റർപ്രൈസ് തലത്തിലെ സ്ഥാനങ്ങൾക്കു പൊരുത്തപ്പെടും."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "സ്റ്റാറ്റിസ്റ്റിക്സ്"
|
||||
msgid "Stay"
|
||||
msgstr "തുടരുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "നിർത്തുക"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ശക്തികൾ"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "ടെക്സ്റ്റ് നിറം"
|
||||
msgid "Thai"
|
||||
msgstr "തായ്"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "ഈ റെസ്യൂമെയ്ക്ക് ഇനി ബാധകമല്ലാത്ത ഒരു മാറ്റം AI നിർദ്ദേശിച്ചു."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "പ്രിവ്യൂ ചെയ്യാൻ കഴിയാത്ത ഒരു നിർദ്ദേശം AI തിരികെ നൽകി."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API കീ വിജയകരമായി ഡിലീറ്റ് ച
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "ഈ API കീ ഡിലീറ്റുചെയ്ത ശേഷം നിങ്ങളുടെ ഡാറ്റയിലേക്ക് ഇനി ആക്സസ് ചെയ്യാൻ സാധിക്കില്ല. ഈ പ്രവർത്തി തിരികെ ലഭ്യമാക്കാൻ സാധിക്കില്ല."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "അസിസ്റ്റന്റ് നിർദ്ദേശം തിരികെ നൽകുന്നതിനുമുമ്പ് നിർത്തി."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "ഇത് നിങ്ങളുടെ റിസ്യൂമിനുള
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI പ്രൊവൈഡർ പ്രതികരിക്കുന്ന സമയത്തെ ആശ്രയിച്ച് ഇതിന് കുറച്ച് മിനിറ്റുകൾ എടുക്കാം. ദയവായി വിൻഡോ അടയ്ക്കുകയോ പേജ് റിഫ്രെഷ് ചെയ്യുകയോ ചെയ്യരുത്."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ഈ നിർദ്ദേശം പഴയതാണ്. ഏറ്റവും പുതിയ റെസ്യൂമെയിൽ നിന്ന് ഇത് വീണ്ടും സൃഷ്ടിക്കാൻ അസിസ്റ്റന്റിനോട് ആവശ്യപ്പെടുക."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ഈ റിസ്യൂം ലോക്ക് ചെയ്തതിനാൽ ഇതിനെ അപ്ഡേറ്റ് ചെയ്യാനോ ഡിലീറ്റ് ചെയ്യാനോ കഴിയില്ല."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "എക്സ് (ട്വിറ്റർ)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "അതെ, Reactive Resume പല ഭാഷകളിലും ലഭ്യമാണ്. സെറ്റിംഗ്സ് പേജിൽ നിന്നോ മുകളിലെ വലതു കോണിലുള്ള ഭാഷാ സ്വിച്ചർ ഉപയോഗിച്ചോ നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഭാഷ തിരഞ്ഞെടുക്കാം. നിങ്ങളുടെ ഭാഷ ലഭ്യമല്ലെങ്കിൽ, അല്ലെങ്കിൽ നിലവിലുള്ള തർജ്ജമകൾ മെച്ചപ്പെടുത്താനാഗ്രഹിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് <0>Crowdin‑ൽ തർജ്ജമകൾക്ക് സംഭാവന ചെയ്യാം<1> (പുതിയ ടാബിൽ തുറക്കും)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "അതെ! ഓരോ ടെംപ്ലേറ്റും പൂർണ്ണമായി കസ്റ്റമൈസ് ചെയ്യാവുന്നതാണ്. നിറങ്ങൾ, ഫോണ്ടുകൾ, സ്പേസിംഗ് എന്നിവ മാറ്റാനും, നിങ്ങളുടെ റിസ്യൂമിന്റെ രൂപഭാവത്തിൽ പൂർണ്ണ നിയന്ത്രണം നേടാൻ കസ്റ്റം CSS വരെ എഴുതാനും കഴിയും."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "അതെ! Reactive Resume പൂർണ്ണമായും സൗജന്യമായി ഉപയോഗിക്കാവുന്നതാണ്, മറഞ്ഞ ചിലവുകളോ പ്രീമിയം നിരകളോ സബ്സ്ക്രിപ്ഷൻ ഫീസുകളോ ഒന്നുമില്ല. ഇത് ഓപ്പൺ സോഴ്സാണ്, എന്നും സൗജന്യമായിരിക്കും."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: mr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Marathi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# वस्तू} other {# वस्तू}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# भूमिका} other {# भूमिका}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} प्रस्तावांचे पुनरावलोकन केले"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "नक्कीच! तुम्ही फक्त एका क्लिकमध्ये तुमचा रेझ्युमे PDF म्हणून निर्यात करू शकता. निर्यात केलेल्या PDF मध्ये तुमचे सर्व फॉरमॅटिंग आणि स्टाइलिंग अगदी योग्य स्थितीत राहते."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "स्वीकारा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "सर्व स्वीकारा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "प्रस्ताव स्वीकारला"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API वापरून तुमचे रेझ्युमे आणि डेटा प्रोग्रामॅटिक पद्धतीने अॅक्सेस करा."
|
||||
@@ -229,10 +246,38 @@ msgstr "आधी ओळ जोडा"
|
||||
msgid "Afrikaans"
|
||||
msgstr "आफ्रिकान्स"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "नंतर"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "एआय एकीकरण अक्षम केले"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "एआय प्रस्ताव लागू झाला."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "एआयचा प्रस्ताव फेटाळला."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "एआय प्रस्ताव लागू केले."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "एआयचे प्रस्ताव फेटाळले."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "एआय रिझ्युमे असिस्टंट"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बेनियन"
|
||||
@@ -367,10 +412,22 @@ msgstr "अभ्यासाचे क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बुद्धिमत्ता"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "बायोडेटामध्ये विशिष्ट बदल करण्याची विनंती करा..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "टप्प्याटप्प्याने होणाऱ्या बदलाची मागणी करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "प्रसर गुणोत्तर"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "सहाय्यकाची विनंती अयशस्वी झाली"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "मूलभूत"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "सुंदर साचे निवडण्यासाठी उपलब्ध आहेत, आणि आणखी साचे लवकरच येत आहेत."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "आधी"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "बंगाली"
|
||||
@@ -462,10 +523,6 @@ msgstr "बुलेट यादी"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "समाजाने, समाजासाठी."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "मी साचे सानुकूलित करू शकतो का?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "मी माझा रेझ्युमे PDF मध्ये निर्यात करू शकतो का?"
|
||||
@@ -576,6 +633,14 @@ msgstr "स्पष्ट"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "इम्पोर्ट करण्यासाठी फाईल निवडण्यासाठी येथे क्लिक करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "बंद करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "एआय सहाय्यक बंद करा"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "कोड ब्लॉक"
|
||||
@@ -622,6 +687,10 @@ msgstr "पुष्टी करा"
|
||||
msgid "Connect"
|
||||
msgstr "कनेक्ट"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "रेझ्युमे संपादनाचे प्रस्ताव वापरण्यापूर्वी एआय प्रदात्याशी संपर्क साधा आणि त्याची पडताळणी करा."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ही गुप्त key कॉपी करा आणि तुमच
|
||||
msgid "Copy URL"
|
||||
msgstr "URL कॉपी करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "एआय प्रस्ताव लागू करता आला नाही."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "डिस्कनेक्ट"
|
||||
msgid "Discord"
|
||||
msgstr "डिस्कॉर्ड"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "बरखास्त करा"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "दस्तऐवजीकरण"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "खाते नाही? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "दान करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "रिअॅक्टिव्ह रेझ्युमेला दान करा"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA सक्षम करा"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI फिचर्स सक्षम करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "एआय एकीकरण सक्षम करा"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "दुहेरी घटक ओथेंटिकेशन सक्षम करा"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "उदाहरणे: सारांश पुन्हा लिहिणे, अनुभवाचा एखादा मुद्दा अधिक संक्षिप्त करणे, मोजमापे जोडणे किंवा नोकरीच्या वर्णनानुसार रिझ्युमेमध्ये बदल करणे."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रीनमधून बाहेर पडा"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "मायक्रोसॉफ्ट वर्ड"
|
||||
msgid "Model"
|
||||
msgstr "मॉडेल"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "अधिक प्रस्ताव कृती"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "येथे हलवा"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// नेच सुरू करावे."
|
||||
msgid "Name"
|
||||
msgstr "नाव"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "पुनरावलोकनाची गरज आहे"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "नेपाळी"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "नवीन पासवर्ड"
|
||||
msgid "New Section"
|
||||
msgstr "नवीन विभाग"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "पुढील"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "जाहिरात नाही, ट्रॅकिंग नाही"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "चालू असलेली देखभाल"
|
||||
msgid "Open"
|
||||
msgstr "उघडा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "ओपन एआय असिस्टंट"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ईमेल क्लायंट उघडा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ओपन इंटिग्रेशन्स"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "इंटीग्रेशन सेटिंग्ज उघडा"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "कृपया पुढे जाण्यासाठी रेझ्
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "कृपया तुम्हाला ज्या URL ला लिंक करायचे आहे ती URL टाका:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "कृपया प्रकल्पाला पाठिंबा द्या"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "पद"
|
||||
msgid "Preferences"
|
||||
msgstr "प्राधान्ये"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "बदल तयार करणे"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "पूर्वनिर्धारित सेटिंग्ज"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "सध्याचा कीवर्ड जोडण्यासाठ
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "उघडण्यासाठी <0>Enter</0> दाबा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "मागील"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "प्राथमिक रंग"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "प्रगती पट्टी"
|
||||
msgid "Projects"
|
||||
msgstr "प्रोजेक्ट्स"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total} चा प्रस्ताव {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "तुमचा रेझ्युमे पासवर्डने सुरक्षित करा, अनधिकृत प्रवेशापासून संरक्षण करा"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "प्रकाशने"
|
||||
msgid "Publisher"
|
||||
msgstr "प्रकाशक"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "रॉ JSON पॅच"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - मुखपृष्ठावर जा"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume हा मोफत आणि मुक्त-स्र
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume हा मोफत आणि मुक्त-स्रोत रेझ्युमे बिल्डर आहे, जो तुमचा रेझ्युमे तयार करणे, अपडेट करणे आणि शेअर करणे हा प्रोसेस सोपा करतो."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "रिॲक्टिव्ह रिझ्युमे मोफत आणि ओपन सोर्स आहे. जर तुम्हाला याचा उपयोग झाला असेल, तर कृपया देणगी देण्याचा विचार करा."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume हे मुक्त-स्रोत, गोपनीयता-केंद्रित आणि पूर्णपणे मोफत आहे. इतर रेझ्युमे बिल्डर्सप्रमाणेच नाही, हे जाहिराती दाखवत नाही, तुमचा डेटा ट्रॅक करत नाही किंवा फिचर्स पेवॉलच्या मागे मर्यादित करत नाही."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "ताजेतवाने करा"
|
||||
msgid "Register New Device"
|
||||
msgstr "नवीन उपकरण नोंदवा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "नाकारा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "सर्व नाकारा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "प्रस्ताव नाकारला"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "तुमचा पासवर्ड आठवतो? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "पडताळणी ईमेल पुन्हा पाठवला
|
||||
msgid "Reset"
|
||||
msgstr "रीसेट करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "चॅट रीसेट करा"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "तुमचा पासवर्ड रीसेट करा"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "तुमचा पासवर्ड रीसेट केला जात आहे..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "एआय सहाय्यकाचा आकार बदला"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "साधने"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "रेझ्युमे विश्लेषण पूर्ण झा
|
||||
msgid "Resumes"
|
||||
msgstr "रेझ्युमे"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "पुनरावलोकन आवश्यक आहे"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "पुनरावलोकन केलेले प्रस्ताव"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "उजवीकडे जुळवा"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "निवडा..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ने स्वतः होस्ट करा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "पाठवा"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "पासवर्ड रीसेट ईमेल पाठवा"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "पासवर्ड रीसेट ईमेल पाठवला जात आहे..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "विनंती पाठवणे"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "सेपरेटर"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "एकाच स्तंभाचा साचा, साइडबा
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "एक-स्तंभी, इनलाइन तीन-स्तंभ प्रवेश शीर्षक (स्थान · संस्था · कालावधी); संक्षिप्त आणि ATS-अनुकूल, आशियाई बायोडाटा परंपरांसाठी (CN/JP/KR) योग्य."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "प्रत्येक पानावर मोठ्या अक्षरांतील विभाग शीर्षके आणि प्राथमिक रंगाची वरची रेषा असलेला एक-स्तंभीय आराखडा; कार्यकारी, सल्लागार किंवा स्टार्टअप रिझ्युमेसाठी सुबक."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "एकाच स्तंभाचा, परिष्कृत आणि गंभीर लुक असलेला साचा; वरिष्ठ किंवा एंटरप्राइझ-स्तरीय पदांसाठी योग्य."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "आकडेवारी"
|
||||
msgid "Stay"
|
||||
msgstr "राहा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "थांबा"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "शक्ती"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "मजकुराचा रंग"
|
||||
msgid "Thai"
|
||||
msgstr "थाई"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "एआयने सुचवलेला बदल आता या रिझ्युमेला लागू होत नाही."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "एआयने असा प्रस्ताव परत पाठवला ज्याचे पूर्वावलोकन करता आले नाही."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API key यशस्वीरित्या हटवली गेल
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "ही API key डिलीट केल्यानंतर तुमच्या डेटाला पुन्हा अॅक्सेस करू शकणार नाही. ही क्रिया उलट करता येणार नाही."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "सहाय्यकाने प्रस्ताव परत करण्यापूर्वीच थांबला."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "हा तुमच्या रेझ्युमेसाठी URL-
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI प्रोव्हायडरच्या प्रतिसादावर अवलंबून, यासाठी काही मिनिटे लागू शकतात. कृपया विंडो बंद करू नका किंवा पान रीफ्रेश करू नका."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "हा प्रस्ताव कालबाह्य झाला आहे. सहाय्यकाला नवीनतम रिझ्युमेवरून तो पुन्हा तयार करण्यास सांगा."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "हा रेझ्युमे लॉक केलेला आहे आणि अपडेट करता किंवा हटवता येणार नाही."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "एक्स (ट्विटर)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "होय, Reactive Resume अनेक भाषांमध्ये उपलब्ध आहे. तुम्ही सेटिंग्ज पेजवर किंवा उजव्या वरच्या कोपऱ्यातील भाषा स्विचर वापरून तुमची आवडती भाषा निवडू शकता. जर तुम्हाला तुमची भाषा दिसत नसेल किंवा विद्यमान भाषांतर सुधारायचे असेल, तर तुम्ही <0>Crowdin वर भाषांतरांमध्ये योगदान देऊ शकता<1> (नवीन टॅबमध्ये उघडते)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "होय! प्रत्येक साचा पूर्णपणे सानुकूलित करता येतो. तुम्ही रंग, फाँट, स्पेसिंग बदलू शकता आणि तुमच्या रेझ्युमेच्या स्वरूपावर पूर्ण नियंत्रण मिळवण्यासाठी सानुकूल CSSसुद्धा लिहू शकता."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "होय! Reactive Resume पूर्णपणे मोफत आहे, कोणतेही लपलेले खर्च, प्रीमियम टियर किंवा सब्सक्रिप्शन फी नाही. हे मुक्त-स्रोत आहे आणि नेहमी मोफतच राहिल."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ms\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malay\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# item}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# peranan} other {# peranan}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "Cadangan {0} telah disemak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Sudah tentu! Anda boleh mengeksport resume anda ke PDF dengan satu klik sahaja. PDF yang dieksport akan mengekalkan semua pemformatan dan gaya anda dengan sempurna."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Terima"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Terima semua"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Cadangan yang diterima"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Akses resume dan data anda secara programatik menggunakan API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Tambah Baris Sebelum"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Selepas"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrasi AI dilumpuhkan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Cadangan AI telah diguna pakai."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Cadangan AI ditolak."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Cadangan AI telah diguna pakai."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Cadangan AI ditolak."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Pembantu Resume AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -367,10 +412,22 @@ msgstr "Bidang Pengajian"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Minta perubahan resume yang disasarkan..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Minta perubahan secara berperingkat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Nisbah Aspek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Permintaan pembantu gagal"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Asas"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Templat cantik untuk dipilih, dengan lebih banyak lagi akan datang."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Sebelum"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Senarai Berbulet"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Oleh komuniti, untuk komuniti."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Bolehkah saya menyesuaikan templat?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Bolehkah saya mengeksport resume saya ke PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Jelas"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik di sini untuk memilih fail untuk diimport"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Tutup pembantu AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok Kod"
|
||||
@@ -622,6 +687,10 @@ msgstr "Sahkan"
|
||||
msgid "Connect"
|
||||
msgstr "Sambung"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Sambungkan dan sahkan penyedia AI sebelum menggunakan cadangan penyuntingan resume."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Salin kunci rahsia ini dan gunakan dalam aplikasi anda untuk mengakses d
|
||||
msgid "Copy URL"
|
||||
msgstr "Salin URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Tidak dapat menggunakan cadangan AI."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Putuskan sambungan"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Ketepikan"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentasi"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Tiada akaun? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Derma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Derma kepada Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktifkan 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktifkan Ciri AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Dayakan integrasi AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktifkan Pengesahan Dua Faktor"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Segala yang dimasukkan di sini disimpan secara setempat dalam pelayar an
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Contoh: tulis semula ringkasan, ketatkan satu poin pengalaman, tambah metrik atau sesuaikan resume untuk huraian kerja."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Keluar dari Skrin Penuh"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Lebih banyak tindakan cadangan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Pindah ke"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Mesti bermula dengan https://"
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Perlu semakan"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepal"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Kata Laluan Baharu"
|
||||
msgid "New Section"
|
||||
msgstr "Seksyen Baharu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Seterusnya"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Tiada Pengiklanan, Tiada Penjejakan"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Penyelenggaraan Berterusan"
|
||||
msgid "Open"
|
||||
msgstr "Buka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Pembantu AI terbuka"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Buka Klien E-mel"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrasi Terbuka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Buka Tetapan Integrasi"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Sila masukkan kata laluan yang dikongsi dengan anda oleh pemilik resume
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Sila masukkan URL yang anda ingin pautkan:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Sila sokong projek ini"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Kedudukan"
|
||||
msgid "Preferences"
|
||||
msgstr "Keutamaan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Menyediakan perubahan"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Praset"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Tekan <0>{RETURN_KEY}</0> atau <1>{COMMA_KEY}</1> untuk menambah atau me
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Tekan <0>Enter</0> untuk membuka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Sebelumnya"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Warna Utama"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Bar Kemajuan"
|
||||
msgid "Projects"
|
||||
msgstr "Projek"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Cadangan {0} daripada {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Lindungi resume anda daripada akses tanpa kebenaran dengan kata laluan"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Penerbitan"
|
||||
msgid "Publisher"
|
||||
msgstr "Penerbit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Tampalan JSON Mentah"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Pergi ke laman utama"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ialah projek percuma dan sumber terbuka, dibina dengan p
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ialah pembina resume percuma dan sumber terbuka yang menyederhanakan proses mencipta, mengemas kini dan berkongsi resume anda."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Resume Reaktif adalah percuma dan sumber terbuka. Jika ia telah membantu anda, sila pertimbangkan untuk menderma."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ialah sumber terbuka, berfokuskan privasi dan benar-benar percuma. Tidak seperti pembina resume yang lain, ia tidak memaparkan iklan, menjejak data anda atau mengehadkan ciri di sebalik dinding bayaran."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Muat semula"
|
||||
msgid "Register New Device"
|
||||
msgstr "Daftar Peranti Baru"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Tolak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Tolak semua"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Cadangan yang ditolak"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Ingat kata laluan anda? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Menghantar semula e-mel pengesahan..."
|
||||
msgid "Reset"
|
||||
msgstr "Tetapkan Semula"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Tetapkan semula sembang"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Tetapkan semula kata laluan anda"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Menetapkan semula kata laluan anda..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Ubah saiz pembantu AI"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Sumber"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analisis resume selesai."
|
||||
msgid "Resumes"
|
||||
msgstr "Resume"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Semakan diperlukan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Cadangan yang telah disemak"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Jajaran Kanan"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Pilih..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Hos Sendiri dengan Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Hantar"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Hantar E-mel Tetapan Semula Kata Laluan"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Menghantar e-mel tetapan semula kata laluan..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Menghantar permintaan"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Pemisah"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Satu kolum dengan panel sisi dan tataletak grid yang kemas; serba boleh
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Satu lajur dengan tajuk kemasukan tiga lajur bersepadu (posisi · organisasi · tempoh); padat dan mesra ATS, sesuai untuk konvensyen resume Asia (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Lajur tunggal dengan tajuk bahagian huruf besar dan peraturan atas berwarna utama pada setiap halaman; digilap untuk resume eksekutif, perundingan atau syarikat baharu."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Satu kolum; kemas dan serius untuk jawatan kanan atau peringkat perusahaan."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistik"
|
||||
msgid "Stay"
|
||||
msgstr "Kekal"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Berhenti"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Kekuatan"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Warna Teks"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI mencadangkan perubahan yang tidak lagi terpakai pada resume ini."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI mengembalikan cadangan yang tidak dapat dipratonton."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Kunci API telah berjaya dipadamkan."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Kunci API ini tidak lagi boleh mengakses data anda selepas dipadamkan. Tindakan ini tidak boleh dibatalkan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Pembantu itu berhenti sebelum memulangkan lamaran."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Ini ialah nama mesra URL untuk resume anda."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Ini mungkin mengambil masa beberapa minit, bergantung pada respons penyedia AI. Sila jangan tutup tetingkap atau segarkan semula halaman."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Cadangan ini sudah lapuk. Minta pembantu untuk menjananya semula daripada resume terkini."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Resume ini dikunci dan tidak boleh dikemas kini."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ya, Reactive Resume tersedia dalam pelbagai bahasa. Anda boleh memilih bahasa pilihan anda di halaman tetapan, atau menggunakan penukar bahasa di penjuru kanan atas. Jika anda tidak melihat bahasa anda, atau anda ingin menambah baik terjemahan sedia ada, anda boleh <0>menyumbang kepada terjemahan di Crowdin<1> (dibuka dalam tab baharu)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ya! Setiap templat boleh disesuaikan sepenuhnya. Anda boleh menukar warna, fon, jarak dan juga menulis CSS tersuai untuk kawalan penuh ke atas rupa resume anda."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ya! Reactive Resume adalah benar-benar percuma untuk digunakan, tanpa kos tersembunyi, tahap premium atau yuran langganan. Ia adalah sumber terbuka dan akan sentiasa kekal percuma."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ne\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Nepali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# वस्तु} other {# वस्तुहरू}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# भूमिका} other {# भूमिकाहरू}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} प्रस्तावहरूको समीक्षा गरियो"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "हो, अवश्य! तपाईं एक क्लिकमै आफ्नो बायोडाटा PDF मा निर्यात गर्न सक्नुहुन्छ। निर्यात गरिएको PDF ले तपाईंले गरेका सबै ढाँचा र शैली (styling) पूर्ण रूपमा जस्ताको तस्तै राख्छ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "स्वीकार गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "सबै स्वीकार गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "स्वीकृत प्रस्ताव"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API प्रयोग गरेर प्रोग्रामिङमार्फत आफ्ना बायोडाटा र डाटामा पहुँच पाउनुहोस्।"
|
||||
@@ -229,10 +246,38 @@ msgstr "अघिल्लो पङ्क्ति थप्नुहोस्"
|
||||
msgid "Afrikaans"
|
||||
msgstr "अफ्रिकान्स"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "पछि"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "एआई एकीकरण असक्षम पारियो"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "एआई प्रस्ताव लागू गरियो।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "एआई प्रस्ताव अस्वीकृत भयो।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "एआई प्रस्तावहरू लागू गरियो।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "एआई प्रस्तावहरू अस्वीकृत गरियो।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "एआई रिजुमे सहायक"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बानियन"
|
||||
@@ -367,10 +412,22 @@ msgstr "अध्ययन क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बौद्धिकता"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "लक्षित बायोडाटा परिवर्तनको लागि सोध्नुहोस्..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "वृद्धिशील परिवर्तनको लागि सोध्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात (Aspect Ratio)"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "सहायक अनुरोध असफल भयो"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "आधारभूत विवरण"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "छान्नका लागि आकर्षक ढाँचाहरू, र थप ढाँचाहरू चाँडै आउँदैछन्।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "पहिले"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "बंगाली"
|
||||
@@ -462,10 +523,6 @@ msgstr "बुलेट सूची"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "समुदायबाट, समुदायकै लागि।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "के म ढाँचाहरू अनुकूल बनाउन सक्छु?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "के म आफ्नो बायोडाटा PDF मा निर्यात गर्न सक्छु?"
|
||||
@@ -576,6 +633,14 @@ msgstr "स्पष्ट"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "आयात गर्न फाइल छान्न यहाँ क्लिक गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "बन्द गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "एआई सहायक बन्द गर्नुहोस्"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "कोड ब्लक"
|
||||
@@ -622,6 +687,10 @@ msgstr "यकिन गर्नुहोस्"
|
||||
msgid "Connect"
|
||||
msgstr "जोड्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "रिजुमे सम्पादन प्रस्तावहरू प्रयोग गर्नु अघि एआई प्रदायकसँग जडान गर्नुहोस् र प्रमाणित गर्नुहोस्।"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "यो गोप्य key प्रतिलिपि गरेर आ
|
||||
msgid "Copy URL"
|
||||
msgstr "URL प्रतिलिपि गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "एआई प्रस्ताव लागू गर्न सकिएन।"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "विच्छेद गर्नुहोस्"
|
||||
msgid "Discord"
|
||||
msgstr "डिस्कोर्ड"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "खारेज गर्नुहोस्"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "प्रलेखन (Documentation)"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "खाता छैन? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "दान गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume लाई दान गर्नुहोस्"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "२FA सक्रिय गर्नुहोस्"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI सुविधाहरू सक्रिय गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "एआई एकीकरण सक्षम गर्नुहोस्"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "दुई-कारक प्रमाणीकरण सक्रिय गर्नुहोस्"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "उदाहरणहरू: सारांश पुन: लेख्नुहोस्, एउटा अनुभव बुलेट कडा पार्नुहोस्, मेट्रिक्स थप्नुहोस्, वा कामको विवरणको लागि बायोडाटा अनुकूलन गर्नुहोस्।"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "पूर्ण स्क्रिनबाट बाहिर निस्कनुहोस्"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "माइक्रोसफ्ट वर्ड"
|
||||
msgid "Model"
|
||||
msgstr "मोडेल"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "थप प्रस्ताव कार्यहरू"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "यसमा सार्नुहोस्"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// बाटै सुरु गर्नुपर्छ।"
|
||||
msgid "Name"
|
||||
msgstr "नाम"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "समीक्षा आवश्यक छ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "नेपाली"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "नयाँ पासवर्ड"
|
||||
msgid "New Section"
|
||||
msgstr "नयाँ खण्ड"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "अर्को"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "कुनै विज्ञापन छैन, कुनै ट्र्याकिङ छैन"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "निरन्तर मर्मत"
|
||||
msgid "Open"
|
||||
msgstr "खोल्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "एआई सहायक खोल्नुहोस्"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "इमेल क्लाइन्ट खोल्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "खुला एकीकरणहरू"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "एकीकरण सेटिङहरू खोल्नुहोस्"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "कृपया अगाडि बढ्न बायोडाटाक
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "कृपया तपाईंले लिङ्क गर्न चाहनुभएको URL प्रविष्ट गर्नुहोस्:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "कृपया परियोजनालाई समर्थन गर्नुहोस्।"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "पद"
|
||||
msgid "Preferences"
|
||||
msgstr "प्राथमिकता (Preferences)"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "परिवर्तनहरू तयार गर्दै"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "पूर्वनिर्धारित सेटिङहरू"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "हालको कुञ्जीशब्द थप्न वा ब
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "खोल्न <0>Enter</0> थिच्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "अघिल्लो"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "मुख्य रङ"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "प्रगति बार (Progress Bar)"
|
||||
msgid "Projects"
|
||||
msgstr "परियोजनाहरू"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "प्रस्ताव {0} को {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "पासवर्ड प्रयोग गरी आफ्नो बायोडाटा अनधिकृत पहुँचबाट जोगाउनुहोस्"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "प्रकाशनहरू"
|
||||
msgid "Publisher"
|
||||
msgstr "प्रकाशक"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "कच्चा JSON प्याच"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - गृहपृष्ठमा जानुहोस्"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume प्रेमसाथ बनाइएको निः
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume निःशुल्क र खुला-स्रोत बायोडाटा निर्माण गर्ने साधन हो जसले तपाईंको बायोडाटा बनाउन, अद्यावधिक गर्न र सेयर गर्ने प्रक्रियालाई सरल बनाउँछ।"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "प्रतिक्रियाशील रिजुमे नि:शुल्क र खुला स्रोत हो। यदि यसले तपाईंलाई मद्दत गरेको छ भने, कृपया दान गर्ने विचार गर्नुहोस्।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume खुला-स्रोत, गोपनीयता-केन्द्रित र पूर्ण रूपमा निःशुल्क छ। अन्य बायोडाटा निर्माण गर्ने साधनहरूको विपरीत, यसले विज्ञापन देखाउँदैन, तपाईंको डाटा ट्र्याक गर्दैन, वा सुविधालाई भुक्तानी पछाडि थुन्न्दैन।"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "रिफ्रेस गर्नुहोस्"
|
||||
msgid "Register New Device"
|
||||
msgstr "नयाँ उपकरण दर्ता गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "अस्वीकार गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "सबै अस्वीकार गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "अस्वीकृत प्रस्ताव"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "पासवर्ड सम्झनुभयो? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "यकिन इमेल पुनः पठाइँदैछ..."
|
||||
msgid "Reset"
|
||||
msgstr "रिसेट गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "च्याट रिसेट गर्नुहोस्"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "तपाईंको पासवर्ड रिसेट गर्न
|
||||
msgid "Resetting your password..."
|
||||
msgstr "तपाईंको पासवर्ड रिसेट हुँदैछ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "एआई सहायकको आकार बदल्नुहोस्"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "स्रोतहरू"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "बायोडाटा विश्लेषण पूरा भयो
|
||||
msgid "Resumes"
|
||||
msgstr "बायोडाटाहरू"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "समीक्षा आवश्यक छ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "समीक्षा गरिएका प्रस्तावहरू"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "दायाँतिर क्रमबद्ध (Right Align)"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "छान्नुहोस्..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker प्रयोग गरेर आफैं होस्ट गर्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "पठाउनुहोस्"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "पासवर्ड रिसेट इमेल पठाउनुह
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "पासवर्ड रिसेट इमेल पठाइँदैछ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "अनुरोध पठाउँदै"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "पृथक्करण रेखा (Separator)"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "एक स्तम्भ, Sidebar र सफा ग्रिड ले
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "एकल स्तम्भ, इनलाइन तीन-स्तम्भ प्रविष्टि शीर्षक (स्थिति · संगठन · अवधि) सहित; संक्षिप्त र ATS-मैत्री, एशियाली रिजुमे परम्परा (CN/JP/KR) का लागि उपयुक्त।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ठूला अक्षरका खण्ड शीर्षकहरू र प्रत्येक पृष्ठमा प्राथमिक-रङको शीर्ष नियम भएको एकल-स्तम्भ; कार्यकारी, परामर्श, वा स्टार्टअप रिजुमेहरूको लागि पालिश गरिएको।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "एक स्तम्भ; पॉलिस गरिएको र गम्भीर शैली, सिनियर वा ठूला कम्पनी स्तरका पदहरूको लागि उपयुक्त।"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "तथ्याङ्क (Statistics)"
|
||||
msgid "Stay"
|
||||
msgstr "रहनुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "रोक्नुहोस्"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "शक्तिहरू"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "पाठ रङ"
|
||||
msgid "Thai"
|
||||
msgstr "थाइ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "एआईले एउटा परिवर्तन प्रस्ताव गर्यो जुन अब यो रिजुमेमा लागू हुँदैन।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "एआईले पूर्वावलोकन गर्न नसकिने प्रस्ताव फिर्ता गर्यो।"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API key सफलतापूर्वक मेटाइयो।"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API key मेटाएपछि अब तपाईंको डाटामा पहुँच गर्न सक्दैन। यो कार्य उल्ट्याउन सकिँदैन।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "सहायकले प्रस्ताव फिर्ता गर्नु अघि रोकियो।"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "यो तपाईंको बायोडाटाका लागि
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "यो प्रक्रिया AI प्रदायकको प्रतिक्रियामा भर पर्न जाकाले केही मिनेट लाग्न सक्छ। कृपया विन्डो बन्द नगर्नुहोस् वा पृष्ठ रिफ्रेस नगर्नुहोस्।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "यो प्रस्ताव पुरानो भइसकेको छ। सहायकलाई पछिल्लो रिजुमेबाट यसलाई पुन: उत्पन्न गर्न भन्नुहोस्।"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "यो बायोडाटा हाल लक गरिएको छ र अद्यावधिक गर्न मिल्दैन।"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "एक्स (ट्विटर)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "हो, Reactive Resume धेरै भाषाहरूमा उपलब्ध छ। तपाईंले सेटिङ पेजबाट वा माथिको दायाँ कुनामा रहेको भाषा सुइचर प्रयोग गरेर आफ्नो मनपर्ने भाषा छान्न सक्नुहुन्छ। यदि आफ्नो भाषा नदेखिनुभयो वा विद्यमान अनुवाद सुधार गर्न चाहनुहुन्छ भने, तपाईं <0>Crowdin मा अनुवादमा योगदान गर्न सक्नुहुन्छ<1> (नयाँ ट्याबमा खुल्छ)</1></0>।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "हो! हरेक ढाँचा पूर्णरूपमा अनुकूल (customizable) छ। तपाईं रङ, फन्ट, स्पेसिङ परिवर्तन गर्न सक्नुहुन्छ, र आफ्नो बायोडाटाको रूपरङ्गमा पूरा नियन्त्रणका लागि custom CSS पनि लेख्न सक्नुहुन्छ।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "हो! Reactive Resume पूर्णतया निःशुल्क रूपमा प्रयोग गर्न सकिने एप हो, कुनै लुका लागत, प्रिमियम तह वा सदस्यता शुल्कबिनै। यो खुला-स्रोत हो र सधैं निःशुल्क रहनेछ।"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# item} other {# items}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# functie} other {# functies}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} voorstellen beoordeeld"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Zeker! U kunt uw cv met één klik naar PDF exporteren. De geëxporteerde PDF behoudt al uw opmaak en stijlen perfect."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accepteren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Alles accepteren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Aanvaard voorstel"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Benader uw cv's en gegevens programmatisch met behulp van de API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Rij ervoor toevoegen"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Na"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI-integratie uitgeschakeld"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI-voorstel toegepast."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI-voorstel afgewezen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI-voorstellen toegepast."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI-voorstellen afgewezen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI-cv-assistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanees"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studierichting"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstmatige intelligentie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Vraag om een gerichte wijziging in je cv..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Vraag om een stapsgewijze verandering."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Beeldverhouding"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistentieverzoek mislukt"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Basisgegevens"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Prachtige sjablonen om uit te kiezen, met meer in aantocht."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Voor"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengaals"
|
||||
@@ -462,10 +523,6 @@ msgstr "Opsommingstekens"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Door de gemeenschap, voor de gemeenschap."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kan ik de sjablonen aanpassen?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kan ik mijn cv naar PDF exporteren?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Duidelijk"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klik hier om een bestand te selecteren om te importeren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI-assistent sluiten"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Codeblok"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bevestigen"
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Maak eerst contact met een AI-aanbieder en controleer of deze betrouwbaar is voordat u gebruikmaakt van de voorgestelde oplossingen voor het bewerken van uw cv."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopieer deze geheime sleutel en gebruik deze in uw applicaties om toegan
|
||||
msgid "Copy URL"
|
||||
msgstr "URL kopiëren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Het AI-voorstel kon niet worden toegepast."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Verbinding verbreken"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Afwijzen"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentatie"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Heb je nog geen account? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Doneer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Doneer aan Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA inschakelen"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI-functies inschakelen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI-integratie inschakelen"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Tweestapsverificatie inschakelen"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Alles wat u hier invoert, wordt lokaal in uw browser opgeslagen. Uw gege
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Voorbeelden: herschrijf de samenvatting, scherper een ervaringspunt aan, voeg cijfers en statistieken toe of pas het cv aan een functieomschrijving aan."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Volledig scherm afsluiten"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Meer voorstellen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Verplaatsen naar"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Moet beginnen met https://"
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Moet beoordeeld worden"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalees"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nieuw wachtwoord"
|
||||
msgid "New Section"
|
||||
msgstr "Nieuwe sectie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Geen advertenties, geen tracking"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Doorlopend onderhoud"
|
||||
msgid "Open"
|
||||
msgstr "Openen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Open AI-assistent"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-mailclient openen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Open integraties"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Instellingen integraties openen"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Voer het wachtwoord in dat met u is gedeeld door de eigenaar van het cv
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Voer de URL in waarnaar u wilt linken:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Steun dit project alstublieft."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Positie"
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Wijzigingen voorbereiden"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Presets"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Druk op <0>{RETURN_KEY}</0> of <1>{COMMA_KEY}</1> om het huidige trefwoo
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Druk op <0>Enter</0> om te openen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Vorige"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primaire kleur"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Voortgangsbalk"
|
||||
msgid "Projects"
|
||||
msgstr "Projecten"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Voorstel {0} van {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Bescherm uw cv tegen ongeautoriseerde toegang met een wachtwoord"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicaties"
|
||||
msgid "Publisher"
|
||||
msgstr "Uitgever"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Ruwe JSON-patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ga naar de startpagina"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume is een gratis en open-source project, met liefde gebouwd
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume is een gratis en open-source cv-bouwer die het proces van het maken, bijwerken en delen van uw cv vereenvoudigt."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume is gratis en open source. Als het je geholpen heeft, overweeg dan een donatie."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume is open-source, privacygericht en volledig gratis. In tegenstelling tot andere cv-bouwers toont het geen advertenties, volgt het uw gegevens niet en beperkt het uw functies niet achter een betaalmuur."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Vernieuwen"
|
||||
msgid "Register New Device"
|
||||
msgstr "Nieuw apparaat registreren"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Afwijzen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Alles afwijzen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Afgewezen voorstel"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Wachtwoord nog weten? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Verificatie-e-mail wordt opnieuw verzonden..."
|
||||
msgid "Reset"
|
||||
msgstr "Resetten"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Chat opnieuw instellen"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Reset uw wachtwoord"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Uw wachtwoord wordt gereset..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI-assistent voor het aanpassen van de grootte"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Bronnen"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV-analyse voltooid."
|
||||
msgid "Resumes"
|
||||
msgstr "Cv's"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Beoordeling vereist"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Beoordeelde voorstellen"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Rechts uitlijnen"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Selecteren..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Zelf hosten met Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Versturen"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "E-mail voor wachtwoordreset verzenden"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "E-mail voor wachtwoordreset wordt verzonden..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Verzoek verzenden"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Scheidingsteken"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Enkelkoloms met een zijbalk en strakke rasterindeling; veelzijdig voor e
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Enkele kolom met een inline kopregel van drie kolommen (positie - organisatie - punt); compact en ATS-vriendelijk, zeer geschikt voor Aziatische cv-conventies (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Eénkoloms lay-out met hoofdletters voor de sectiekoppen en een gekleurde bovenlijn op elke pagina; perfect voor cv's van leidinggevenden, consultants of startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Enkelkoloms; gepolijst en serieus voor senior- of functies op ondernemingsniveau."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistieken"
|
||||
msgid "Stay"
|
||||
msgstr "Blijven"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Sterke punten"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Tekstkleur"
|
||||
msgid "Thai"
|
||||
msgstr "Thais"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "De AI stelde een wijziging voor die niet langer van toepassing is op dit cv."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "De AI leverde een voorstel op dat niet vooraf bekeken kon worden."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "De API-sleutel is succesvol verwijderd."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "De API-sleutel heeft na verwijdering geen toegang meer tot uw gegevens. Deze actie kan niet ongedaan worden gemaakt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "De assistent stopte even voordat hij een voorstel teruggaf."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Dit is een URL-vriendelijke naam voor uw cv."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Dit kan enkele minuten duren, afhankelijk van de reactie van de AI-provider. Sluit het venster niet en ververs de pagina niet."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Dit voorstel is verouderd. Vraag de assistent om het opnieuw te genereren op basis van het meest recente cv."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Dit cv is vergrendeld en kan niet worden bijgewerkt."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume is beschikbaar in meerdere talen. U kunt uw voorkeurstaal kiezen op de instellingenpagina of met de taalwisselaar rechtsboven. Als u uw taal niet ziet, of als u de bestaande vertalingen wilt verbeteren, kunt u <0>bijdagen aan de vertalingen op Crowdin<1> (opent in nieuw tabblad)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Elk sjabloon is volledig aanpasbaar. U kunt kleuren, lettertypen en afstand aanpassen en zelfs aangepaste CSS schrijven voor volledige controle over de uitstraling van uw cv."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume is volledig gratis te gebruiken, zonder verborgen kosten, premiumlagen of abonnementskosten. Het is open-source en zal altijd gratis blijven."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: no\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# elementer}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rolle} other {# roller}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} forslag gjennomgått"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Absolutt! Du kan eksportere CV-en din til PDF med ett klikk. Den eksporterte PDF-filen bevarer all formatering og stil perfekt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Akseptere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Godta alle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Godkjent forslag"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Få tilgang til CV-er og data programmessig ved å bruke API-et."
|
||||
@@ -229,10 +246,38 @@ msgstr "Legg til rad før"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Etter"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "KI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI-integrasjon deaktivert"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI-forslag ble brukt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI-forslag avvist."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI-forslag ble brukt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI-forslag avvist."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI CV-assistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albansk"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studiefelt"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstig intelligens"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Be om en målrettet CV-endring..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Be om en trinnvis endring"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Størrelsesforhold"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistent-forespørselen mislyktes"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Grunnleggende"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Vakre maler å velge mellom, med flere på vei."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Før"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Punktliste"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Av fellesskapet, for fellesskapet."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kan jeg tilpasse malene?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kan jeg eksportere CV-en min til PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Tøm"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klikk her for å velge en fil å importere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Lukk AI-assistenten"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kodeblokk"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bekreft"
|
||||
msgid "Connect"
|
||||
msgstr "Koble til"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Koble til og bekreft en AI-leverandør før du bruker forslag til redigering av CV."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopier denne hemmelige nøkkelen og bruk den i applikasjonene dine for
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopier URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Kunne ikke bruke AI-forslaget."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Koble fra"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Avskjedige"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentasjon"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Har du ikke en konto? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Doner til Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktiver 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktiver KI-funksjoner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktiver AI-integrasjon"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktiver tofaktorautentisering"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Alt du skriver inn her lagres lokalt i nettleseren din. Dataene dine sen
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Eksempler: skriv om sammendraget, stram inn ett erfaringspunkt, legg til målinger eller tilpass CV-en til en stillingsbeskrivelse."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Avslutt fullskjerm"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Flere forslagstiltak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Flytt til"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Må starte med https://"
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Trenger gjennomgang"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nytt passord"
|
||||
msgid "New Section"
|
||||
msgstr "Ny seksjon"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Neste"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Ingen annonser, ingen sporing"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Løpende vedlikehold"
|
||||
msgid "Open"
|
||||
msgstr "Åpne"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Åpne AI-assistenten"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Åpne e-postklient"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Åpne integrasjoner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Åpne innstillinger for integrasjoner"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Skriv inn passordet som er delt med deg av eieren av CV-en for å fortse
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Skriv inn URL-en du vil lenke til:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Vennligst støtt prosjektet"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Posisjon"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferanser"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Forbereder endringer"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Forhåndsinnstillinger"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Trykk <0>{RETURN_KEY}</0> eller <1>{COMMA_KEY}</1> for å legge til elle
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Trykk <0>Enter</0> for å åpne"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Forrige"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hovedfarge"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Fremdriftslinje"
|
||||
msgid "Projects"
|
||||
msgstr "Prosjekter"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Forslag {0} av {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Beskytt CV-en din mot uautorisert tilgang med et passord"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikasjoner"
|
||||
msgid "Publisher"
|
||||
msgstr "Utgiver"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Rå JSON-oppdatering"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Gå til startsiden"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume er et gratis og åpen kildekode-prosjekt, bygget med kj
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume er en gratis og åpen kildekode CV-bygger som forenkler prosessen med å lage, oppdatere og dele CV-en din."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume er gratis og har åpen kildekode. Hvis det har hjulpet deg, bør du vurdere å donere."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume er åpen kildekode, personvernfokusert og helt gratis. I motsetning til andre CV-byggere viser den ikke annonser, sporer ikke dataene dine og begrenser ikke funksjoner bak en betalingsmur."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Oppdater"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrer ny enhet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Avvis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Avvis alle"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Avvist forslag"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Husker du passordet ditt? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Sender verifiserings-e-post på nytt..."
|
||||
msgid "Reset"
|
||||
msgstr "Tilbakestill"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Tilbakestill chatten"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Tilbakestill passordet ditt"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Tilbakestiller passordet ditt..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Endre størrelse på AI-assistenten"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ressurser"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV-analysen er fullført."
|
||||
msgid "Resumes"
|
||||
msgstr "CV-er"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Gjennomgang kreves"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Gjennomgåtte forslag"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Høyrejuster"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Velg..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Selvhosting med Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Sende"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Send e-post for tilbakestilling av passord"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Sender e-post for tilbakestilling av passord..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Sender forespørsel"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Skillelinje"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Enkolonners med sidepanel og ren rutenettslayout; allsidig for alle prof
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Én kolonne med en innebygd topptekst i tre kolonner for hver oppføring (stilling · organisasjon · periode); kompakt og ATS-vennlig, godt egnet for asiatiske CV-konvensjoner (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Enkeltkolonne med overskrifter i store bokstaver og en primærfarget topplinje på hver side; polert for CV-er for ledere, konsulenter eller oppstartsbedrifter."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Enkolonners; polert og seriøs for senior- eller virksomhetsnivåstillinger."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistikk"
|
||||
msgid "Stay"
|
||||
msgstr "Bli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stoppe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Styrker"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Tekstfarge"
|
||||
msgid "Thai"
|
||||
msgstr "Thai"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI-en foreslo en endring som ikke lenger gjelder for denne CV-en."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI-en returnerte et forslag som ikke kunne forhåndsvises."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-nøkkelen er slettet."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Etter sletting vil API-nøkkelen ikke lenger kunne få tilgang til dataene dine. Denne handlingen kan ikke angres."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Assistenten stoppet før han returnerte et forslag."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Dette er et URL-vennlig navn på CV-en din."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Dette kan ta noen minutter, avhengig av responsen fra KI-leverandøren. Ikke lukk vinduet eller oppdater siden."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Dette forslaget er foreldet. Be assistenten om å generere det på nytt fra den nyeste CV-en."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Denne CV-en er låst og kan ikke oppdateres."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume er tilgjengelig på flere språk. Du kan velge foretrukket språk på innstillingssiden, eller ved å bruke språkvælgeren øverst til høyre. Hvis du ikke ser språket ditt, eller du vil forbedre eksisterende oversettelser, kan du <0>bidra til oversettelsene på Crowdin<1> (åpnes i ny fane)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Hver mal er fullt ut tilpassbar. Du kan endre farger, skrifttyper, avstander og til og med skrive tilpasset CSS for full kontroll over hvordan CV-en ser ut."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume er helt gratis å bruke, uten skjulte kostnader, premium-nivåer eller abonnementsgebyrer. Det er åpen kildekode og vil alltid forbli gratis."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: or\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Odia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# ଆଇଟମ୍} other {# ଆଇଟମ୍}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ଭୂମିକା} other {# ଭୂମିକା}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} ପ୍ରସ୍ତାବଗୁଡ଼ିକର ସମୀକ୍ଷା କରାଯାଇଛି"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "ନିଶ୍ଚୟ! ଆପଣ ଗୋଟିଏ କ୍ଲିକ୍ରେ ଆପଣଙ୍କ ରେଜ୍ୟୁମେକୁ PDF କୁ ନିର୍ଯ୍ୟାତ କରିପାରିବେ। ନିର୍ଯ୍ୟାତ ହୋଇଥିବା PDF ଆପଣଙ୍କ ସମସ୍ତ ଫର୍ମାଟିଙ୍ଗ ଏବଂ ଶୈଳୀକୁ ସଠିକ୍ ଭାବରେ ରକ୍ଷା କରେ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ଗ୍ରହଣ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "ସବୁ ସ୍ୱୀକାର କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ଗ୍ରହଣ କରାଯାଇଥିବା ପ୍ରସ୍ତାବ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API ବ୍ୟବହାର କରି ଆପଣଙ୍କ ରେଜ୍ୟୁମେଗୁଡିକ ଏବଂ ତଥ୍ୟକୁ ପ୍ରୋଗ୍ରାମାଟିକ୍ ଭାବରେ ଆକ୍ସେସ୍ କରନ୍ତୁ।"
|
||||
@@ -229,10 +246,38 @@ msgstr "ପୂର୍ବେ ପଙ୍କ୍ତି ଯୋଡନ୍ତୁ"
|
||||
msgid "Afrikaans"
|
||||
msgstr "ଆଫ୍ରିକାନ୍ସ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "ପରେ"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI ଇଣ୍ଟିଗ୍ରେସନକୁ ଅକ୍ଷମ କରାଯାଇଛି"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI ପ୍ରସ୍ତାବ ଲାଗୁ ହୋଇଛି।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI ପ୍ରସ୍ତାବକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଯାଇଛି।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI ପ୍ରସ୍ତାବଗୁଡ଼ିକ ପ୍ରୟୋଗ କରାଯାଇଛି।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI ପ୍ରସ୍ତାବଗୁଡ଼ିକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଯାଇଛି।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI ରିଜ୍ୟୁମ୍ ଆସିଷ୍ଟାଣ୍ଟ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "ଆଲବାନିଆନ୍"
|
||||
@@ -367,10 +412,22 @@ msgstr "ଅଧ୍ୟୟନ କ୍ଷେତ୍ର"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "କୃତ୍ରିମ ବୁଦ୍ଧିମତ୍ତା"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "ଏକ ଲକ୍ଷ୍ୟଭେଦୀ ଜୀବନବୃତ୍ତାନ୍ତ ପରିବର୍ତ୍ତନ ପାଇଁ କୁହନ୍ତୁ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ଏକ କ୍ରମିକ ପରିବର୍ତ୍ତନ ପାଇଁ ପଚାରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ଆସ୍ପେକ୍ଟ ଅନୁପାତ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "ଆସିଷ୍ଟାଣ୍ଟ ଅନୁରୋଧ ବିଫଳ ହୋଇଛି"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "ମୌଳିକତା"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "ଚୟନ କରିବା ପାଇଁ ସୁନ୍ଦର ଟେମ୍ପ୍ଲେଟ୍, ଆଉ ଅଧିକ ଆସୁଛି।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "ପୂର୍ବରୁ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "ବଙ୍ଗାଳୀ"
|
||||
@@ -462,10 +523,6 @@ msgstr "ବୁଲେଟ୍ ତାଲିକା"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "ସମୁଦାୟ ଦ୍ୱାରା, ସମୁଦାୟ ପାଇଁ।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "ମୁଁ ଟେମ୍ପ୍ଲେଟ୍ଗୁଡିକୁ କଷ୍ଟମାଇଜ୍ କରିପାରିବି କି?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "ମୁଁ ମୋର ରେଜ୍ୟୁମେକୁ PDF କୁ ନିର୍ଯ୍ୟାତ କରିପାରିବି କି?"
|
||||
@@ -576,6 +633,14 @@ msgstr "ସଫା କରନ୍ତୁ"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ଆୟାତ କରିବା ପାଇଁ ଫାଇଲ୍ ଚୟନ କରିବାକୁ ଏଠାରେ କ୍ଲିକ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "ବନ୍ଦ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI ଆସିଷ୍ଟାଣ୍ଟ ବନ୍ଦ କରନ୍ତୁ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "କୋଡ୍ ବ୍ଲକ୍"
|
||||
@@ -622,6 +687,10 @@ msgstr "ନିଶ୍ଚିତ କରନ୍ତୁ"
|
||||
msgid "Connect"
|
||||
msgstr "ଯୋଡନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "ରିଜ୍ୟୁମ୍ ସମ୍ପାଦନ ପ୍ରସ୍ତାବ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଏକ AI ପ୍ରଦାନକାରୀଙ୍କ ସହିତ ସଂଯୋଗ କରନ୍ତୁ ଏବଂ ଯାଞ୍ଚ କରନ୍ତୁ।"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ଏହି ଗୁପ୍ତ କିକୁ କପି କରନ୍ତୁ ଏ
|
||||
msgid "Copy URL"
|
||||
msgstr "URL କପି କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI ପ୍ରସ୍ତାବକୁ ପ୍ରୟୋଗ କରିପାରିଲି ନାହିଁ।"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ଡିସ୍କନେକ୍ଟ କରନ୍ତୁ"
|
||||
msgid "Discord"
|
||||
msgstr "ଡିସକର୍ଡ (Discord)"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "ଖାରଜ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ଦଳିଲପତ୍ର"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "ଖାତା ନାହିଁ? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "ଦାନ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume କୁ ଦାନ କରନ୍ତୁ"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA ସକ୍ରିୟ କରନ୍ତୁ"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI ବିଶେଷତା ସକ୍ରିୟ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI ଇଣ୍ଟିଗ୍ରେସନକୁ ସକ୍ଷମ କରନ୍ତୁ"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ ସକ୍ରିୟ କରନ୍ତୁ"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ଉଦାହରଣ: ସାରାଂଶକୁ ପୁଣି ଲେଖିବା, ଗୋଟିଏ ଅଭିଜ୍ଞତା ବୁଲେଟ୍ କଡ଼ାକଡ଼ି କରିବା, ମେଟ୍ରିକ୍ସ ଯୋଡିବା, କିମ୍ବା ଚାକିରି ବର୍ଣ୍ଣନା ପାଇଁ ରିଜ୍ୟୁମକୁ ଗ୍ରହଣ କରିବା।"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରୁ ବାହାରକୁ ଆସନ୍ତୁ"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "ମଡେଲ୍"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "ଅଧିକ ପ୍ରସ୍ତାବ କାର୍ଯ୍ୟ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "ଏଠାକୁ ସଞ୍ଚାଳନ କରନ୍ତୁ"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// ସହ ଆରମ୍ଭ ହେବା ଆବଶ୍ୟକ"
|
||||
msgid "Name"
|
||||
msgstr "ନାମ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "ସମୀକ୍ଷା ଆବଶ୍ୟକ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "ନେପାଳୀ"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "ନୂତନ ପାସୱାର୍ଡ"
|
||||
msgid "New Section"
|
||||
msgstr "ନୂତନ ବିଭାଗ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "ପରବର୍ତ୍ତୀ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "ବିଜ୍ଞାପନ ନାହିଁ, ଟ୍ରାକିଂ ନାହିଁ"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "ଚାଲୁ ରଖିବାକୁ ମରାମତି"
|
||||
msgid "Open"
|
||||
msgstr "ଖୋଲନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "AI ଆସିଷ୍ଟାଣ୍ଟ ଖୋଲନ୍ତୁ"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ଇମେଲ୍ କ୍ଲାୟେଣ୍ଟ ଖୋଲନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ଖୋଲନ୍ତୁ ଏକୀକରଣ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ଇଣ୍ଟିଗ୍ରେସନ୍ସ ସେଟିଂସ୍ ଖୋଲନ୍ତୁ"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "ଦୟାକରି ରେଜ୍ୟୁମେ ମାଲିକଙ୍କ ଦ
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "ଦୟାକରି ଯେଉଁ URL କୁ ଲିଙ୍କ କରିବାକୁ ଚାହାଁନ୍ତି ସେଥିରେ ପ୍ରବେଶ କରନ୍ତୁ:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "ଦୟାକରି ପ୍ରୋଜେକ୍ଟକୁ ସମର୍ଥନ କରନ୍ତୁ।"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "ପଦବୀ"
|
||||
msgid "Preferences"
|
||||
msgstr "ପସନ୍ଦ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ପ୍ରସ୍ତୁତ କରାଯାଉଛି"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "ପ୍ରିସେଟ୍ଗୁଡିକ"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "ଏହି କୀୱାର୍ଡ ଯୋଡ଼ିବା କିମ୍ବା
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "ଖୋଲିବା ପାଇଁ <0>Enter</0> ଦବାନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "ପୂର୍ବବର୍ତ୍ତୀ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ମୁଖ୍ୟ ରଙ୍ଗ"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "ପ୍ରଗତି ବାର୍"
|
||||
msgid "Projects"
|
||||
msgstr "ପ୍ରକଳ୍ପଗୁଡିକ"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total} ର {0} ପ୍ରସ୍ତାବ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "ଆପଣଙ୍କ ରେଜ୍ୟୁମେକୁ ଅନଧିକୃତ ଆକ୍ସେସ୍ ଠାରୁ ପାସୱାର୍ଡ ଦ୍ୱାରା ସୁରକ୍ଷିତ କରନ୍ତୁ"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "ପ୍ରକାଶନଗୁଡିକ"
|
||||
msgid "Publisher"
|
||||
msgstr "ପ୍ରକାଶକ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "ର JSON ପ୍ୟାଚ୍"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ହୋମ୍ପେଜ୍କୁ ଯାଆନ୍ତୁ"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ଏକ ନିଶୁଳ୍କ ଏବଂ ଖୋଲା‑
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume ଏକ ନିଶୁଳ୍କ ଏବଂ ଖୋଲା‑ମୂଳ ରେଜ୍ୟୁମେ ବିଲ୍ଡର, ଯାହା ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ତିଆରି, ଅଦ୍ୟତନ ଏବଂ ସେୟାର କରିବା ପ୍ରକ୍ରିୟାକୁ ସହଜ କରେ।"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "ପ୍ରତିକ୍ରିୟାଶୀଳ ରିଜ୍ୟୁମ୍ ମାଗଣା ଏବଂ ଖୋଲା ଉତ୍ସ। ଯଦି ଏହା ଆପଣଙ୍କୁ ସାହାଯ୍ୟ କରିଛି, ଦୟାକରି ଦାନ କରିବାକୁ ବିଚାର କରନ୍ତୁ।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ଖୋଲା‑ମୂଳ, ଗୋପନୀୟତା‑କେନ୍ଦ୍ରିତ ଏବଂ ସଂପୂର୍ଣ୍ଣ ଭାବରେ ନିଶୁଳ୍କ। ଅନ୍ୟ ରେଜ୍ୟୁମେ ବିଲ୍ଡରଗୁଡିକ ଭଳି ଏହା ବିଜ୍ଞାପନ ଦେଖାଏ ନାହିଁ, ଆପଣଙ୍କ ତଥ୍ୟକୁ ଟ୍ରାକ୍ କରେ ନାହିଁ, କିମ୍ବା ପେୱାଲ୍ ପଛରେ ବିଶେଷତାଗୁଡିକୁ ଆଟକାଇ ରଖେ ନାହିଁ।"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "ରିଫ୍ରେଶ କରନ୍ତୁ"
|
||||
msgid "Register New Device"
|
||||
msgstr "ନୂତନ ଡିଭାଇସ୍ ରେଜିଷ୍ଟର କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "ପ୍ରତ୍ୟାଖ୍ୟାନ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "ସବୁକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଯାଇଥିବା ପ୍ରସ୍ତାବ"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ମନେ ଅଛି? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "ସତ୍ୟାପନ ଇମେଲ୍ ପୁନଃ ପଠାଯାଉଛ
|
||||
msgid "Reset"
|
||||
msgstr "ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "ଚାଟ୍ ରିସେଟ୍ କରନ୍ତୁ"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ରିସେଟ୍ କରନ
|
||||
msgid "Resetting your password..."
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ରିସେଟ୍ ହେଉଛି..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "AI ଆସିଷ୍ଟାଣ୍ଟର ଆକାର ବଦଳାନ୍ତୁ"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "ସମ୍ପଦ"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "ରେଜ୍ୟୁମେ ବିଶ୍ଳେଷଣ ସମ୍ପୂର୍
|
||||
msgid "Resumes"
|
||||
msgstr "ରେଜ୍ୟୁମେଗୁଡିକ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "ସମୀକ୍ଷା ଆବଶ୍ୟକ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "ସମୀକ୍ଷା କରାଯାଇଥିବା ପ୍ରସ୍ତାବଗୁଡ଼ିକ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "ଡାହାଣ ସଙ୍ଗୁଯୋଗ"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "ବାଛନ୍ତୁ..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ସହ ସ୍ୱୟଂ‑ହୋଷ୍ଟ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ପଠାନ୍ତୁ"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "ପାସୱାର୍ଡ ରିସେଟ୍ ଇମେଲ୍ ପଠାନ
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "ପାସୱାର୍ଡ ରିସେଟ୍ ଇମେଲ୍ ପଠାଯାଉଛି..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "ଅନୁରୋଧ ପଠାଯାଉଛି"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "ବିଭଜକ"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "ସାଇଡବାର୍ ଏବଂ ସଫା ଗ୍ରିଡ୍ ଲେ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ଇନ୍ଲାଇନ୍ ତିନି-ସ୍ତମ୍ଭ ଏଣ୍ଟ୍ରି ହେଡର୍ (ପଦବୀ · ସଂସ୍ଥା · ସମୟାବଧି) ସହ ଏକକ-ସ୍ତମ୍ଭ; ସଂକ୍ଷିପ୍ତ ଏବଂ ATS-ଅନୁକୂଳ, ଏସିଆଇ ରେଜ୍ୟୁମେ ପ୍ରଚଳନ (CN/JP/KR) ପାଇଁ ବହୁତ ଉପଯୁକ୍ତ।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ପ୍ରତ୍ୟେକ ପୃଷ୍ଠାରେ ବଡ଼ ଅକ୍ଷର ବିଭାଗ ଶୀର୍ଷକ ଏବଂ ଏକ ପ୍ରାଥମିକ ରଙ୍ଗର ଶୀର୍ଷ ନିୟମ ସହିତ ଏକକ ସ୍ତମ୍ଭ; କାର୍ଯ୍ୟନିର୍ବାହୀ, ପରାମର୍ଶଦାତା, କିମ୍ବା ଷ୍ଟାର୍ଟଅପ୍ ରିଜ୍ୟୁମ୍ ପାଇଁ ପଲିଶ୍ କରାଯାଇଛି।"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ଏକକ‑କଲମ୍; ବରିଷ୍ଠ କିମ୍ବା ଉଦ୍ୟମ‑ସ୍ତରର ପଦବୀମାନଙ୍କ ପାଇଁ ମଜାଇଦାର ଏବଂ ଗୁଭୀର।"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "ସଂଖ୍ୟାତ୍ମକ ତଥ୍ୟ"
|
||||
msgid "Stay"
|
||||
msgstr "ରୁହନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "ବନ୍ଦ କରନ୍ତୁ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "ଶକ୍ତିଗୁଡିକ"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "ପାଠ୍ୟ ରଙ୍ଗ"
|
||||
msgid "Thai"
|
||||
msgstr "ଥାଇ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI ଏକ ପରିବର୍ତ୍ତନ ପ୍ରସ୍ତାବ ଦେଇଥିଲା ଯାହା ଆଉ ଏହି ରିଜ୍ୟୁମରେ ପ୍ରଯୁଜ୍ୟ ନୁହେଁ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "ଏଆଇ ଏକ ପ୍ରସ୍ତାବ ଫେରାଇ ଦେଇଥିଲା ଯାହାର ପୂର୍ବାବଲୋକନ କରାଯାଇପାରିଲା ନାହିଁ।"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API କି ସଫଳତାର ସହ ବିଲୋପ କରାଯାଇ
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API କି ବିଲୋପ କରାଯାଇବା ପରେ ଆପଣଙ୍କ ତଥ୍ୟକୁ ଆରମ୍ଭରୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ। ଏହି କାର୍ଯ୍ୟ ପୁନଃ କରିହୋଇପାରିବ ନାହିଁ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ସହାୟକ ଜଣକ ପ୍ରସ୍ତାବ ଫେରାଇବା ପୂର୍ବରୁ ଅଟକିଗଲେ।"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "ଏହା ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ପାଇଁ URL
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI ପ୍ରଦାନକାରୀଙ୍କ ପ୍ରତିକ୍ରିୟା ଉପରେ ନିର୍ଭର କରି, ଏହାକୁ କିଛି ମିନିଟ୍ ଲାଗିପାରେ। ଦୟାକରି ଉଇଣ୍ଡୋଟିକୁ ବନ୍ଦ କରନ୍ତୁ ନାହିଁ କିମ୍ବା ପେଜ୍ଟିକୁ ରିଫ୍ରେଶ କରନ୍ତୁ ନାହିଁ।"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ଏହି ପ୍ରସ୍ତାବଟି ପୁରୁଣା। ସହାୟକଙ୍କୁ ନୂତନତମ ରିଜ୍ୟୁମରୁ ଏହାକୁ ପୁନଃ ସୃଷ୍ଟି କରିବାକୁ କୁହନ୍ତୁ।"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ଏହି ରେଜ୍ୟୁମେଟି ଲକ୍ ହୋଇଛି ଏବଂ ଅଦ୍ୟତନ କରିହୋଇପାରିବ ନାହିଁ।"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (ଟ୍ୱିଟର)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "ହଁ, Reactive Resume ଅନେକ ଭାଷାରେ ଉପଲବ୍ଧ। ଆପଣ ସେଟିଂସ୍ ପେଜ୍ରେ, କିମ୍ବା ଡାହାଣ ପର୍ଯ୍ୟନ୍ତ ଉପର କୋଣରେ ଥିବା ଭାଷା ସ୍ୱିଚ୍ର ବ୍ୟବହାର କରି ପସନ୍ଦକ୍ରାତ ଭାଷା ଚୟନ କରିପାରିବେ। ଯଦି ଆପଣ ଆପଣଙ୍କ ଭାଷାକୁ ଦେଖୁନଥିବେ, କିମ୍ବା ଅବସ୍ଥିତ ଅନୁବାଦଗୁଡିକୁ ଉନ୍ନତ କରିବାକୁ ଚାହାଁନ୍ତି, ତେବେ ଆପଣ <0>Crowdin ରେ ଅନୁବାଦଗୁଡିକୁ ଅବଦାନ ଦେଇପାରିବେ<1> (ନୂତନ ଟାବ୍ରେ ଖୋଲେ)</1></0>।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "ହଁ! ପ୍ରତ୍ୟେକ ଟେମ୍ପ୍ଲେଟ୍ ପ୍ରତିପୂର୍ଣ୍ଣ ଭାବରେ କଷ୍ଟମାଇଜ୍ କରିହୋଇପାରିବ। ଆପଣ ରଙ୍ଗ, ଫଣ୍ଟ, ଖାଲି ସ୍ଥାନ ବଦଳାଇ ପାରିବେ, ଏବଂ ଆପଣଙ୍କ ରେଜ୍ୟୁମେର ଦେଖା ଅନୁଭବ ଉପରେ ପୂର୍ଣ୍ଣ ନିୟନ୍ତ୍ରଣ ପାଇଁ କଷ୍ଟମ୍ CSS ଲେଖି ପାରିବେ।"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "ହଁ! Reactive Resume ସଂପୂର୍ଣ୍ଣ ଭାବରେ ନିଶୁଳ୍କ, କୌଣସି ଲୁଚା ଖର୍ଚ୍ଚ, ପ୍ରିମିୟମ ସ୍ତର କିମ୍ବା ସବ୍ସକ୍ରିପ୍ସନ୍ ଶୁଳ୍କ ନାହିଁ। ଏହା ଖୋଲା‑ମୂଳ ଏବଂ ସଦା ପାଇଁ ନିଶୁଳ୍କ ରହିବ।"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} few {# elementy} many {# elementów} other {
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# stanowisko} few {# stanowiska} many {# stanowisk} other {# stanowiska}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} przejrzanych propozycji"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Oczywiście! Możesz wyeksportować swoje CV do PDF jednym kliknięciem. Wyeksportowany PDF zachowa wszystkie formatowanie i styl w idealnym stanie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Przyjąć"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Akceptuj wszystko"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Zaakceptowana propozycja"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Uzyskaj programistyczny dostęp do swoich CV i danych za pomocą API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Dodaj wiersz przed"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integracja AI wyłączona"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Zastosowano propozycję sztucznej inteligencji."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Propozycja sztucznej inteligencji odrzucona."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Zastosowano propozycje sztucznej inteligencji."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propozycje dotyczące sztucznej inteligencji odrzucone."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asystent CV AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albański"
|
||||
@@ -367,10 +412,22 @@ msgstr "Kierunek studiów"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Sztuczna inteligencja"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Poproś o ukierunkowaną zmianę CV..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Poproś o stopniową zmianę"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcje obrazu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Żądanie asystenta nie powiodło się"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Podstawy"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Piękne szablony do wyboru, a wkrótce kolejne."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Zanim"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalski"
|
||||
@@ -462,10 +523,6 @@ msgstr "Lista wypunktowana"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Stworzone przez społeczność dla społeczności."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Czy mogę dostosować szablony?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Czy mogę wyeksportować swoje CV do PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Wyczyść"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknij tutaj, aby wybrać plik do importu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Zamknij asystenta AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok kodu"
|
||||
@@ -622,6 +687,10 @@ msgstr "Potwierdź"
|
||||
msgid "Connect"
|
||||
msgstr "Połącz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Skontaktuj się z dostawcą sztucznej inteligencji i zweryfikuj go, zanim skorzystasz z propozycji edycji CV."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Skopiuj ten tajny klucz i użyj go w swoich aplikacjach, aby uzyskać do
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopiuj URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nie udało się zastosować propozycji sztucznej inteligencji."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Odłącz"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Odrzucać"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentacja"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nie masz konta? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Podarować"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Przekaż darowiznę na rzecz Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Włącz 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Włącz funkcje AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Włącz integrację AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Włącz uwierzytelnianie dwuskładnikowe"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Wszystko, co tutaj wpiszesz, jest przechowywane lokalnie w Twojej przegl
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Przykłady: przepisz podsumowanie, skróć jeden punkt dotyczący doświadczenia, dodaj wskaźniki lub dostosuj CV do opisu stanowiska."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Wyjdź z trybu pełnoekranowego"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Więcej działań w ramach propozycji"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Przenieś do"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Proszę zacząć od https://"
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Wymaga przeglądu"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalski"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nowe hasło"
|
||||
msgid "New Section"
|
||||
msgstr "Nowa sekcja"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Następny"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Bez reklam, bez śledzenia"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Bieżące utrzymanie"
|
||||
msgid "Open"
|
||||
msgstr "Otwórz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Otwarty asystent AI"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otwórz klienta poczty e-mail"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Otwarte integracje"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Proszę otworzyć Ustawienia integracji"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Wprowadź hasło udostępnione Ci przez właściciela CV, aby kontynuowa
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Wpisz adres URL, do którego chcesz utworzyć link:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Proszę wesprzeć projekt"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Stanowisko"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Przygotowywanie zmian"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Ustawienia wstępne"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Naciśnij <0>{RETURN_KEY}</0> lub <1>{COMMA_KEY}</1>, aby dodać lub zap
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Proszę wcisnąć <0>Enter</0>, aby otworzyć"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Poprzedni"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Kolor główny"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Pasek postępu"
|
||||
msgid "Projects"
|
||||
msgstr "Projekty"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Propozycja {0} z {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Chroń swoje CV hasłem przed nieautoryzowanym dostępem"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikacje"
|
||||
msgid "Publisher"
|
||||
msgstr "Wydawca"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Surowa łatka JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – przejdź do strony głównej"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume to darmowy, open-source'owy projekt, tworzony z pasją i
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume to darmowy i open-source'owy kreator CV, który upraszcza proces tworzenia, aktualizowania i udostępniania CV."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume jest darmowy i ma otwarte oprogramowanie. Jeśli Ci pomogło, rozważ przekazanie darowizny."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume jest open-source, skupione na prywatności i całkowicie darmowe. W przeciwieństwie do innych kreatorów CV nie wyświetla reklam, nie śledzi Twoich danych ani nie ukrywa funkcji za paywallem."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Odśwież"
|
||||
msgid "Register New Device"
|
||||
msgstr "Zarejestrować nowe urządzenie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Odrzucić"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Odrzuć wszystko"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Odrzucona propozycja"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Pamiętasz hasło? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Ponowne wysyłanie e-maila weryfikacyjnego..."
|
||||
msgid "Reset"
|
||||
msgstr "Zresetuj"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Zresetuj czat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Zresetuj swoje hasło"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Resetowanie hasła..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Asystent zmiany rozmiaru AI"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Zasoby"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analiza CV zakończona."
|
||||
msgid "Resumes"
|
||||
msgstr "CV"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Wymagana recenzja"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Przejrzane propozycje"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Wyrównaj do prawej"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Wybierz..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Samodzielny hosting z Dockerem"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Wysłać"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Wyślij e-mail do resetowania hasła"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Wysyłanie e-maila do resetowania hasła..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Wysyłanie żądania"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separator"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Jedna kolumna z paskiem bocznym i przejrzystą siatką; uniwersalny ukł
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Jednokolumnowy z wbudowanym trzykolumnowym nagłówkiem (stanowisko - organizacja - kropka); kompaktowy i przyjazny dla ATS, dobrze dopasowany do azjatyckich konwencji CV (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Jedna kolumna z nagłówkami sekcji pisanymi wielkimi literami i podstawową linią koloru górnego na każdej stronie; dopracowane pod kątem życiorysów kadry kierowniczej, konsultantów lub startupów."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Jedna kolumna; dopracowany i poważny układ dla stanowisk seniorskich lub na poziomie korporacyjnym."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statystyki"
|
||||
msgid "Stay"
|
||||
msgstr "Zostań"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Zatrzymywać się"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Mocne strony"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Kolor tekstu"
|
||||
msgid "Thai"
|
||||
msgstr "Tajski"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Sztuczna inteligencja zaproponowała zmianę, która już nie ma zastosowania do tego CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Sztuczna inteligencja zwróciła propozycję, której nie można było wyświetlić."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Klucz API został pomyślnie usunięty."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Po usunięciu ten klucz API nie będzie już mógł uzyskiwać dostępu do Twoich danych. Tej akcji nie można cofnąć."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asystent zatrzymał się przed przekazaniem propozycji."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "To przyjazna dla adresu URL nazwa Twojego CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "To może potrwać kilka minut, w zależności od czasu odpowiedzi dostawcy AI. Nie zamykaj okna ani nie odświeżaj strony."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Ta propozycja jest nieaktualna. Poproś asystenta o jej ponowne wygenerowanie na podstawie najnowszego CV."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "To CV jest zablokowane i nie można go aktualizować."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Tak, Reactive Resume jest dostępne w wielu językach. Możesz wybrać preferowany język na stronie ustawień lub za pomocą przełącznika języka w prawym górnym rogu. Jeśli nie widzisz swojego języka lub chcesz ulepszyć istniejące tłumaczenia, możesz <0>współtworzyć tłumaczenia na Crowdin<1> (otwiera się w nowej karcie)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Tak! Każdy szablon jest w pełni konfigurowalny. Możesz zmieniać kolory, czcionki, odstępy, a nawet pisać własny CSS, aby w pełni kontrolować wygląd swojego CV."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Tak! Reactive Resume jest całkowicie darmowe w użyciu, bez ukrytych kosztów, planów premium czy opłat abonamentowych. Jest open-source i zawsze będzie darmowe."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# item} other {# itens}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# cargo} other {# cargos}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propostas analisadas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Com certeza! Você pode exportar seu currículo para PDF com um único clique. O PDF exportado mantém toda a sua formatação e estilo perfeitamente."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Aceitar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Aceitar tudo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposta aceita"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Acesse seus currículos e dados programaticamente usando a API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Adicionar linha antes"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Africâner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Depois"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integração de IA desativada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposta de IA aplicada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposta de IA rejeitada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propostas de IA aplicadas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propostas de IA rejeitadas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Assistente de Currículo com IA"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanês"
|
||||
@@ -367,10 +412,22 @@ msgstr "Área de estudo"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligência Artificial"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Solicite uma alteração específica no currículo..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Solicite uma mudança gradual."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção da imagem"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "A solicitação de assistência falhou"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Informações básicas"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Modelos bonitos para escolher, com mais a caminho."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Antes"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Lista com marcadores"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Construída pela comunidade para a comunidade."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Posso personalizar os modelos?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Posso exportar meu currículo para PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Limpo"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Clique aqui para selecionar um arquivo para importar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Fechar assistente de IA"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloco de código"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirmar"
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Antes de usar propostas de edição de currículo, entre em contato e verifique a confiabilidade de um fornecedor de IA."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copie esta chave secreta e use-a em seus aplicativos para acessar seus d
|
||||
msgid "Copy URL"
|
||||
msgstr "Copiar URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Não foi possível aplicar a proposta de IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Desconectar"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Liberar"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentação"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Não tem uma conta? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Doar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Doe para o Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Ativar 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Ativar recursos de IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Habilitar a integração de IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Ativar autenticação de dois fatores"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tudo o que for inserido aqui é armazenado localmente no seu navegador.
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exemplos: reescrever o resumo, condensar um dos tópicos de experiência, adicionar métricas ou adaptar o currículo à descrição da vaga."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Sair da tela cheia"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Mais ações propostas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Mover para"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Deve começar com https://"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Precisa de revisão"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalês"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nova senha"
|
||||
msgid "New Section"
|
||||
msgstr "Nova seção"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Próximo"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Sem publicidade, sem rastreamento"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Manutenção contínua"
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Assistente de IA aberta"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrações abertas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Abrir Integrations Settings (Configurações de integrações)"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Insira a senha compartilhada com você pelo proprietário do currículo
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Insira o URL para o qual você deseja criar o link:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Por favor, apoie o projeto."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Posição"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparando alterações"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Predefinições"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Pressione <0>{RETURN_KEY}</0> ou <1>{COMMA_KEY}</1> para adicionar ou sa
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Pressione <0>Enter</0> para abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Cor primária"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barra de progresso"
|
||||
msgid "Projects"
|
||||
msgstr "Projetos"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposta {0} de {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Proteja seu currículo de acessos não autorizados com uma senha"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicações"
|
||||
msgid "Publisher"
|
||||
msgstr "Editor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON bruto"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ir para a página inicial"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "O Reactive Resume é um projeto gratuito e de código aberto, construíd
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "O Reactive Resume é um criador de currículos gratuito e de código aberto que simplifica o processo de criação, atualização e compartilhamento de seu currículo."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil, considere fazer uma doação."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "O Reactive Resume é de código aberto, focado em privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, ele não exibe anúncios, não rastreia seus dados e não limita recursos atrás de um paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Atualizar"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrar novo dispositivo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rejeitar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Rejeitar tudo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposta rejeitada"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Lembrou sua senha? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Reenviando email de verificação..."
|
||||
msgid "Reset"
|
||||
msgstr "Redefinir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reiniciar bate-papo"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Redefinir a sua senha"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Redefinindo a sua senha..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Assistente de IA para redimensionar"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Análise de currículo concluída."
|
||||
msgid "Resumes"
|
||||
msgstr "Currículos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Revisão necessária"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propostas analisadas"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Alinhar à direita"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Selecionar..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Auto-hospedagem com Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Enviar email de redefinição de senha"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Enviando email de redefinição de senha..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Enviando solicitação"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separador"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Uma coluna com barra lateral e layout em grade limpa; versátil para qua
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Coluna única com um cabeçalho de entrada em linha de três colunas (cargo - organização - ponto); compacto e amigável para ATS, adequado para convenções de currículo asiáticas (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Formato de coluna única com títulos de seção em maiúsculas e linha superior na cor principal em todas as páginas; ideal para currículos de executivos, consultores ou startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Uma coluna; polido e sério para posições sênior ou de nível corporativo."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Estatísticas"
|
||||
msgid "Stay"
|
||||
msgstr "Ficar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Pontos fortes"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Cor do texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandês"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "A IA propôs uma alteração que já não se aplica a este currículo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "A IA retornou uma proposta que não pôde ser visualizada previamente."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "A chave de API foi excluída com sucesso."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "A chave de API não poderá mais acessar seus dados após a exclusão. Esta ação não pode ser desfeita."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "O assistente parou antes de apresentar uma proposta."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Este é um nome amigável para URL do seu currículo."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Isso pode levar alguns minutos, dependendo da resposta do provedor de IA. Não feche a janela nem atualize a página."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Esta proposta está desatualizada. Peça ao assistente para gerá-la novamente a partir do currículo mais recente."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Este currículo está bloqueado e não pode ser atualizado."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Sim, o Reactive Resume está disponível em vários idiomas. Você pode escolher seu idioma preferido na página de configurações ou usando o seletor de idioma no canto superior direito. Se você não encontrar seu idioma ou quiser melhorar as traduções existentes, você pode <0>contribuir com as traduções no Crowdin<1> (abre em nova aba)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Sim! Cada modelo é totalmente personalizável. Você pode alterar cores, fontes, espaçamentos e até escrever CSS personalizado para ter controle total sobre a aparência do seu currículo."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Sim! O Reactive Resume é completamente gratuito para usar, sem custos ocultos, níveis premium ou taxas de assinatura. É de código aberto e sempre permanecerá gratuito."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# item} other {# items}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# função} other {# funções}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propostas analisadas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Claro! Pode exportar o seu currículo para PDF com um único clique. O PDF exportado mantém toda a sua formatação e estilo na perfeição."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Aceitar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Aceitar tudo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Proposta aceite"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Aceda programaticamente aos seus currículos e dados utilizando a API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Adicionar linha antes"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Africâner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Depois"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integração de IA desativada"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Proposta de IA aplicada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Proposta de IA rejeitada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propostas de IA aplicadas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propostas de IA rejeitadas."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Assistente de Currículo com IA"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanês"
|
||||
@@ -367,10 +412,22 @@ msgstr "Área de estudo"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligência Artificial"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Solicite uma alteração específica no currículo..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Solicite uma mudança gradual."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "A solicitação de assistência falhou"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Informações básicas"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Modelos bonitos para escolher, com mais a caminho."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Antes"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Lista com marcadores"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Pela comunidade, para a comunidade."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Posso personalizar os modelos?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Posso exportar o meu currículo para PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Limpar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Clique aqui para selecionar um ficheiro para importar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Fechar assistente de IA"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloco de código"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirmar"
|
||||
msgid "Connect"
|
||||
msgstr "Ligar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Antes de utilizar propostas de edição de currículos, contacte e verifique a fiabilidade de um fornecedor de IA."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copie esta chave secreta e utilize-a nas suas aplicações para aceder a
|
||||
msgid "Copy URL"
|
||||
msgstr "Copiar URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Não foi possível aplicar a proposta de IA."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Desligar"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Dispensar"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentação"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Não tem uma conta? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Doar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Faça um donativo para o Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Ativar 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Ativar funcionalidades de IA"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Ativar a integração de IA"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Ativar autenticação de dois fatores"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tudo o que for introduzido aqui é armazenado localmente no seu navegado
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exemplos: reescrever o resumo, condensar um dos tópicos de experiência, adicionar métricas ou adaptar o currículo à descrição da função."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Sair do ecrã inteiro"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Mais ações propostas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Mover para"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Deve começar por https://"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Precisa de revisão"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalês"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nova senha"
|
||||
msgid "New Section"
|
||||
msgstr "Nova secção"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Sem publicidade, sem rastreamento"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Manutenção contínua"
|
||||
msgid "Open"
|
||||
msgstr "Abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Assistente de IA aberta"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Abrir cliente de email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrações abertas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Abra as definições de integrações"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Introduza a senha partilhada consigo pelo proprietário do currículo pa
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Introduza o URL para o qual pretende criar o link:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Por favor, apoie o projeto."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Cargo"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Preparando alterações"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Predefinições"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Pressione <0>{RETURN_KEY}</0> ou <1>{COMMA_KEY}</1> para adicionar ou sa
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Prima <0>Enter</0> para abrir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Cor principal"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Barra de progresso"
|
||||
msgid "Projects"
|
||||
msgstr "Projetos"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Proposta {0} de {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Proteja o seu currículo de acessos não autorizados com uma senha"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicações"
|
||||
msgid "Publisher"
|
||||
msgstr "Editora"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON em bruto"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Ir para a página inicial"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "O Reactive Resume é um projeto gratuito e de código aberto, construíd
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "O Reactive Resume é um criador de currículos gratuito e de código aberto que simplifica o processo de criação, atualização e de partilha do seu currículo."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil, considere fazer um donativo."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "O Reactive Resume é de código aberto, focado na privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, não mostra anúncios, não rastreia os seus dados nem limita funcionalidades atrás de um paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Recarregar"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registar novo dispositivo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rejeitar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Rejeitar tudo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Proposta rejeitada"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Lembra-se da sua palavra-passe? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "A reenviar email de verificação..."
|
||||
msgid "Reset"
|
||||
msgstr "Repor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Reiniciar o bate-papo"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Repor a sua senha"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "A repor a sua senha..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Assistente de IA para redimensionar"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Recursos"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Análise do currículo concluída."
|
||||
msgid "Resumes"
|
||||
msgstr "Currículos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Revisão necessária"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propostas analisadas"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Alinhar à direita"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Selecionar..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Faça auto-hospedagem com o Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Enviar"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Enviar email para repor senha"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "A enviar email para repor senha..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Enviando solicitação"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separador"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Uma coluna com uma barra lateral e um layout de grelha limpo; versátil
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Coluna única com um cabeçalho de entrada em linha de três colunas (cargo - organização - ponto final); compacto e de fácil utilização pelos ATS, adequado às convenções asiáticas de currículos (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Formato de coluna única com títulos de secção em maiúsculas e linha superior na cor principal em todas as páginas; ideal para currículos de executivos, consultores ou startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Uma coluna; polido e sério para posições sénior ou de nível empresarial."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Estatísticas"
|
||||
msgid "Stay"
|
||||
msgstr "Ficar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Pontos fortes"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Cor do texto"
|
||||
msgid "Thai"
|
||||
msgstr "Tailandês"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "A IA propôs uma alteração que já não se aplica a este currículo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "A IA devolveu uma proposta que não pôde ser visualizada previamente."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "A chave API foi eliminada com sucesso."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "A chave API deixará de conseguir aceder aos seus dados após a eliminação. Esta ação não pode ser anulada."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "O assistente parou antes de apresentar uma proposta."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Este é um nome compatível com URL para o seu currículo."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Isto pode demorar alguns minutos, dependendo da resposta do fornecedor de IA. Não feche a janela nem atualize a página."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Esta proposta está desatualizada. Peça ao assistente para a gerar novamente a partir do currículo mais recente."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Este currículo está bloqueado e não pode ser atualizado."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Sim, o Reactive Resume está disponível em vários idiomas. Pode escolher o seu idioma preferido na página de configurações ou utilizando o seletor de idioma no canto superior direito. Se não vir o seu idioma ou quiser melhorar as traduções existentes, pode <0>contribuir para as traduções no Crowdin<1> (abre num novo separador)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Sim! Todos os modelos são totalmente personalizáveis. Pode alterar cores, fontes, espaçamento e até escrever CSS personalizado para ter controlo total sobre a aparência do seu currículo."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Sim! O Reactive Resume é completamente gratuito, sem custos ocultos, níveis premium ou taxas de subscrição. É de código aberto e permanecerá sempre gratuito."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ro\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:05\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} few {# elemente} other {# de elemente}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} few {# roluri} other {# de roluri}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propuneri analizate"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Desigur! Puteți exporta CV-ul în PDF cu un singur clic. PDF-ul exportat păstrează perfect toată formatarea și stilizarea."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Accepta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Acceptă tot"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Propunere acceptată"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Accesați CV-urile și datele dvs. programatic folosind API-ul."
|
||||
@@ -229,10 +246,38 @@ msgstr "Adăugați rând înainte"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "După"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrarea AI dezactivată"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Propunerea de inteligență artificială a fost aplicată."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Propunerea de inteligență artificială a fost respinsă."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propuneri de inteligență artificială aplicate."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propunerile de inteligență artificială au fost respinse."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asistent CV cu inteligență artificială"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albaneză"
|
||||
@@ -367,10 +412,22 @@ msgstr "Domeniu de studiu"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligență artificială"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Cere o schimbare specifică a CV-ului..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Cere o schimbare incrementală"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Raport de aspect"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Solicitarea asistentului a eșuat"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Informații de bază"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Șabloane frumoase din care să alegeți, cu altele pe drum."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Înainte"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengaleză"
|
||||
@@ -462,10 +523,6 @@ msgstr "Listă cu puncte"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Construit de comunitate, pentru comunitate."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Pot personaliza șabloanele?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Pot să-mi export CV-ul în PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clar"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Faceți clic aici pentru a selecta un fișier de importat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Închide"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Închide asistentul AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bloc de cod"
|
||||
@@ -622,6 +687,10 @@ msgstr "Confirmă"
|
||||
msgid "Connect"
|
||||
msgstr "Conectează"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Conectează-te și verifică un furnizor de inteligență artificială înainte de a utiliza propuneri de editare a CV-urilor."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Copiați această cheie secretă și folosiți-o în aplicațiile dvs. p
|
||||
msgid "Copy URL"
|
||||
msgstr "Copiază URL-ul"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nu s-a putut aplica propunerea de inteligență artificială."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Deconectează"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Închide"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Documentație"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nu ai un cont? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Dona"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donează către Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Activează 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Activează funcționalitățile AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Activează integrarea inteligenței artificiale"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Activează autentificarea cu doi factori"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tot ce introduceți aici este stocat local în browserul dvs. Datele sun
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exemple: rescrieți rezumatul, restrângeți un punct referitor la experiență, adăugați indicatori de performanță sau adaptați CV-ul pentru o fișă a postului."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ieșire din ecran complet"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Mai multe acțiuni de propunere"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Mută în"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Trebuie să înceapă cu https://"
|
||||
msgid "Name"
|
||||
msgstr "Nume"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Necesită revizuire"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepaleză"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Parolă nouă"
|
||||
msgid "New Section"
|
||||
msgstr "Secțiune nouă"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Următorul"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Fără reclame, fără urmărire"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Mentenanță continuă"
|
||||
msgid "Open"
|
||||
msgstr "Deschis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Asistent AI deschis"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Deschide clientul de e-mail"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrări deschise"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Deschideți Setări integrări"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Introduceți parola primită de la proprietarul CV-ului pentru a continu
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Introduceți URL-ul la care doriți să faceți link:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Vă rugăm să susțineți proiectul"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Poziție"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferințe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Pregătirea modificărilor"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Presetări"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Apăsați <0>{RETURN_KEY}</0> sau <1>{COMMA_KEY}</1> pentru a adăuga sa
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Apăsați <0>Enter</0> pentru a deschide"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Culoare primară"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Bară de progres"
|
||||
msgid "Projects"
|
||||
msgstr "Proiecte"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Propunerea {0} din {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Protejați CV-ul de acces neautorizat cu o parolă"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publicații"
|
||||
msgid "Publisher"
|
||||
msgstr "Editor"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch JSON brut"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Mergi la pagina principală"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume este un proiect gratuit și open-source, construit cu dr
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume este un constructor de CV-uri gratuit și open-source care simplifică procesul de creare, actualizare și partajare a CV-ului."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume este gratuit și open source. Dacă te-a ajutat, te rugăm să iei în considerare o donație."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume este open-source, axat pe confidențialitate și complet gratuit. Spre deosebire de alți constructori de CV-uri, nu afișează reclame, nu vă urmărește datele și nu limitează funcționalitățile în spatele unui paywall."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Reîncarcă"
|
||||
msgid "Register New Device"
|
||||
msgstr "Înregistrare dispozitiv nou"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Respinge"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Respingeți toate"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Propunere respinsă"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Îți amintești parola? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Se retrimite e-mailul de verificare..."
|
||||
msgid "Reset"
|
||||
msgstr "Resetează"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Resetează chatul"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Resetați-vă parola"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Se resetează parola..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Asistent AI pentru redimensionare"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resurse"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analiza CV-ului este completă."
|
||||
msgid "Resumes"
|
||||
msgstr "CV-uri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Revizuire necesară"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propuneri revizuite"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Aliniere la dreapta"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Selectează..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host cu Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Trimite"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Trimite e-mail de resetare a parolei"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Se trimite e-mailul de resetare a parolei..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Se trimite cererea"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Separator"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "O singură coloană cu bară laterală și layout tip grid curat; versat
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "O singură coloană cu un antet de intrare în linie pe trei coloane (poziție - organizație - punct); compact și prietenos pentru ATS, bine adaptat pentru convențiile CV-urilor asiatice (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "O singură coloană cu titluri de secțiune cu majuscule și o linie de sus în culoarea primară pe fiecare pagină; rafinat pentru CV-uri de directori, consultanți sau startup-uri."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "O singură coloană; finisat și serios pentru poziții de nivel senior sau enterprise."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistici"
|
||||
msgid "Stay"
|
||||
msgstr "Rămâi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Puncte forte"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Culoare text"
|
||||
msgid "Thai"
|
||||
msgstr "Thailandeză"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Inteligența artificială a propus o modificare care nu se mai aplică acestui CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Inteligența artificială a returnat o propunere care nu a putut fi previzualizată."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Cheia API a fost ștearsă cu succes."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Cheia API nu va mai putea accesa datele dvs. după ștergere. Această acțiune nu poate fi anulată."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistentul s-a oprit înainte de a răspunde la o propunere."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Acesta este un nume prietenos cu URL-ul pentru CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Acest lucru poate dura câteva minute, în funcție de răspunsul furnizorului AI. Vă rugăm să nu închideți fereastra și să nu reîncărcați pagina."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Această propunere este învechită. Rugați asistentul să o genereze din cel mai recent CV."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Acest CV este blocat și nu poate fi actualizat."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Da, Reactive Resume este disponibil în mai multe limbi. Puteți alege limba preferată în pagina de setări sau folosind comutatorul de limbă din colțul din dreapta sus. Dacă nu vedeți limba dvs. sau doriți să îmbunătățiți traducerile existente, puteți <0>contribui la traduceri pe Crowdin<1> (se deschide într-o filă nouă)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Da! Fiecare șablon este complet personalizabil. Puteți schimba culorile, fonturile, spațierea și chiar scrie CSS personalizat pentru control complet asupra aspectului CV-ului."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Da! Reactive Resume este complet gratuit de utilizat, fără costuri ascunse, niveluri premium sau abonamente. Este open-source și va rămâne întotdeauna gratuit."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# элемент} few {# элемента} many {# эл
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# должность} few {# должности} many {# должностей} other {# должности}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} предложения рассмотрены"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Конечно! Вы можете экспортировать свое резюме в PDF одним щелчком. Экспортированный PDF в точности сохранит все ваше форматирование и оформление."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Принимать"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Принять все"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Предложение принято."
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Получайте доступ к своим резюме и данным программно с помощью API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Добавить строку до"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африкаанс"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "После"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "ИИ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Интеграция ИИ отключена"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Предложение по применению ИИ было реализовано."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Предложение по внедрению ИИ отклонено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Применены предложения по использованию ИИ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Предложения по внедрению ИИ отклонены."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Помощник по составлению резюме на основе ИИ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албанский"
|
||||
@@ -367,10 +412,22 @@ msgstr "Область обучения"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Искусственный интеллект"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Попросите внести целенаправленные изменения в резюме..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Попросите о постепенных изменениях."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Соотношение сторон"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Запрос на помощь не удался."
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Основное"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Красивые шаблоны на ваш выбор, и скоро появятся новые."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "До"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Бенгальский"
|
||||
@@ -462,10 +523,6 @@ msgstr "Маркированный список"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Продукт сообщества для сообщества."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Могу ли я настроить шаблоны под себя?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Могу ли я экспортировать свое резюме в PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Clear"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Нажмите здесь, чтобы выбрать файл для импорта"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Закрыть ИИ-помощника"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Блок кода"
|
||||
@@ -622,6 +687,10 @@ msgstr "Подтвердить"
|
||||
msgid "Connect"
|
||||
msgstr "Подключить"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Перед использованием предложений по редактированию резюме свяжитесь с поставщиком услуг искусственного интеллекта и проверьте его."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Скопируйте этот секретный ключ и испол
|
||||
msgid "Copy URL"
|
||||
msgstr "Скопировать URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Не удалось применить предложенный ИИ метод."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Отключить"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Увольнять"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Документация"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Нет аккаунта? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Пожертвовать"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Пожертвовать Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Включить 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Включить функции ИИ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Включите интеграцию ИИ."
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Включить двухфакторную аутентификацию"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Примеры: переписать краткое описание, сократить один пункт из раздела «Опыт работы», добавить показатели эффективности или адаптировать резюме под описание вакансии."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Выйти из полноэкранного режима"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Дополнительные действия по внесению предложений"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Переместить в"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Должно начинаться с https://"
|
||||
msgid "Name"
|
||||
msgstr "Название"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Требуется пересмотр"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Непальский"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Новый пароль"
|
||||
msgid "New Section"
|
||||
msgstr "Новый раздел"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Следующий"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Без рекламы и отслеживания"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Текущее сопровождение"
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Открытый ИИ-помощник"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Открыть почтовый клиент"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Открытые интеграции"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Откройте Настройки интеграций"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Пожалуйста, введите пароль, который вла
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Введите URL, на который вы хотите поставить ссылку:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Пожалуйста, поддержите проект."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Должность"
|
||||
msgid "Preferences"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Подготовка изменений"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Пресеты"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Нажмите <0>{RETURN_KEY}</0> или <1>{COMMA_KEY}</1>, чтобы
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Нажмите <0>Enter</0>, чтобы открыть"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Предыдущая"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основной цвет"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Индикатор прогресса"
|
||||
msgid "Projects"
|
||||
msgstr "Проекты"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Предложение {0} от {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Защитите свое резюме от несанкционированного доступа с помощью пароля"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Публикации"
|
||||
msgid "Publisher"
|
||||
msgstr "Издатель"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Патч в формате Raw JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume — перейти на главную страницу"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume — это бесплатный проект с откр
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume — бесплатный конструктор резюме с открытым исходным кодом, который упрощает процесс создания, обновления и публикации вашего резюме."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume — бесплатный проект с открытым исходным кодом. Если он вам помог, пожалуйста, рассмотрите возможность пожертвования."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume — это проект с открытым исходным кодом, ориентированный на конфиденциальность и полностью бесплатный. В отличие от других конструкторов резюме, он не показывает рекламу, не отслеживает ваши данные и не ограничивает функции платной подпиской."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Обновить"
|
||||
msgid "Register New Device"
|
||||
msgstr "Зарегистрируйте новое устройство"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Отклонять"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Отвергнуть все"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Отклонено предложение"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Вспомнили пароль? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Повторная отправка письма для подтверж
|
||||
msgid "Reset"
|
||||
msgstr "Сброс"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Сбросить чат"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Сбросить пароль"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Сброс пароля..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "ИИ-помощник по изменению размера"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ресурсы"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Анализ резюме завершен."
|
||||
msgid "Resumes"
|
||||
msgstr "Резюме"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Требуется проверка"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Рассмотренные предложения"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Выровнять по правому краю"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Выбрать..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Хостинг на Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Отправлять"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Отправить письмо для сброса пароля"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Отправка письма для сброса пароля..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Отправка запроса"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Разделитель"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Одноколоночный макет с боковой панелью
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Одноколоночный со встроенным трехколоночным заголовком (должность - организация - точка); компактный и удобный для ATS, хорошо подходит для азиатских стандартов составления резюме (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Одноколоночный формат с заголовками разделов, написанными заглавными буквами, и разлиновкой основного цвета на каждой странице; идеально подходит для резюме руководителей, консультантов или сотрудников стартапов."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Одноколоночный макет; строгий и солидный для старших и руководящих позиций."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Статистика"
|
||||
msgid "Stay"
|
||||
msgstr "Остаться"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Останавливаться"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Сильные стороны"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Цвет текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тайский"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Искусственный интеллект предложил изменение, которое больше не применяется к этому резюме."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Искусственный интеллект выдал предложение, которое нельзя было предварительно просмотреть."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-ключ был успешно удален."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "После удаления этот API-ключ больше не сможет получать доступ к вашим данным. Это действие нельзя отменить."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Ассистент остановился, прежде чем вернуть предложение."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Это удобное для URL название вашего резю
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Это может занять несколько минут, в зависимости от времени ответа провайдера ИИ. Пожалуйста, не закрывайте окно и не обновляйте страницу."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Это предложение устарело. Попросите ассистента сгенерировать его заново на основе последнего резюме."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Это резюме заблокировано и не может быть обновлено."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Твиттер)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Да, Reactive Resume доступен на нескольких языках. Вы можете выбрать предпочитаемый язык на странице настроек или с помощью переключателя языка в правом верхнем углу. Если вы не видите свой язык или хотите улучшить существующие переводы, вы можете <0>поучаствовать в переводах на Crowdin<1> (открывается в новой вкладке)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Да! Каждый шаблон полностью настраиваемый. Вы можете менять цвета, шрифты, интервалы и даже писать собственный CSS, чтобы полностью контролировать внешний вид резюме."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Да! Reactive Resume полностью бесплатен, без скрытых платежей, премиум-уровней или абонентской платы. Это проект с открытым исходным кодом и он всегда останется бесплатным."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# položka} few {# položky} many {# položiek} other {
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rola} few {# roly} many {# rolí} other {# rolí}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} preskúmaných návrhov"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Určite! Svoj životopis môžeš jedným kliknutím exportovať do PDF. Exportované PDF presne zachová všetko formátovanie aj štýl."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Prijať"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Prijať všetko"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Prijatý návrh"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Pristupuj k svojim životopisom a dátam programovo pomocou API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Pridať riadok pred"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikánčina"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrácia umelej inteligencie je zakázaná"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Návrh umelej inteligencie bol použitý."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Návrh na umelú inteligenciu bol zamietnutý."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Použité návrhy umelej inteligencie."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Návrhy na umelú inteligenciu boli zamietnuté."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asistent životopisov s umelou inteligenciou"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albánčina"
|
||||
@@ -367,10 +412,22 @@ msgstr "Študijný odbor"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Umelá inteligencia"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Požiadajte o cielenú zmenu životopisu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Požiadajte o postupnú zmenu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Pomer strán"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Žiadosť o Asistenta zlyhala"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Základy"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Krásne šablóny, z ktorých si môžeš vybrať, a ďalšie sú na ceste."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Predtým"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengálčina"
|
||||
@@ -462,10 +523,6 @@ msgstr "Odrážkový zoznam"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Komunitou vytvorené pre komunitu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Môžem si šablóny prispôsobiť?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Môžem svoj životopis exportovať do PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Jasné"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknutím sem vyber súbor na import"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zavrieť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Zatvoriť asistenta s umelou inteligenciou"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok kódu"
|
||||
@@ -622,6 +687,10 @@ msgstr "Potvrdiť"
|
||||
msgid "Connect"
|
||||
msgstr "Pripojiť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Pred použitím návrhov na úpravu životopisov sa pripojte a overte poskytovateľa umelej inteligencie."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Skopíruj tento tajný kľúč a použi ho vo svojich aplikáciách na p
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopírovať URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Návrh umelej inteligencie sa nepodarilo použiť."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Odpojiť"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Zavrieť"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentácia"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nemáte účet? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Darovať"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Prispej projektu Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Povoliť 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Povoliť AI funkcie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Povoliť integráciu umelej inteligencie"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Povoliť dvojfaktorové overenie"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Všetko, čo sem zadáš, sa ukladá lokálne v tvojom prehliadači. Tvo
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Príklady: prepísať súhrn, sprísniť jednu odrážku skúseností, pridať metriky alebo prispôsobiť životopis popisu práce."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Ukončiť celú obrazovku"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Ďalšie akcie návrhu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Presunúť do"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Musí začať na https://"
|
||||
msgid "Name"
|
||||
msgstr "Názov"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Vyžaduje sa kontrola"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepálčina"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nové heslo"
|
||||
msgid "New Section"
|
||||
msgstr "Nová sekcia"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Ďalšie"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Bez reklám, bez sledovania"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Priebežná údržba"
|
||||
msgid "Open"
|
||||
msgstr "Otvoriť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Otvorený asistent s umelou inteligenciou"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Otvoriť e‑mailového klienta"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Otvorené integrácie"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Otvoriť Nastavenia integrácií"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Zadaj, prosím, heslo, ktoré s tebou zdieľal vlastník životopisu, ab
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Zadaj prosím URL adresu, na ktorú chceš odkazovať:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Prosím, podporte projekt"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pozícia"
|
||||
msgid "Preferences"
|
||||
msgstr "Predvoľby"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Príprava zmien"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Prednastavenia"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Stlačte <0>{RETURN_KEY}</0> alebo <1>{COMMA_KEY}</1> pre pridanie alebo
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Stlačením tlačidla <0>Enter</0> otvoríte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Predchádzajúce"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Hlavná farba"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Ukazovateľ priebehu"
|
||||
msgid "Projects"
|
||||
msgstr "Projekty"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Návrh {0} z {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Ochráň svoj životopis pred neoprávneným prístupom heslom"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikácie"
|
||||
msgid "Publisher"
|
||||
msgstr "Vydavateľ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch surového JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – prejsť na domovskú stránku"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume je bezplatný a open‑source projekt, vytvorený z lás
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume je bezplatný a open‑source nástroj na tvorbu životopisov, ktorý zjednodušuje vytváranie, aktualizáciu a zdieľanie tvojho životopisu."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume je bezplatný a má otvorený zdrojový kód. Ak vám pomohol, zvážte darovanie."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je open‑source, zamerané na súkromie a úplne zadarmo. Na rozdiel od iných nástrojov na tvorbu životopisov nezobrazuje reklamy, nesleduje tvoje dáta a neuzamyká funkcie za paywallom."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Obnoviť"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrácia nového zariadenia"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Odmietnuť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Odmietnuť všetko"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Zamietnutý návrh"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Pamätáte si heslo? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Znova odosielam overovací e‑mail..."
|
||||
msgid "Reset"
|
||||
msgstr "Resetovať"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Obnoviť chat"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Obnov svoje heslo"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Obnovujem tvoje heslo..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Zmena veľkosti asistenta s umelou inteligenciou"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Zdroje"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Dokončenie analýzy životopisu."
|
||||
msgid "Resumes"
|
||||
msgstr "Životopisy"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Vyžaduje sa kontrola"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Preskúmané návrhy"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Zarovnať vpravo"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Vybrať..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Vlastný hosting cez Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Odoslať"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Poslať e‑mail na obnovenie hesla"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Odosielam e‑mail na obnovenie hesla..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Odosielanie žiadosti"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Oddeľovač"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Jednostĺpcové rozloženie s bočným panelom a čistou mriežkou; univ
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Jednoslúpcový s riadkovým trojstĺpcovým záhlavím (pozícia - organizácia - bodka); kompaktný a vhodný pre ATS, vhodný pre ázijské konvencie životopisov (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Jednostĺpcový s veľkými písmenami v nadpisoch sekcií a hornou čiarou v základnej farbe na každej strane; vylepšené pre životopisy manažérov, konzultantov alebo startupov."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Jednostĺpcové rozloženie; uhladené a seriózne pre seniorské alebo enterprise pozície."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Štatistiky"
|
||||
msgid "Stay"
|
||||
msgstr "Zostať"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Zastaviť"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Silné stránky"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Farba textu"
|
||||
msgid "Thai"
|
||||
msgstr "Thajčina"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Umelá inteligencia navrhla zmenu, ktorá sa už na tento životopis nevzťahuje."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Umelá inteligencia vrátila návrh, ktorého ukážku nebolo možné zobraziť."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API kľúč bol úspešne vymazaný."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Po vymazaní už tento API kľúč nebude môcť pristupovať k tvojim dátam. Túto akciu nemožno vrátiť späť."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistent sa zastavil predtým, ako vrátil návrh."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Toto je URL‑prívetivý názov tvojho životopisu."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Môže to trvať niekoľko minút v závislosti od odozvy poskytovateľa AI. Prosím, nezatváraj okno ani neobnovuj stránku."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Tento návrh je neaktuálny. Požiadajte asistenta, aby ho znovu vytvoril z najnovšieho životopisu."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Tento životopis je uzamknutý a nemožno ho aktualizovať."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Áno, Reactive Resume je dostupné vo viacerých jazykoch. Uprednostňovaný jazyk si môžeš zvoliť na stránke nastavení alebo pomocou prepínača jazykov v pravom hornom rohu. Ak svoj jazyk nevidíš alebo chceš zlepšiť existujúce preklady, môžeš <0>prispieť k prekladom na Crowdin<1> (otvorí sa na novej karte)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Áno! Každá šablóna je plne prispôsobiteľná. Môžeš meniť farby, písma, rozostupy a dokonca písať vlastné CSS, aby si mal nad vzhľadom svojho životopisu úplnú kontrolu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Áno! Reactive Resume je úplne zadarmo, bez skrytých poplatkov, prémiových úrovní či predplatného. Je open‑source a vždy ním zostane."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# postavka} two {# postavki} few {# postavke} other {#
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# vloga} two {# vlogi} few {# vloge} other {# vlog}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} pregledanih predlogov"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Seveda! Svoj življenjepis lahko izvozite v PDF z enim samim klikom. Izvožen PDF ohrani vso vašo obliko in slog popolno."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Sprejmi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Sprejmi vse"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Sprejet predlog"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Dostopajte do svojih življenjepisov in podatkov programsko prek API-ja."
|
||||
@@ -229,10 +246,38 @@ msgstr "Dodaj vrstico pred"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afriščina"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Po"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integracija umetne inteligence onemogočena"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Predlog umetne inteligence je bil uporabljen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Predlog umetne inteligence zavrnjen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Uporabljeni predlogi umetne inteligence."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Predlogi umetne inteligence zavrnjeni."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Pomočnik za življenjepis z umetno inteligenco"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanščina"
|
||||
@@ -367,10 +412,22 @@ msgstr "Področje študija"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Umetna inteligenca"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Zahtevajte ciljno spremembo življenjepisa ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Zahtevajte postopno spremembo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Razmerje stranic"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Zahteva za pomočnika ni uspela"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Osnove"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Čudovite predloge na izbiro, dodatne prihajajo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Pred"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalščina"
|
||||
@@ -462,10 +523,6 @@ msgstr "Označen seznam"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Od skupnosti, za skupnost."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Ali lahko prilagodim predloge?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Ali lahko izvozite svoj življenjepis v PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Jasno"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Kliknite tukaj za izbiro datoteke za uvoz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Zapri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Zapri pomočnika umetne inteligence"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Blok kode"
|
||||
@@ -622,6 +687,10 @@ msgstr "Potrdi"
|
||||
msgid "Connect"
|
||||
msgstr "Poveži"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Preden uporabite predloge za urejanje življenjepisa, se povežite in preverite ponudnika umetne inteligence."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopirajte to skrivno kodo in jo uporabite v svojih aplikacijah za dostop
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopiraj URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Predloga umetne inteligence ni bilo mogoče uporabiti."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Prekini povezavo"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Zavrzi"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentacija"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nimate računa? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donirajte"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donirajte za Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Omogoči 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Omogoči funkcije umetne inteligence"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Omogočanje integracije umetne inteligence"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Omogoči dvostopenjsko preverjanje pristnosti"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Vse, kar vnesete tukaj, je shranjeno lokalno v vašem brskalniku. Vaši
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Primeri: prepišite povzetek, zožite eno alinejo izkušenj, dodajte metrike ali prilagodite življenjepis opisu delovnega mesta."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Izhod iz celozaslonskega načina"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Več dejanj s predlogom"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Premakni na"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Začeti je treba z https://"
|
||||
msgid "Name"
|
||||
msgstr "Ime"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Potreben je pregled"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "nepalščina"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Novo geslo"
|
||||
msgid "New Section"
|
||||
msgstr "Nov razdelek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Naslednji"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Brez oglaševanja, brez sledenja"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Neprestano vzdrževanje"
|
||||
msgid "Open"
|
||||
msgstr "Odpri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Odprti pomočnik umetne inteligence"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Odpri e-poštni odjemalec"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Odprte integracije"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Odprite Nastavitve integracij"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Vnesite geslo, ki vam ga je posredoval lastnik življenjepisa, da nadalj
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Vnesite URL, na katerega želite povezati:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Prosim, podprite projekt"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Položaj"
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavitve"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Priprava sprememb"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Prednastavitve"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Pritisnite <0>{RETURN_KEY}</0> ali <1>{COMMA_KEY}</1> za dodajanje ali s
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Pritisnite <0>Enter</0>, da odprete"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Prejšnje"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primarna barva"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Indikator napredka"
|
||||
msgid "Projects"
|
||||
msgstr "Projekti"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Predlog {0} od {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Zaščitite svoj življenjepis pred nepooblaščenim dostopom z geslom"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikacije"
|
||||
msgid "Publisher"
|
||||
msgstr "Založnik"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Popravek surovega JSON-a"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Pojdi na domačo stran"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume je brezplačen in odprtokodni projekt, ustvarjen z ljube
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume je brezplačen in odprtokoden urejevalnik življenjepisa, ki poenostavi ustvarjanje, posodabljanje in deljenje vašega življenjepisa."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume je brezplačen in odprtokoden. Če vam je pomagal, prosimo, razmislite o donaciji."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je odprtokoden, osredotočen na zasebnost in popolnoma brezplačen. Za razliko od drugih graditeljev življenjepisov ne prikazuje oglasov, ne sledi vašim podatkom in ne omejuje funkcij z zidovi plačila."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Osveži"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registracija nove naprave"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Zavrni"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Zavrni vse"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Zavrnjen predlog"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Se spomnite svojega gesla? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Pošiljanje potrditvenega e-maila ..."
|
||||
msgid "Reset"
|
||||
msgstr "Ponastavi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Ponastavi klepet"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Ponastavite svoje geslo"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Ponastavljanje gesla..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Spreminjanje velikosti pomočnika umetne inteligence"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Viri"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analiza življenjepisa je končana."
|
||||
msgid "Resumes"
|
||||
msgstr "Življenjepisi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Zahtevan pregled"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Pregledani predlogi"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Poravnaj desno"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Izberi ..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Lastno gostovanje z Dockerjem"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Pošlji"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Pošlji e-pošto za ponastavitev gesla"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Pošiljanje e-pošte za ponastavitev gesla ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Pošiljanje zahteve"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Ločilo"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Enojen stolpec s stransko vrstico in čistim mrežnim prikazom; vsestran
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Enoslojni z vdelanim tristebrnim glavičem (položaj - organizacija - pika); kompakten in prijazen do sistemov ATS, primeren za azijske konvencije življenjepisov (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "En stolpec z velikimi tiskanimi črkami v naslovih razdelkov in zgornjo črto primarne barve na vsaki strani; dodelano za življenjepise direktorjev, svetovalcev ali zagonskih podjetij."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Enojen stolpec; izpiljeno in resno za višje ali podjetniške položaje."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistika"
|
||||
msgid "Stay"
|
||||
msgstr "Ostani"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Ustavi se"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Prednosti"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Barva besedila"
|
||||
msgid "Thai"
|
||||
msgstr "tajščina"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Umetna inteligenca je predlagala spremembo, ki za ta življenjepis ne velja več."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Umetna inteligenca je vrnila predlog, ki si ga ni bilo mogoče predogledati."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API ključ je bil uspešno izbrisan."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Po izbrisu API ključa ta več ne bo imel dostopa do vaših podatkov. To dejanje ni mogoče razveljaviti."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistent se je ustavil, preden je vrnil predlog."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "To je ime vašega življenjepisa, ki je prijazno do URL-jev."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "To lahko traja nekaj minut, odvisno od odziva AI ponudnika. Prosimo, ne zaprite okna ali osvežite strani."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Ta predlog je zastarel. Prosite asistenta, naj ga ponovno ustvari iz najnovejšega življenjepisa."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Ta življenjepis je zaklenjen in ga ni mogoče posodobiti."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Da, Reactive Resume je na voljo v več jezikih. Želeni jezik lahko izberete na strani z nastavitvami ali z izbirnikom jezika v zgornjem desnem kotu. Če svojega jezika ne najdete ali bi želeli izboljšati obstoječe prevode, lahko <0>prispevate prevode na Crowdin<1> (odpre se v novem zavihku)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Da! Vsaka predloga je popolnoma prilagodljiva. Lahko spremenite barve, pisave, razmike in celo napišete svoj CSS za popoln nadzor nad videzom vašega življenjepisa."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Da! Reactive Življenjepis je popolnoma brezplačen za uporabo, brez skritih stroškov, premium nivojev ali naročnin. Je odprtokoden in bo vedno ostal brezplačen."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sq\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Albanian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# elemente}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} other {# role}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} propozime të shqyrtuara"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Patjetër! Ju mund ta eksportoni CV-në tuaj në PDF me një klikim të vetëm. PDF-ja e eksportuar ruan në mënyrë të përsosur të gjithë formatimin dhe stilimin tuaj."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Prano"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Prano të gjitha"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Propozimi i pranuar"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Përdorni API-n për të aksesuar programatikisht CV-të dhe të dhënat tuaja."
|
||||
@@ -229,10 +246,38 @@ msgstr "Shto rresht para"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikanisht"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Pas"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Integrimi i inteligjencës artificiale është çaktivizuar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Propozimi i inteligjencës artificiale u zbatua."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Propozimi i IA-së u refuzua."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Propozimet e inteligjencës artificiale u zbatuan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Propozimet e inteligjencës artificiale u refuzuan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Asistent i CV-së së AI-së"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Shqip"
|
||||
@@ -367,10 +412,22 @@ msgstr "Fusha e studimit"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligjenca Artificiale"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Kërkoni një ndryshim të synuar të CV-së..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Kërkoni një ndryshim gradual"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcioni"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Kërkesa për asistent dështoi"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Bazat"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Shabllone të bukura për të zgjedhur, me më shumë që po vijnë."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Para"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalisht"
|
||||
@@ -462,10 +523,6 @@ msgstr "Lista me pika"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Nga komuniteti, për komunitetin."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "A mund t’i personalizoj shabllonet?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "A mund ta eksportoj CV-në time në PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "E qartë"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klikoni këtu për të zgjedhur një skedar për importim"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Mbyll"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Mbyll asistentin e inteligjencës artificiale"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Bllok kodi"
|
||||
@@ -622,6 +687,10 @@ msgstr "Konfirmo"
|
||||
msgid "Connect"
|
||||
msgstr "Lidhu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Lidhu dhe verifiko një ofrues të inteligjencës artificiale përpara se të përdorësh propozime për redaktimin e CV-së."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopjoni këtë çelës sekret dhe përdoreni në aplikacionet tuaja për
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopjo URL-në"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Nuk mund të zbatohej propozimi i inteligjencës artificiale."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Shkëput"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Hiq"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentacioni"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Nuk keni llogari? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Dhuro"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Dhuro në Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktivizo vërtetimin me dy faktorë"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktivizo veçoritë e AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktivizo integrimin e inteligjencës artificiale"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktivizo vërtetimin me dy faktorë"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Gjithçka që shkruhet këtu ruhet lokalisht në shfletuesin tuaj. Të d
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Shembuj: rishkruaj përmbledhjen, ngushto një pikë përvoje, shto metrika ose përshtat CV-në për një përshkrim pune."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Dil nga ekrani i plotë"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modeli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Më shumë veprime propozimi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Lëviz te"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Duhet të fillojë me https://"
|
||||
msgid "Name"
|
||||
msgstr "Emri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Ka nevojë për shqyrtim"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalisht"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Fjalëkalim i ri"
|
||||
msgid "New Section"
|
||||
msgstr "Seksion i ri"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Më tej"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Pa reklama, pa gjurmim"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Mirëmbajtje e vazhdueshme"
|
||||
msgid "Open"
|
||||
msgstr "Hap"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Asistent i hapur i inteligjencës artificiale"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Hap klientin e emailit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Integrime të Hapura"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Hape cilësimet e integrimeve"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Ju lutemi shkruani fjalëkalimin që është ndarë me ju nga pronari i
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Ju lutemi shkruani URL-në që dëshironi të lidhni:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Ju lutemi mbështesni projektin"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pozicioni"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenca"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Përgatitja e ndryshimeve"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Paracaktimet"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Shtyp <0>{RETURN_KEY}</0> ose <1>{COMMA_KEY}</1> për të shtuar ose rua
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Shtypni <0>Enter</0> për të hapur"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Më parë"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Ngjyra kryesore"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Shtyllë progresi"
|
||||
msgid "Projects"
|
||||
msgstr "Projekte"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Propozim {0} nga {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Mbroni CV-në tuaj nga akseset e paautorizuara me një fjalëkalim"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikime"
|
||||
msgid "Publisher"
|
||||
msgstr "Botues"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Patch i papërpunuar JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Shko në faqen kryesore"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume është një projekt falas dhe me burim të hapur, i nd
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume është një ndërtues i CV-së, falas dhe me burim të hapur që thjeshton procesin e krijimit, përditësimit dhe shpërndarjes së CV-së tuaj."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive CV është falas dhe me kod të hapur. Nëse ju ka ndihmuar, ju lutemi merrni në konsideratë dhurimin."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume është me burim të hapur, i përqendruar te privatësia dhe krejtësisht falas. Ndryshe nga ndërtuesit e tjerë të CV-ve, nuk shfaq reklama, nuk gjurmon të dhënat tuaja dhe nuk i kufizon veçoritë pas një muri pagese."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Rifresko"
|
||||
msgid "Register New Device"
|
||||
msgstr "Regjistro pajisjen e re"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Refuzo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Refuzo të gjitha"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Propozim i refuzuar"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Ju kujtohet fjalëkalimi? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Po ridërgohet emaili i verifikimit..."
|
||||
msgid "Reset"
|
||||
msgstr "Rivendos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Rivendos bisedën"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Rivendosni fjalëkalimin tuaj"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Po rivendoset fjalëkalimi juaj..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Ndihmësi i ndryshimit të madhësisë së inteligjencës artificiale"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Burime"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Analiza e rezumesë e përfunduar."
|
||||
msgid "Resumes"
|
||||
msgstr "CV-të"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Kërkohet shqyrtim"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Propozimet e shqyrtuara"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Rreshto djathtas"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Zgjidh..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Self-host me Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Dërgo"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Dërgo emailin për rivendosjen e fjalëkalimit"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Po dërgohet emaili për rivendosjen e fjalëkalimit..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Duke dërguar kërkesën"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Ndarës"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Një kolonë e vetme me një shirit anësor dhe një rrjet të pastër;
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Një kolonë me një mbishkrim hyrës me tre kolona në vijë (pozicion · organizatë · periudhë); kompakt dhe i përshtatshëm për ATS, i përshtatur mirë me konventat aziatike të CV-së (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Me një kolonë të vetme me tituj seksionesh me shkronja të mëdha dhe një vizore me ngjyrë kryesore në krye në çdo faqe; e përpunuar për CV-të e ekzekutivëve, konsulencës ose startup-eve."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Një kolonë e vetme; e lustruar dhe serioze për pozicione të larta ose në nivel ndërmarrjeje."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistikat"
|
||||
msgid "Stay"
|
||||
msgstr "Qëndro"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Ndalo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Përparësitë"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Ngjyra e tekstit"
|
||||
msgid "Thai"
|
||||
msgstr "Tajlandisht"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "IA propozoi një ndryshim që nuk vlen më për këtë CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "IA ktheu një propozim që nuk mund të shikohej paraprakisht."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API key u fshi me sukses."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API key nuk do të mund të aksesojë më të dhënat tuaja pas fshirjes. Ky veprim nuk mund të zhbëhet."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistenti ndaloi përpara se t’i kthente një propozim."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Ky është një emër miqësor për URL për CV-në tuaj."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Kjo mund të zgjasë disa minuta, në varësi të përgjigjes së ofruesit të AI. Ju lutemi mos e mbyllni dritaren dhe mos rifreskoni faqen."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Ky propozim është i vjetëruar. Kërkoji asistentit ta rigjenerojë atë nga CV-ja më e fundit."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Kjo CV është e kyçur dhe nuk mund të përditësohet."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Po, Reactive Resume është i disponueshëm në shumë gjuhë. Mund të zgjidhni gjuhën tuaj të preferuar në faqen e parametrave, ose duke përdorur zgjedhësin e gjuhës në këndin e sipërm djathtas. Nëse nuk e shihni gjuhën tuaj, ose dëshironi të përmirësoni përkthimet ekzistuese, mund të <0>kontribuoni për përkthimet në Crowdin<1> (hapet në skedë të re)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Po! Çdo shabllon është plotësisht i personalizueshëm. Mund të ndryshoni ngjyrat, gërmat, hapësirat dhe madje të shkruani CSS të personalizuar për të pasur kontroll të plotë mbi pamjen e CV-së suaj."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Po! Reactive Resume është krejtësisht falas për t’u përdorur, pa kosto të fshehura, nivele premium ose tarifa abonimi. Është me burim të hapur dhe do të mbetet gjithmonë falas."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# ставка} few {# ставке} other {# став
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# улога} few {# улоге} other {# улога}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} прегледаних предлога"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Наравно! Можете да извезете свој резиме у PDF једним кликом. Извезени PDF савршено задржава све ваше форматiranje и стил."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Прихвати"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Прихвати све"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Прихваћен предлог"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Приступите својим резимеима и подацима програмски помоћу API-ја."
|
||||
@@ -229,10 +246,38 @@ msgstr "Додај ред пре"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африканс"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "После"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Интеграција вештачке интелигенције је онемогућена"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Примењен је предлог вештачке интелигенције."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Предлог вештачке интелигенције одбијен."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Примењени су предлози вештачке интелигенције."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Предлози за вештачку интелигенцију су одбијени."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "АИ помоћник за животопис"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албански"
|
||||
@@ -367,10 +412,22 @@ msgstr "Област студија"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Вештачка интелигенција"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Затражите циљану промену животописа..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Затражите постепену промену"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Однос стране"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Захтев за помоћника није успео"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Основне информације"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Лепи шаблони из којих можете да бирате, а још више је у припреми."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Пре"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Бенгалски"
|
||||
@@ -462,10 +523,6 @@ msgstr "Списак са ставкама"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Од заједнице, за заједницу."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Могу ли да прилагодим шаблоне?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Могу ли да извезем свој резиме у PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Јасно"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Кликните овде да изаберете датотеку за увоз"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Затвори"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Затвори AI асистент"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Блок кода"
|
||||
@@ -622,6 +687,10 @@ msgstr "Потврди"
|
||||
msgid "Connect"
|
||||
msgstr "Повежи"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Повежите се и проверите добављача вештачке интелигенције пре коришћења предлога за уређивање животописа."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Копирајте овај тајни кључ и користите г
|
||||
msgid "Copy URL"
|
||||
msgstr "Копирај URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Није могуће применити предлог вештачке интелигенције."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Прекини повезивање"
|
||||
msgid "Discord"
|
||||
msgstr "Дискорд"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Одбаци"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Документација"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Немате налог? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Донирајте"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Донирајте Реактивном Резимеу"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Омогући 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Омогући AI функције"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Омогући интеграцију вештачке интелигенције"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Омогући двофакторску аутентификацију"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Примери: препишите резиме, скратите једну тачку о искуству, додајте метрике или прилагодите животопис опису посла."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Изађи из целог екрана"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Микрософт Ворд"
|
||||
msgid "Model"
|
||||
msgstr "Модел"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Више радњи предлога"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Премести у"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Мора да почне са https://"
|
||||
msgid "Name"
|
||||
msgstr "Име"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Потребан је преглед"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Непалски"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Нова лозинка"
|
||||
msgid "New Section"
|
||||
msgstr "Нови одељак"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Следеће"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Без оглашавања, без праћења"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Континуирано одржавање"
|
||||
msgid "Open"
|
||||
msgstr "Отвори"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Отворите AI асистент"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Отвори клијент за е-пошту"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Отворене интеграције"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Отвори подешавања интеграција"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Унесите лозинку коју вам је поделио вла
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Унесите URL на који желите да води веза:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Молимо вас да подржите пројекат"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Позиција"
|
||||
msgid "Preferences"
|
||||
msgstr "Поставке"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Припрема промена"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Предефинисања"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Притисните <0>{RETURN_KEY}</0> или <1>{COMMA_KEY}</1> да
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Притисните <0>Enter</0> да бисте отворили"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Претходно"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Примарна боја"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Трака напретка"
|
||||
msgid "Projects"
|
||||
msgstr "Пројекти"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Предлог {0} од {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Заштитите свој резиме од неовлашћеног приступа лозинком"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Публикације"
|
||||
msgid "Publisher"
|
||||
msgstr "Издавач"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Закрпа за нерафинирани JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Реактивни Резиме - Иди на почетну страницу"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Реактивни Резиме је бесплатан и отворе
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Реактивни Резиме је бесплатан и отворен алат за креирање резимеа који поједностављује процес креирања, ажурирања и дељења вашег резимеа."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Реактивни резиме је бесплатан и отвореног кода. Ако вам је помогао, размислите о донацији."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Реактивни Резиме је отвореног кода, усмерен на приватност и потпуно бесплатан. За разлику од других алата за креирање резимеа, не приказује огласе, не прати ваше податке и не ограничава функције иза платног зида."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Освежи"
|
||||
msgid "Register New Device"
|
||||
msgstr "Региструјте нови уређај"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Одбиј"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Одбиј све"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Одбијен предлог"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Сећате се лозинке? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Поновно слање верификационе е-поште..."
|
||||
msgid "Reset"
|
||||
msgstr "Ресетуј"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Ресетуј ћаскање"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Ресетујте своју лозинку"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Ресетовање ваше лозинке..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Промените величину AI асистента"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ресурси"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Анализа резимеа је завршена."
|
||||
msgid "Resumes"
|
||||
msgstr "Резимеи"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Потребан је преглед"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Прегледани предлози"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Поравнај десно"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Изаберите..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самохостовање помоћу Docker-а"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Пошаљи"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Пошаљи е-поруку за ресет лозинке"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Слање е-поруке за ресет лозинке..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Слање захтева"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Раздвајач"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Једноколонац са бочном траком и чистим
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Једноколона са уграђеним троколонашким заглављем за унос (позиција · организација · период); компактно и прилагођено ATS-у, добро прилагођено азијским конвенцијама за резиме (Кина/Јапан/Кореја)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Једноколонна верзија са великим словима у насловима одељака и горњом линијом примарне боје на свакој страници; дотерано за биографије руководилаца, консултанта или стартап компанија."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Једноколонац; уштогљен и озбиљан за сениорске или позиције на нивоу предузећа."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Статистика"
|
||||
msgid "Stay"
|
||||
msgstr "Остани"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Заустави"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Снаге"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Боја текста"
|
||||
msgid "Thai"
|
||||
msgstr "Тајландски"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Вештачка интелигенција је предложила промену која се више не односи на ову биографију."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Вештачка интелигенција је вратила предлог који није могао бити прегледан."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API кључ је успешно обрисан."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API кључ више неће моћи да приступа вашим подацима након брисања. Ова радња се не може опозвати."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Асистент је стао пре него што је вратио предлог."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Ово је URL-пријатељско име за ваш резиме."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Ово може потрајати неколико минута, у зависности од одзива AI провајдера. Немојте затварати прозор нити освежавати страницу."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Овај предлог је застарео. Замолите асистента да га поново генерише из најновијег животописа."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Овај резиме је закључан и не може се ажурирати."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Твитер)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Да, Реактивни Резиме је доступан на више језика. Омиљени језик можете изабрати на страници подешавања или помоћу прекидача језика у горњем десном углу. Ако не видите свој језик или желите да побољшате постојеће преводе, можете <0>допринети преводима на Crowdin-у<1> (отвара се у новом језичку)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Да! Сваки шаблон је у потпуности прилагодљив. Можете мењати боје, фонтове, размаке, па чак и писати прилагођени CSS за потпуну контролу изгледа свог резимеа."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Да! Реактивни Резиме је потпуно бесплатан за коришћење, без скривених трошкова, премијум нивоа или претплата. Он је отвореног кода и увек ће остати бесплатан."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {Kolumn} other {Kolumner}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# roll} other {# roller}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} förslag granskade"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Ja, absolut! Du kan exportera ditt CV till PDF med ett enda klick. Den exporterade PDF-filen behåller all din formatering och styling perfekt."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Acceptera"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Acceptera alla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Godkänt förslag"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Få tillgång till dina CV:n och data programmatiskt med hjälp av API:et."
|
||||
@@ -229,10 +246,38 @@ msgstr "Lägg till rad före"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikanska"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Efter"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI-integration inaktiverad"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI-förslag tillämpat."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "AI-förslaget avvisades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI-förslag tillämpades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI-förslag avvisades."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI CV-assistent"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanska"
|
||||
@@ -367,10 +412,22 @@ msgstr "Studieområde"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Artificiell intelligens"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Begär en riktad CV-ändring..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Be om en stegvis förändring"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Bildförhållande"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Assistent-begäran misslyckades"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Grunderna"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Vackra mallar att välja mellan, fler är på väg."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Före"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengali"
|
||||
@@ -462,10 +523,6 @@ msgstr "Punktlista"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Av gemenskapen, för gemenskapen."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Kan jag anpassa mallarna?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Kan jag exportera mitt CV till PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Klart"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Klicka här för att välja en fil att importera"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Stäng AI-assistenten"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kodblock"
|
||||
@@ -622,6 +687,10 @@ msgstr "Bekräfta"
|
||||
msgid "Connect"
|
||||
msgstr "Anslut"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Anslut och verifiera en AI-leverantör innan du använder förslag på redigering av CV."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Kopiera denna hemliga nyckel och använd den i dina applikationer för a
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopiera URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Kunde inte tillämpa AI-förslaget."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Koppla från"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Avfärda"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dokumentation"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Har du inget konto? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Donera"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Donera till Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Aktivera 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Aktivera AI-funktioner"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Aktivera AI-integration"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Aktivera tvåfaktorsautentisering"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Allt som anges här lagras lokalt i din webbläsare. Dina data skickas b
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Exempel: skriv om sammanfattningen, skärp ner en erfarenhetspunkt, lägg till mätvärden eller anpassa CV:t för en arbetsbeskrivning."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Avsluta helskärm"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Fler förslagsåtgärder"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Flytta till"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Börjar med https://"
|
||||
msgid "Name"
|
||||
msgstr "Namn"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Behöver granskas"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalesiska"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Nytt lösenord"
|
||||
msgid "New Section"
|
||||
msgstr "Nytt avsnitt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Nästa"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Ingen reklam, ingen spårning"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Löpande underhåll"
|
||||
msgid "Open"
|
||||
msgstr "Öppna"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Öppna AI-assistenten"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Öppna e-postklient"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Öppna integrationer"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Öppna Inställningar för integrationer"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Ange lösenordet som delats med dig av ägaren av CV:t för att fortsät
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Ange URL:en du vill länka till:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Stöd projektet"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Position"
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Förbereder ändringar"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Förinställningar"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Tryck på <0>{RETURN_KEY}</0> eller <1>{COMMA_KEY}</1> för att lägga t
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Tryck på <0>Enter</0> för att öppna"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Föregående"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Primärfärg"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Förloppsindikator"
|
||||
msgid "Projects"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Förslag {0} av {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Skydda ditt CV mot obehörig åtkomst med ett lösenord"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Publikationer"
|
||||
msgid "Publisher"
|
||||
msgstr "Utgivare"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Rå JSON-patch"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Gå till startsida"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume är ett gratis projekt med öppen källkod, byggt med k
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume är en gratis CV-byggare med öppen källkod som förenklar processen med att skapa, uppdatera och dela ditt CV."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume är gratis och har öppen källkod. Om det har hjälpt dig, överväg gärna att donera."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume har en öppen källkod, är integritetsfokuserat och helt gratis. Till skillnad från andra CV-byggare visas inga annonser, spårar dig inte och gömmer inte funktioner bakom en betalvägg."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Uppdatera"
|
||||
msgid "Register New Device"
|
||||
msgstr "Registrera ny enhet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Avvisa"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Avvisa alla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Avslaget förslag"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Kommer du ihåg ditt lösenord? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Skickar verifieringsmejl igen..."
|
||||
msgid "Reset"
|
||||
msgstr "Återställ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Återställ chatten"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Återställ ditt lösenord"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Återställer ditt lösenord..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Ändra storlek på AI-assistenten"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resurser"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "CV-analysen är klar."
|
||||
msgid "Resumes"
|
||||
msgstr "CV"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Granskning krävs"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Granskade förslag"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Högerjustera"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Välj..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Självhosting med Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Skicka"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Skicka e-post för återställning av lösenord"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Skickar e-post för återställning av lösenord..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Skickar begäran"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Avskiljare"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "En kolumn med ett sidofält och ren rutnätslayout; mångsidig för alla
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Enkolumnig med en inline-rubrik på tre kolumner (position - organisation - period); kompakt och ATS-vänlig, väl lämpad för asiatiska CV-konventioner (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Enkolumn med rubriker i versaler och en linje i primärfärg överst på varje sida; polerat för CV:n för chefer, konsulter eller startups."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "En kolumn; polerad och seriös för seniora eller roller på företagsnivå."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistik"
|
||||
msgid "Stay"
|
||||
msgstr "Stanna"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Stopp"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Styrkor"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Textfärg"
|
||||
msgid "Thai"
|
||||
msgstr "Thailändska"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI:n föreslog en ändring som inte längre gäller för detta CV."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI:n returnerade ett förslag som inte kunde förhandsgranskas."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-nyckeln har raderats."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API-nyckeln kommer inte längre att kunna komma åt dina data efter att den raderats. Denna åtgärd kan inte ångras."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Assistenten stannade innan han återvände med ett förslag."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Detta är ett URL-vänligt namn för ditt CV."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Detta kan ta några minuter, beroende på svaret från AI-leverantören. Stäng inte fönstret och uppdatera inte sidan."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Det här förslaget är inaktuellt. Be assistenten att återskapa det från det senaste CV:t."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Detta CV är låst och kan inte uppdateras."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ja, Reactive Resume finns på flera språk. Du kan välja ditt föredragna språk på inställningssidan eller med språkväljaren uppe till höger. Om du inte ser ditt språk, eller vill förbättra de befintliga översättningarna, kan du <0>bidra till översättningarna på Crowdin<1> (öppnas i ny flik)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ja! Varje mall är helt anpassningsbar. Du kan ändra färger, typsnitt, mellanrum och till och med skriva egen CSS för full kontroll över hur ditt CV ser ut."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ja! Reactive Resume är helt gratis att använda, utan dolda kostnader, premiumnivåer eller prenumerationsavgifter. Det är öppen källkod och kommer alltid att vara gratis."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ta\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Tamil\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# உருப்படி} other {# உருப்ப
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# பங்கு} other {# பங்குகள்}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} முன்மொழிவுகள் மதிப்பாய்வு செய்யப்பட்டன"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "ஏ4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "நிச்சயமாக! ஒரு கிளிக் மூலமே உங்கள் ரெஸ்யூமியை PDF ஆக ஏற்றுமதி செய்யலாம். ஏற்றுமதி செய்யப்பட்ட PDF உங்கள் அனைத்து வடிவமைப்பு மற்றும் ஸ்டைல் அமைப்புகளையும் அப்படியே காக்கும்."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ஏற்றுக்கொள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "அனைத்தையும் ஏற்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ஏற்றுக்கொள்ளப்பட்ட முன்மொழிவு"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API-யை பயன்படுத்தி உங்கள் ரெஸ்யூமிகளையும் தரவையும் நிரலாலும் அணுகலாம்."
|
||||
@@ -229,10 +246,38 @@ msgstr "முன் வரியைச் சேர்க்கவும்"
|
||||
msgid "Afrikaans"
|
||||
msgstr "ஆஃப்ரிகான்ஸ்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "பிறகு"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "செயற்கை நுண்ணறிவு ஒருங்கிணைப்பு முடக்கப்பட்டது"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிவு செயல்படுத்தப்பட்டது."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிவு நிராகரிக்கப்பட்டது."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிவுகள் செயல்படுத்தப்பட்டன."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிவுகள் நிராகரிக்கப்பட்டன."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI ரெஸ்யூம் உதவியாளர்"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "அல்பேனியன்"
|
||||
@@ -367,10 +412,22 @@ msgstr "கற்றல் துறை"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "செயற்கை நுண்ணறிவு"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "குறிப்பிட்ட சுயவிவரத் திருத்தத்தைக் கோருங்கள்..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "படிப்படியான மாற்றத்தைக் கோருங்கள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ஒப்புத்திணைவு விகிதம்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "உதவியாளர் கோரிக்கை தோல்வியடைந்தது"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "அடிப்படைத் தகவல்கள்"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "தேர்வு செய்ய அழகான டெம்ப்ளேட்டுகள், மேலும் பல வழியில் வருகின்றன."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "முன்பு"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "பெங்காலி"
|
||||
@@ -462,10 +523,6 @@ msgstr "குறியிட்டு பட்டியல்"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "சமூகத்தால், சமூகத்திற்காக."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "டெம்ப்ளேட்டுகளை நான் விருப்பத்துக்கு ஏற்ப மாற்றிக்கொள்ளலாமா?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "என் ரெஸ்யூமியை PDF ஆக ஏற்றுமதி செய்யலாமா?"
|
||||
@@ -576,6 +633,14 @@ msgstr "தெளிவான"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "இறக்குமதி செய்ய ஒரு கோப்பை தேர்ந்தெடுக்க இங்கே கிளிக் செய்யவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "மூடு"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI உதவியாளரை மூடு"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "குறியீட்டு தொகுதி"
|
||||
@@ -622,6 +687,10 @@ msgstr "உறுதி செய்"
|
||||
msgid "Connect"
|
||||
msgstr "இணைக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "சுயவிவரத் திருத்தப் பரிந்துரைகளைப் பயன்படுத்துவதற்கு முன்பு, ஒரு AI வழங்குநருடன் தொடர்புகொண்டு சரிபார்க்கவும்."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "இந்த ரகசிய விசையை நகலெடுத்
|
||||
msgid "Copy URL"
|
||||
msgstr "URL-ஐ நகலெடு"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிவைச் செயல்படுத்த முடியவில்லை."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "துண்டிக்கவும்"
|
||||
msgid "Discord"
|
||||
msgstr "டிஸ்கார்ட்"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "நிராகரி"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "ஆவணங்கள்"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "கணக்கு இல்லையா? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "நன்கொடை அளிக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume-க்கு நன்கொடை அளிக்கவும்"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA-ஐ இயக்கு"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI அம்சங்களை இயக்கு"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI ஒருங்கிணைப்புகளை இயக்கு"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "இரண்டு நிலை அங்கீகாரத்தை இயக்கு"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "உதாரணங்கள்: சுருக்கத்தை மீண்டும் எழுதுதல், ஒரு அனுபவப் பகுதியைச் செம்மைப்படுத்துதல், அளவீடுகளைச் சேர்த்தல், அல்லது வேலை விவரத்திற்கு ஏற்ப சுயவிவரக் குறிப்பைத் தழுவி அமைத்தல்."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "முழுத்திரையிலிருந்து வெளியேறு"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "மைக்ரோசாஃப்ட் வேர்ட்"
|
||||
msgid "Model"
|
||||
msgstr "மாதிரி"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "மேலும் முன்மொழிவு நடவடிக்கைகள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "இதற்கு நகர்த்தவும்"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// கொண்டு தொடங்க வேண்டும்"
|
||||
msgid "Name"
|
||||
msgstr "பெயர்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "தேவைகள் மதிப்பாய்வு"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "நேபாளி"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "புதிய கடவுச்சொல்"
|
||||
msgid "New Section"
|
||||
msgstr "புதிய பகுதி"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "அடுத்து"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "விளம்பரம் இல்லை, கண்காணிப்பு இல்லை"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "தொடர்ந்து பராமரிப்பு"
|
||||
msgid "Open"
|
||||
msgstr "திற"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "திறந்த AI உதவியாளர்"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "மின்னஞ்சல் பயன்பாட்டை திறக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "திறந்த ஒருங்கிணைப்புகள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ஒருங்கிணைப்பு அமைப்புகளைத் திற"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "தொடர்ந்து செல்ல, ரெஸ்யூமிய
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "நீங்கள் இணைக்க விரும்பும் URL-ஐ உள்ளிடவும்:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "திட்டத்திற்கு ஆதரவளிக்கவும்"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "பதவி"
|
||||
msgid "Preferences"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "மாற்றங்களைத் தயாரித்தல்"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "முன்வழங்கல்கள்"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "தற்போதைய முக்கிய சொல்லை சே
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "திறக்க <0>Enter ஐ</0> அழுத்தவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "முந்தைய"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "முதன்மை நிறம்"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "முன்னேற்ற பட்டை"
|
||||
msgid "Projects"
|
||||
msgstr "திட்டங்கள்"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total} இன் முன்மொழிவு {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "உங்கள் ரெஸ்யூமியை அனுமதியற்ற அணுகலிலிருந்து ஒரு கடவுச்சொல்லால் பாதுகாக்கவும்"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "வெளியீடுகள்"
|
||||
msgid "Publisher"
|
||||
msgstr "பதிப்பாளர்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "மூல JSON இணைப்பு"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - முகப்புப் பக்கத்துக்கு செல்லவும்"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume என்பது இலவச மற்றும்
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume என்பது உங்கள் ரெஸ்யூமியை உருவாக்குதல், புதுப்பித்தல் மற்றும் பகிர்தல் ஆகிய செயல்முறைகளை எளிதாக்கும் ஒரு இலவச மற்றும் திறந்த மூல ரெஸ்யூம் பில்டர்."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "ரியாக்டிவ் ரெஸ்யூம் இலவசமானது மற்றும் திறந்த மூல மென்பொருளாகும். இது உங்களுக்கு உதவியிருந்தால், நன்கொடை அளிக்கப் பரிசீலிக்கவும்."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume திறந்த மூலமாகவும், தனியுரிமை மீது கவனம் செலுத்தியதாகவும், முற்றிலும் இலவசமாகவும் உள்ளது. மற்ற ரெஸ்யூம் பில்டர்களைப் போல் இது விளம்பரங்களை காட்டாது, உங்கள் தரவை கண்காணிக்காது, அல்லது அம்சங்களை கட்டண சுவருக்கு பின்னால் பூட்டாது."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "மீண்டும் ஏற்று"
|
||||
msgid "Register New Device"
|
||||
msgstr "புதிய சாதனத்தைப் பதிவு செய்யவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "நிராகரி"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "அனைத்தையும் நிராகரிக்கவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "நிராகரிக்கப்பட்ட முன்மொழிவு"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "உங்கள் கடவுச்சொல் நினைவிருக்கிறதா? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "சரிபார்ப்பு மின்னஞ்சலை மீ
|
||||
msgid "Reset"
|
||||
msgstr "மீட்டமை"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "அரட்டையை மீட்டமைக்கவும்"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "உங்கள் கடவுச்சொல்லை மீட்ட
|
||||
msgid "Resetting your password..."
|
||||
msgstr "உங்கள் கடவுச்சொல்லை மீட்டமைத்து கொண்டிருக்கிறது..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "அளவை மாற்று AI உதவியாளர்"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "வளங்கள்"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "விண்ணப்பப் பகுப்பாய்வு நி
|
||||
msgid "Resumes"
|
||||
msgstr "ரெஸ்யூமிகள்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "மதிப்பாய்வு தேவை"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "மதிப்பாய்வு செய்யப்பட்ட முன்மொழிவுகள்"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "வலது சீரமை"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "தேர்ந்தெடு..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker-இன் உதவியுடன் தானே ஹோஸ்ட் செய்யவும்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "அனுப்பு"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "கடவுச்சொல் மீட்டமைப்பு மி
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "கடவுச்சொல் மீட்டமைப்பு மின்னஞ்சலை அனுப்பிக் கொண்டிருக்கிறது..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "கோரிக்கையை அனுப்புகிறது"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "பிரிப்பான்"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "சைட்பாரும் சுத்தமான கிரிட
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ஒரு நிரலில் மூன்று-காலம் உள்ளீட்டுத் தலைப்புடன் (நிலை · அமைப்பு · காலம்) ஒரு-காலம்; சுருங்கிய மற்றும் ATS-நட்பு, ஆசிய ரெஸ்யூம் மரபுகளுக்கு (CN/JP/KR) மிகவும் பொருத்தமானது."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ஒவ்வொரு பக்கத்திலும் பெரிய எழுத்துகளில் பகுதித் தலைப்புகளையும், முதன்மை வண்ண மேல் கோட்டையும் கொண்ட ஒற்றைப் பத்தி அமைப்பு; நிர்வாகி, ஆலோசனை அல்லது ஸ்டார்ட்அப் நிறுவனங்களுக்கான சுயவிவரக் குறிப்புகளுக்கு ஏற்றவாறு நேர்த்தியாக வடிவமைக்கப்பட்டுள்ளது."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ஒற்றை நெடுவரிசை; மெத்தனமாகவும் சீரியஸாகவும் இருக்கும் வடிவம்; மூத்த அல்லது எண்டர்பிரைஸ் நிலை பதவிகளுக்கு ஏற்றது."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "புள்ளிவிபரங்கள்"
|
||||
msgid "Stay"
|
||||
msgstr "தங்கு"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "நிறுத்து"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "வலிமைகள்"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "எழுத்து நிறம்"
|
||||
msgid "Thai"
|
||||
msgstr "தாய்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "செயற்கை நுண்ணறிவு முன்மொழிந்த மாற்றம் இனி இந்த சுயவிவரக் குறிப்பிற்குப் பொருந்தாது."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "முன்னோட்டம் பார்க்க முடியாத ஒரு முன்மொழிவை அந்தச் செயற்கை நுண்ணறிவு வழங்கியது."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API விசை வெற்றிகரமாக நீக்கப்
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API விசை நீக்கப்பட்ட பின்னர், அது உங்கள் தரவை இனி அணுக முடியாது. இந்த செயலைக் களைந்து விட முடியாது."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ஒரு முன்மொழிவைத் திருப்பி அனுப்புவதற்கு முன்பு உதவியாளர் நிறுத்தினார்."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "இது உங்கள் ரெஸ்யூமிக்கான URL
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "இது சில நிமிடங்கள் ஆகலாம்; இது AI வழங்குநரின் பதிலைப் பொருத்தது. தயவுசெய்து சாளரத்தை மூடவோ பக்கத்தை மீண்டும் ஏற்றவோ செய்யாதீர்கள்."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "இந்த முன்மொழிவு காலாவதியானது. சமீபத்திய சுயவிவரத்திலிருந்து இதை மீண்டும் உருவாக்குமாறு உதவியாளரிடம் கூறுங்கள்."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "இந்த ரெஸ்யூமி பூட்டப்பட்டுள்ளது மற்றும் புதுப்பிக்க முடியாது."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (ட்விட்டர்)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "ஆம், Reactive Resume பல மொழிகளில் கிடைக்கிறது. நீங்கள் அமைப்புகள் பக்கத்தில், அல்லது மேல் வலது மூலையில் உள்ள மொழி மாற்றியைப் பயன்படுத்தி உங்கள் விருப்பமான மொழியைத் தேர்ந்தெடுக்கலாம். உங்கள் மொழி பட்டியலில் தெரியவில்லையெனில், அல்லது ஏற்கனவே உள்ள மொழிபெயர்ப்புகளை மேம்படுத்த விரும்பினால், நீங்கள் <0>Crowdin-ல் உள்ள மொழிபெயர்ப்புகளுக்கு பங்களிக்கலாம்<1> (புதிய தாவலில் திறக்கிறது)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "ஆம்! ஒவ்வொரு டெம்ப்ளேட்டும் முழுமையாக தனிப்பயனாக்கக்கூடியது. நீங்கள் நிறங்கள், எழுத்துருக்கள், இடைவெளி போன்றவற்றை மாற்றலாம்; மேலும் உங்கள் ரெஸ்யூமியின் தோற்றத்தை முழுமையாக கட்டுப்படுத்த தனிப்பயன் CSS-யையும் எழுதலாம்."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "ஆம்! Reactive Resume-ஐ எவ்வித மறைந்த செலவுகளும், பிரீமியம் அடுக்கு கட்டணங்களும், சந்தா கட்டணங்களும் இன்றி முற்றிலும் இலவசமாக பயன்படுத்தலாம். இது திறந்த மூலமாகும் மற்றும் எப்போதும் இலவசமாகவே இருக்கும்."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: te\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# అంశం} other {# అంశాలు}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# పాత్ర} other {# పాత్రలు}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} ప్రతిపాదనలు సమీక్షించబడ్డాయి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "ఎ4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "పూర్తిగా! మీరు ఒక్క క్లిక్తో మీ రిజ్యూమ్ను PDF కు ఎగుమతి చేయవచ్చు. ఎగుమతైన PDF మీ ఫార్మాటింగ్ మరియు స్టైలింగ్ను ఖచ్చితంగా నిలుపుకుంటుంది."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "అంగీకరించు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "అన్నింటినీ అంగీకరించండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ఆమోదించబడిన ప్రతిపాదన"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "API ఉపయోగించి మీ రిజ్యూమ్స్ మరియు డేటాను ప్రోగ్రామాటిక్గా యాక్సెస్ చేయండి."
|
||||
@@ -229,10 +246,38 @@ msgstr "ముందు వరుస చేర్చండి"
|
||||
msgid "Afrikaans"
|
||||
msgstr "ఆఫ్రికాన్స్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "తరువాత"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI అనుసంధానం నిలిపివేయబడింది"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "AI ప్రతిపాదన అమలు చేయబడింది."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "ఏఐ ప్రతిపాదన తిరస్కరించబడింది."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "AI ప్రతిపాదనలు అమలు చేయబడ్డాయి."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "AI ప్రతిపాదనలు తిరస్కరించబడ్డాయి."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI రెజ్యూమె అసిస్టెంట్"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "అల్బేనియన్"
|
||||
@@ -367,10 +412,22 @@ msgstr "అధ్యయన విభాగం"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ఆర్టిఫిషియల్ ఇంటెలిజెన్స్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "నిర్దిష్టమైన రెజ్యూమే మార్పు కోసం అడగండి..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "క్రమమైన మార్పును కోరండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "కారక నిష్పత్తి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "సహాయక అభ్యర్థన విఫలమైంది"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "ప్రాథమికాలు"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "ఎంపిక చేసుకోవడానికి అందమైన టెంప్లేట్లు ఉన్నాయి, ఇంకా మరిన్ని త్వరలో వస్తున్నాయి."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "ముందు"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "బెంగాలీ"
|
||||
@@ -462,10 +523,6 @@ msgstr "బుల్లెట్ జాబితా"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "కమ్యూనిటీ కోసం, కమ్యూనిటీ చేత."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "నేను టెంప్లేట్లను అనుసంధానించగలనా?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "నేను నా రిజ్యూమ్ని PDFగా ఎగుమతి చేయగలనా?"
|
||||
@@ -576,6 +633,14 @@ msgstr "తొలగించు"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "ఇంపోర్ట్ చేయడానికి ఫైల్ ను ఎంచుకోవడానికి ఇక్కడ క్లిక్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "మూసివేయి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "AI సహాయకుడిని మూసివేయండి"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "కోడ్ బ్లాక్"
|
||||
@@ -622,6 +687,10 @@ msgstr "నిర్ధారించండి"
|
||||
msgid "Connect"
|
||||
msgstr "కనెక్ట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "రెజ్యూమె ఎడిటింగ్ ప్రతిపాదనలను ఉపయోగించే ముందు, ఒక AI ప్రొవైడర్తో కనెక్ట్ అయి, దానిని ధృవీకరించుకోండి."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "ఈ సీక్రెట్ కీని కాపీ చేసి మ
|
||||
msgid "Copy URL"
|
||||
msgstr "URLని కాపీ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "AI ప్రతిపాదనను అమలు చేయలేకపోయారు."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "డిస్కనెక్ట్ చేయండి"
|
||||
msgid "Discord"
|
||||
msgstr "డిస్కోర్డ్"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "కొట్టివేయండి"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "డాక్యుమెంటేషన్"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "ఖాతా లేదా? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "విరాళం ఇవ్వండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume కు దానం చేయండి"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FAని ప్రారంభించండి"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI ఫీచర్లు ప్రారంభించండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "AI అనుసంధానాన్ని ప్రారంభించండి"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "టూ-ఫాక్టర్ ఆథెంటికేషన్ని ప్రారంభించండి"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ఉదాహరణలు: సారాంశాన్ని తిరిగి రాయడం, ఒక అనుభవ బుల్లెట్ను కుదించడం, కొలమానాలను జోడించడం లేదా ఉద్యోగ వివరణకు అనుగుణంగా రెజ్యూమెను మార్చడం."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "పూర్తి స్క్రీన్ నుండి నిష్క్రమించు"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "మైక్రోసాఫ్ట్ వర్డ్"
|
||||
msgid "Model"
|
||||
msgstr "మోడల్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "మరిన్ని ప్రతిపాదన చర్యలు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "కి తరలించండి"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "తప్పనిసరిగా https:// తో ప్రారంభ
|
||||
msgid "Name"
|
||||
msgstr "పేరు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "సమీక్షించాల్సిన అవసరం ఉంది"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "నేపాళీ"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "న్యూ పాస్వర్డ్"
|
||||
msgid "New Section"
|
||||
msgstr "కొత్త విభాగం"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "తరువాత"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "ప్రకటనలు లేవు, ట్రాకింగ్ లేదు"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "నిరంతర నిర్వహణ"
|
||||
msgid "Open"
|
||||
msgstr "ఓపెన్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "ఓపెన్ AI అసిస్టెంట్"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "ఈమెయిల్ క్లైంట్ తెరవండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "ఓపెన్ ఇంటిగ్రేషన్స్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "ఇంటిగ్రేషన్ల సెట్టింగ్లను తెరవండి"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "కొనసాగడానికి, రిజ్యూమ్ యజమ
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "మీరు లింక్ చేయాలనుకునే URLను నమోదు చేయండి:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "దయచేసి ప్రాజెక్ట్కు మద్దతు ఇవ్వండి"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "పాజిషన్"
|
||||
msgid "Preferences"
|
||||
msgstr "ప్రాధాన్యతలు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "మార్పులకు సిద్ధమవుతోంది"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "ప్రీసెట్లు"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "ప్రస్తుత కీలుపదాన్ని జోడి
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "తెరవడానికి <0>ఎంటర్</0> నొక్కండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "మునుపటి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "ప్రాథమిక రంగు"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "ప్రోగ్రెస్ బార్"
|
||||
msgid "Projects"
|
||||
msgstr "ప్రాజెక్ట్స్"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total} యొక్క ప్రతిపాదన {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "మీ రిజ్యూమ్ను అనధికారిక ప్రవేశం నుండి పాస్వర్డ్తో రక్షించండి"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "పబ్లికేషన్స్"
|
||||
msgid "Publisher"
|
||||
msgstr "పబ్లిషర్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "రా JSON ప్యాచ్"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - హోమ్పేజీకి వెళ్ళండి"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume ఉచితమైన ఓపెన్-సోర్స్
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume అనేది ఉచితమైన, ఓపెన్-సోర్స్ రిజ్యూమ్ బిల్డర్, ఇది మీ రిజ్యూమ్ను సృష్టించడం, నవీకరించడం మరియు పంచుకోవడం ప్రక్రియను సులభతరం చేస్తుంది."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "రియాక్టివ్ రెజ్యూమ్ ఉచితం మరియు ఓపెన్ సోర్స్. ఇది మీకు సహాయపడినట్లయితే, దయచేసి విరాళం ఇవ్వడాన్ని పరిగణించండి."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ఓపెన్సోర్స్, గోప్యతపై దృష్టి సారించినది మరియు పూర్తిగా ఉచితం. ఇతర జీవన చరిత్ర తయారీదార్ల వలె ప్రకటనలను చూపించదు, మీ డేటాను ట్రాక్ చేయదు, లేదా ఫీచర్లను వాలుతో పరిమితం చేయదు."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "రిఫ్రెష్ చేయండి"
|
||||
msgid "Register New Device"
|
||||
msgstr "కొత్త పరికరాన్ని నమోదు చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "తిరస్కరించు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "అన్నింటినీ తిరస్కరించండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "తిరస్కరించబడిన ప్రతిపాదన"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "మీ పాస్వర్డ్ గుర్తుందా? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "ధ్రువీకరణ ఇమెయిల్ను మళ్ల
|
||||
msgid "Reset"
|
||||
msgstr "రీసెట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "చాట్ను రీసెట్ చేయండి"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "మీ పాస్వర్డ్ను రీసెట్ చే
|
||||
msgid "Resetting your password..."
|
||||
msgstr "మీ పాస్వర్డ్ను రీసెట్ చేస్తున్నాము..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "రీసైజ్ AI అసిస్టెంట్"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "వనరులు"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "రిజ్యూమ్ విశ్లేషణ పూర్తయి
|
||||
msgid "Resumes"
|
||||
msgstr "రిజ్యూమ్స్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "సమీక్ష అవసరం"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "సమీక్షించిన ప్రతిపాదనలు"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "కుడి align చేయండి"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "ఎంచుకోండి..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "డాకర్తో స్వయంగా హోస్ట్ చేయండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "పంపండి"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "పాస్వర్డ్ రీసెట్ ఇమెయిల్
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "పాస్వర్డ్ రీసెట్ ఇమెయిల్ను పంపుతున్నాము..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "అభ్యర్థనను పంపుతోంది"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "వేర్పాటు రేఖ"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "ఒకే-కాలమ్, సైడ్బార్ మరియు
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "ఇన్లైన్ మూడు-కాలమ్ ఎంట్రీ హెడర్తో (స్థానం · సంస్థ · కాలం) ఒకే-కాలమ్; సంక్షిప్తంగా మరియు ATS-స్నేహపూర్వకంగా, ఆసియా రెస్యూమ్ సంప్రదాయాలకు (CN/JP/KR) బాగా సరిపోతుంది."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "ప్రతి పేజీలో పెద్ద అక్షరాల విభాగ శీర్షికలు మరియు ప్రాథమిక రంగు టాప్ రూల్తో కూడిన సింగిల్-కాలమ్; ఎగ్జిక్యూటివ్, కన్సల్టింగ్ లేదా స్టార్టప్ రెజ్యూమెల కోసం చక్కగా తీర్చిదిద్దబడింది."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "ఒకే-కాలమ్; శుభ్రమైన మరియు ప్రాధాన్యత ఉన్న సీనియర్ లేదా ఎంటర్ప్రైజ్-లెవల్ స్థానాలకు సరిపోయే విధంగా."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "స్టాటిస్టిక్స్"
|
||||
msgid "Stay"
|
||||
msgstr "ఉండు"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "ఆపండి"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "బలాలు"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "టెక్స్ట్ కలర్"
|
||||
msgid "Thai"
|
||||
msgstr "థాయ్"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI ప్రతిపాదించిన మార్పు ఇకపై ఈ రెజ్యూమెకు వర్తించదు."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "AI ప్రివ్యూ చేయలేని ఒక ప్రతిపాదనను తిరిగి ఇచ్చింది."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API కీ విజయవంతంగా తొలగించబడి
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API కీ తొలగించబడిన తర్వాత మీ డేటాను మళ్ళీ యాక్సెస్ చేయలేరు. ఈ చర్యను రద్దు చేయడం సాధ్యం కాదు."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "సహాయకుడు ఒక ప్రతిపాదనను తిరిగి ఇచ్చే ముందు ఆగిపోయాడు."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "ఇది మీ రెజ్యూమ్కి URL-ప్రియ
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "AI ప్రొవైడర్ స్పందనపై ఆధారపడి, ఇది కొన్ని నిమిషాలు పడవచ్చు. దయచేసి విండోను మూసివేయకండి లేదా పేజీ రిఫ్రెష్ చేయకండి."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ఈ ప్రతిపాదన పాతది. తాజా రెజ్యూమే నుండి దీనిని పునఃసృష్టించమని సహాయకుడిని అడగండి."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "ఈ రెజ్యూమ్ లాక్ చేయబడింది మరియు నవీకరించలేరు."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (ట్విట్టర్)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "అవును, Reactive Resume అనేక భాషల్లో అందుబాటులో ఉంది. మీరు సెట్టింగ్స్ పేజీలో లేదా పై కోణంలో భాష మార్పిడి ద్వారా మీకు ఇష్టమైన భాషను ఎంచుకోవచ్చు. మీ భాష కనిపించకపోతే, లేకపోతే మీరు ప్రస్తుత అనువాదాలను మెరుగుపరచాలనుకుంటే, మీరు <0>Crowdinలో అనువాదాలకు ప్రయత్నించవచ్చు<1> (కొత్త ట్యాబ్లో తెరవబడుతుంది)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "అవును! ప్రతి టెంప్లేట్ను పూర్తిగా అనుకూలీకరించుకోవచ్చు. మీరు రంగులు, ఫాంట్లు, స్పేసింగ్ను మార్చుకోవచ్చు, మరియు మీ రిజ్యూమ్ రూపాన్ని పూర్తిగా నియంత్రించేందుకు కస్టమ్ CSSను కూడా రాయొచ్చు."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "అవును! Reactive Resume ఉపయోగించడం పూర్తిగా ఉచితమే, ఎలాంటి దాచిన ఖర్చులు, ప్రీమియం స్థాయిలు, లేదా సబ్స్క్రిప్షన్ ఛార్జీలు లేవు. ఇది ఓపెన్సోర్స్ మరియు ఎప్పుడూ ఉచితంగానే ఉంటుంది."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: th\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# รายการ}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# ตำแหน่ง} other {# ตำแหน่ง}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} ข้อเสนอได้รับการตรวจสอบแล้ว"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "แน่นอน! คุณสามารถส่งออกเรซูเม่ของคุณเป็น PDF ได้ในคลิกเดียว PDF ที่ส่งออกจะคงรูปแบบและสไตล์ของคุณไว้อย่างสมบูรณ์แบบ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "ยอมรับ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "ยอมรับทั้งหมด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "ข้อเสนอที่ได้รับการยอมรับ"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "เข้าถึงเรซูเม่และข้อมูลของคุณผ่าน API ได้โดยอัตโนมัติ"
|
||||
@@ -229,10 +246,38 @@ msgstr "เพิ่มแวก่อน"
|
||||
msgid "Afrikaans"
|
||||
msgstr "อาฟรีกานส์"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "หลังจาก"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "การผสานรวม AI ถูกปิดใช้งาน"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "ได้ยื่นข้อเสนอเกี่ยวกับ AI แล้ว"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "ข้อเสนอเกี่ยวกับ AI ถูกปฏิเสธ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "มีการนำข้อเสนอเกี่ยวกับ AI มาประยุกต์ใช้แล้ว"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "ข้อเสนอเกี่ยวกับ AI ถูกปฏิเสธ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "ผู้ช่วยเขียนเรซูเม่ด้วย AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "แอลเบเนีย"
|
||||
@@ -367,10 +412,22 @@ msgstr "สาขาวิชา"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ปัญญาประดิษฐ์"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "ขอรับบริการแก้ไขประวัติย่อแบบเฉพาะเจาะจง..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "ขอให้มีการเปลี่ยนแปลงทีละน้อย"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "อัตราส่วนภาพ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "คำขอผู้ช่วยล้มเหลว"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "พื้นฐาน"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "แม่แบบที่สวยงามให้เลือก พร้อมเพิ่มเติมอีกในอนาคต"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "ก่อน"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "เบงกาลี"
|
||||
@@ -462,10 +523,6 @@ msgstr "รายการหัวข้อย่อย"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "โดยชุมชน เพื่อชุมชน"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "ฉันสามารถปรับแต่งแม่แบบได้ไหม?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "ฉันสามารถส่งออกเรซูเม่ของฉันเป็น PDF ได้ไหม?"
|
||||
@@ -576,6 +633,14 @@ msgstr "ชัดเจน"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "คลิกที่นี่เพื่อเลือกไฟล์ที่จะนำเข้า"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "ปิด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "ปิดผู้ช่วย AI"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "บล็อกโค้ด"
|
||||
@@ -622,6 +687,10 @@ msgstr "ยืนยัน"
|
||||
msgid "Connect"
|
||||
msgstr "เชื่อมต่อ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "ติดต่อและตรวจสอบผู้ให้บริการ AI ก่อนใช้บริการแก้ไขเรซูเม่"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "คัดลอกคีย์ลับนี้และใช้ใน
|
||||
msgid "Copy URL"
|
||||
msgstr "คัดลอก URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "ไม่สามารถนำข้อเสนอ AI ไปใช้ได้"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "ตัดการเชื่อมต่อ"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "อนุญาตให้ออกไป"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "เอกสารอ้างอิง"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "ยังไม่มีบัญชี? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "บริจาค"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "บริจาคให้กับ Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "เปิดใช้งาน 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "เปิดใช้งานคุณสมบัติ AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "เปิดใช้งานการผสานรวม AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "เปิดใช้งานการยืนยันตัวตนแบบสองขั้นตอน"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "ตัวอย่างเช่น: เขียนสรุปใหม่ ย่อรายละเอียดประสบการณ์บางส่วน เพิ่มตัวชี้วัด หรือปรับเรซูเม่ให้ตรงกับคุณสมบัติของตำแหน่งงาน"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "ออกจากเต็มหน้าจอ"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "ไมโครซอฟต์ เวิร์ด"
|
||||
msgid "Model"
|
||||
msgstr "โมเดล"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "การดำเนินการข้อเสนอเพิ่มเติม"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "ย้ายไปที่"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "ต้องเริ่มต้นด้วย https://"
|
||||
msgid "Name"
|
||||
msgstr "ชื่อ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "ต้องได้รับการตรวจสอบ"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "เนปาลี"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "รหัสผ่านใหม่"
|
||||
msgid "New Section"
|
||||
msgstr "เซกชั่นใหม่"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "ถัดไป"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "ไม่มีโฆษณา ไม่มีการติดตาม"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "การบำรุงรักษาต่อเนื่อง"
|
||||
msgid "Open"
|
||||
msgstr "เปิด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "เปิดผู้ช่วย AI"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "เปิดโปรแกรมอีเมล"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "การผสานรวมแบบเปิด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "เปิดการตั้งค่าการเชื่อมต่อแบบเปิด"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "กรุณากรอกรหัสผ่านที่เจ้า
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "กรุณากรอก URL ที่คุณต้องการเชื่อมโยง:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "โปรดให้การสนับสนุนโครงการนี้"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "ตำแหน่ง"
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่าที่ต้องการ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "กำลังเตรียมการเปลี่ยนแปลง"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "ค่าที่ตั้งไว้ล่วงหน้า"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "กด <0>{RETURN_KEY}</0> หรือ <1>{COMMA_KEY}</1> เพื่
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "กด<0>Enter</0>เพื่อเปิด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "ก่อนหน้า"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "สีหลัก"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "แถบความคืบหน้า"
|
||||
msgid "Projects"
|
||||
msgstr "โปรเจกต์"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "ข้อเสนอ {0} ของ {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "ปกป้องเรซูเม่ของคุณจากการเข้าถึงโดยไม่ได้รับอนุญาตด้วยรหัสผ่าน"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "สิ่งตีพิมพ์"
|
||||
msgid "Publisher"
|
||||
msgstr "สำนักพิมพ์"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "แพทช์ JSON ดิบ"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - ไปที่หน้าแรก"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume เป็นโครงการฟรีและโ
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume คือเครื่องมือสร้างเรซูเม่ฟรีและโอเพนซอร์สที่ทำให้การสร้าง อัปเดต และแบ่งปันเรซูเม่ของคุณเป็นเรื่องง่าย"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume เป็นซอฟต์แวร์ฟรีและโอเพนซอร์ส หากซอฟต์แวร์นี้มีประโยชน์กับคุณ โปรดพิจารณาบริจาคเงินสนับสนุน"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume เป็นโอเพ่นซอร์ส เน้นความเป็นส่วนตัว และฟรีอย่างสมบูรณ์ แตกต่างจากเครื่องมือสร้างเรซูเม่อื่น ๆ ไม่มีโฆษณา ไม่ติดตามข้อมูลของคุณ หรือจำกัดฟีเจอร์หลังระบบจ่ายเงิน"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "รีเฟรช"
|
||||
msgid "Register New Device"
|
||||
msgstr "ลงทะเบียนอุปกรณ์ใหม่"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "ปฏิเสธ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "ปฏิเสธทั้งหมด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "ข้อเสนอที่ถูกปฏิเสธ"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "จำรหัสผ่านได้? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "กำลังส่งอีเมลยืนยันอีกคร
|
||||
msgid "Reset"
|
||||
msgstr "รีเซ็ต"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "รีเซ็ตแชท"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "รีเซ็ตรหัสผ่านของคุณ"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "กำลังรีเซ็ตรหัสผ่านของคุณ..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "ผู้ช่วย AI ปรับขนาด"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "ทรัพยากร"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "การวิเคราะห์ประวัติย่อเส
|
||||
msgid "Resumes"
|
||||
msgstr "เรซูเม่"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "จำเป็นต้องมีการตรวจสอบ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "ข้อเสนอที่ได้รับการตรวจสอบ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "ชิดขวา"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "เลือก..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "โฮสต์ด้วยตนเองบน Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "ส่ง"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "ส่งอีเมลรีเซ็ตรหัสผ่าน"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "กำลังส่งอีเมลรีเซ็ตรหัสผ่าน..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "กำลังส่งคำขอ"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "ตัวคั่น"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "คอลัมน์เดียว มีแถบข้างแล
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "คอลัมน์เดียวพร้อมหัวรายการสามคอลัมน์แบบอินไลน์ (ตำแหน่ง · องค์กร · ช่วงเวลา); กระชับและเป็นมิตรกับระบบคัดกรองอัตโนมัติ (ATS) เหมาะอย่างยิ่งสำหรับรูปแบบเรซูเม่แบบเอเชีย (จีน/ญี่ปุ่น/เกาหลี)"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "รูปแบบคอลัมน์เดียว โดยใช้ตัวพิมพ์ใหญ่สำหรับหัวข้อแต่ละส่วน และมีเส้นขีดด้านบนสีหลักในทุกหน้า เหมาะสำหรับเรซูเม่ของผู้บริหาร ที่ปรึกษา หรือบริษัทสตาร์ทอัพ"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "คอลัมน์เดียว มีความเรียบหรูและเป็นทางการ เหมาะสำหรับตำแหน่งผู้บริหารหรือระดับอาวุโส"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "สถิติ"
|
||||
msgid "Stay"
|
||||
msgstr "อยู่ต่อ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "หยุด"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "จุดแข็ง"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "สีตัวอักษร"
|
||||
msgid "Thai"
|
||||
msgstr "ไทย"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "ระบบ AI เสนอการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกับประวัติย่อนี้อีกต่อไป"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "ระบบ AI ส่งข้อเสนอกลับมา แต่ไม่สามารถดูตัวอย่างได้"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "ลบคีย์ API เรียบร้อยแล้ว"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "หลังลบคีย์ API แล้ว จะไม่สามารถเข้าถึงข้อมูลของคุณได้อีก การดำเนินการนี้ไม่สามารถกลับคืนได้"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "ผู้ช่วยหยุดก่อนที่จะส่งข้อเสนอกลับไป"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "นี่คือชื่อเรซูเม่ที่เหมา
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "อาจใช้เวลาสักครู่ขึ้นอยู่กับการตอบสนองของผู้ให้บริการ AI กรุณาอย่าปิดหน้าต่างหรือรีเฟรชหน้าเว็บ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "ข้อเสนอฉบับนี้ล้าสมัยแล้ว โปรดขอให้ผู้ช่วยสร้างข้อเสนอใหม่จากประวัติย่อล่าสุด"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "เรซูเม่นี้ถูกล็อกและไม่สามารถอัปเดตได้"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (ทวิตเตอร์)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "ใช่, Reactive Resume มีให้บริการหลายภาษา คุณสามารถเลือกภาษาที่คุณต้องการได้ในหน้าตั้งค่าหรือใช้ตัวสลับภาษาในมุมขวาบน หากคุณไม่เห็นภาษาของคุณ หรือหากคุณต้องการปรับปรุงคำแปลปัจจุบัน คุณสามารถ<0>ร่วมแปลบน Crowdin<1> (เปิดในแท็บใหม่)</1></0> ได้"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "ใช่! แม่แบบทุกแบบปรับแต่งได้เต็มที่ คุณสามารถเปลี่ยนสี ฟอนต์ ระยะห่าง และแม้แต่เขียน CSS เองเพื่อควบคุมรูปลักษณ์ของประวัติย่อคุณได้โดยสมบูรณ์."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "ใช่! Reactive Resume ใช้งานได้ฟรีโดยสมบูรณ์ ไม่มีค่าใช้จ่ายแอบแฝง ระดับพรีเมียม หรือค่าบริการรายเดือน เป็นโอเพนซอร์สและจะฟรีตลอดไป."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# öğe} other {# öğe}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} other {# rol}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} teklif incelendi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Kesinlikle! Özgeçmişinizi tek tıkla PDF'ye aktarabilirsiniz. Aktarılan PDF tüm biçim ve stillerinizi mükemmel bir şekilde korur."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Kabul etmek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Tümünü kabul et"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Kabul edilen teklif"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Özgeçmişlerinize ve verilerinize API aracılığıyla programlı olarak erişin."
|
||||
@@ -229,10 +246,38 @@ msgstr "Önce Satır Ekle"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Sonrasında"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "Yapay Zeka"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Yapay zeka entegrasyonu devre dışı bırakıldı"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Yapay zeka önerisi sunuldu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Yapay zeka önerisi reddedildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Yapay zeka önerileri sunuldu."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Yapay zekâ projeleri reddedildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Yapay Zeka Destekli Özgeçmiş Asistanı"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Arnavutça"
|
||||
@@ -367,10 +412,22 @@ msgstr "Çalışma alanı"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Yapay Zekâ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Hedeflenen özgeçmiş değişikliği talebinde bulunun..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Kademeli bir değişiklik talep edin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "En/Boy Oranı"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Asistan isteği başarısız oldu"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Temel Bilgiler"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Seçebileceğiniz güzel şablonlar, daha fazlası yolda."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Önce"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengalce"
|
||||
@@ -462,10 +523,6 @@ msgstr "Madde Listesi"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Topluluk tarafından topluluk için oluşturuldu."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Şablonları özelleştirebilir miyim?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Özgeçmişimi PDF olarak dışa aktarabilir miyim?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Temiz"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "İçe aktarmak için bir dosya seçmek üzere buraya tıklayın"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Yapay zeka asistanını kapat"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kod Bloğu"
|
||||
@@ -622,6 +687,10 @@ msgstr "Onayla"
|
||||
msgid "Connect"
|
||||
msgstr "Bağlan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Özgeçmiş düzenleme tekliflerini kullanmadan önce bir yapay zeka sağlayıcısıyla bağlantı kurun ve doğrulayın."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Bu gizli anahtarı kopyalayıp uygulamalarınızda verilerinize erişmek
|
||||
msgid "Copy URL"
|
||||
msgstr "URL'yi Kopyala"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Yapay zeka önerisi uygulanamadı."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Bağlantıyı Kes"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Azletmek"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Dökümantasyon"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Hesabınız yok mu? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Bağış yapmak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reaktif Özgeçmiş'e Bağış Yapın"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2FA'yı etkinleştir"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Yapay Zeka Özelliklerini Etkinleştir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Yapay zeka entegrasyonunu etkinleştirin"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "İki Faktörlü Kimlik Doğrulamayı Etkinleştir"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Buraya girilen her şey tarayıcınıza yerel olarak kaydedilir. Veriler
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Örnekler: özet bölümünü yeniden yazmak, deneyimle ilgili bir maddeyi kısaltmak, ölçütler eklemek veya özgeçmişi iş tanımına uyarlamak."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Tam Ekrandan Çık"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Daha fazla teklif eylemi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Taşı"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// ile başlamalıdır."
|
||||
msgid "Name"
|
||||
msgstr "İsim"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Gözden geçirilmesi gerekiyor"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepalce"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Yeni Şifre"
|
||||
msgid "New Section"
|
||||
msgstr "Yeni Bölüm"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Sonraki"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Reklam Yok, Takip Yok"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Devam Eden Bakım"
|
||||
msgid "Open"
|
||||
msgstr "Aç"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Açık yapay zeka asistanı"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "E-posta İstemcisini Aç"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Açık Entegrasyonlar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Entegrasyon Ayarlarını Açın"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Devam etmek için özgeçmişin sahibinin sizinle paylaştığı şifrey
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Bağlamak istediğiniz URL'yi girin:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Lütfen projeyi destekleyin."
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Pozisyon"
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Değişikliklere hazırlanmak"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Ön Ayarlar"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Mevcut anahtar kelimeyi eklemek veya kaydetmek için <0>{RETURN_KEY}</0>
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Açmak için <0>Enter</0> tuşuna basın"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Önceki"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Birincil Renk"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "İlerleme Çubuğu"
|
||||
msgid "Projects"
|
||||
msgstr "Projeler"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total}'in {0} numaralı teklifi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Özgeçmişinizi yetkisiz erişimden bir şifreyle koruyun"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Yayınlar"
|
||||
msgid "Publisher"
|
||||
msgstr "Yayınlayıcı"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Ham JSON Yaması"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Özgeçmiş - Ana sayfaya git"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume, sevgiyle yapılan ve benimle birlikte katkıda bulunanl
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume, özgeçmişinizi oluşturma, güncelleme ve paylaşma sürecini kolaylaştıran ücretsiz ve açık kaynaklı bir özgeçmiş oluşturucusudur."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume ücretsiz ve açık kaynaklıdır. Eğer size yardımcı olduysa, lütfen bağış yapmayı düşünün."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Özgeçmiş açık kaynaklı, gizliliğe önem veren ve tamamen ücretsizdir. Diğer özgeçmiş oluşturuculardan farklı olarak reklam göstermez, verilerinizi takip etmez veya özelliklerinizi bir ödeme duvarının arkasına gizlemez."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Yenile"
|
||||
msgid "Register New Device"
|
||||
msgstr "Yeni Cihaz Kaydetme"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Reddetmek"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Tümünü reddet"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Reddedilen teklif"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Şifrenizi hatırladınız mı? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Doğrulama e-postası tekrar gönderiliyor..."
|
||||
msgid "Reset"
|
||||
msgstr "Sıfırla"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Sohbeti sıfırla"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Şifrenizi sıfırlayın"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Şifreniz sıfırlanıyor..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Yeniden boyutlandırma yapay zeka asistanı"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Kaynaklar"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Özgeçmiş analizi tamamlandı."
|
||||
msgid "Resumes"
|
||||
msgstr "Özgeçmişler"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "İnceleme gerekli"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "İncelenen teklifler"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Sağa Hizala"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Seç..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker ile kendi kendine barındırma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Göndermek"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Şifre Sıfırlama E-postası Gönder"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Şifre sıfırlama e-postası gönderiliyor..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "İstek gönderiliyor"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Ayırıcı"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Yan panel ve temiz ızgara yerleşimine sahip tek sütun; her türlü pr
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Satır içi üç sütunlu giriş başlığına sahip tek sütun (pozisyon - organizasyon - nokta); kompakt ve ATS dostu, Asya özgeçmiş kuralları (CN/JP/KR) için çok uygun."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Tek sütunlu, büyük harfli bölüm başlıkları ve her sayfada ana renkte üst çizgi bulunan; yönetici, danışmanlık veya girişim özgeçmişleri için ideal."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Tek sütun; üst düzey veya kurumsal pozisyonlar için ciddi ve özenli."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "İstatistikler"
|
||||
msgid "Stay"
|
||||
msgstr "Kal"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Durmak"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Güçlü Yönler"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Metin Rengi"
|
||||
msgid "Thai"
|
||||
msgstr "Tayca"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Yapay zekanın önerdiği değişiklik artık bu özgeçmiş için geçerli değil."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Yapay zeka önizlemesi yapılamayan bir öneri sundu."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API anahtarı başarıyla silindi."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "API anahtarı silindikten sonra artık verilerinize erişemeyecektir. Bu işlem geri alınamaz."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Asistan, teklifi geri vermeden önce durdu."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Bu, özgeçmişiniz için URL dostu bir isimdir."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Bu, yapay zeka sağlayıcısının yanıtına bağlı olarak birkaç dakika sürebilir. Lütfen pencereyi kapatmayın veya sayfayı yenilemeyin."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Bu teklif güncelliğini yitirmiş. Asistandan en son özgeçmişten yola çıkarak yeniden oluşturmasını rica edin."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Bu özgeçmiş kilitli ve güncellenemez."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Evet, Reactive Özgeçmiş birçok dilde mevcuttur. Tercih ettiğiniz dili ayarlar sayfasından veya sağ üst köşedeki dil değiştiriciyi kullanarak seçebilirsiniz. Eğer dilinizi göremiyorsanız ya da mevcut çevirileri geliştirmek istiyorsanız, <0>Crowdin'de çevirilere katkıda bulunabilirsiniz<1> (yeni sekmede açılır)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Evet! Her şablon tamamen özelleştirilebilir. Renkleri, yazı tiplerini, aralığı değiştirebilir, hatta özgeçmişinizin görünümünü tamamen kontrol etmek için özel CSS yazabilirsiniz."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Evet! Reactive Resume tamamen ücretsizdir, gizli maliyetler, premium katmanlar veya abonelik ücretleri yoktur. Açık kaynaklıdır ve her zaman ücretsiz kalacaktır."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\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"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# елемент} few {# елементи} many {# ел
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# посада} few {# посади} many {# посад} other {# посади}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} пропозицій розглянуто"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Звісно! Ви можете експортувати своє резюме як PDF одним кліком. Експортований PDF ідеально відтворює ваше форматування і стилі."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Прийняти"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Прийняти все"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Прийнята пропозиція"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Отримуйте доступ до ваших резюме і даних за допомогою API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Додати Рядок Згори"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африканська"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Після"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "ШІ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Інтеграцію ШІ вимкнено"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Пропозицію штучного інтелекту застосовано."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Пропозицію щодо ШІ відхилено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Застосовані пропозиції ШІ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Пропозиції щодо штучного інтелекту відхилено."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Помічник зі штучним інтелектом для створення резюме"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албанська"
|
||||
@@ -367,10 +412,22 @@ msgstr "Освітня програма"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Штучний інтелект"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Попросіть про цілеспрямовану зміну резюме..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Попросіть про поступові зміни"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Пропорції"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Запит на доступ до Асистента не вдався"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Основне"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Гарні шаблони на вибір, і ще більше буде незабаром."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Раніше"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Бенгальська"
|
||||
@@ -462,10 +523,6 @@ msgstr "Маркірований список"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Спільнотою, для спільноти."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Чи можна налаштовувати шаблони?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Чи можу я експортувати своє резюме у PDF?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Чисто"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Натисніть тут, щоб вибрати файл для імпорту"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Закрити"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Закрити помічника зі штучним інтелектом"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Блок коду"
|
||||
@@ -622,6 +687,10 @@ msgstr "Підтвердити"
|
||||
msgid "Connect"
|
||||
msgstr "Підключити"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Підключіть та перевірте постачальника послуг штучного інтелекту, перш ніж використовувати пропозиції редагування резюме."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Скопіюйте цей секретний ключ та викори
|
||||
msgid "Copy URL"
|
||||
msgstr "Скопіювати URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Не вдалося застосувати пропозицію штучного інтелекту."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Від'єднати"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Відхилити"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Документація"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Немає облікового запису? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Пожертвувати"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Пожертвувати на Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Увімкнути 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Увімкнути функції ШІ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Увімкнути інтеграцію штучного інтелекту"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Увімкнути двофакторну автентифікацію"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Приклади: переписати резюме, скоротити один пункт про досвід, додати показники або адаптувати резюме до опису вакансії."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Вийти з повноекранного режиму"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Більше дій з пропозиціями"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Перемістити до"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Почніть з https://"
|
||||
msgid "Name"
|
||||
msgstr "Назва"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Потребує перегляду"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Непальська"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Новий пароль"
|
||||
msgid "New Section"
|
||||
msgstr "Нова секція"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Далі"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Без реклами, без відстеження"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Поточне обслуговування"
|
||||
msgid "Open"
|
||||
msgstr "Відкрити"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Відкритий помічник зі штучним інтелектом"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Відкрити поштовий клієнт"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Відкриті інтеграції"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Відкрити налаштування інтеграції"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Будь ласка, введіть пароль, яким з вами
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Будь ласка, введіть URL-адресу, на яку хочете зробити посилання:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Будь ласка, підтримайте проєкт"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Посада"
|
||||
msgid "Preferences"
|
||||
msgstr "Налаштування"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Підготовка змін"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Пресети"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Натисніть <0>{RETURN_KEY}</0> або <1>{COMMA_KEY}</1>, щоб
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Натисніть <0>Enter</0>, щоб відкрити"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Попередній"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Основний колір"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Індикатор прогресу"
|
||||
msgid "Projects"
|
||||
msgstr "Проєкти"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Пропозиція {0} з {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Захистіть своє резюме від несанкціонованого доступу за допомогою пароля"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Публікації"
|
||||
msgid "Publisher"
|
||||
msgstr "Видавець"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Патч необробленого JSON"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume – перейти на головну сторінку"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume — це безкоштовний проєкт з від
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume — це безкоштовний та відкритий конструктор резюме, що спрощує процес створення, оновлення й поширення вашого резюме."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume — безкоштовний ресурс з відкритим вихідним кодом. Якщо він вам допоміг, будь ласка, подумайте про пожертвування."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume є open-source, орієнтована на приватність і повністю безкоштовна. На відміну від інших редакторів резюме, вона не показує рекламу, не відстежує ваші дані і не обмежує функції за оплатою."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Оновити"
|
||||
msgid "Register New Device"
|
||||
msgstr "Зареєструвати новий пристрій"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Відхилити"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Відхилити все"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Відхилена пропозиція"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Пригадали пароль? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Повторна відправка листа для підтвердж
|
||||
msgid "Reset"
|
||||
msgstr "Скинути"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Скинути чат"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Скинути пароль"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Скидання пароля..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Змінити розмір помічника зі штучним інтелектом"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Ресурси"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Аналіз резюме завершено."
|
||||
msgid "Resumes"
|
||||
msgstr "Резюме"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Потрібна перевірка"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Переглянуті пропозиції"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Вирівняти праворуч"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Вибрати..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Самостійний хостинг з Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Надіслати"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Надіслати лист для скидання пароля"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Відправка листа для скидання пароля..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Надсилання запиту"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Роздільник"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Одна колонка з бічною панеллю та чіткою
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Одноколонковий з вбудованим триколонковим заголовком (посада - організація - період); компактний і зручний для ATS, добре підходить для азіатських конвенцій резюме (CN/JP/KR)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Одноколонцевий формат із заголовками розділів великими літерами та верхньою лінією основного кольору на кожній сторінці; ідеально підходить для резюме керівників, консалтингових компаній або стартапів."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Одна колонка; акуратно й серйозно для старших або корпоративних посад."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Статистика"
|
||||
msgid "Stay"
|
||||
msgstr "Залишитись"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "СТІЙ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Сильні сторони"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Колір тексту"
|
||||
msgid "Thai"
|
||||
msgstr "Тайська"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Штучний інтелект запропонував зміну, яка більше не застосовується до цього резюме."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Штучний інтелект повернув пропозицію, яку неможливо було переглянути."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API-ключ було успішно видалено."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Після видалення API-ключ більше не зможе отримувати доступ до ваших даних. Цю дію неможливо скасувати."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Помічник зупинився, перш ніж повернути пропозицію."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Це ім'я вашого резюме, пристосоване для
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Це може зайняти кілька хвилин, залежно від відповіді AI-провайдера. Будь ласка, не закривайте вікно і не оновлюйте сторінку."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Ця пропозиція застаріла. Попросіть асистента створити її заново з останнього резюме."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Це резюме заблоковано і не може бути оновлене."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "Х (Твіттер)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Так, Reactive Resume доступна багатьма мовами. Ви можете обрати бажану мову на сторінці налаштувань або через перемикач мови у верхньому правому кутку. Якщо ви не бачите своєї мови або хочете покращити існуючий переклад, ви можете <0>долучитися до перекладу на Crowdin<1> (відкриється у новій вкладці)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Так! Кожен шаблон повністю налаштовується. Ви можете змінювати кольори, шрифти, відступи та навіть писати власний CSS, щоб повністю контролювати вигляд вашого резюме."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Так! Reactive Resume повністю безкоштовний у використанні, без прихованих платежів, преміум тарифів чи підписок. Це відкрите програмне забезпечення, яке завжди залишатиметься безкоштовним."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uz\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Uzbek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, one {# element} other {# elementlar}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# rol} other {# rol}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} takliflar ko'rib chiqildi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Albatta! Tarjimai holingizni bir marta bosish bilan PDF formatiga eksport qilishingiz mumkin. Eksport qilingan PDF sizning barcha format va uslublaringizni to‘liq saqlab qoladi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Qabul qilish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Hammasini qabul qilish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Qabul qilingan taklif"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Tarjimai hollaringiz va ma'lumotlaringizdan API orqali dasturiy ravishda foydalaning."
|
||||
@@ -229,10 +246,38 @@ msgstr "Qatordan oldin qator qo‘shish"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Keyin"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "SO"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Sun'iy intellekt integratsiyasi o'chirilgan"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Sun'iy intellekt taklifi qo'llanildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Sun'iy intellekt bo'yicha taklif rad etildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Sun'iy intellekt bo'yicha takliflar qo'llanildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Sun'iy intellekt bo'yicha takliflar rad etildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Sun'iy intellekt rezyume yordamchisi"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Alban tili"
|
||||
@@ -367,10 +412,22 @@ msgstr "Ta'lim sohasi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Sun'iy intellekt"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Maqsadli rezyumeni o'zgartirishni so'rang..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Bosqichma-bosqich o'zgarishni so'rang"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tomonlar nisbati"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Yordamchi so'rovi bajarilmadi"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Asoslar"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Goʻzal shablonlar tanlang, yana koʻplari yoʻlda."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Oldin"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Bengal tili"
|
||||
@@ -462,10 +523,6 @@ msgstr "Nuqta roʻyxati"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Jamiyat tomonidan, jamiyat uchun."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Shablonlarni moslashtira olamanmi?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Rezyumeni PDF ga eksport qila olamanmi?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Tiniq"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Import qilish uchun faylni tanlash uchun shu yerni bosing"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Yopish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Sun'iy intellekt yordamchisini yopish"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Kod bloki"
|
||||
@@ -622,6 +687,10 @@ msgstr "Tasdiqlash"
|
||||
msgid "Connect"
|
||||
msgstr "Ulanish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Rezyume tahrirlash takliflaridan foydalanishdan oldin AI provayderiga ulaning va tasdiqlang."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Ushbu maxfiy kalitni nusxalab, maʼlumotlaringizga kirish uchun ilovalar
|
||||
msgid "Copy URL"
|
||||
msgstr "URL-ni nusxalash"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Sun'iy intellekt taklifini qo'llab bo'lmadi."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Uzib qo‘yish"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Bekor qilish"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Hujjatlar"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Hisobingiz yoʻqmi? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Xayriya qiling"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Reactive Resume'ga xayriya qiling"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "2BShT (2FA) ni yoqish"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "AI xususiyatlarini yoqish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Sun'iy intellekt integratsiyasini yoqish"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Ikki bosqichli autentifikatsiyani yoqish"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Bu yerga kiritilgan barcha ma'lumotlar faqat brauzeringizda lokal saqlan
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Misollar: xulosani qayta yozish, bitta tajriba bandini qisqartirish, ko'rsatkichlarni qo'shish yoki rezyumeni ish tavsifiga moslashtirish."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Toʻliq ekrandan chiqish"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Ko'proq takliflar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "...ga ko'chirish"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "https:// bilan boshlanishi kerak."
|
||||
msgid "Name"
|
||||
msgstr "Ism"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Ko'rib chiqish kerak"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepal tili"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Yangi parol"
|
||||
msgid "New Section"
|
||||
msgstr "Yangi bo'lim"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Keyingi"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Reklamasiz, kuzatuvsiz"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Doimiy texnik xizmat ko‘rsatish"
|
||||
msgid "Open"
|
||||
msgstr "Ochiq"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Ochiq AI yordamchisi"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Pochta dasturini ochish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Ochiq integratsiyalar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Integratsiyalar sozlamalarini oching"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Davom etish uchun, rezyume egasi siz bilan baham ko'rgan parolni kiritin
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Havola qilmoqchi bo'lgan URL manzilini kiriting:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Iltimos, loyihani qo'llab-quvvatlang"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Lavozim"
|
||||
msgid "Preferences"
|
||||
msgstr "Afzalliklar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "O'zgarishlarni tayyorlash"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Oldindan sozlamalar"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Joriy kalit soʻzni qoʻshish yoki saqlash uchun <0>{RETURN_KEY}</0> yok
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Ochish uchun <0>Enter tugmasini</0> bosing"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Oldingi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Asosiy rang"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Progres paneli"
|
||||
msgid "Projects"
|
||||
msgstr "Loyihalar"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "{total} taklifidan {0}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Rezyumeni ruxsatsiz kirishdan parol orqali himoya qiling"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Nashrlar"
|
||||
msgid "Publisher"
|
||||
msgstr "Nashriyotchi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Xom JSON yamoq"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - Bosh sahifaga o'tish"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume bu bepul va ochiq kodli loyiha bo‘lib, muhabbat bilan
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume bu bepul va ochiq kodli rezyume tuzuvchi bo‘lib, rezyumeingizni yaratish, yangilash va ulashish jarayonini soddalashtiradi."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume bepul va ochiq kodli. Agar u sizga yordam bergan bo'lsa, iltimos, xayriya qilishni ko'rib chiqing."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume ochiq manbali, maxfiylikka yo'naltirilgan va butunlay bepul. Boshqa rezume tuzuvchilardan farqli o'laroq, u reklamalarni ko'rsatmaydi, ma'lumotlaringizni kuzatmaydi yoki funksiyalarni to'lov devori ortida cheklamaydi."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Yangilash"
|
||||
msgid "Register New Device"
|
||||
msgstr "Yangi qurilmani ro'yxatdan o'tkazish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Rad etish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Hammasini rad etish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Rad etilgan taklif"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Parolingizni eslaysizmi? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Tasdiqlash xati qayta yuborilmoqda..."
|
||||
msgid "Reset"
|
||||
msgstr "Tiklash"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Chatni qayta tiklash"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Parolingizni tiklang"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Parolingiz tiklanmoqda..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Sun'iy intellekt yordamchisining o'lchamini o'zgartirish"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Resurslar"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Rezyume tahlili yakunlandi."
|
||||
msgid "Resumes"
|
||||
msgstr "Rezyumelar"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Ko'rib chiqish talab qilinadi"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Ko'rib chiqilgan takliflar"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "O‘ngga hizalash"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Tanlang..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Docker bilan mustaqil joylashtirish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Yuborish"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Parolni tiklash uchun email jo‘natish"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Parol tiklash uchun email yuborilmoqda..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "So'rov yuborilmoqda"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Ajratgich"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Yon panel va toza tarmoq maketi bilan bir ustunli; har qanday kasbiy yok
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Bir ustunli, satr ichida uch ustunli kirish sarlavhasi (lavozim · tashkilot · davr); ixcham va ATSga mos, Osiyo rezyume an'analari (Xitoy/Yaponiya/Janubiy Koreya) uchun juda qulay."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Har bir sahifada bosh harflar bilan yozilgan bo'lim sarlavhalari va asosiy rangdagi yuqori qoidasi bo'lgan bitta ustunli; rahbariyat, konsalting yoki startap rezyumelari uchun sayqallangan."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Bir ustunli; sayqallangan va jiddiy, yuqori darajali yoki korporativ lavozimlar uchun."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Statistika"
|
||||
msgid "Stay"
|
||||
msgstr "Qolish"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "STOP"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Kuchli tomonlari"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Matn rangi"
|
||||
msgid "Thai"
|
||||
msgstr "Tay tili"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "AI endi ushbu rezyumega taalluqli bo'lmagan o'zgartirishni taklif qildi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Sun'iy intellekt oldindan ko'rib chiqilmagan taklifni qaytardi."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API kaliti muvaffaqiyatli oʻchirildi."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Oʻchirilgandan soʻng API kaliti endi maʼlumotlaringizga kira olmaydi. Bu amalni bekor qilib boʻlmaydi."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Yordamchi taklifni qaytarishdan oldin to'xtadi."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Bu rezyume uchun URL uchun qulay ism."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Bu AI provayderining javobiga qarab bir necha daqiqa davom etishi mumkin. Iltimos, oynani yoping yoki sahifani yangilamang."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Bu taklif eskirgan. Yordamchidan uni so'nggi rezyumedan qayta yaratishini so'rang."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Ushbu rezyume bloklangan va yangilab boʻlmaydi."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Ha, Reactive Resume bir nechta tillarda mavjud. Siz sozlamalar sahifasida yoki yuqori o'ng burchakdagi til almashtirgich yordamida o'zingizga qulay tilni tanlashingiz mumkin. Agar tilingiz ro'yxatda bo'lmasa yoki mavjud tarjimalarni yaxshilashni istasangiz, <0>Crowdin'da tarjimalarga hissa qo'shishingiz mumkin<1> (yangi tabda ochiladi)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Ha! Har bir shablonni to‘liq moslashtirish mumkin. Ranglar, shriftlar, oraliqlarni o‘zgartirishingiz yoki rezyumening ko‘rinishini to‘liq boshqarish uchun o‘zingiz CSS yozishingiz mumkin."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Ha! Reactive Resume’dan foydalanish butunlay bepul — yashirin toʻlovlar, premium darajalar yoki obuna haqqi yoʻq. Ochiq kodli va har doim bepul boʻlib qoladi."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:02\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# mục}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, one {# vai trò} other {# vai trò}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} đề xuất đã được xem xét"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "Khổ giấy A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "Chắc chắn rồi! Bạn có thể xuất sơ yếu lý lịch của mình sang PDF chỉ với một cú nhấp chuột. Tệp PDF được xuất sẽ giữ nguyên mọi định dạng và kiểu trình bày của bạn một cách hoàn hảo."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "Chấp nhận"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "Chấp nhận tất cả"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "Đề xuất được chấp nhận"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "Truy cập sơ yếu lý lịch và dữ liệu của bạn một cách tự động qua API."
|
||||
@@ -229,10 +246,38 @@ msgstr "Thêm dòng trước"
|
||||
msgid "Afrikaans"
|
||||
msgstr "Tiếng Afrikaans"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "Sau đó"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "Tính năng tích hợp AI đã bị vô hiệu hóa."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "Đề xuất về trí tuệ nhân tạo đã được chấp nhận."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "Đề xuất về trí tuệ nhân tạo bị bác bỏ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "Các đề xuất về trí tuệ nhân tạo đã được áp dụng."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "Các đề xuất về trí tuệ nhân tạo bị bác bỏ."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "Trợ lý sơ yếu lý lịch AI"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Tiếng Albania"
|
||||
@@ -367,10 +412,22 @@ msgstr "Lĩnh vực học tập"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Trí tuệ nhân tạo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "Hãy yêu cầu chỉnh sửa sơ yếu lý lịch sao cho phù hợp..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "Hãy yêu cầu thay đổi từng bước."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tỷ lệ khung hình"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "Yêu cầu trợ lý đã thất bại"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "Cơ bản"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "Các mẫu đẹp để lựa chọn, sẽ còn cập nhật thêm trong tương lai."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "Trước"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "Tiếng Bengal"
|
||||
@@ -462,10 +523,6 @@ msgstr "Danh sách chấm tròn"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "Bởi cộng đồng, vì cộng đồng."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "Tôi có thể tùy chỉnh mẫu không?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "Tôi có thể xuất sơ yếu lý lịch của mình ra PDF không?"
|
||||
@@ -576,6 +633,14 @@ msgstr "Xóa"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "Nhấn vào đây để chọn file cần nhập khẩu"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "Trợ lý AI gần gũi"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "Khối mã"
|
||||
@@ -622,6 +687,10 @@ msgstr "Xác nhận"
|
||||
msgid "Connect"
|
||||
msgstr "Kết nối"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "Hãy kết nối và xác minh nhà cung cấp AI trước khi sử dụng các đề xuất chỉnh sửa sơ yếu lý lịch."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "Sao chép khóa bí mật này và sử dụng trong ứng dụng của
|
||||
msgid "Copy URL"
|
||||
msgstr "Sao chép URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "Không thể áp dụng đề xuất về trí tuệ nhân tạo."
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "Ngắt kết nối"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "Miễn nhiệm"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "Tài liệu"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "Chưa có tài khoản? <0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "Quyên tặng"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "Đóng góp cho Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "Bật xác thực 2FA"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "Bật Tính năng AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "Kích hoạt tích hợp AI"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "Bật xác thực hai yếu tố"
|
||||
@@ -1162,6 +1247,10 @@ msgstr "Tất cả thông tin điền ở đây đều được lưu cục bộ
|
||||
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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "Ví dụ: viết lại phần tóm tắt, rút gọn một gạch đầu dòng kinh nghiệm, thêm số liệu thống kê, hoặc điều chỉnh sơ yếu lý lịch cho phù hợp với mô tả công việc."
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Thoát toàn màn hình"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "Mô hình"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "Thêm các hành động đề xuất"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "Chuyển đến"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "Phải bắt đầu bằng https://"
|
||||
msgid "Name"
|
||||
msgstr "Tên"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "Cần xem xét lại"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "Nepali"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "Mật khẩu mới"
|
||||
msgid "New Section"
|
||||
msgstr "Phần mới"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "Tiếp theo"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "Không quảng cáo, không theo dõi"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "Bảo trì liên tục"
|
||||
msgid "Open"
|
||||
msgstr "Mở"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "Trợ lý AI mở"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "Mở ứng dụng Email"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "Tích hợp mở"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "Mở Cài đặt tích hợp"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "Vui lòng nhập mật khẩu được chủ sở hữu sơ yếu lý l
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "Vui lòng nhập URL bạn muốn liên kết đến:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "Hãy ủng hộ dự án!"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "Vị trí"
|
||||
msgid "Preferences"
|
||||
msgstr "Tùy chọn"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "Chuẩn bị thay đổi"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "Cài đặt sẵn"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "Nhấn <0>{RETURN_KEY}</0> hoặc <1>{COMMA_KEY}</1> để thêm hoặc
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "Nhấn <0>phím Enter</0> để mở"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "Trước đó"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "Màu chủ đạo"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "Thanh tiến trình"
|
||||
msgid "Projects"
|
||||
msgstr "Dự án"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "Đề xuất {0} của {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "Bảo vệ sơ yếu lý lịch của bạn khỏi truy cập trái phép bằng mật khẩu"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "Ấn phẩm"
|
||||
msgid "Publisher"
|
||||
msgstr "Nhà xuất bản"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "Bản vá JSON thô"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Resume Phản Ứng - Về trang chủ"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume là một dự án mã nguồn mở & miễn phí, đư
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume là trình tạo sơ yếu lý lịch mã nguồn mở & miễn phí, giúp đơn giản hóa quá trình tạo, cập nhật và chia sẻ sơ yếu lý lịch của bạn."
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume là phần mềm mã nguồn mở miễn phí. Nếu thấy hữu ích, xin vui lòng xem xét quyên góp."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Resume Phản Ứng là mã nguồn mở, tập trung vào quyền riêng tư và hoàn toàn miễn phí. Khác với các trình tạo hồ sơ khác, nó không hiển thị quảng cáo, không theo dõi dữ liệu của bạn, và không giới hạn tính năng đằng sau tường phí."
|
||||
@@ -2380,6 +2514,18 @@ msgstr "Làm mới"
|
||||
msgid "Register New Device"
|
||||
msgstr "Đăng ký thiết bị mới"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "Từ chối"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "Từ chối tất cả"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "Đề xuất bị từ chối"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "Nhớ mật khẩu? <0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "Đang gửi lại email xác minh..."
|
||||
msgid "Reset"
|
||||
msgstr "Thiết lập lại"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "Đặt lại cuộc trò chuyện"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "Đặt lại mật khẩu"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "Đang đặt lại mật khẩu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "Trợ lý AI thay đổi kích thước"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "Tài nguyên"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "Việc phân tích sơ yếu lý lịch đã hoàn tất."
|
||||
msgid "Resumes"
|
||||
msgstr "Sơ yếu lý lịch"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "Cần xem xét"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "Đề xuất đã được xem xét"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "Căn phải"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "Chọn..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "Tự dựng với Docker"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "Gửi"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "Gửi email đặt lại mật khẩu"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "Đang gửi email đặt lại mật khẩu..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "Gửi yêu cầu"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "Dấu phân cách"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "Một cột với thanh bên và lưới bố cục sạch sẽ; linh ho
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "Mẫu một cột với phần tiêu đề ba cột nằm trong cùng một dòng (vị trí · tổ chức · thời gian); thiết kế gọn gàng và phù hợp với định dạng ATS, rất thích hợp với các quy tắc viết sơ yếu lý lịch ở châu Á (Trung Quốc/Nhật Bản/Hàn Quốc)."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "Sơ yếu lý lịch một cột với tiêu đề phần viết hoa và đường kẻ màu chủ đạo ở đầu mỗi trang; được thiết kế chuyên nghiệp, phù hợp cho các vị trí quản lý cấp cao, tư vấn hoặc khởi nghiệp."
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "Một cột; chỉnh chu và nghiêm túc cho vị trí cấp cao hoặc doanh nghiệp."
|
||||
@@ -2808,6 +2982,10 @@ msgstr "Thống kê"
|
||||
msgid "Stay"
|
||||
msgstr "Ở lại"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "Dừng lại"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "Điểm mạnh"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "Màu chữ"
|
||||
msgid "Thai"
|
||||
msgstr "Thái"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "Trí tuệ nhân tạo (AI) đã đề xuất một thay đổi mà hiện không còn áp dụng cho sơ yếu lý lịch này nữa."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "Trí tuệ nhân tạo đã đưa ra một đề xuất không thể xem trước."
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "Khóa API đã được xóa thành công."
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "Khóa API sẽ không còn có thể truy cập dữ liệu của bạn sau khi xóa. Hành động này không thể hoàn tác."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "Người trợ lý dừng lại trước khi trả lời đề xuất."
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "Đây là tên thân thiện với URL cho hồ sơ của bạn."
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "Sẽ mất vài phút, tùy thuộc vào tốc độ phản hồi của nhà cung cấp AI. Vui lòng không đóng cửa sổ hoặc làm mới trang."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "Đề xuất này đã lỗi thời. Hãy yêu cầu trợ lý tạo lại đề xuất này từ sơ yếu lý lịch mới nhất."
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "Hồ sơ này đã bị khóa và không thể cập nhật."
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X (Twitter)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "Vâng, Resume Phản Ứng có sẵn bằng nhiều ngôn ngữ. Bạn có thể chọn ngôn ngữ ưa thích ở trang cài đặt, hoặc dùng bộ chuyển đổi ngôn ngữ ở góc trên cùng bên phải. Nếu bạn không thấy ngôn ngữ của mình, hoặc muốn cải thiện bản dịch hiện tại, bạn có thể <0>đóng góp dịch thuật trên Crowdin<1> (mở ở tab mới)</1></0>."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "Đúng vậy! Mỗi mẫu đều tùy chỉnh hoàn toàn. Bạn có thể thay đổi màu sắc, phông chữ, giãn cách, và thậm chí viết CSS riêng để kiểm soát đầy đủ giao diện resume của bạn."
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "Đúng vậy! Reactive Resume hoàn toàn miễn phí, không có chi phí ẩn, gói trả phí hoặc phí đăng ký. Nó là mã nguồn mở và sẽ luôn miễn phí."
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# 项}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, other {# 个职位}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} 提案已审核"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "当然可以!你只需点击一下即可将简历导出为 PDF。导出的 PDF 会完美保留你所有的排版与样式。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "接受"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "接受所有"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "提案已接受"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "使用 API 以编程方式访问你的简历和数据。"
|
||||
@@ -229,10 +246,38 @@ msgstr "在前面添加行"
|
||||
msgid "Afrikaans"
|
||||
msgstr "南非语"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "后"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI(人工智能)"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI集成已禁用"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "人工智能方案已提交。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "人工智能提案被驳回。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "人工智能方案已提交。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "人工智能提案被驳回。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI简历助手"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "阿尔巴尼亚语"
|
||||
@@ -367,10 +412,22 @@ msgstr "学习领域"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工智能"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "要求对简历进行针对性修改……"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "要求逐步改变"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "宽高比"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "助理请求失败"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "基础"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "提供多款精美模板供你选择,并且还会不断增加。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "前"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "孟加拉语"
|
||||
@@ -462,10 +523,6 @@ msgstr "项目符号列表"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "由社群贡献,为社群服务。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "我可以自定义模板吗?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "我可以把简历导出为 PDF 吗?"
|
||||
@@ -576,6 +633,14 @@ msgstr "清晰"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "点击此处选择要导入的文件"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "近距离人工智能助手"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "代码块"
|
||||
@@ -622,6 +687,10 @@ msgstr "确认"
|
||||
msgid "Connect"
|
||||
msgstr "连接"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "在使用简历编辑服务前,请先联系并验证人工智能服务提供商的身份。"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "复制此密钥,并在你的应用程序中使用它来访问你的数
|
||||
msgid "Copy URL"
|
||||
msgstr "复制 URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "无法应用人工智能方案。"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "断开连接"
|
||||
msgid "Discord"
|
||||
msgstr "Discord 频道"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "解雇"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "文档"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "没有账户?<0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "捐"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "为 Reactive Resume 捐款"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "启用 2FA 双重身份验证"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "启用 AI 功能"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "启用人工智能集成"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "启用双重身份认证"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "例如:重写简历摘要,精简一项经验要点,添加指标,或根据职位描述调整简历。"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "退出全屏"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "模型"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "更多提案行动"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "移动到"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "必须从 https:// 开始"
|
||||
msgid "Name"
|
||||
msgstr "姓名"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "需要审查"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "尼泊尔语"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "新密码"
|
||||
msgid "New Section"
|
||||
msgstr "新章节"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "下一页"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "无广告,无跟踪"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "持续维护"
|
||||
msgid "Open"
|
||||
msgstr "打开"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "OpenAI助手"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "打开邮件客户端"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "开放式集成"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "打开集成设置"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "请输入简历所有者与你共享的密码以继续。"
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "请输入你想要链接到的 URL:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "请支持这个项目"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "职位"
|
||||
msgid "Preferences"
|
||||
msgstr "偏好设置"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "准备变更"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "预设"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "按下<0>{RETURN_KEY}</0>或<1>{COMMA_KEY}</1>以添加或保存当前
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "按<0>Enter 键</0>打开"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "上一页"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "主颜色"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "进度条"
|
||||
msgid "Projects"
|
||||
msgstr "项目"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "提案 {0} 的 {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "使用密码保护你的简历,防止未经授权的访问"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "出版物"
|
||||
msgid "Publisher"
|
||||
msgstr "发布者"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "原始 JSON 补丁"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - 返回首页"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume 是一个免费开源的项目,满怀热情打造,
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume 是一款免费开源的简历生成器,可简化创建、更新和分享简历的过程。"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume 是免费开源的。如果它对您有所帮助,请考虑捐赠。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 是开源、注重隐私且完全免费的。与其他简历生成器不同,它不会展示广告、跟踪你的数据,也不会把功能锁在付费墙后面。"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "刷新"
|
||||
msgid "Register New Device"
|
||||
msgstr "注册新设备"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "拒绝"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "全部拒绝"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "提案被否决"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "记得密码?<0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "正在重新发送验证邮件…"
|
||||
msgid "Reset"
|
||||
msgstr "重置"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "重置聊天"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "重置密码"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "正在重置你的密码…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "调整大小 AI 助手"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "资源"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "简历分析完毕。"
|
||||
msgid "Resumes"
|
||||
msgstr "简历"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "需要审核"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "已审核提案"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "右对齐"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "选择..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "使用 Docker 自托管"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "发送"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "发送密码重置邮件"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "正在发送密码重置邮件…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "发送请求"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "分隔线"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "单栏布局,带侧边栏和干净的网格排版;用途广泛,适
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "单栏,内嵌三栏条目标题(职位--组织--句号);结构紧凑,便于 ATS 使用,非常适合亚洲简历惯例(CN/JP/KR)。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "单栏格式,每页标题采用大写字母,顶部有主色线条;专为高管、咨询顾问或创业公司简历而设计。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "单栏布局;风格精致严肃,适合高级或企业级职位。"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "统计数据"
|
||||
msgid "Stay"
|
||||
msgstr "留下"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "优势"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "文本颜色"
|
||||
msgid "Thai"
|
||||
msgstr "泰语"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "人工智能提出的修改建议不再适用于这份简历。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "人工智能返回的方案无法预览。"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API key 已成功删除。"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "删除后,该 API key 将无法再访问你的数据。此操作不可撤销。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "助理在递交提案前停了下来。"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "这是一个适合放在 URL 中的简历名称。"
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "这可能需要几分钟时间,具体取决于 AI 服务提供商的响应速度。请不要关闭窗口或刷新页面。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "这份提案已经过时了。请助理根据最新的简历重新生成一份。"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "这份简历已被锁定,无法更新。"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X(推特)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "是的,Reactive Resume 支持多种语言。你可以在设置页面或右上角的语言切换器中选择你偏好的语言。如果没有找到你的语言,或者你想改进现有翻译,可以<0>在 Crowdin 上参与翻译<1>(在新标签页中打开)</1></0>。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "当然!每个模板都完全可定制。你可以更改颜色、字体、间距,甚至编写自定义 CSS,全面掌控简历的外观。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "当然!Reactive Resume 完全免费使用,没有任何隐藏费用、高级套餐或订阅费。它是开源项目,并将永远保持免费。"
|
||||
|
||||
+200
-9
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-05-08 11:01\n"
|
||||
"PO-Revision-Date: 2026-05-13 06:07\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -48,6 +48,11 @@ msgstr "{0, plural, other {# 個項目}}"
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr "{0, plural, other {# 個職位}}"
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr "{0} 提案已審核"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -119,6 +124,18 @@ msgstr "A4"
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr "當然可以!您只要按一下即可將履歷匯出為 PDF。匯出的 PDF 會完整保留所有格式與樣式。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr "接受"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr "接受所有"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr "提案已接受"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr "使用 API 以程式化方式存取您的履歷與資料。"
|
||||
@@ -229,10 +246,38 @@ msgstr "在前方新增列"
|
||||
msgid "Afrikaans"
|
||||
msgstr "南非荷蘭語"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr "後"
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr "AI整合已停用"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr "人工智慧方案已提交。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr "人工智慧提案被駁回。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr "人工智慧方案已提交。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr "人工智慧提案被駁回。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr "AI履歷助理"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "阿爾巴尼亞語"
|
||||
@@ -367,10 +412,22 @@ msgstr "學習領域"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工智慧"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr "要求對履歷進行針對性修改…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr "要求逐步改變"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "顯示比例"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr "助理請求失敗"
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -421,6 +478,10 @@ msgstr "基本資料"
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr "提供多款精美範本供您選擇,並持續增加中。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr "前"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr "孟加拉語"
|
||||
@@ -462,10 +523,6 @@ msgstr "項目符號清單"
|
||||
msgid "By the community, for the community."
|
||||
msgstr "來自社區,服務社區。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr "我可以自訂範本嗎?"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr "我可以把履歷匯出成 PDF 嗎?"
|
||||
@@ -576,6 +633,14 @@ msgstr "清除"
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr "按這裡選擇要匯入的檔案"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr "近距離人工智慧助手"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr "程式碼區塊"
|
||||
@@ -622,6 +687,10 @@ msgstr "確認"
|
||||
msgid "Connect"
|
||||
msgstr "連結"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr "在使用履歷編輯服務前,請先聯絡並驗證人工智慧服務提供者的身份。"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -669,6 +738,10 @@ msgstr "複製這組私密金鑰,並在您的應用程式中使用它來存取
|
||||
msgid "Copy URL"
|
||||
msgstr "複製 URL"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr "無法應用人工智慧方案。"
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -961,6 +1034,10 @@ msgstr "中斷連結"
|
||||
msgid "Discord"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr "解僱"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -970,6 +1047,10 @@ msgstr "文件"
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr "沒有帳戶?<0/>"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr "捐"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr "捐助 Reactive Resume"
|
||||
@@ -1094,6 +1175,10 @@ msgstr "啟用雙因子驗證"
|
||||
msgid "Enable AI Features"
|
||||
msgstr "啟用 AI 功能"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr "啟用人工智慧集成"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr "啟用雙因子驗證"
|
||||
@@ -1162,6 +1247,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr "例如:重寫履歷摘要,精簡一項經驗要點,新增指標,或根據職位描述調整履歷。"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "退出全螢幕"
|
||||
@@ -1956,6 +2045,10 @@ msgstr "Microsoft Word"
|
||||
msgid "Model"
|
||||
msgstr "模型"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr "更多提案行動"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr "移動到"
|
||||
@@ -1982,6 +2075,10 @@ msgstr "必須從 https:// 開始"
|
||||
msgid "Name"
|
||||
msgstr "名稱"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr "需要審查"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr "尼泊爾語"
|
||||
@@ -2012,6 +2109,10 @@ msgstr "新密碼"
|
||||
msgid "New Section"
|
||||
msgstr "新段落"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr "下一頁"
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr "無廣告、無追蹤"
|
||||
@@ -2061,11 +2162,19 @@ msgstr "持續維護"
|
||||
msgid "Open"
|
||||
msgstr "開啟"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr "OpenAI助手"
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr "開啟電子郵件用戶端"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr "開放式集成"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr "開啟整合設定"
|
||||
@@ -2219,6 +2328,10 @@ msgstr "請輸入履歷擁有者提供給您的密碼以繼續。"
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr "請輸入您要連結的 URL:"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr "請支持這個項目"
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2254,6 +2367,10 @@ msgstr "職位"
|
||||
msgid "Preferences"
|
||||
msgstr "偏好設定"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr "準備變更"
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr "預設值"
|
||||
@@ -2267,6 +2384,10 @@ msgstr "請按下 <0>{RETURN_KEY}</0> 或 <1>{COMMA_KEY}</1> 來新增或儲存
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr "按<0>Enter</0>開啟"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr "上一頁"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr "主要顏色"
|
||||
@@ -2297,6 +2418,11 @@ msgstr "進度條"
|
||||
msgid "Projects"
|
||||
msgstr "專案"
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr "提案 {0} 的 {total}"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr "使用密碼保護履歷,避免未經授權的存取"
|
||||
@@ -2319,6 +2445,10 @@ msgstr "出版品"
|
||||
msgid "Publisher"
|
||||
msgstr "出版者"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr "原始 JSON 補丁"
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr "Reactive Resume - 前往首頁"
|
||||
@@ -2340,6 +2470,10 @@ msgstr "Reactive Resume 是一個免費且開放原始碼的專案,包含創
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr "Reactive Resume 是一個免費且開放原始碼的履歷建立工具,可簡化建立、更新及分享履歷的程序。"
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr "Reactive Resume 是免費開源的。如果它對您有所幫助,請考慮捐贈。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume 是開放原始碼、重視隱私且完全免費的工具。與其他履歷建立工具不同,它不會顯示廣告、不追蹤您的資料,也不會把功能鎖在付費牆後面。"
|
||||
@@ -2380,6 +2514,18 @@ msgstr "重新整理"
|
||||
msgid "Register New Device"
|
||||
msgstr "註冊新裝置"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr "拒絕"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr "全部拒絕"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr "提案被否決"
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr "記得密碼?<0/>"
|
||||
@@ -2430,6 +2576,10 @@ msgstr "正在重新傳送驗證電子郵件…"
|
||||
msgid "Reset"
|
||||
msgstr "重置"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr "重置聊天"
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2443,6 +2593,10 @@ msgstr "重設您的密碼"
|
||||
msgid "Resetting your password..."
|
||||
msgstr "正在重設您的密碼…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr "調整大小 AI 助手"
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr "資源"
|
||||
@@ -2463,6 +2617,14 @@ msgstr "履歷分析完成。"
|
||||
msgid "Resumes"
|
||||
msgstr "履歷"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr "需要審核"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr "已審核提案"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr "靠右對齊"
|
||||
@@ -2561,6 +2723,10 @@ msgstr "選擇..."
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr "使用 Docker 自行託管"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr "傳送"
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2570,6 +2736,10 @@ msgstr "傳送重設密碼電子郵件"
|
||||
msgid "Sending password reset email..."
|
||||
msgstr "正在傳送重設密碼電子郵件…"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr "發送請求"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr "分隔線"
|
||||
@@ -2708,6 +2878,10 @@ msgstr "單欄版面,包含側邊欄與俐落的網格配置;適用於任何
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr "單欄,內嵌三欄入口標題 (位置 - 組織 - 句點);簡潔且適合 ATS,非常適合亞洲簡歷慣例 (CN/JP/KR)。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr "單欄格式,每頁標題採用大寫字母,頂部有主色線條;專為高階主管、顧問顧問或新創公司履歷表而設計。"
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr "單欄版面,風格精緻嚴謹,適合資深或企業級職位。"
|
||||
@@ -2808,6 +2982,10 @@ msgstr "統計資料"
|
||||
msgid "Stay"
|
||||
msgstr "留下"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr "優勢"
|
||||
@@ -2902,6 +3080,14 @@ msgstr "字型色彩"
|
||||
msgid "Thai"
|
||||
msgstr "泰文"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr "人工智慧提出的修改建議不再適用於這份履歷。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr "人工智慧返回的方案無法預覽。"
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2915,6 +3101,10 @@ msgstr "API Key 已成功刪除。"
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr "刪除後,此 API Key 將無法再存取您的資料。此動作無法復原。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr "助理在遞交提案前停了下來。"
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2981,7 +3171,12 @@ msgstr "這是用於履歷的 URL 友善名稱。"
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr "這可能需要幾分鐘,取決於 AI 服務提供者的回應時間。請勿關閉視窗或重新整理頁面。"
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr "這份提案已經過時了。請助理根據最新的履歷重新產生一份。"
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr "這份履歷已被鎖定,無法更新。"
|
||||
|
||||
@@ -3385,10 +3580,6 @@ msgstr "X(推特)"
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr "沒錯,Reactive Resume 支援多種語言。您可以在設定頁面或右上角的語言切換器中選擇偏好的語言。如果沒有找到您的語言,或是想改進現有翻譯,您可以<0>在 Crowdin 上貢獻翻譯<1>(在新分頁中開啟)</1></0>。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr "沒錯!每一款範本都能完全自訂。您可以調整顏色、字體、間距,甚至撰寫自訂 CSS,完全掌控履歷的外觀。"
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr "沒錯!Reactive Resume 完全免費使用,沒有任何隱藏費用、高級版本或訂閱費。它是開放原始碼專案,並將永遠保持免費。"
|
||||
|
||||
+199
-8
@@ -43,6 +43,11 @@ msgstr ""
|
||||
msgid "{0, plural, one {# role} other {# roles}}"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: resolutions.length
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "{0} proposals reviewed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "{column, plural, one {# Column} other {# Columns}}"
|
||||
@@ -114,6 +119,18 @@ msgstr ""
|
||||
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accept all"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Accepted proposal"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Access your resumes and data programmatically using the API."
|
||||
msgstr ""
|
||||
@@ -224,10 +241,38 @@ msgstr ""
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "After"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/import.tsx
|
||||
msgid "AI"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI integration disabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal applied."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposal rejected."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals applied."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI proposals rejected."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "AI Resume Assistant"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr ""
|
||||
@@ -362,10 +407,22 @@ msgstr ""
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for a targeted resume change..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Ask for an incremental change"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Assistant request failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette/pages/navigation.tsx
|
||||
#: src/routes/dashboard/-components/sidebar.tsx
|
||||
#: src/routes/dashboard/settings/authentication/index.tsx
|
||||
@@ -416,6 +473,10 @@ msgstr ""
|
||||
msgid "Beautiful templates to choose from, with more on the way."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Before"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Bengali"
|
||||
msgstr ""
|
||||
@@ -457,10 +518,6 @@ msgstr ""
|
||||
msgid "By the community, for the community."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I customize the templates?"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Can I export my resume to PDF?"
|
||||
msgstr ""
|
||||
@@ -571,6 +628,14 @@ msgstr ""
|
||||
msgid "Click here to select a file to import"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Close AI assistant"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Code Block"
|
||||
msgstr ""
|
||||
@@ -617,6 +682,10 @@ msgstr ""
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Connect and verify an AI provider before using resume editing proposals."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
@@ -664,6 +733,10 @@ msgstr ""
|
||||
msgid "Copy URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Could not apply the AI proposal."
|
||||
msgstr ""
|
||||
|
||||
#. Error description when AI provider cannot be reached during resume analysis
|
||||
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
|
||||
#. Error shown when the configured AI provider cannot be reached during connection test
|
||||
@@ -956,6 +1029,10 @@ msgstr ""
|
||||
msgid "Discord"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Dismiss"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Documentation"
|
||||
@@ -965,6 +1042,10 @@ msgstr ""
|
||||
msgid "Don't have an account? <0/>"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
|
||||
msgid "Donate to Reactive Resume"
|
||||
msgstr ""
|
||||
@@ -1089,6 +1170,10 @@ msgstr ""
|
||||
msgid "Enable AI Features"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Enable AI integration"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
msgid "Enable Two-Factor Authentication"
|
||||
msgstr ""
|
||||
@@ -1157,6 +1242,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/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
@@ -1951,6 +2040,10 @@ msgstr ""
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "More proposal actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
|
||||
msgid "Move to"
|
||||
msgstr ""
|
||||
@@ -1977,6 +2070,10 @@ msgstr ""
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Needs review"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "Nepali"
|
||||
msgstr ""
|
||||
@@ -2007,6 +2104,10 @@ msgstr ""
|
||||
msgid "New Section"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "No Advertising, No Tracking"
|
||||
msgstr ""
|
||||
@@ -2056,11 +2157,19 @@ msgstr ""
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
msgid "Open AI assistant"
|
||||
msgstr ""
|
||||
|
||||
#. Button label to open the user's default email app
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Open Email Client"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Open Integrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Open Integrations Settings"
|
||||
msgstr ""
|
||||
@@ -2214,6 +2323,10 @@ msgstr ""
|
||||
msgid "Please enter the URL you want to link to:"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Please support the project"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/$username/-components/public-resume.tsx
|
||||
#: src/routes/builder/$resumeId/-components/dock.tsx
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
|
||||
@@ -2249,6 +2362,10 @@ msgstr ""
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Preparing changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/color-picker.tsx
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
@@ -2262,6 +2379,10 @@ msgstr ""
|
||||
msgid "Press <0>Enter</0> to open"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Prev"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
|
||||
msgid "Primary Color"
|
||||
msgstr ""
|
||||
@@ -2292,6 +2413,11 @@ msgstr ""
|
||||
msgid "Projects"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: index + 1
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Proposal {0} of {total}"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Protect your resume from unauthorized access with a password"
|
||||
msgstr ""
|
||||
@@ -2314,6 +2440,10 @@ msgstr ""
|
||||
msgid "Publisher"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Raw JSON Patch"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/header.tsx
|
||||
msgid "Reactive Resume - Go to homepage"
|
||||
msgstr ""
|
||||
@@ -2335,6 +2465,10 @@ msgstr ""
|
||||
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/donation-toast.tsx
|
||||
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr ""
|
||||
@@ -2375,6 +2509,18 @@ msgstr ""
|
||||
msgid "Register New Device"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reject all"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Rejected proposal"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Remember your password? <0/>"
|
||||
msgstr ""
|
||||
@@ -2425,6 +2571,10 @@ msgstr ""
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reset chat"
|
||||
msgstr ""
|
||||
|
||||
#. Primary action button label on reset-password form
|
||||
#: src/routes/auth/reset-password.tsx
|
||||
msgid "Reset Password"
|
||||
@@ -2438,6 +2588,10 @@ msgstr ""
|
||||
msgid "Resetting your password..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Resize AI assistant"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/footer.tsx
|
||||
msgid "Resources"
|
||||
msgstr ""
|
||||
@@ -2458,6 +2612,14 @@ msgstr ""
|
||||
msgid "Resumes"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Review required"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Reviewed proposals"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Right Align"
|
||||
msgstr ""
|
||||
@@ -2556,6 +2718,10 @@ msgstr ""
|
||||
msgid "Self-Host with Docker"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
#. Primary action button label on forgot-password form
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
msgid "Send Password Reset Email"
|
||||
@@ -2565,6 +2731,10 @@ msgstr ""
|
||||
msgid "Sending password reset email..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Sending request"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Separator"
|
||||
msgstr ""
|
||||
@@ -2703,6 +2873,10 @@ msgstr ""
|
||||
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column with uppercase section headings and a primary-color top rule on every page; polished for executive, consulting, or startup resumes."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/template/data.ts
|
||||
msgid "Single-column; polished and serious for senior or enterprise-level positions."
|
||||
msgstr ""
|
||||
@@ -2803,6 +2977,10 @@ msgstr ""
|
||||
msgid "Stay"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "Strengths"
|
||||
msgstr ""
|
||||
@@ -2897,6 +3075,14 @@ msgstr ""
|
||||
msgid "Thai"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI proposed a change that no longer applies to this resume."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The AI returned a proposal that could not be previewed."
|
||||
msgstr ""
|
||||
|
||||
#. Error description when AI returns invalid resume analysis format
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
|
||||
msgid "The AI returned an invalid analysis format. Please try again."
|
||||
@@ -2910,6 +3096,10 @@ msgstr ""
|
||||
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "The assistant stopped before returning a proposal."
|
||||
msgstr ""
|
||||
|
||||
#. Empty-state message when no command palette results match the search query
|
||||
#: src/components/command-palette/index.tsx
|
||||
msgid "The command you're looking for doesn't exist."
|
||||
@@ -2976,7 +3166,12 @@ msgstr ""
|
||||
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/resume/builder-resume-draft.ts
|
||||
#: src/routes/builder/$resumeId/-components/assistant.tsx
|
||||
msgid "This resume is locked and cannot be updated."
|
||||
msgstr ""
|
||||
|
||||
@@ -3380,10 +3575,6 @@ msgstr ""
|
||||
msgid "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 <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "Yes! Every template is fully customizable. You can change colors, fonts, spacing, and even write custom CSS for complete control over your resume's appearance."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/faq.tsx
|
||||
msgid "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."
|
||||
msgstr ""
|
||||
|
||||
+27
-26
@@ -4,7 +4,7 @@
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
"build": "rm -rf .output && vite build",
|
||||
"dev": "vite dev",
|
||||
"serve": "vite preview",
|
||||
"start": "node .output/server/index.mjs",
|
||||
@@ -16,23 +16,24 @@
|
||||
"lingui:extract": "lingui extract --clean --overwrite"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/react": "^3.0.182",
|
||||
"@base-ui/react": "^1.4.1",
|
||||
"@better-auth/api-key": "^1.6.9",
|
||||
"@better-auth/infra": "^0.2.6",
|
||||
"@better-auth/oauth-provider": "^1.6.9",
|
||||
"@better-auth/passkey": "^1.6.9",
|
||||
"@better-auth/api-key": "^1.6.11",
|
||||
"@better-auth/infra": "^0.2.8",
|
||||
"@better-auth/oauth-provider": "^1.6.11",
|
||||
"@better-auth/passkey": "^1.6.11",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.2",
|
||||
"@lingui/core": "^6.0.1",
|
||||
"@lingui/react": "^6.0.1",
|
||||
"@modelcontextprotocol/sdk": "^1.29.0",
|
||||
"@orpc/client": "^1.14.2",
|
||||
"@orpc/json-schema": "^1.14.2",
|
||||
"@orpc/openapi": "^1.14.2",
|
||||
"@orpc/server": "^1.14.2",
|
||||
"@orpc/tanstack-query": "^1.14.2",
|
||||
"@orpc/zod": "^1.14.2",
|
||||
"@orpc/client": "^1.14.3",
|
||||
"@orpc/json-schema": "^1.14.3",
|
||||
"@orpc/openapi": "^1.14.3",
|
||||
"@orpc/server": "^1.14.3",
|
||||
"@orpc/tanstack-query": "^1.14.3",
|
||||
"@orpc/zod": "^1.14.3",
|
||||
"@phosphor-icons/react": "^2.1.10",
|
||||
"@react-pdf/renderer": "^4.5.1",
|
||||
"@reactive-resume/ai": "workspace:*",
|
||||
@@ -46,30 +47,30 @@
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@reactive-resume/ui": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"@tailwindcss/vite": "^4.2.4",
|
||||
"@tanstack/react-form": "^1.29.1",
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"@tanstack/react-form": "^1.32.0",
|
||||
"@tanstack/react-hotkeys": "^0.10.0",
|
||||
"@tanstack/react-query": "^5.100.9",
|
||||
"@tanstack/react-query": "^5.100.10",
|
||||
"@tanstack/react-router": "^1.169.2",
|
||||
"@tanstack/react-router-ssr-query": "^1.166.12",
|
||||
"@tanstack/react-start": "^1.167.65",
|
||||
"@tiptap/extension-color": "^3.22.5",
|
||||
"@tiptap/extension-highlight": "^3.22.5",
|
||||
"@tiptap/extension-table": "^3.22.5",
|
||||
"@tiptap/extension-text-align": "^3.22.5",
|
||||
"@tiptap/extension-text-style": "^3.22.5",
|
||||
"@tiptap/pm": "^3.22.5",
|
||||
"@tiptap/react": "^3.22.5",
|
||||
"@tiptap/starter-kit": "^3.22.5",
|
||||
"@tiptap/extension-color": "^3.23.2",
|
||||
"@tiptap/extension-highlight": "^3.23.2",
|
||||
"@tiptap/extension-table": "^3.23.2",
|
||||
"@tiptap/extension-text-align": "^3.23.2",
|
||||
"@tiptap/extension-text-style": "^3.23.2",
|
||||
"@tiptap/pm": "^3.23.2",
|
||||
"@tiptap/react": "^3.23.2",
|
||||
"@tiptap/starter-kit": "^3.23.2",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@uiw/color-convert": "^2.10.1",
|
||||
"@uiw/react-color-colorful": "^2.10.1",
|
||||
"better-auth": "1.6.9",
|
||||
"better-auth": "1.6.11",
|
||||
"cmdk": "^1.1.1",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"es-toolkit": "^1.46.1",
|
||||
"fuse.js": "^7.3.0",
|
||||
"immer": "^11.1.7",
|
||||
"immer": "^11.1.8",
|
||||
"js-cookie": "^3.0.5",
|
||||
"motion": "^12.38.0",
|
||||
"pdfjs-dist": "5.7.284",
|
||||
@@ -97,12 +98,12 @@
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@vitejs/plugin-react": "^6.0.1",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
"nitro": "3.0.260429-beta",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.0.11",
|
||||
"vite": "^8.0.12",
|
||||
"vite-plugin-pwa": "^1.3.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import fs from "node:fs/promises";
|
||||
import { definePlugin } from "nitro";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
import { getLocalDataDirectory } from "@reactive-resume/utils/monorepo.node";
|
||||
|
||||
export default definePlugin(async () => {
|
||||
if (env.S3_ACCESS_KEY_ID && env.S3_SECRET_ACCESS_KEY && env.S3_BUCKET) return;
|
||||
|
||||
const dataDirectory = getLocalDataDirectory(env.LOCAL_STORAGE_PATH);
|
||||
console.info(`Validating local storage path: ${dataDirectory}`);
|
||||
|
||||
try {
|
||||
await fs.mkdir(dataDirectory, { recursive: true });
|
||||
await fs.access(dataDirectory, fs.constants.R_OK | fs.constants.W_OK);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : "Unknown error";
|
||||
console.error(
|
||||
`Local storage path is not writable: ${dataDirectory}\n` +
|
||||
` ${message}\n` +
|
||||
"Set LOCAL_STORAGE_PATH to a writable directory or fix permissions on the existing path.",
|
||||
);
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
@@ -61,7 +61,7 @@
|
||||
"guid": "open-collective",
|
||||
"type": "payment-provider",
|
||||
"description": "Open Collective",
|
||||
"address": "https://opencollective.com/reactive-resume"
|
||||
"address": "https://opencollective.com/reactive-resume/donate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
Binary file not shown.
@@ -0,0 +1,56 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { fireEvent, render } from "@testing-library/react";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { CometCard } from "./comet-card";
|
||||
|
||||
describe("CometCard", () => {
|
||||
it("renders its children inside the perspective wrapper", () => {
|
||||
const { getByText } = render(
|
||||
<CometCard>
|
||||
<span>card body</span>
|
||||
</CometCard>,
|
||||
);
|
||||
expect(getByText("card body")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("merges custom className into the wrapper", () => {
|
||||
const { container } = render(
|
||||
<CometCard className="extra-class">
|
||||
<span>x</span>
|
||||
</CometCard>,
|
||||
);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.className).toContain("extra-class");
|
||||
expect(wrapper.className).toContain("perspective-distant");
|
||||
expect(wrapper.className).toContain("transform-3d");
|
||||
});
|
||||
|
||||
it("renders a glare overlay positioned absolutely with mix-blend-overlay", () => {
|
||||
const { container } = render(
|
||||
<CometCard>
|
||||
<span>x</span>
|
||||
</CometCard>,
|
||||
);
|
||||
const glare = container.querySelector("[class*='mix-blend-overlay']") as HTMLElement | null;
|
||||
expect(glare).not.toBeNull();
|
||||
expect(glare?.className).toContain("pointer-events-none");
|
||||
});
|
||||
|
||||
it("does not throw when mouse enters / moves over / leaves the card", () => {
|
||||
const { container } = render(
|
||||
<CometCard>
|
||||
<span>x</span>
|
||||
</CometCard>,
|
||||
);
|
||||
|
||||
const tiltable = container.querySelector("[class*='will-change-transform']") as HTMLElement;
|
||||
expect(tiltable).toBeTruthy();
|
||||
|
||||
expect(() => {
|
||||
fireEvent.mouseMove(tiltable, { clientX: 100, clientY: 50 });
|
||||
fireEvent.mouseMove(tiltable, { clientX: 0, clientY: 0 });
|
||||
fireEvent.mouseLeave(tiltable);
|
||||
}).not.toThrow();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,52 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { CountUp } from "./count-up";
|
||||
|
||||
describe("CountUp", () => {
|
||||
it("renders an aria-live=polite span by default (announced to screen readers)", () => {
|
||||
const { container } = render(<CountUp to={1000} />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.getAttribute("aria-live")).toBe("polite");
|
||||
expect(span.getAttribute("aria-atomic")).toBe("true");
|
||||
});
|
||||
|
||||
it("seeds textContent to the 'from' value when counting up", () => {
|
||||
const { container } = render(<CountUp from={0} to={100} />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.textContent).toBe("0");
|
||||
});
|
||||
|
||||
it("seeds textContent to the 'to' value when direction is down", () => {
|
||||
const { container } = render(<CountUp from={0} to={100} direction="down" />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.textContent).toBe("100");
|
||||
});
|
||||
|
||||
it("formats with the separator when one is supplied", () => {
|
||||
const { container } = render(<CountUp from={1234} to={2345} separator="," />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.textContent).toBe("1,234");
|
||||
});
|
||||
|
||||
it("preserves decimal places when from / to are fractional", () => {
|
||||
const { container } = render(<CountUp from={1.25} to={3.75} />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.textContent).toBe("1.25");
|
||||
});
|
||||
|
||||
it("strips aria-live and aria-atomic when aria-hidden is set", () => {
|
||||
const { container } = render(<CountUp to={100} aria-hidden="true" />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.getAttribute("aria-hidden")).toBe("true");
|
||||
expect(span.getAttribute("aria-live")).toBeNull();
|
||||
expect(span.getAttribute("aria-atomic")).toBeNull();
|
||||
});
|
||||
|
||||
it("accepts a custom className", () => {
|
||||
const { container } = render(<CountUp to={100} className="custom-class" />);
|
||||
const span = container.querySelector("span") as HTMLSpanElement;
|
||||
expect(span.className).toContain("custom-class");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { Spotlight } from "./spotlight";
|
||||
|
||||
describe("Spotlight", () => {
|
||||
it("renders a non-pointer-events overlay container", () => {
|
||||
const { container } = render(<Spotlight />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.className).toContain("pointer-events-none");
|
||||
expect(wrapper.className).toContain("absolute");
|
||||
});
|
||||
|
||||
it("renders both left and right beam groups by default", () => {
|
||||
const { container } = render(<Spotlight />);
|
||||
// Outer wrapper > two animated beam containers
|
||||
const beamGroups = container.firstChild?.childNodes;
|
||||
expect(beamGroups?.length).toBe(2);
|
||||
});
|
||||
|
||||
it("applies the provided width / height / smallWidth to inline styles", () => {
|
||||
const { container } = render(<Spotlight width={500} height={800} smallWidth={120} translateY={-100} />);
|
||||
|
||||
const inlineStyles = Array.from(container.querySelectorAll<HTMLDivElement>("[style]")).map(
|
||||
(el) => el.getAttribute("style") ?? "",
|
||||
);
|
||||
const allStyles = inlineStyles.join("|");
|
||||
|
||||
expect(allStyles).toContain("width: 500px");
|
||||
expect(allStyles).toContain("height: 800px");
|
||||
expect(allStyles).toContain("width: 120px");
|
||||
expect(allStyles).toContain("translateY(-100px)");
|
||||
});
|
||||
|
||||
it("uses the supplied gradient strings as background values", () => {
|
||||
const customFirst = "radial-gradient(red, blue)";
|
||||
const { container } = render(<Spotlight gradientFirst={customFirst} />);
|
||||
|
||||
const matched = Array.from(container.querySelectorAll<HTMLDivElement>("[style]")).filter(
|
||||
(el) => el.style.background.includes("red") && el.style.background.includes("blue"),
|
||||
);
|
||||
expect(matched.length).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { fireEvent, render } from "@testing-library/react";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { TextMaskEffect } from "./text-mask";
|
||||
|
||||
const renderMask = (props: React.ComponentProps<typeof TextMaskEffect>) => render(<TextMaskEffect {...props} />);
|
||||
|
||||
describe("TextMaskEffect", () => {
|
||||
it("renders the supplied text in all visible text layers", () => {
|
||||
const { container } = renderMask({ text: "Hello World" });
|
||||
const texts = container.querySelectorAll("text");
|
||||
expect(texts.length).toBeGreaterThanOrEqual(2);
|
||||
for (const el of texts) {
|
||||
expect(el.textContent).toBe("Hello World");
|
||||
}
|
||||
});
|
||||
|
||||
it("forwards aria-hidden onto the root svg", () => {
|
||||
const { container } = renderMask({ text: "X", "aria-hidden": "true" });
|
||||
const svg = container.querySelector("svg") as SVGSVGElement;
|
||||
expect(svg.getAttribute("aria-hidden")).toBe("true");
|
||||
});
|
||||
|
||||
it("renders an aria-label on the root svg", () => {
|
||||
const { container } = renderMask({ text: "X" });
|
||||
const svg = container.querySelector("svg") as SVGSVGElement;
|
||||
expect(svg.getAttribute("aria-label")).toBe("Text mask effect");
|
||||
});
|
||||
|
||||
it("does not throw on mouse-enter / mouse-move / mouse-leave interactions", () => {
|
||||
const { container } = renderMask({ text: "X" });
|
||||
const svg = container.querySelector("svg") as SVGSVGElement;
|
||||
|
||||
expect(() => {
|
||||
fireEvent.mouseEnter(svg);
|
||||
fireEvent.mouseMove(svg, { clientX: 50, clientY: 25 });
|
||||
fireEvent.mouseLeave(svg);
|
||||
}).not.toThrow();
|
||||
});
|
||||
|
||||
it("merges custom className into the svg", () => {
|
||||
const { container } = renderMask({ text: "X", className: "custom-class" });
|
||||
const svg = container.querySelector("svg") as SVGSVGElement;
|
||||
expect(svg.getAttribute("class") ?? "").toContain("custom-class");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,53 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { Command } from "@reactive-resume/ui/components/command";
|
||||
import { useCommandPaletteStore } from "../store";
|
||||
import { BaseCommandGroup } from "./base";
|
||||
|
||||
const renderInCommand = (ui: React.ReactNode) => render(<Command>{ui}</Command>);
|
||||
|
||||
const resetStore = () => {
|
||||
useCommandPaletteStore.setState({ open: false, search: "", pages: [] });
|
||||
};
|
||||
|
||||
afterEach(resetStore);
|
||||
|
||||
describe("BaseCommandGroup", () => {
|
||||
it("renders children at the root (no page prop) when the page stack is empty", () => {
|
||||
renderInCommand(<BaseCommandGroup heading="Root">child-text</BaseCommandGroup>);
|
||||
expect(screen.getByText("child-text")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("does NOT render when the page stack tops a different page than its `page` prop", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["other"] });
|
||||
const { container } = renderInCommand(
|
||||
<BaseCommandGroup page="settings" heading="Settings">
|
||||
<span>x</span>
|
||||
</BaseCommandGroup>,
|
||||
);
|
||||
// Nothing rendered besides the Command shell itself.
|
||||
expect(container.textContent).toBe("");
|
||||
});
|
||||
|
||||
it("renders when the top of the page stack matches its `page` prop", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["settings"] });
|
||||
renderInCommand(
|
||||
<BaseCommandGroup page="settings" heading="Settings">
|
||||
settings-children
|
||||
</BaseCommandGroup>,
|
||||
);
|
||||
expect(screen.getByText("settings-children")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("does NOT render the root group when there is a sub-page on top", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["settings"] });
|
||||
const { container } = renderInCommand(
|
||||
<BaseCommandGroup heading="Root">
|
||||
<span>root-text</span>
|
||||
</BaseCommandGroup>,
|
||||
);
|
||||
expect(container.textContent).toBe("");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,52 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { fireEvent, render, screen } from "@testing-library/react";
|
||||
import { afterEach, beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
import { Command } from "@reactive-resume/ui/components/command";
|
||||
import { useCommandPaletteStore } from "../../store";
|
||||
|
||||
vi.mock("@/components/theme/provider", () => ({
|
||||
useTheme: () => ({ setTheme: vi.fn(), theme: "light", toggleTheme: vi.fn() }),
|
||||
}));
|
||||
|
||||
const { PreferencesCommandGroup } = await import("./index");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
useCommandPaletteStore.setState({ open: false, search: "", pages: [] });
|
||||
});
|
||||
|
||||
const renderGroup = () =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<Command>
|
||||
<PreferencesCommandGroup />
|
||||
</Command>
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("PreferencesCommandGroup", () => {
|
||||
it("renders 'Change theme to...' and 'Change language to...' at the root", () => {
|
||||
renderGroup();
|
||||
expect(screen.getByText("Change theme to...")).toBeInTheDocument();
|
||||
expect(screen.getByText("Change language to...")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("pushes 'theme' onto the page stack when the theme item is selected", () => {
|
||||
renderGroup();
|
||||
const item = screen.getByText("Change theme to...");
|
||||
fireEvent.click(item);
|
||||
expect(useCommandPaletteStore.getState().pages).toContain("theme");
|
||||
});
|
||||
|
||||
it("pushes 'language' onto the page stack when the language item is selected", () => {
|
||||
renderGroup();
|
||||
fireEvent.click(screen.getByText("Change language to..."));
|
||||
expect(useCommandPaletteStore.getState().pages).toContain("language");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,59 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { afterEach, beforeAll, describe, expect, it } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
import { Command } from "@reactive-resume/ui/components/command";
|
||||
import { localeMap } from "@/libs/locale";
|
||||
import { useCommandPaletteStore } from "../../store";
|
||||
import { LanguageCommandPage } from "./language";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
useCommandPaletteStore.setState({ open: false, search: "", pages: [] });
|
||||
});
|
||||
|
||||
const renderPage = () =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<Command>
|
||||
<LanguageCommandPage />
|
||||
</Command>
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("LanguageCommandPage", () => {
|
||||
it("does NOT render when the page stack does not have 'language' on top", () => {
|
||||
renderPage();
|
||||
// localeMap codes shouldn't appear because BaseCommandGroup gating is off.
|
||||
expect(screen.queryByText("en-US")).toBeNull();
|
||||
});
|
||||
|
||||
it("renders one CommandItem for every entry in localeMap when active", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["language"] });
|
||||
renderPage();
|
||||
|
||||
const expectedCount = Object.keys(localeMap).length;
|
||||
expect(expectedCount).toBeGreaterThan(0);
|
||||
|
||||
// Each locale value is rendered in the inline font-mono span.
|
||||
for (const code of Object.keys(localeMap).slice(0, 5)) {
|
||||
expect(screen.getByText(code)).toBeInTheDocument();
|
||||
}
|
||||
});
|
||||
|
||||
it("includes the documented set of locales (sample check)", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["language"] });
|
||||
renderPage();
|
||||
// Spot-check a couple of common locales.
|
||||
for (const code of ["en-US", "de-DE", "ja-JP"]) {
|
||||
if (code in localeMap) {
|
||||
expect(screen.getByText(code)).toBeInTheDocument();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { afterEach, beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
import { Command } from "@reactive-resume/ui/components/command";
|
||||
import { useCommandPaletteStore } from "../../store";
|
||||
|
||||
vi.mock("@/components/theme/provider", () => ({
|
||||
useTheme: () => ({ setTheme: vi.fn(), theme: "light", toggleTheme: vi.fn() }),
|
||||
}));
|
||||
|
||||
const { ThemeCommandPage } = await import("./theme");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
useCommandPaletteStore.setState({ open: false, search: "", pages: [] });
|
||||
});
|
||||
|
||||
const renderPage = () =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<Command>
|
||||
<ThemeCommandPage />
|
||||
</Command>
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("ThemeCommandPage", () => {
|
||||
it("is hidden when 'theme' is not on top of the page stack", () => {
|
||||
renderPage();
|
||||
expect(screen.queryByText("Light theme")).toBeNull();
|
||||
});
|
||||
|
||||
it("renders Light + Dark options when active", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["theme"] });
|
||||
renderPage();
|
||||
expect(screen.getByText("Light theme")).toBeInTheDocument();
|
||||
expect(screen.getByText("Dark theme")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,118 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { useCommandPaletteStore } from "./store";
|
||||
|
||||
const reset = () => {
|
||||
useCommandPaletteStore.setState({ open: false, search: "", pages: [] });
|
||||
};
|
||||
|
||||
afterEach(reset);
|
||||
|
||||
describe("useCommandPaletteStore", () => {
|
||||
it("starts closed with empty search and no pages", () => {
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.open).toBe(false);
|
||||
expect(state.search).toBe("");
|
||||
expect(state.pages).toEqual([]);
|
||||
});
|
||||
|
||||
it("setOpen(true) opens the palette without touching other fields", () => {
|
||||
useCommandPaletteStore.setState({ search: "foo", pages: ["page1"] });
|
||||
|
||||
useCommandPaletteStore.getState().setOpen(true);
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.open).toBe(true);
|
||||
expect(state.search).toBe("foo");
|
||||
expect(state.pages).toEqual(["page1"]);
|
||||
});
|
||||
|
||||
it("setOpen(false) resets the entire store back to initial state", () => {
|
||||
useCommandPaletteStore.setState({ open: true, search: "foo", pages: ["page1"] });
|
||||
|
||||
useCommandPaletteStore.getState().setOpen(false);
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.open).toBe(false);
|
||||
expect(state.search).toBe("");
|
||||
expect(state.pages).toEqual([]);
|
||||
});
|
||||
|
||||
it("setSearch updates only the search field", () => {
|
||||
useCommandPaletteStore.getState().setSearch("query");
|
||||
expect(useCommandPaletteStore.getState().search).toBe("query");
|
||||
});
|
||||
|
||||
it("pushPage appends a page and clears search", () => {
|
||||
useCommandPaletteStore.setState({ search: "leftover" });
|
||||
|
||||
useCommandPaletteStore.getState().pushPage("settings");
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.pages).toEqual(["settings"]);
|
||||
expect(state.search).toBe("");
|
||||
});
|
||||
|
||||
it("pushPage stacks multiple pages in order", () => {
|
||||
const { pushPage } = useCommandPaletteStore.getState();
|
||||
pushPage("a");
|
||||
pushPage("b");
|
||||
pushPage("c");
|
||||
expect(useCommandPaletteStore.getState().pages).toEqual(["a", "b", "c"]);
|
||||
});
|
||||
|
||||
it("peekPage returns the top page (or undefined when empty)", () => {
|
||||
expect(useCommandPaletteStore.getState().peekPage()).toBeUndefined();
|
||||
|
||||
useCommandPaletteStore.setState({ pages: ["a", "b"] });
|
||||
expect(useCommandPaletteStore.getState().peekPage()).toBe("b");
|
||||
});
|
||||
|
||||
it("popPage removes the last page and clears search", () => {
|
||||
useCommandPaletteStore.setState({ pages: ["a", "b"], search: "x" });
|
||||
|
||||
useCommandPaletteStore.getState().popPage();
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.pages).toEqual(["a"]);
|
||||
expect(state.search).toBe("");
|
||||
});
|
||||
|
||||
it("reset clears every state field", () => {
|
||||
useCommandPaletteStore.setState({ open: true, search: "x", pages: ["a"] });
|
||||
|
||||
useCommandPaletteStore.getState().reset();
|
||||
|
||||
expect(useCommandPaletteStore.getState()).toMatchObject({ open: false, search: "", pages: [] });
|
||||
});
|
||||
|
||||
describe("goBack", () => {
|
||||
it("clears search first if present, leaving pages and open untouched", () => {
|
||||
useCommandPaletteStore.setState({ open: true, search: "text", pages: ["a"] });
|
||||
|
||||
useCommandPaletteStore.getState().goBack();
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.search).toBe("");
|
||||
expect(state.pages).toEqual(["a"]);
|
||||
expect(state.open).toBe(true);
|
||||
});
|
||||
|
||||
it("pops the top page when no search and pages exist", () => {
|
||||
useCommandPaletteStore.setState({ open: true, search: "", pages: ["a", "b"] });
|
||||
|
||||
useCommandPaletteStore.getState().goBack();
|
||||
|
||||
const state = useCommandPaletteStore.getState();
|
||||
expect(state.pages).toEqual(["a"]);
|
||||
expect(state.open).toBe(true);
|
||||
});
|
||||
|
||||
it("closes the palette when no search and no pages", () => {
|
||||
useCommandPaletteStore.setState({ open: true, search: "", pages: [] });
|
||||
|
||||
useCommandPaletteStore.getState().goBack();
|
||||
|
||||
expect(useCommandPaletteStore.getState().open).toBe(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,84 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
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";
|
||||
import { ChipInput } from "./chip-input";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderInput = (props: Partial<React.ComponentProps<typeof ChipInput>> = {}) =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<ChipInput defaultValue={[]} onChange={vi.fn()} {...props} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("ChipInput", () => {
|
||||
it("renders the supplied chips as Badges", () => {
|
||||
renderInput({ defaultValue: ["alpha", "beta", "gamma"] });
|
||||
expect(screen.getByText("alpha")).toBeInTheDocument();
|
||||
expect(screen.getByText("beta")).toBeInTheDocument();
|
||||
expect(screen.getByText("gamma")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("adds a chip on Enter, calling onChange with the new list", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ defaultValue: ["a"], onChange });
|
||||
|
||||
const input = document.querySelector("input") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "b" } });
|
||||
fireEvent.keyDown(input, { key: "Enter" });
|
||||
|
||||
expect(onChange).toHaveBeenCalledWith(["a", "b"]);
|
||||
});
|
||||
|
||||
it("adds a chip on comma keypress", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ defaultValue: [], onChange });
|
||||
|
||||
const input = document.querySelector("input") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "new-tag" } });
|
||||
fireEvent.keyDown(input, { key: "," });
|
||||
|
||||
expect(onChange).toHaveBeenCalledWith(["new-tag"]);
|
||||
});
|
||||
|
||||
it("does not add a duplicate chip", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ defaultValue: ["a"], onChange });
|
||||
|
||||
const input = document.querySelector("input") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "a" } });
|
||||
fireEvent.keyDown(input, { key: "Enter" });
|
||||
|
||||
// chips set should remain ["a"]; onChange not invoked with the same array.
|
||||
const callsAddingA = onChange.mock.calls.filter((args) => Array.isArray(args[0]) && args[0].length > 1);
|
||||
expect(callsAddingA.length).toBe(0);
|
||||
});
|
||||
|
||||
it("does not add an empty / whitespace-only chip", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ defaultValue: ["a"], onChange });
|
||||
|
||||
const input = document.querySelector("input") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: " " } });
|
||||
fireEvent.keyDown(input, { key: "Enter" });
|
||||
|
||||
expect(onChange).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("hides the description copy when hideDescription is true", () => {
|
||||
const { container } = renderInput({ defaultValue: ["a"], hideDescription: true });
|
||||
// We don't know the exact translated text, just confirm no <Kbd> hint banner is rendered.
|
||||
expect(container.querySelector("kbd")).toBeNull();
|
||||
});
|
||||
|
||||
it("shows the description copy by default", () => {
|
||||
const { container } = renderInput({ defaultValue: ["a"] });
|
||||
expect(container.querySelector("kbd")).not.toBeNull();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,61 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
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";
|
||||
|
||||
vi.mock("@uiw/react-color-colorful", () => ({
|
||||
default: () => null,
|
||||
}));
|
||||
|
||||
const { ColorPicker } = await import("./color-picker");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderPicker = (props: React.ComponentProps<typeof ColorPicker> = {}) =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<ColorPicker {...props} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("ColorPicker", () => {
|
||||
it("renders a trigger swatch reflecting the current value", () => {
|
||||
const { container } = renderPicker({ defaultValue: "rgba(231, 0, 11, 1)" });
|
||||
const trigger = container.querySelector("[style*='background-color']") as HTMLElement | null;
|
||||
expect(trigger).not.toBeNull();
|
||||
// happy-dom serializes both the input rgba string and the rgb representation,
|
||||
// depending on alpha; just confirm the color values surface.
|
||||
const bg = trigger?.getAttribute("style") ?? "";
|
||||
expect(bg).toContain("231");
|
||||
expect(bg).toContain("11");
|
||||
});
|
||||
|
||||
it("calls onChange when a preset color is clicked", () => {
|
||||
const onChange = vi.fn();
|
||||
renderPicker({ defaultValue: "rgba(0, 0, 0, 1)", onChange });
|
||||
|
||||
// Open the popover by clicking the trigger swatch.
|
||||
const triggerSwatch = document.querySelector("[style*='background-color']") as HTMLElement;
|
||||
fireEvent.click(triggerSwatch);
|
||||
|
||||
// Locate any preset button (they have aria-label='Use color rgba(...)').
|
||||
const presetBtn = screen.getAllByRole("button", { name: /Use color rgba\(/ })[0];
|
||||
fireEvent.click(presetBtn);
|
||||
|
||||
expect(onChange).toHaveBeenCalled();
|
||||
expect(onChange.mock.calls[0]?.[0]).toMatch(/^rgba\(/);
|
||||
});
|
||||
|
||||
it("renders a custom trigger when provided", () => {
|
||||
renderPicker({
|
||||
defaultValue: "rgba(0, 0, 0, 1)",
|
||||
trigger: <button type="button">custom trigger</button>,
|
||||
});
|
||||
|
||||
expect(screen.getByText("custom trigger")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,66 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
|
||||
const queryResult = vi.hoisted(() => ({ data: undefined as number | undefined }));
|
||||
|
||||
vi.mock("@tanstack/react-query", () => ({
|
||||
useQuery: () => queryResult,
|
||||
}));
|
||||
vi.mock("@/libs/orpc/client", () => ({
|
||||
orpc: { statistics: { github: { getStarCount: { queryOptions: () => ({}) } } } },
|
||||
}));
|
||||
vi.mock("../animation/count-up", () => ({
|
||||
CountUp: ({ to }: { to: number }) => <span data-testid="count-up">{to.toLocaleString()}</span>,
|
||||
}));
|
||||
|
||||
const { GithubStarsButton } = await import("./github-stars-button");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
queryResult.data = undefined;
|
||||
});
|
||||
|
||||
const renderButton = () =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<GithubStarsButton />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("GithubStarsButton", () => {
|
||||
it("renders an anchor pointing at the project repo with rel=noopener and target=_blank", () => {
|
||||
renderButton();
|
||||
const link = screen.getByRole("button") as HTMLAnchorElement;
|
||||
expect(link.href).toBe("https://github.com/amruthpillai/reactive-resume");
|
||||
expect(link.target).toBe("_blank");
|
||||
expect(link.rel).toBe("noopener");
|
||||
});
|
||||
|
||||
it("uses the no-count aria-label when star count hasn't loaded yet", () => {
|
||||
renderButton();
|
||||
const link = screen.getByRole("button") as HTMLAnchorElement;
|
||||
expect(link.getAttribute("aria-label")).toBe("Star us on GitHub (opens in new tab)");
|
||||
});
|
||||
|
||||
it("does not render a CountUp when star count is undefined", () => {
|
||||
renderButton();
|
||||
expect(screen.queryByTestId("count-up")).toBeNull();
|
||||
});
|
||||
|
||||
it("renders a CountUp + announces the star count when available", () => {
|
||||
queryResult.data = 12345;
|
||||
renderButton();
|
||||
|
||||
expect(screen.getByTestId("count-up").textContent).toBe("12,345");
|
||||
|
||||
const link = screen.getByRole("button") as HTMLAnchorElement;
|
||||
expect(link.getAttribute("aria-label")).toContain("12,345 stars");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,74 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
|
||||
// react-window's <Grid> uses ResizeObserver / IntersectionObserver heavily and
|
||||
// expects measurable layouts that happy-dom can't provide. Stub it with a simple
|
||||
// pass-through that renders the first row of cells via the supplied cellComponent.
|
||||
vi.mock("react-window", () => ({
|
||||
Grid: ({
|
||||
rowCount,
|
||||
columnCount,
|
||||
cellComponent: CellComponent,
|
||||
cellProps,
|
||||
}: {
|
||||
rowCount: number;
|
||||
columnCount: number;
|
||||
cellComponent: React.ComponentType<
|
||||
{ rowIndex: number; columnIndex: number; style: React.CSSProperties } & Record<string, unknown>
|
||||
>;
|
||||
cellProps: Record<string, unknown>;
|
||||
}) => {
|
||||
const cells: React.ReactNode[] = [];
|
||||
for (let r = 0; r < Math.min(rowCount, 1); r++) {
|
||||
for (let c = 0; c < columnCount; c++) {
|
||||
cells.push(<CellComponent key={`${r}-${c}`} rowIndex={r} columnIndex={c} style={{}} {...cellProps} />);
|
||||
}
|
||||
}
|
||||
return <div data-testid="grid">{cells}</div>;
|
||||
},
|
||||
}));
|
||||
|
||||
const { IconPicker } = await import("./icon-picker");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderPicker = (props: Partial<React.ComponentProps<typeof IconPicker>> = {}) =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<IconPicker value="globe" onChange={vi.fn()} {...props} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("IconPicker", () => {
|
||||
it("renders a trigger button containing the current icon", () => {
|
||||
const { container } = renderPicker();
|
||||
const i = container.querySelector("i.ph") as HTMLElement;
|
||||
expect(i.className).toContain("ph-globe");
|
||||
});
|
||||
|
||||
it("changes the trigger icon when value prop changes", () => {
|
||||
const { container, rerender } = renderPicker({ value: "globe" });
|
||||
const before = container.querySelector("i.ph")?.className ?? "";
|
||||
expect(before).toContain("ph-globe");
|
||||
|
||||
rerender(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<IconPicker value="star" onChange={vi.fn()} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
const after = container.querySelector("i.ph")?.className ?? "";
|
||||
expect(after).toContain("ph-star");
|
||||
});
|
||||
|
||||
it("renders the picker button as a single icon-size button", () => {
|
||||
const { container } = renderPicker();
|
||||
expect(container.querySelectorAll("button").length).toBeGreaterThanOrEqual(1);
|
||||
});
|
||||
});
|
||||
@@ -46,7 +46,7 @@ import TextAlign from "@tiptap/extension-text-align";
|
||||
import { TextStyle } from "@tiptap/extension-text-style";
|
||||
import { EditorContent, EditorContext, useEditor, useEditorState } from "@tiptap/react";
|
||||
import StarterKit from "@tiptap/starter-kit";
|
||||
import { useMemo, useState } from "react";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import { match } from "ts-pattern";
|
||||
import z from "zod";
|
||||
@@ -86,11 +86,7 @@ const extensions = [
|
||||
}),
|
||||
TextStyle,
|
||||
Color,
|
||||
Highlight.configure({
|
||||
HTMLAttributes: {
|
||||
class: "rounded-md px-0.5 py-px",
|
||||
},
|
||||
}),
|
||||
Highlight.configure(),
|
||||
TextAlign.configure({ types: ["heading", "paragraph", "listItem"] }),
|
||||
TableKit.configure(),
|
||||
];
|
||||
@@ -137,6 +133,11 @@ export function RichInput({ value, onChange, style, className, editorClassName,
|
||||
|
||||
const providerValue = useMemo(() => ({ editor }), [editor]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!editor || editor.getHTML() === value) return;
|
||||
editor.commands.setContent(value, { emitUpdate: false });
|
||||
}, [editor, value]);
|
||||
|
||||
if (!editor) return null;
|
||||
|
||||
const editorElement = (
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
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";
|
||||
import { URLInput } from "./url-input";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderInput = (value: { url: string; label: string }, onChange = vi.fn(), hideLabelButton = false) =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<URLInput value={value} onChange={onChange} hideLabelButton={hideLabelButton} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("URLInput", () => {
|
||||
it("strips the https:// prefix in the visible input value", () => {
|
||||
renderInput({ url: "https://example.com/path", label: "" });
|
||||
const input = screen.getByRole("textbox") as HTMLInputElement;
|
||||
expect(input.value).toBe("example.com/path");
|
||||
});
|
||||
|
||||
it("renders the raw value when no prefix is present", () => {
|
||||
renderInput({ url: "no-prefix.example", label: "" });
|
||||
const input = screen.getByRole("textbox") as HTMLInputElement;
|
||||
expect(input.value).toBe("no-prefix.example");
|
||||
});
|
||||
|
||||
it("adds https:// prefix on edit when not already present", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ url: "https://example.com", label: "" }, onChange);
|
||||
|
||||
const input = screen.getByRole("textbox") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "new.example" } });
|
||||
|
||||
expect(onChange).toHaveBeenCalledWith({
|
||||
url: "https://new.example",
|
||||
label: "",
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps already-prefixed URLs intact on edit", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ url: "https://example.com", label: "" }, onChange);
|
||||
|
||||
const input = screen.getByRole("textbox") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "https://other.example" } });
|
||||
|
||||
expect(onChange).toHaveBeenCalledWith({
|
||||
url: "https://other.example",
|
||||
label: "",
|
||||
});
|
||||
});
|
||||
|
||||
it("emits an empty url string when cleared", () => {
|
||||
const onChange = vi.fn();
|
||||
renderInput({ url: "https://example.com", label: "" }, onChange);
|
||||
|
||||
const input = screen.getByRole("textbox") as HTMLInputElement;
|
||||
fireEvent.change(input, { target: { value: "" } });
|
||||
|
||||
expect(onChange).toHaveBeenCalledWith({
|
||||
url: "",
|
||||
label: "",
|
||||
});
|
||||
});
|
||||
|
||||
it("hides the label button when hideLabelButton=true", () => {
|
||||
const { container } = renderInput({ url: "https://example.com", label: "" }, vi.fn(), true);
|
||||
|
||||
// PopoverTrigger is rendered as a button; its absence means hideLabelButton worked.
|
||||
const buttons = container.querySelectorAll("button");
|
||||
expect(buttons.length).toBe(0);
|
||||
});
|
||||
|
||||
it("renders the label button by default", () => {
|
||||
const { container } = renderInput({ url: "https://example.com", label: "" });
|
||||
const buttons = container.querySelectorAll("button");
|
||||
expect(buttons.length).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,51 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { BreakpointIndicator } from "./breakpoint-indicator";
|
||||
|
||||
const getWrapper = (container: HTMLElement) => container.firstChild as HTMLElement;
|
||||
|
||||
describe("BreakpointIndicator", () => {
|
||||
it("defaults to bottom-right positioning when no position is supplied", () => {
|
||||
const { container } = render(<BreakpointIndicator />);
|
||||
const wrapper = getWrapper(container);
|
||||
expect(wrapper.className).toContain("bottom-0");
|
||||
// bottom-right path: top branch sets the "bottom-0", right path sets "inset-e-0"
|
||||
expect(wrapper.className).toContain("inset-e-0");
|
||||
});
|
||||
|
||||
it("renders all breakpoint labels (one is visible at each viewport)", () => {
|
||||
const { container } = render(<BreakpointIndicator />);
|
||||
const text = container.textContent ?? "";
|
||||
for (const label of ["XS", "SM", "MD", "LG", "XL", "2XL", "3XL", "4XL"]) {
|
||||
expect(text).toContain(label);
|
||||
}
|
||||
});
|
||||
|
||||
it("uses top-left classes for top-left position", () => {
|
||||
const { container } = render(<BreakpointIndicator position="top-left" />);
|
||||
const wrapper = getWrapper(container);
|
||||
expect(wrapper.className).toContain("top-0");
|
||||
expect(wrapper.className).toContain("inset-s-0");
|
||||
});
|
||||
|
||||
it("uses top-right classes for top-right position", () => {
|
||||
const { container } = render(<BreakpointIndicator position="top-right" />);
|
||||
const wrapper = getWrapper(container);
|
||||
expect(wrapper.className).toContain("top-0");
|
||||
expect(wrapper.className).toContain("inset-e-0");
|
||||
});
|
||||
|
||||
it("uses bottom-left classes for bottom-left position", () => {
|
||||
const { container } = render(<BreakpointIndicator position="bottom-left" />);
|
||||
const wrapper = getWrapper(container);
|
||||
expect(wrapper.className).toContain("bottom-0");
|
||||
expect(wrapper.className).toContain("inset-s-0");
|
||||
});
|
||||
|
||||
it("hides the indicator from print stylesheets", () => {
|
||||
const { container } = render(<BreakpointIndicator />);
|
||||
expect(getWrapper(container).className).toContain("print:hidden");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import type { ErrorComponentProps } from "@tanstack/react-router";
|
||||
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";
|
||||
import { ErrorScreen } from "./error-screen";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderError = (overrides: { error?: Error; reset?: () => void } = {}) => {
|
||||
const props: ErrorComponentProps = {
|
||||
error: overrides.error ?? new Error("boom"),
|
||||
reset: overrides.reset ?? vi.fn(),
|
||||
};
|
||||
|
||||
return render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<ErrorScreen {...props} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
};
|
||||
|
||||
describe("ErrorScreen", () => {
|
||||
it("shows the error message provided", () => {
|
||||
renderError({ error: new Error("Network is down") });
|
||||
expect(screen.getByText("Network is down")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("shows the user-facing error heading", () => {
|
||||
renderError();
|
||||
expect(screen.getByText("An error occurred while loading the page.")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("calls reset when the Refresh button is clicked", () => {
|
||||
const reset = vi.fn();
|
||||
renderError({ reset });
|
||||
|
||||
fireEvent.click(screen.getByRole("button", { name: /refresh/i }));
|
||||
expect(reset).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,35 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
import { LoadingScreen } from "./loading-screen";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
describe("LoadingScreen", () => {
|
||||
it("renders a spinner and the loading text", () => {
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<LoadingScreen />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
expect(screen.getByText("Loading...")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("fills the viewport (fixed inset-0)", () => {
|
||||
const { container } = render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<LoadingScreen />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.className).toContain("fixed");
|
||||
expect(wrapper.className).toContain("inset-0");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { I18nProvider } from "@lingui/react";
|
||||
|
||||
// `Link` from tanstack/react-router requires a Router context. Stub it out with
|
||||
// a plain anchor so we can render the screen in isolation.
|
||||
vi.mock("@tanstack/react-router", () => ({
|
||||
Link: ({ children, to, ...rest }: React.PropsWithChildren<{ to: string }>) => (
|
||||
<a href={typeof to === "string" ? to : "#"} {...rest}>
|
||||
{children}
|
||||
</a>
|
||||
),
|
||||
}));
|
||||
|
||||
const { NotFoundScreen } = await import("./not-found-screen");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
const renderScreen = (routeId = "/missing") =>
|
||||
render(
|
||||
<I18nProvider i18n={i18n}>
|
||||
<NotFoundScreen isNotFound routeId={routeId as never} />
|
||||
</I18nProvider>,
|
||||
);
|
||||
|
||||
describe("NotFoundScreen", () => {
|
||||
it("renders the documented error heading", () => {
|
||||
renderScreen();
|
||||
expect(screen.getByText("An error occurred while loading the page.")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("displays the routeId that triggered the not-found", () => {
|
||||
renderScreen("/dashboard/missing-page");
|
||||
expect(screen.getByText("/dashboard/missing-page")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("renders a Go Back link", () => {
|
||||
renderScreen();
|
||||
const link = screen.getByRole("link", { name: /go back/i });
|
||||
expect(link.getAttribute("href")).toBe("..");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,44 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it, vi } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
|
||||
// Capture the options the Combobox receives so we can introspect them.
|
||||
const captured = vi.hoisted(() => ({
|
||||
options: undefined as Array<{ value: string; label: string }> | undefined,
|
||||
}));
|
||||
|
||||
vi.mock("@/components/ui/combobox", () => ({
|
||||
Combobox: (props: { options: Array<{ value: string; label: string }> }) => {
|
||||
captured.options = props.options;
|
||||
return null;
|
||||
},
|
||||
}));
|
||||
|
||||
const { LevelTypeCombobox } = await import("./combobox");
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
describe("LevelTypeCombobox", () => {
|
||||
it("renders one option per level type from levelDesignSchema", () => {
|
||||
render(<LevelTypeCombobox />);
|
||||
|
||||
expect(captured.options?.length).toBe(7);
|
||||
const values = captured.options?.map((o) => o.value);
|
||||
expect(values).toEqual(
|
||||
expect.arrayContaining(["hidden", "circle", "square", "rectangle", "rectangle-full", "progress-bar", "icon"]),
|
||||
);
|
||||
});
|
||||
|
||||
it("produces a human-readable label for each level type", () => {
|
||||
render(<LevelTypeCombobox />);
|
||||
|
||||
for (const opt of captured.options ?? []) {
|
||||
expect(opt.label).toBeTruthy();
|
||||
expect(typeof opt.label).toBe("string");
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,79 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeAll, describe, expect, it } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { LevelDisplay } from "./display";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
describe("LevelDisplay", () => {
|
||||
it("renders nothing when level is 0", () => {
|
||||
const { container } = render(<LevelDisplay type="circle" icon="star" level={0} />);
|
||||
expect(container.firstChild).toBeNull();
|
||||
});
|
||||
|
||||
it("renders nothing when type is hidden", () => {
|
||||
const { container } = render(<LevelDisplay type="hidden" icon="star" level={3} />);
|
||||
expect(container.firstChild).toBeNull();
|
||||
});
|
||||
|
||||
it("renders nothing when icon is empty (regardless of type)", () => {
|
||||
const { container } = render(<LevelDisplay type="icon" icon="" level={3} />);
|
||||
expect(container.firstChild).toBeNull();
|
||||
});
|
||||
|
||||
it("renders 5 segments for progress-bar type", () => {
|
||||
const { container } = render(<LevelDisplay type="progress-bar" icon="star" level={3} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.children).toHaveLength(5);
|
||||
});
|
||||
|
||||
it("marks first N segments as active for progress-bar", () => {
|
||||
const { container } = render(<LevelDisplay type="progress-bar" icon="star" level={3} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
const activeStates = Array.from(wrapper.children).map((el) => (el as HTMLElement).dataset.active);
|
||||
expect(activeStates).toEqual(["true", "true", "true", "false", "false"]);
|
||||
});
|
||||
|
||||
it("renders icons for icon type", () => {
|
||||
const { container } = render(<LevelDisplay type="icon" icon="star" level={2} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.children).toHaveLength(5);
|
||||
expect(wrapper.querySelectorAll("i").length).toBe(5);
|
||||
expect(wrapper.querySelector("i")?.className).toContain("ph-star");
|
||||
});
|
||||
|
||||
it("dims inactive icons for icon type", () => {
|
||||
const { container } = render(<LevelDisplay type="icon" icon="star" level={1} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
const icons = wrapper.querySelectorAll("i");
|
||||
expect(icons[0]?.className).not.toContain("opacity-40");
|
||||
expect(icons[4]?.className).toContain("opacity-40");
|
||||
});
|
||||
|
||||
it("renders square segments for circle/rectangle/rectangle-full types", () => {
|
||||
for (const type of ["circle", "rectangle", "rectangle-full"] as const) {
|
||||
const { container } = render(<LevelDisplay type={type} icon="star" level={2} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.children).toHaveLength(5);
|
||||
const activeStates = Array.from(wrapper.children).map((el) => (el as HTMLElement).dataset.active);
|
||||
expect(activeStates).toEqual(["true", "true", "false", "false", "false"]);
|
||||
}
|
||||
});
|
||||
|
||||
it("includes an aria-label describing the level", () => {
|
||||
const { container } = render(<LevelDisplay type="circle" icon="star" level={4} />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.getAttribute("role")).toBe("img");
|
||||
expect(wrapper.getAttribute("aria-label")).toContain("4");
|
||||
});
|
||||
|
||||
it("merges extra className into the wrapper", () => {
|
||||
const { container } = render(<LevelDisplay type="circle" icon="star" level={1} className="extra" />);
|
||||
const wrapper = container.firstChild as HTMLElement;
|
||||
expect(wrapper.className).toContain("extra");
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,36 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { beforeAll, describe, expect, it } from "vitest";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { localeMap } from "@/libs/locale";
|
||||
import { getLocaleOptions } from "./combobox";
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.loadAndActivate({ locale: "en", messages: {} });
|
||||
});
|
||||
|
||||
describe("getLocaleOptions", () => {
|
||||
it("returns one option per entry in localeMap", () => {
|
||||
const options = getLocaleOptions();
|
||||
expect(options).toHaveLength(Object.keys(localeMap).length);
|
||||
});
|
||||
|
||||
it("uses the locale code as the value", () => {
|
||||
const options = getLocaleOptions();
|
||||
const values = options.map((opt) => opt.value);
|
||||
expect(values).toContain("en-US");
|
||||
expect(values).toContain("de-DE");
|
||||
});
|
||||
|
||||
it("populates label and keywords with the same translated string", () => {
|
||||
const options = getLocaleOptions();
|
||||
const enUS = options.find((opt) => opt.value === "en-US");
|
||||
expect(enUS?.label).toBeTruthy();
|
||||
expect(enUS?.keywords).toEqual([enUS?.label]);
|
||||
});
|
||||
|
||||
it("uses unique values for every option", () => {
|
||||
const values = getLocaleOptions().map((opt) => opt.value);
|
||||
expect(new Set(values).size).toBe(values.length);
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { Locale } from "@reactive-resume/utils/locale";
|
||||
import type { SingleComboboxProps } from "@/components/ui/combobox";
|
||||
import type { Locale } from "@/libs/locale";
|
||||
import { i18n } from "@lingui/core";
|
||||
import { useLingui } from "@lingui/react";
|
||||
import { Combobox } from "@/components/ui/combobox";
|
||||
|
||||
@@ -2,22 +2,25 @@ import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
import type { QueryClient, QueryKey } from "@tanstack/react-query";
|
||||
import type { WritableDraft } from "immer";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { consumeEventIterator } from "@orpc/client";
|
||||
import { useQueryClient } from "@tanstack/react-query";
|
||||
import { useParams } from "@tanstack/react-router";
|
||||
import { debounce } from "es-toolkit";
|
||||
import { useCallback, useEffect } from "react";
|
||||
import { debounce, isEqual } from "es-toolkit";
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import { immer } from "zustand/middleware/immer";
|
||||
import { create } from "zustand/react";
|
||||
import { orpc } from "@/libs/orpc/client";
|
||||
import { applyResumePatches, createResumePatches } from "@reactive-resume/utils/resume/patch";
|
||||
import { orpc, streamClient } from "@/libs/orpc/client";
|
||||
|
||||
type Resume = {
|
||||
export type Resume = {
|
||||
id: string;
|
||||
name: string;
|
||||
slug: string;
|
||||
tags: string[];
|
||||
data: ResumeData;
|
||||
isLocked: boolean;
|
||||
updatedAt: Date;
|
||||
hasPassword?: boolean;
|
||||
isPublic?: boolean;
|
||||
};
|
||||
@@ -31,6 +34,8 @@ type ResumeStoreState = {
|
||||
type ResumeStoreActions = {
|
||||
initialize: (resume: Resume | null) => void;
|
||||
reset: () => void;
|
||||
replaceResumeDraft: (resume: Resume) => void;
|
||||
replaceResumeFromServer: (resume: Resume) => void;
|
||||
updateResumeData: (fn: (draft: WritableDraft<ResumeData>) => void) => void;
|
||||
patchResume: (fn: (draft: WritableDraft<Resume>) => void) => void;
|
||||
mergeResumeMetadata: (resume: Resume) => void;
|
||||
@@ -41,6 +46,8 @@ type ResumeStore = ResumeStoreState & ResumeStoreActions;
|
||||
type Runtime = {
|
||||
abortController: AbortController;
|
||||
queryClient?: QueryClient;
|
||||
baselineData?: ResumeData;
|
||||
hasPendingLocalChanges: boolean;
|
||||
syncErrorToastId?: string | number;
|
||||
syncResume: ReturnType<typeof debounce<(resume: Resume) => Promise<void>>>;
|
||||
beforeUnloadHandler?: () => void;
|
||||
@@ -55,6 +62,16 @@ function getResumeQueryKey(id: string): QueryKey {
|
||||
return orpc.resume.getById.queryOptions({ input: { id } }).queryKey as QueryKey;
|
||||
}
|
||||
|
||||
function cloneResumeData(data: ResumeData): ResumeData {
|
||||
return structuredClone(data);
|
||||
}
|
||||
|
||||
function setRuntimeBaseline(resume: Resume) {
|
||||
const runtime = getRuntime(resume.id);
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
}
|
||||
|
||||
function createRuntime(): Runtime {
|
||||
const abortController = new AbortController();
|
||||
|
||||
@@ -63,14 +80,37 @@ function createRuntime(): Runtime {
|
||||
const runtime = runtimes.get(resume.id);
|
||||
if (!runtime) return;
|
||||
|
||||
const baselineData = runtime.baselineData ?? cloneResumeData(resume.data);
|
||||
const operations = createResumePatches(baselineData, resume.data);
|
||||
|
||||
if (operations.length === 0) {
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const submittedData = cloneResumeData(resume.data);
|
||||
|
||||
try {
|
||||
const updated = (await orpc.resume.update.call(
|
||||
{ id: resume.id, data: resume.data },
|
||||
const updated = (await orpc.resume.patch.call(
|
||||
{ id: resume.id, operations },
|
||||
{ signal: abortController.signal },
|
||||
)) as Resume;
|
||||
|
||||
runtime.queryClient?.setQueryData(getResumeQueryKey(resume.id), updated);
|
||||
useResumeStore.getState().mergeResumeMetadata(updated);
|
||||
runtime.baselineData = cloneResumeData(updated.data);
|
||||
|
||||
const currentResume = useResumeStore.getState().resume;
|
||||
const currentDataStillMatchesSubmission =
|
||||
currentResume?.id === resume.id && isEqual(currentResume.data, submittedData);
|
||||
|
||||
if (currentDataStillMatchesSubmission) {
|
||||
runtime.hasPendingLocalChanges = false;
|
||||
useResumeStore.getState().replaceResumeFromServer(updated);
|
||||
} else {
|
||||
runtime.hasPendingLocalChanges = true;
|
||||
useResumeStore.getState().mergeResumeMetadata(updated);
|
||||
syncCurrentResume(resume.id);
|
||||
}
|
||||
|
||||
if (runtime.syncErrorToastId === undefined) return;
|
||||
toast.dismiss(runtime.syncErrorToastId);
|
||||
@@ -89,6 +129,7 @@ function createRuntime(): Runtime {
|
||||
|
||||
const runtime: Runtime = {
|
||||
abortController,
|
||||
hasPendingLocalChanges: false,
|
||||
syncResume,
|
||||
};
|
||||
|
||||
@@ -113,6 +154,10 @@ function bindRuntimeQueryClient(id: string, queryClient: QueryClient) {
|
||||
getRuntime(id).queryClient = queryClient;
|
||||
}
|
||||
|
||||
function hasPendingLocalChanges(id: string): boolean {
|
||||
return getRuntime(id).hasPendingLocalChanges;
|
||||
}
|
||||
|
||||
function cleanupRuntime(id: string) {
|
||||
const runtime = runtimes.get(id);
|
||||
if (!runtime) return;
|
||||
@@ -141,6 +186,8 @@ export const useResumeStore = create<ResumeStore>()(
|
||||
isReady: false,
|
||||
|
||||
initialize: (resume) => {
|
||||
if (resume) setRuntimeBaseline(resume);
|
||||
|
||||
set((state) => {
|
||||
state.resume = resume;
|
||||
state.resumeId = resume?.id;
|
||||
@@ -156,6 +203,24 @@ export const useResumeStore = create<ResumeStore>()(
|
||||
});
|
||||
},
|
||||
|
||||
replaceResumeDraft: (resume) => {
|
||||
set((state) => {
|
||||
state.resume = resume;
|
||||
state.resumeId = resume.id;
|
||||
state.isReady = true;
|
||||
});
|
||||
},
|
||||
|
||||
replaceResumeFromServer: (resume) => {
|
||||
setRuntimeBaseline(resume);
|
||||
|
||||
set((state) => {
|
||||
state.resume = resume;
|
||||
state.resumeId = resume.id;
|
||||
state.isReady = true;
|
||||
});
|
||||
},
|
||||
|
||||
patchResume: (fn) => {
|
||||
set((state) => {
|
||||
if (!state.resume) return;
|
||||
@@ -171,6 +236,7 @@ export const useResumeStore = create<ResumeStore>()(
|
||||
state.resume.slug = resume.slug;
|
||||
state.resume.tags = resume.tags;
|
||||
state.resume.isLocked = resume.isLocked;
|
||||
state.resume.updatedAt = resume.updatedAt;
|
||||
state.resume.hasPassword = resume.hasPassword;
|
||||
state.resume.isPublic = resume.isPublic;
|
||||
});
|
||||
@@ -192,6 +258,7 @@ export const useResumeStore = create<ResumeStore>()(
|
||||
fn(state.resume.data as WritableDraft<ResumeData>);
|
||||
});
|
||||
|
||||
getRuntime(currentResume.id).hasPendingLocalChanges = true;
|
||||
syncCurrentResume(currentResume.id);
|
||||
},
|
||||
})),
|
||||
@@ -213,6 +280,20 @@ export function usePatchResume() {
|
||||
return useResumeStore((state) => state.patchResume);
|
||||
}
|
||||
|
||||
export function useReplaceResumeFromServer() {
|
||||
const queryClient = useQueryClient();
|
||||
const replaceResumeFromServer = useResumeStore((state) => state.replaceResumeFromServer);
|
||||
|
||||
return useCallback(
|
||||
(resume: Resume) => {
|
||||
bindRuntimeQueryClient(resume.id, queryClient);
|
||||
queryClient.setQueryData(getResumeQueryKey(resume.id), resume);
|
||||
replaceResumeFromServer(resume);
|
||||
},
|
||||
[queryClient, replaceResumeFromServer],
|
||||
);
|
||||
}
|
||||
|
||||
function useBuilderResumeSelector<T>(selector: (resume: Resume) => T): T | undefined {
|
||||
const params = useParams({ strict: false }) as { resumeId?: string };
|
||||
const resumeId = params.resumeId;
|
||||
@@ -259,6 +340,68 @@ export function useUpdateResumeData() {
|
||||
);
|
||||
}
|
||||
|
||||
export function useResumeUpdateSubscription() {
|
||||
const queryClient = useQueryClient();
|
||||
const replaceResumeFromServer = useResumeStore((state) => state.replaceResumeFromServer);
|
||||
const params = useParams({ strict: false }) as { resumeId?: string };
|
||||
const resumeId = params.resumeId;
|
||||
const [_retryNonce, setRetryNonce] = useState(0);
|
||||
|
||||
useEffect(() => {
|
||||
if (!resumeId) return;
|
||||
|
||||
bindRuntimeQueryClient(resumeId, queryClient);
|
||||
|
||||
let didCancel = false;
|
||||
let retryTimer: number | undefined;
|
||||
const cancel = consumeEventIterator(streamClient.resume.updates.subscribe({ id: resumeId }), {
|
||||
onEvent: async () => {
|
||||
try {
|
||||
const resume = (await orpc.resume.getById.call({ id: resumeId })) as Resume;
|
||||
|
||||
if (hasPendingLocalChanges(resumeId)) {
|
||||
const runtime = getRuntime(resumeId);
|
||||
const currentResume = useResumeStore.getState().resume;
|
||||
const baselineData = runtime.baselineData ?? currentResume?.data;
|
||||
|
||||
if (currentResume && baselineData) {
|
||||
const localOperations = createResumePatches(baselineData, currentResume.data);
|
||||
const mergedData = applyResumePatches(resume.data, localOperations);
|
||||
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
runtime.hasPendingLocalChanges = localOperations.length > 0;
|
||||
queryClient.setQueryData(getResumeQueryKey(resumeId), resume);
|
||||
useResumeStore.getState().replaceResumeDraft({ ...resume, data: mergedData });
|
||||
syncCurrentResume(resumeId);
|
||||
} else {
|
||||
runtime.baselineData = cloneResumeData(resume.data);
|
||||
useResumeStore.getState().mergeResumeMetadata(resume);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
queryClient.setQueryData(getResumeQueryKey(resumeId), resume);
|
||||
replaceResumeFromServer(resume);
|
||||
} catch (error) {
|
||||
if (error instanceof DOMException && error.name === "AbortError") return;
|
||||
console.warn("Failed to refresh resume after update event:", error);
|
||||
}
|
||||
},
|
||||
onError: (error) => {
|
||||
if (didCancel) return;
|
||||
console.warn("Resume update stream failed, reconnecting:", error);
|
||||
retryTimer = window.setTimeout(() => setRetryNonce((value) => value + 1), 2500);
|
||||
},
|
||||
});
|
||||
|
||||
return () => {
|
||||
didCancel = true;
|
||||
if (retryTimer) window.clearTimeout(retryTimer);
|
||||
void cancel().catch(() => {});
|
||||
};
|
||||
}, [queryClient, replaceResumeFromServer, resumeId]);
|
||||
}
|
||||
|
||||
export function useResumeCleanup() {
|
||||
const params = useParams({ strict: false }) as { resumeId?: string };
|
||||
const resumeId = params.resumeId;
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
import { render, screen, waitFor } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { sampleResumeData } from "@reactive-resume/schema/resume/sample";
|
||||
import { ResumePreviewClient } from "./preview.browser";
|
||||
|
||||
const previewMock = vi.hoisted(() => ({
|
||||
builderResumeData: undefined as ResumeData | undefined,
|
||||
localizedResumeData: [] as Array<ResumeData | undefined>,
|
||||
toBlob: vi.fn(async () => new Blob(["%PDF"], { type: "application/pdf" })),
|
||||
}));
|
||||
|
||||
const resumeDataWithPageCount = (pageCount: number): ResumeData => ({
|
||||
...sampleResumeData,
|
||||
metadata: {
|
||||
...sampleResumeData.metadata,
|
||||
layout: {
|
||||
...sampleResumeData.metadata.layout,
|
||||
pages: sampleResumeData.metadata.layout.pages.slice(0, pageCount),
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
vi.mock("@react-pdf/renderer", () => ({
|
||||
pdf: () => ({ toBlob: previewMock.toBlob }),
|
||||
}));
|
||||
|
||||
vi.mock("@/libs/resume/pdf-document", () => ({
|
||||
useLocalizedResumeDocument: (data?: ResumeData) => {
|
||||
previewMock.localizedResumeData.push(data);
|
||||
return data ? { type: "resume-document", data } : null;
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock("./builder-resume-draft", () => ({
|
||||
useResumeData: () => previewMock.builderResumeData,
|
||||
}));
|
||||
|
||||
vi.mock("./pdf-canvas", async () => {
|
||||
const React = await import("react");
|
||||
const pdfDocument = { numPages: 1 };
|
||||
|
||||
return {
|
||||
PdfCanvasDocument: ({
|
||||
children,
|
||||
onLoadSuccess,
|
||||
}: {
|
||||
children: (document: typeof pdfDocument) => React.ReactNode;
|
||||
onLoadSuccess: (document: typeof pdfDocument) => void;
|
||||
}) => {
|
||||
React.useEffect(() => {
|
||||
onLoadSuccess(pdfDocument);
|
||||
}, [onLoadSuccess]);
|
||||
|
||||
return React.createElement(React.Fragment, null, children(pdfDocument));
|
||||
},
|
||||
PdfCanvasPage: ({
|
||||
onLoadSuccess,
|
||||
onRenderSuccess,
|
||||
pageNumber,
|
||||
totalPages,
|
||||
}: {
|
||||
onLoadSuccess: (pageNumber: number, pageSize: { height: number; width: number }) => void;
|
||||
onRenderSuccess?: () => void;
|
||||
pageNumber: number;
|
||||
totalPages: number;
|
||||
}) => {
|
||||
React.useEffect(() => {
|
||||
onLoadSuccess(pageNumber, { height: 200, width: 100 });
|
||||
onRenderSuccess?.();
|
||||
}, [onLoadSuccess, onRenderSuccess, pageNumber]);
|
||||
|
||||
return React.createElement(
|
||||
"div",
|
||||
{ role: "img", "aria-label": `Resume page ${pageNumber} of ${totalPages}` },
|
||||
"Rendered page",
|
||||
);
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
describe("ResumePreviewClient", () => {
|
||||
beforeEach(() => {
|
||||
previewMock.builderResumeData = undefined;
|
||||
previewMock.localizedResumeData = [];
|
||||
previewMock.toBlob.mockReset();
|
||||
previewMock.toBlob.mockImplementation(async () => new Blob(["%PDF"], { type: "application/pdf" }));
|
||||
});
|
||||
|
||||
it("renders a loading placeholder for each builder layout page while the PDF is generated", () => {
|
||||
previewMock.builderResumeData = resumeDataWithPageCount(3);
|
||||
previewMock.toBlob.mockImplementation(() => new Promise<Blob>(() => {}));
|
||||
|
||||
render(<ResumePreviewClient pageGap="1rem" pageLayout="vertical" pageScale={1.25} showPageNumbers={false} />);
|
||||
|
||||
expect(screen.getAllByRole("img", { name: /Loading resume page/ })).toHaveLength(3);
|
||||
});
|
||||
|
||||
it("renders from explicit resume data when no builder resume is active", async () => {
|
||||
render(
|
||||
<ResumePreviewClient
|
||||
data={sampleResumeData}
|
||||
pageGap="1rem"
|
||||
pageLayout="vertical"
|
||||
pageScale={1.25}
|
||||
showPageNumbers={false}
|
||||
/>,
|
||||
);
|
||||
|
||||
expect(await screen.findByRole("img", { name: "Resume page 1 of 1" })).toBeTruthy();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(previewMock.toBlob).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
expect(previewMock.localizedResumeData).toContain(sampleResumeData);
|
||||
});
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user