mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-01 01:04:29 +10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90c34ca572 | ||
|
|
2b8fa9c7e8 | ||
|
|
2f7aabcfe9 | ||
|
|
ef6d054598 | ||
|
|
201d707aea | ||
|
|
d8b0902ac9 | ||
|
|
01c75bd796 | ||
|
|
0a609306a6 | ||
|
|
5bdc6de862 | ||
|
|
cc01fb9418 | ||
|
|
5e8e1349bc | ||
|
|
ddbb71fb78 | ||
|
|
3289453448 | ||
|
|
611af8ee72 | ||
|
|
69b96a592d | ||
|
|
3151f6a9cc | ||
|
|
726968288c | ||
|
|
ad086f337a | ||
|
|
66d09820c3 | ||
|
|
5ec73e9234 | ||
|
|
17569d0658 | ||
|
|
14ea464c0a | ||
|
|
da9a3c0b12 | ||
|
|
f5a9ffb776 | ||
|
|
19181b79c8 | ||
|
|
1509678578 | ||
|
|
c4d5dd4a3c | ||
|
|
ca734ca547 | ||
|
|
8d347f5162 | ||
|
|
4d368ab6f6 |
@@ -0,0 +1,10 @@
|
||||
FROM mcr.microsoft.com/devcontainers/typescript-node:24
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
EXPOSE 3000
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "Reactive Resume",
|
||||
"service": "reactive_resume",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"workspaceFolder": "/workspace",
|
||||
|
||||
"forwardPorts": [3000, 4000, 5432, 8333],
|
||||
"portsAttributes": {
|
||||
"3000": { "label": "Reactive Resume", "onAutoForward": "openBrowser" },
|
||||
"4000": { "label": "Browserless (Printer)" },
|
||||
"5432": { "label": "PostgreSQL" },
|
||||
"8333": { "label": "SeaweedFS (S3)" }
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": ["biomejs.biome", "bradlc.vscode-tailwindcss", "lokalise.i18n-ally"],
|
||||
"settings": {
|
||||
"biome.enabled": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.biome": "explicit",
|
||||
"source.fixAll.biome": "explicit",
|
||||
"source.organizeImports.biome": "explicit"
|
||||
},
|
||||
"editor.defaultFormatter": "biomejs.biome",
|
||||
"typescript.tsdk": "node_modules/typescript/lib"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"postCreateCommand": "corepack enable && pnpm install"
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
services:
|
||||
reactive_resume:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: .devcontainer/Dockerfile
|
||||
volumes:
|
||||
- ..:/workspace:cached
|
||||
command: sleep infinity
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
browserless:
|
||||
condition: service_started
|
||||
seaweedfs:
|
||||
condition: service_healthy
|
||||
seaweedfs_create_bucket:
|
||||
condition: service_completed_successfully
|
||||
environment:
|
||||
TZ: Etc/UTC
|
||||
APP_URL: http://localhost:3000
|
||||
PRINTER_APP_URL: http://reactive_resume:3000
|
||||
PRINTER_ENDPOINT: ws://browserless:3000?token=1234567890
|
||||
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres
|
||||
AUTH_SECRET: change-me-to-a-secure-secret-key-in-production
|
||||
S3_ACCESS_KEY_ID: seaweedfs
|
||||
S3_SECRET_ACCESS_KEY: seaweedfs
|
||||
S3_REGION: us-east-1
|
||||
S3_ENDPOINT: http://seaweedfs:8333
|
||||
S3_BUCKET: reactive-resume
|
||||
S3_FORCE_PATH_STYLE: "true"
|
||||
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: postgres
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
|
||||
start_period: 10s
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
browserless:
|
||||
image: ghcr.io/browserless/chromium:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
QUEUED: "10"
|
||||
HEALTH: "true"
|
||||
CONCURRENT: "5"
|
||||
TOKEN: "1234567890"
|
||||
healthcheck:
|
||||
test:
|
||||
["CMD", "curl", "-f", "http://localhost:3000/pressure?token=1234567890"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
seaweedfs:
|
||||
image: chrislusf/seaweedfs:latest
|
||||
restart: unless-stopped
|
||||
command: server -s3 -filer -dir=/data -ip=0.0.0.0
|
||||
environment:
|
||||
AWS_ACCESS_KEY_ID: seaweedfs
|
||||
AWS_SECRET_ACCESS_KEY: seaweedfs
|
||||
volumes:
|
||||
- seaweedfs_data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://localhost:8888"]
|
||||
start_period: 10s
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
seaweedfs_create_bucket:
|
||||
image: quay.io/minio/mc:latest
|
||||
restart: on-failure
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
until mc alias set seaweedfs http://seaweedfs:8333 seaweedfs seaweedfs; do
|
||||
echo 'Waiting for SeaweedFS...';
|
||||
sleep 2;
|
||||
done;
|
||||
mc mb seaweedfs/reactive-resume --ignore-existing;
|
||||
"
|
||||
depends_on:
|
||||
seaweedfs:
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
seaweedfs_data:
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
const nextPackages = ["@monaco-editor/react"];
|
||||
|
||||
const betaPackages = ["drizzle-orm", "drizzle-kit", "@better-auth/core", "@better-auth/passkey", "better-auth"];
|
||||
const betaPackages = ["vite", "drizzle-orm", "drizzle-kit", "@better-auth/core", "@better-auth/passkey", "better-auth"];
|
||||
|
||||
/** @type {import('npm-check-updates').RunOptions} */
|
||||
module.exports = {
|
||||
|
||||
Vendored
+7
-7
@@ -10,19 +10,19 @@
|
||||
"*.css": "tailwindcss"
|
||||
},
|
||||
"files.readonlyInclude": {
|
||||
"pnpm-lock.yaml": true,
|
||||
"**/routeTree.gen.ts": true
|
||||
"**/routeTree.gen.ts": true,
|
||||
"pnpm-lock.yaml": true
|
||||
},
|
||||
"files.watcherExclude": {
|
||||
"pnpm-lock.yaml": true,
|
||||
"**/routeTree.gen.ts": true
|
||||
"**/routeTree.gen.ts": true,
|
||||
"pnpm-lock.yaml": true
|
||||
},
|
||||
"i18n-ally.enabledParsers": ["po"],
|
||||
"i18n-ally.localesPaths": ["locales"],
|
||||
"i18n-ally.sourceLanguage": "en-US",
|
||||
"search.exclude": {
|
||||
"pnpm-lock.yaml": true,
|
||||
"**/routeTree.gen.ts": true
|
||||
"**/routeTree.gen.ts": true,
|
||||
"pnpm-lock.yaml": true
|
||||
},
|
||||
"tailwindCSS.classFunctions": ["cn", "cva"],
|
||||
"tailwindCSS.experimental.classRegex": [
|
||||
@@ -31,5 +31,5 @@
|
||||
["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
|
||||
],
|
||||
"tailwindCSS.experimental.configFile": "src/styles/globals.css",
|
||||
"typescript.tsdk": "node_modules/typescript/lib"
|
||||
"typescript.experimental.useTsgo": true
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ pnpm db:studio # Open Drizzle Studio
|
||||
pnpm lingui:extract
|
||||
|
||||
# Find unused exports
|
||||
pnpm knip
|
||||
dotenvx run -- pnpm knip
|
||||
```
|
||||
|
||||
## Local Development Setup
|
||||
|
||||
@@ -1,15 +1,3 @@
|
||||
<div align="center" markdown="1">
|
||||
<a href="https://go.warp.dev/Reactive-Resume">
|
||||
<img alt="Warp Sponsorship" width="400" src="https://github.com/warpdotdev/brand-assets/blob/main/Github/Sponsor/Warp-Github-LG-03.png?raw=true" />
|
||||
</a>
|
||||
|
||||
### [Warp, built for coding with multiple AI agents.](https://go.warp.dev/Reactive-Resume)
|
||||
|
||||
[Available for MacOS, Linux, & Windows](https://go.warp.dev/Reactive-Resume)
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<a href="https://rxresu.me">
|
||||
<img src="public/opengraph/banner.jpg" alt="Reactive Resume" />
|
||||
@@ -26,15 +14,15 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<img src="https://img.shields.io/github/stars/amruthpillai/Reactive-Resume?style=flat-square" alt="Stars" />
|
||||
<img src="https://img.shields.io/github/package-json/v/amruthpillai/reactive-resume?style=flat-square" alt="Reactive Resume version">
|
||||
<img src="https://img.shields.io/github/stars/amruthpillai/Reactive-Resume?style=flat-square" alt="GitHub Stars">
|
||||
<img src="https://img.shields.io/github/license/amruthpillai/Reactive-Resume?style=flat-square" alt="License" />
|
||||
<img src="https://img.shields.io/docker/pulls/amruthpillai/reactive-resume?style=flat-square" alt="Docker Pulls" />
|
||||
<a href="https://discord.gg/EE8yFqW4"><img src="https://img.shields.io/discord/1173518977851473940?label=Discord&style=flat-square&logo=discord" alt="Discord" /></a>
|
||||
<a href="https://discord.gg/EE8yFqW4"><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://opencollective.com/reactive-resume"><img src="https://img.shields.io/opencollective/all/reactive-resume?style=flat-square" alt="Open Collective" /></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>
|
||||
</p>
|
||||
|
||||
<a href="https://www.producthunt.com/products/reactive-resume?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-reactive-resume-v5-2" target="_blank" rel="noopener"><img alt="Reactive Resume v5 - A free and open-source resume builder. | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1065182&theme=light&t=1768850745585"></a>
|
||||
</div>
|
||||
|
||||
---
|
||||
@@ -157,6 +145,8 @@ docker compose up -d
|
||||
open http://localhost:3000
|
||||
```
|
||||
|
||||
[](https://app.ona.com/#https://github.com/amruthpillai/reactive-resume)
|
||||
|
||||
For detailed setup instructions, environment configuration, and self-hosting guides, see the [documentation](https://docs.rxresu.me).
|
||||
|
||||
## Tech Stack
|
||||
@@ -203,7 +193,7 @@ docker pull amruthpillai/reactive-resume:latest
|
||||
docker pull ghcr.io/amruthpillai/reactive-resume:latest
|
||||
```
|
||||
|
||||
See the [self-hosting guide](https://docs.rxresu.me/guides/self-hosting-with-docker) for complete instructions.
|
||||
See the [self-hosting guide](https://docs.rxresu.me/self-hosting/docker) for complete instructions.
|
||||
|
||||
## Support
|
||||
|
||||
|
||||
+3
-3
@@ -10,9 +10,9 @@
|
||||
"ignoreUnknown": true,
|
||||
"includes": [
|
||||
"**",
|
||||
"!**/docs/spec.json",
|
||||
"!**/webfontlist.json",
|
||||
"!**/schema/schema.json",
|
||||
"!**/docs/spec.json",
|
||||
"!**/src/routeTree.gen.ts"
|
||||
]
|
||||
},
|
||||
@@ -24,8 +24,7 @@
|
||||
"actions": {
|
||||
"recommended": true,
|
||||
"source": {
|
||||
"organizeImports": "on",
|
||||
"useSortedProperties": "on"
|
||||
"organizeImports": "on"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -38,6 +37,7 @@
|
||||
},
|
||||
"correctness": {
|
||||
"noUnknownTypeSelector": "off",
|
||||
"useExhaustiveDependencies": "off",
|
||||
"noUnusedImports": {
|
||||
"fix": "safe",
|
||||
"level": "error",
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ services:
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
seaweedfs-create-bucket:
|
||||
seaweedfs_create_bucket:
|
||||
image: quay.io/minio/mc:latest
|
||||
restart: on-failure
|
||||
entrypoint: >
|
||||
|
||||
+4
-4
@@ -56,7 +56,7 @@ services:
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
seaweedfs-create-bucket:
|
||||
seaweedfs_create_bucket:
|
||||
image: quay.io/minio/mc:latest
|
||||
restart: on-failure
|
||||
entrypoint: >
|
||||
@@ -70,7 +70,7 @@ services:
|
||||
seaweedfs:
|
||||
condition: service_healthy
|
||||
|
||||
app:
|
||||
reactive_resume:
|
||||
image: amruthpillai/reactive-resume:latest
|
||||
# image: ghcr.io/amruthpillai/reactive-resume:latest
|
||||
environment:
|
||||
@@ -78,7 +78,7 @@ services:
|
||||
- TZ=Etc/UTC
|
||||
- NODE_ENV=production
|
||||
- APP_URL=http://localhost:3000
|
||||
- PRINTER_APP_URL=http://app:3000
|
||||
- PRINTER_APP_URL=http://reactive_resume:3000
|
||||
# Printer
|
||||
- PRINTER_ENDPOINT=ws://browserless:3000?token=1234567890
|
||||
# - PRINTER_ENDPOINT=http://chrome:9222 # Or, if you're using chromedp/headless-shell
|
||||
@@ -101,7 +101,7 @@ services:
|
||||
condition: service_healthy
|
||||
browserless:
|
||||
condition: service_healthy
|
||||
seaweedfs-create-bucket:
|
||||
seaweedfs_create_bucket:
|
||||
condition: service_completed_successfully
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
|
||||
|
||||
@@ -4,6 +4,41 @@ description: "List of all notable changes and updates to Reactive Resume"
|
||||
rss: true
|
||||
---
|
||||
|
||||
<Update label="v5.0.7" description="9th February 2026">
|
||||
- Introduce a new **MCP (Model Context Protocol) server** that lets you manage and edit resumes from any MCP-compatible AI tool — Claude Desktop, Cursor, Codex, and more. Supports listing, reading, creating, deleting, locking/unlocking, and patching resumes via natural language. [(guide)](/guides/using-the-mcp-server)
|
||||
- Add an **AI Chat** panel to the resume builder, allowing you to modify your resume through conversational AI directly within the editor. The chat uses tool-calling to apply JSON Patch operations to your resume in real-time, with visual feedback for each change.
|
||||
- Add a system prompt and `patch_resume` tool for the AI chat, enabling structured, minimal-diff resume edits following RFC 6902 JSON Patch operations.
|
||||
- Chat history is now persisted per resume in localStorage, so conversations are preserved across sessions.
|
||||
- Fix rendering issues in the Lapras and Onyx resume templates.
|
||||
- Improvements to the Combobox and ScrollArea UI components.
|
||||
- Fix an issue with skills item rendering in the shared resume components.
|
||||
- Update authentication configuration and auth route handling.
|
||||
- Update the JSON Schema to reflect the latest resume data model.
|
||||
- Update dependencies to the latest versions.
|
||||
</Update>
|
||||
|
||||
<Update label="v5.0.6" description="8th February 2026">
|
||||
- Implement Atomic Resume Patching API for fine-grained resume updates, allowing partial, atomic updates to resumes via a new PATCH endpoint. [#2692](https://github.com/amruthpillai/reactive-resume/pull/2692)
|
||||
- The API endpoint `PUT /resume/{id}` now returns the updated resume object instead of void. Also, resume routing/services now use explicit DTOs for input and output schemas. [#2688](https://github.com/amruthpillai/reactive-resume/pull/2688)
|
||||
- Add error logging for API server errors (server-side only) to improve debugging and reliability.
|
||||
- Refactor and clean up imports/exports for clarity and maintainability.
|
||||
- Added `.devcontainer` configuration for improved contributor development environment.
|
||||
- Update dependencies to the latest versions.
|
||||
- Add build status badge and documentation link to README.
|
||||
- Sync latest translations from Crowdin (notably: French, other languages).
|
||||
- Other minor fixes and improvements.
|
||||
</Update>
|
||||
|
||||
|
||||
<Update label="v5.0.5" description="31st January 2026">
|
||||
- Implement Cover Letter functionality in the resume builder, allowing the user to create cover letters as custom sections. [(link)](/guides/adding-a-cover-letter)
|
||||
- Implement full-screen mode for the rich text editor in the resume builder, allowing the user to write in a more focused environment.
|
||||
- Implement a new custom section type: `summary`, which allows the user to add another "summary" like section to the resume.
|
||||
- Implement a `useFormBlocker` hook to prevent the user from closing a dialog while the form has unsaved changes.
|
||||
- Fix an issue where keywords spacing was not consistent in the interests section. [#2631](https://github.com/amruthpillai/reactive-resume/pull/2631)
|
||||
- Fix an issue where the AI connection test was not working correctly, also return appropriate error messages for AI provider issues.
|
||||
</Update>
|
||||
|
||||
<Update label="v5.0.4" description="28th January 2026">
|
||||
- Bring back Undo/Redo functionality in the resume builder for improved editing experience.
|
||||
- Arrange the sidebar builder dynamically based on the section type in each template. [#2564](https://github.com/amruthpillai/reactive-resume/pull/2603)
|
||||
|
||||
@@ -299,13 +299,13 @@ pnpm run typecheck
|
||||
|
||||
```bash
|
||||
docker compose -f compose.dev.yml logs seaweedfs
|
||||
docker compose -f compose.dev.yml logs seaweedfs-create-bucket
|
||||
docker compose -f compose.dev.yml logs seaweedfs_create_bucket
|
||||
```
|
||||
|
||||
If the bucket wasn't created, restart the bucket creation service:
|
||||
|
||||
```bash
|
||||
docker compose -f compose.dev.yml restart seaweedfs-create-bucket
|
||||
docker compose -f compose.dev.yml restart seaweedfs_create_bucket
|
||||
```
|
||||
</Accordion>
|
||||
|
||||
|
||||
+7
-1
@@ -69,7 +69,13 @@
|
||||
},
|
||||
{
|
||||
"group": "Integrations",
|
||||
"pages": ["guides/using-the-api", "guides/using-ai", "guides/json-resume-schema"]
|
||||
"pages": [
|
||||
"guides/using-the-api",
|
||||
"guides/using-the-patch-api",
|
||||
"guides/using-the-mcp-server",
|
||||
"guides/using-ai",
|
||||
"guides/json-resume-schema"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Self-Hosting",
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
---
|
||||
title: "Using the MCP Server"
|
||||
description: "Connect Reactive Resume to AI tools like Claude Desktop, Cursor, and Codex using the Model Context Protocol"
|
||||
---
|
||||
|
||||
The Reactive Resume MCP server lets you manage and modify your resumes through any MCP-compatible AI tool — Claude Desktop, Cursor, Codex, and more. It connects to the Reactive Resume API and exposes tools for listing, reading, and patching resumes using natural language.
|
||||
|
||||
## What is MCP?
|
||||
|
||||
The [Model Context Protocol (MCP)](https://modelcontextprotocol.io) is a standard that lets LLM-powered tools connect to external services. Instead of being limited to the built-in chat UI, you can use any MCP client to interact with your resumes.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
<Steps>
|
||||
<Step title="Create an API key">
|
||||
Follow the [Using the API](/guides/using-the-api) guide to create an API key in your Reactive Resume dashboard.
|
||||
</Step>
|
||||
|
||||
<Step title="Install Node.js">
|
||||
The MCP server requires [Node.js](https://nodejs.org) version 18 or later.
|
||||
</Step>
|
||||
|
||||
<Step title="Install dependencies">
|
||||
From the Reactive Resume repository root, install dependencies (the MCP server uses the main project's dependencies):
|
||||
|
||||
```bash
|
||||
cd /path/to/reactive-resume
|
||||
pnpm install
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Running the MCP server
|
||||
|
||||
The server is a single TypeScript entry point and is run with **tsx** (no build step). From the repository root:
|
||||
|
||||
```bash
|
||||
npx tsx /path/to/reactive-resume/mcp/index.ts
|
||||
```
|
||||
|
||||
The working directory must be the **repository root** so that `node_modules` (and thus `@modelcontextprotocol/sdk`) is resolved. Configure your MCP client with `cwd` set to the repo path.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Claude Desktop
|
||||
|
||||
Add the following to your `claude_desktop_config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"reactive-resume": {
|
||||
"command": "npx",
|
||||
"args": ["tsx", "/path/to/reactive-resume/mcp/index.ts"],
|
||||
"cwd": "/path/to/reactive-resume",
|
||||
"env": {
|
||||
"REACTIVE_RESUME_API_KEY": "your-api-key",
|
||||
"REACTIVE_RESUME_URL": "https://rxresu.me"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<Info>
|
||||
Replace `/path/to/reactive-resume` with the actual path to your cloned repository, and `your-api-key` with the API key you created.
|
||||
</Info>
|
||||
|
||||
### Cursor
|
||||
|
||||
Add the following to `.cursor/mcp.json` in your project or home directory:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"reactive-resume": {
|
||||
"command": "npx",
|
||||
"args": ["tsx", "/path/to/reactive-resume/mcp/index.ts"],
|
||||
"cwd": "/path/to/reactive-resume",
|
||||
"env": {
|
||||
"REACTIVE_RESUME_API_KEY": "your-api-key",
|
||||
"REACTIVE_RESUME_URL": "https://rxresu.me"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Available Tools
|
||||
|
||||
The MCP server exposes three tools:
|
||||
|
||||
| Tool | Description |
|
||||
| --- | --- |
|
||||
| `list_resumes` | List all your resumes with their IDs, names, tags, and status |
|
||||
| `get_resume` | Get the full data of a specific resume by ID |
|
||||
| `patch_resume` | Apply JSON Patch operations to modify a resume |
|
||||
|
||||
## Available Resources
|
||||
|
||||
| Resource | Description |
|
||||
| --- | --- |
|
||||
| `resume://{id}` | The full resume data as a readable JSON resource |
|
||||
| `resume://schema` | The ResumeData JSON schema for understanding the data structure |
|
||||
|
||||
## Usage Examples
|
||||
|
||||
Once your MCP client is connected, you can use natural language to interact with your resumes:
|
||||
|
||||
### Browsing
|
||||
|
||||
- "List my resumes"
|
||||
- "Show me my resume named 'Software Engineer'"
|
||||
- "What skills are listed on my resume?"
|
||||
|
||||
### Editing
|
||||
|
||||
- "Update my name to Jane Doe"
|
||||
- "Change my headline to Senior Software Engineer"
|
||||
- "Add TypeScript to my skills with an Advanced proficiency level"
|
||||
- "Add a new experience entry for my role as Staff Engineer at Acme Corp from Jan 2024 to Present"
|
||||
- "Remove the third item from my skills section"
|
||||
|
||||
### Styling
|
||||
|
||||
- "Change the template to bronzor"
|
||||
- "Set the primary color to blue"
|
||||
- "Hide the interests section"
|
||||
|
||||
<Tip>
|
||||
The AI will use `get_resume` to inspect your current resume before making changes with `patch_resume`. This ensures the correct JSON paths are used.
|
||||
</Tip>
|
||||
|
||||
## Self-Hosting
|
||||
|
||||
If you're running a self-hosted Reactive Resume instance, set `REACTIVE_RESUME_URL` to your instance URL:
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"REACTIVE_RESUME_API_KEY": "your-api-key",
|
||||
"REACTIVE_RESUME_URL": "https://resume.example.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Required | Default | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| `REACTIVE_RESUME_API_KEY` | Yes | — | API key from Reactive Resume settings |
|
||||
| `REACTIVE_RESUME_URL` | No | `https://rxresu.me` | Base URL of the Reactive Resume instance |
|
||||
| `TRANSPORT` | No | `stdio` | Transport mode: `stdio` or `http` |
|
||||
| `PORT` | No | `3100` | Port for streamable HTTP transport |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Issue | Solution |
|
||||
| --- | --- |
|
||||
| "REACTIVE_RESUME_API_KEY is required" | Set the `REACTIVE_RESUME_API_KEY` environment variable in your MCP client configuration |
|
||||
| "API error (401)" | Your API key is invalid or expired. Create a new one in the dashboard |
|
||||
| "API error (404)" | The resume ID doesn't exist. Use `list_resumes` to find valid IDs |
|
||||
| "API error (403)" | The resume is locked. Unlock it in the Reactive Resume dashboard |
|
||||
| Connection refused | Check that `REACTIVE_RESUME_URL` is correct and the instance is running |
|
||||
| Module not found / Cannot find package | Ensure `cwd` is the repository root so the main project's `node_modules` is used |
|
||||
@@ -0,0 +1,191 @@
|
||||
---
|
||||
title: "Using the Patch API"
|
||||
description: "Learn how to partially update your resume using JSON Patch (RFC 6902) operations"
|
||||
---
|
||||
|
||||
The Patch API lets you make small, targeted changes to your resume without sending the entire data object. Instead of replacing the whole resume with a `PUT`, you send a list of **JSON Patch** operations that describe exactly what to change.
|
||||
|
||||
This is based on the [JSON Patch (RFC 6902)](https://datatracker.ietf.org/doc/html/rfc6902) standard.
|
||||
|
||||
## When to Use PATCH vs PUT
|
||||
|
||||
| Use case | Method |
|
||||
| --- | --- |
|
||||
| Update a single field (e.g., name, headline) | **PATCH** |
|
||||
| Add or remove an item in a section | **PATCH** |
|
||||
| Change template, colors, or fonts | **PATCH** |
|
||||
| Replace the entire resume data at once | **PUT** |
|
||||
|
||||
<Info>
|
||||
The PATCH endpoint only modifies the resume `data` (the JSONB column). To update top-level resume properties like `name`, `slug`, `tags`, or `isPublic`, use the existing `PUT /resume/{id}` endpoint.
|
||||
</Info>
|
||||
|
||||
## Authentication
|
||||
|
||||
All requests require your API key in the `x-api-key` header. See [Using the API](/guides/using-the-api) for how to create one.
|
||||
|
||||
<Info>
|
||||
If you're self-hosting, replace `https://rxresu.me` with your instance URL. The API is served under `/api/openapi`.
|
||||
</Info>
|
||||
|
||||
## Endpoint
|
||||
|
||||
```
|
||||
PATCH /api/openapi/resume/{id}
|
||||
```
|
||||
|
||||
### Request Body
|
||||
|
||||
The resume ID is taken from the URL path, so the request body only requires the `operations` array:
|
||||
|
||||
```json
|
||||
{
|
||||
"operations": [
|
||||
{ "op": "replace", "path": "/basics/name", "value": "Jane Doe" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Each operation is an object with the following properties:
|
||||
|
||||
| Property | Required | Description |
|
||||
| --- | --- | --- |
|
||||
| `op` | Yes | The operation to perform: `add`, `remove`, `replace`, `move`, `copy`, or `test` |
|
||||
| `path` | Yes | A JSON Pointer (RFC 6901) to the target location in the resume data |
|
||||
| `value` | For `add`, `replace`, `test` | The value to use for the operation |
|
||||
| `from` | For `move`, `copy` | A JSON Pointer to the source location |
|
||||
|
||||
## Examples
|
||||
|
||||
### Replace a Basic Field
|
||||
|
||||
Update the resume holder's name and headline:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{ "op": "replace", "path": "/basics/name", "value": "Jane Doe" },
|
||||
{ "op": "replace", "path": "/basics/headline", "value": "Senior Software Engineer" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
### Add an Experience Entry
|
||||
|
||||
Append a new item to the experience section:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{
|
||||
"op": "add",
|
||||
"path": "/sections/experience/items/-",
|
||||
"value": {
|
||||
"id": "a1b2c3d4-0000-0000-0000-000000000000",
|
||||
"hidden": false,
|
||||
"company": "Acme Corp",
|
||||
"position": "Staff Engineer",
|
||||
"location": "San Francisco, CA",
|
||||
"period": "Jan 2024 - Present",
|
||||
"website": { "url": "https://acme.example.com", "label": "Acme Corp" },
|
||||
"description": "<p>Leading the platform team.</p>"
|
||||
}
|
||||
}
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
<Tip>
|
||||
The path `/sections/experience/items/-` uses the special `-` index, which means "append to the end of the array".
|
||||
To insert at a specific position, use a numeric index like `/sections/experience/items/0` for the beginning.
|
||||
</Tip>
|
||||
|
||||
### Remove an Item from a Section
|
||||
|
||||
Remove the second skill (index `1`) from the skills section:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{ "op": "remove", "path": "/sections/skills/items/1" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
### Update Metadata (Template, Colors, Fonts)
|
||||
|
||||
Switch the template and update the primary color:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{ "op": "replace", "path": "/metadata/template", "value": "bronzor" },
|
||||
{ "op": "replace", "path": "/metadata/design/colors/primary", "value": "rgba(37, 99, 235, 1)" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
### Test-Then-Replace (Optimistic Concurrency)
|
||||
|
||||
The `test` operation checks that a value matches before proceeding. If the test fails, the entire patch is rejected. This is useful to avoid overwriting changes made by another client:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{ "op": "test", "path": "/basics/name", "value": "Albert Einstein" },
|
||||
{ "op": "replace", "path": "/basics/name", "value": "Jane Doe" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
If `/basics/name` is not `"Albert Einstein"` at the time of the request, the entire patch will fail with a `400` error and no changes will be applied.
|
||||
|
||||
### Move an Item Within a Section
|
||||
|
||||
Move the first experience item to the third position:
|
||||
|
||||
```bash
|
||||
curl -X PATCH "https://rxresu.me/api/openapi/resume/YOUR_RESUME_ID" \
|
||||
-H "x-api-key: YOUR_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"operations": [
|
||||
{ "op": "move", "from": "/sections/experience/items/0", "path": "/sections/experience/items/2" }
|
||||
]
|
||||
}'
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
| Status | Error Code | Description |
|
||||
| --- | --- | --- |
|
||||
| `400` | `INVALID_PATCH_OPERATIONS` | The operations are structurally invalid, target a non-existent path, or produce resume data that fails schema validation. |
|
||||
| `401` | `UNAUTHORIZED` | Missing or invalid API key. |
|
||||
| `404` | `NOT_FOUND` | The resume does not exist or does not belong to the authenticated user. |
|
||||
| `403` | `RESUME_LOCKED` | The resume is locked and cannot be modified. Unlock it first. |
|
||||
|
||||
<Warning>
|
||||
All operations in a single request are applied atomically. If any operation fails (including a `test`), none of the operations are applied.
|
||||
</Warning>
|
||||
|
||||
## Tips
|
||||
|
||||
- **Fetch first, then patch.** Use `GET /resume/{id}` to inspect the current structure before crafting your operations. This helps you target the correct paths and array indices.
|
||||
- **Use `test` for safety.** When updating a value you expect to be a specific value, combine `test` + `replace` to avoid accidentally overwriting concurrent changes.
|
||||
- **Batch related changes.** You can send multiple operations in a single request. They are applied in order, so later operations can depend on earlier ones.
|
||||
- **The `-` index appends.** When adding items to arrays, use `-` as the index (e.g., `/sections/skills/items/-`) to append to the end.
|
||||
@@ -184,7 +184,7 @@ services:
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
app:
|
||||
reactive-resume:
|
||||
image: amruthpillai/reactive-resume:latest
|
||||
# image: ghcr.io/amruthpillai/reactive-resume:latest
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -92,18 +92,18 @@ services:
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
app:
|
||||
reactive_resume:
|
||||
image: amruthpillai/reactive-resume:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_URL=https://resume.${DOMAIN}
|
||||
- PRINTER_APP_URL=http://app:3000
|
||||
- PRINTER_APP_URL=http://reactive_resume:3000
|
||||
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
|
||||
- PRINTER_ENDPOINT=http://printer:3000
|
||||
- AUTH_SECRET=${AUTH_SECRET}
|
||||
# Add other optional env vars as needed (SMTP, S3, OAuth, etc.)
|
||||
volumes:
|
||||
- app_data:/app/data
|
||||
- reactive_resume_data:/app/data
|
||||
networks:
|
||||
- reactive_resume_network
|
||||
depends_on:
|
||||
@@ -130,7 +130,7 @@ networks:
|
||||
volumes:
|
||||
traefik_letsencrypt:
|
||||
postgres_data:
|
||||
app_data:
|
||||
reactive_resume_data:
|
||||
```
|
||||
|
||||
**Environment variables (`.env`):**
|
||||
@@ -163,8 +163,6 @@ services:
|
||||
- ./certs:/etc/nginx/certs:ro
|
||||
networks:
|
||||
- reactive_resume_network
|
||||
depends_on:
|
||||
- app
|
||||
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
@@ -195,18 +193,18 @@ services:
|
||||
networks:
|
||||
- reactive_resume_network
|
||||
|
||||
app:
|
||||
reactive_resume:
|
||||
image: amruthpillai/reactive-resume:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_URL=https://resume.${DOMAIN}
|
||||
- PRINTER_APP_URL=http://app:3000
|
||||
- PRINTER_APP_URL=http://reactive_resume:3000
|
||||
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
|
||||
- PRINTER_ENDPOINT=http://printer:3000
|
||||
- AUTH_SECRET=${AUTH_SECRET}
|
||||
# Add other optional env vars as needed (SMTP, S3, OAuth, etc.)
|
||||
volumes:
|
||||
- app_data:/app/data
|
||||
- reactive_resume_data:/app/data
|
||||
networks:
|
||||
- reactive_resume_network
|
||||
depends_on:
|
||||
@@ -226,7 +224,7 @@ networks:
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
app_data:
|
||||
reactive_resume_data:
|
||||
```
|
||||
|
||||
**nginx configuration (`nginx.conf`):**
|
||||
@@ -238,7 +236,7 @@ events {
|
||||
|
||||
http {
|
||||
upstream reactive_resume {
|
||||
server app:3000;
|
||||
server reactive_resume:3000;
|
||||
}
|
||||
|
||||
# Redirect HTTP to HTTPS
|
||||
@@ -384,13 +382,13 @@ services:
|
||||
mode: replicated
|
||||
replicas: 1
|
||||
|
||||
app:
|
||||
reactive_resume:
|
||||
image: ghcr.io/amruthpillai/reactive-resume:latest
|
||||
networks:
|
||||
- traefik_network
|
||||
- reactive_resume_network
|
||||
volumes:
|
||||
- reactive_resume_app_data:/app/data
|
||||
- reactive_resume_data:/app/data
|
||||
environment:
|
||||
- APP_URL=$APP_URL
|
||||
# If using browserless with token auth, include the token in the URL:
|
||||
@@ -447,8 +445,8 @@ volumes:
|
||||
name: reactive_resume_postgres_data
|
||||
reactive_resume_seaweedfs_data:
|
||||
name: reactive_resume_seaweedfs_data
|
||||
reactive_resume_app_data:
|
||||
name: reactive_resume_app_data
|
||||
reactive_resume_data:
|
||||
name: reactive_resume_data
|
||||
```
|
||||
|
||||
**Deploy the stack:**
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -4,6 +4,12 @@
|
||||
"tailwind": { "entry": ["src/styles.css"] },
|
||||
"project": ["src/**/*.{js,jsx,ts,tsx,mdx,css}"],
|
||||
"ignoreBinaries": ["mint"],
|
||||
"ignoreDependencies": ["npm-check-updates", "reflect-metadata", "node-addon-api", "node-gyp"],
|
||||
"ignoreDependencies": [
|
||||
"@modelcontextprotocol/sdk",
|
||||
"npm-check-updates",
|
||||
"reflect-metadata",
|
||||
"node-addon-api",
|
||||
"node-gyp"
|
||||
],
|
||||
"ignore": ["src/schema/**/*.ts", "src/components/**/*.{ts,tsx}", "src/routeTree.gen.ts"]
|
||||
}
|
||||
|
||||
Generated
BIN
Binary file not shown.
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: am\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Amharic\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "ከዚህ በኋላ ረድፍ ያክሉ"
|
||||
msgid "Add Row Before"
|
||||
msgstr "ከዚህ በፊት ረድፍ ያክሉ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "አፍሪካንስ"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "አልባኒኛ"
|
||||
@@ -340,6 +348,10 @@ msgstr "የስልጠና መስክ"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "አርቲፊሻል ኢንተለጀንስ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "የመገናኛ መጠን"
|
||||
@@ -534,6 +546,10 @@ msgstr "ቻይንኛ (ባለባለት)"
|
||||
msgid "Circle"
|
||||
msgstr "ክብ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ምርጫን ሰርዝ"
|
||||
@@ -945,6 +961,10 @@ msgstr "የየታሪክዎን ቅጂ በመፍጠር ላይ…"
|
||||
msgid "Dutch"
|
||||
msgstr "ደች"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "ትምህርት"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "የይለፍ ቃልዎ አስታውሰዎ? <0><1>አሁን ይግቡ <2/
|
||||
msgid "Remove Password"
|
||||
msgstr "የይለፍ ቃል አስወግድ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "የይለፍ ቃል ጥበቃን በማስወገድ ላይ…"
|
||||
@@ -2081,6 +2105,18 @@ msgstr "ማካፈል"
|
||||
msgid "Show"
|
||||
msgstr "አሳይ"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "የጎን አሞሌ"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "ከዚያም መተግበሪያው ሰጥቶት የ 6 አሃዝ ኮድ
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF በማመንጨት ጊዜ ችግኝ ተፈጥሯል፣ እባክዎን ጥቂት ጊዜ በኋላ ደግመው ይሞክሩ።"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "የየታሪክ ማቅረቢያን አዘምን"
|
||||
msgid "Update your password"
|
||||
msgstr "የይለፍ ቃልዎን አዘምኑ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "የይለፍ ቃልዎን በመዘመን ላይ…"
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "إضافة صف بعد"
|
||||
msgid "Add Row Before"
|
||||
msgstr "إضافة صف قبل"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "الأفريقانس"
|
||||
msgid "AI"
|
||||
msgstr "الذكاء الاصطناعي"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "الألبانية"
|
||||
@@ -340,6 +348,10 @@ msgstr "مجال الدراسة"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "الذكاء الاصطناعي"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبة الأبعاد"
|
||||
@@ -534,6 +546,10 @@ msgstr "الصينية (التقليدية)"
|
||||
msgid "Circle"
|
||||
msgstr "دائرة"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "مسح التحديد"
|
||||
@@ -945,6 +961,10 @@ msgstr "جاري استنساخ سيرتك الذاتية..."
|
||||
msgid "Dutch"
|
||||
msgstr "الهولندية"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "التعليم"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "هل تذكّرت كلمة المرور؟ <0><1>سجّل الدخول ا
|
||||
msgid "Remove Password"
|
||||
msgstr "إزالة كلمة المرور"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "جاري إزالة حماية كلمة المرور..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "المشاركة"
|
||||
msgid "Show"
|
||||
msgstr "إظهار"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "الشريط الجانبي"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "بعد ذلك، أدخِل الرمز المكوَّن من 6 أرقام
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "حدثت مشكلة أثناء إنشاء ملف PDF، يُرجى المحاولة مرة أخرى بعد فترة."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "تحديث السيرة الذاتية"
|
||||
msgid "Update your password"
|
||||
msgstr "حدّث كلمة المرور الخاصة بك"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "جاري تحديث كلمة المرور..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: az\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Azerbaijani\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Sonra Sətir əlavə et"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Əvvəl Sətir əlavə et"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "Süni İntellekt"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanca"
|
||||
@@ -340,6 +348,10 @@ msgstr "Təhsil sahəsi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Süni İntellekt"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporsiya"
|
||||
@@ -534,6 +546,10 @@ msgstr "Çin (Ənənəvi)"
|
||||
msgid "Circle"
|
||||
msgstr "Dairə"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Seçimi təmizlə"
|
||||
@@ -945,6 +961,10 @@ msgstr "Özgeçmişiniz dublikat edilir..."
|
||||
msgid "Dutch"
|
||||
msgstr "Niderland"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Təhsil"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Parolunuzu xatırladınız? <0><1>İndi daxil olun <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Parolu Sil"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Parol qorunması silinir..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Paylaşma"
|
||||
msgid "Show"
|
||||
msgstr "Göstər"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Yan panel"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Sonra, davam etmək üçün tətbiqin təqdim etdiyi 6 rəqəmli kodu da
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF yaradılarkən problem yarandı, zəhmət olmasa, bir müddət sonra yenidən cəhd edin."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Özgeçmişi Yenilə"
|
||||
msgid "Update your password"
|
||||
msgstr "Parolunuzu yeniləyin"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Parolunuz yenilənir..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bg\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Добавяне на ред след"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Добавяне на ред преди"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Африканс"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албански"
|
||||
@@ -340,6 +348,10 @@ msgstr "Област на обучение"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Изкуствен интелект"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Съотношение на страните"
|
||||
@@ -534,6 +546,10 @@ msgstr "Китайски (традиционен)"
|
||||
msgid "Circle"
|
||||
msgstr "Кръг"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Изчистване на избора"
|
||||
@@ -945,6 +961,10 @@ msgstr "Вашата автобиография се дублира..."
|
||||
msgid "Dutch"
|
||||
msgstr "Нидерландски"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Образование"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Спомнихте си паролата? <0><1>Влезте сега <2
|
||||
msgid "Remove Password"
|
||||
msgstr "Премахване на парола"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Премахване на защитата с парола..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Споделяне"
|
||||
msgid "Show"
|
||||
msgstr "Показване"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Странична лента"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "След това въведете шестцифрения код, ко
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Възникна проблем при генерирането на PDF, моля, опитайте отново след известно време."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Актуализиране на автобиография"
|
||||
msgid "Update your password"
|
||||
msgstr "Актуализирайте паролата си"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Актуализиране на паролата ви..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: bn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bengali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "পরের দিকে সারি যোগ করুন"
|
||||
msgid "Add Row Before"
|
||||
msgstr "আগের দিকে সারি যোগ করুন"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "আফ্রিকান্স"
|
||||
msgid "AI"
|
||||
msgstr "এআই"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "আলবেনিয়ান"
|
||||
@@ -340,6 +348,10 @@ msgstr "অধ্যয়নের এলাকা"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "কৃত্রিম বুদ্ধিমত্তা"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "আকারের অনুপাত"
|
||||
@@ -534,6 +546,10 @@ msgstr "চীনা (প্রচলিত)"
|
||||
msgid "Circle"
|
||||
msgstr "বৃত্ত"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "নির্বাচন মুছে ফেলুন"
|
||||
@@ -945,6 +961,10 @@ msgstr "আপনার জীবনবৃত্তান্ত ডুপ্ল
|
||||
msgid "Dutch"
|
||||
msgstr "ডাচ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "শিক্ষা"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "পাসওয়ার্ড মনে আছে? <0><1>এখনই
|
||||
msgid "Remove Password"
|
||||
msgstr "পাসওয়ার্ড সরিয়ে ফেলুন"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "পাসওয়ার্ড সুরক্ষা সরানো হচ্ছে..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "শেয়ারিং"
|
||||
msgid "Show"
|
||||
msgstr "দেখান"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "সাইডবার"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "তারপর, অ্যাপটি যে ৬ সংখ্যার
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF তৈরি করার সময় একটি সমস্যা হয়েছে, অনুগ্রহ করে কিছু সময় পরে আবার চেষ্টা করুন।"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "জীবনবৃত্তান্ত আপডেট করুন"
|
||||
msgid "Update your password"
|
||||
msgstr "আপনার পাসওয়ার্ড আপডেট করুন"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "আপনার পাসওয়ার্ড আপডেট করা হচ্ছে..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ca\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Afegeix una fila després"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Afegeix una fila abans"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanès"
|
||||
@@ -340,6 +348,10 @@ msgstr "Àrea d’estudi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intel·ligència artificial"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relació d’aspecte"
|
||||
@@ -534,6 +546,10 @@ msgstr "Xinès (tradicional)"
|
||||
msgid "Circle"
|
||||
msgstr "Cercle"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Esborra la selecció"
|
||||
@@ -945,6 +961,10 @@ msgstr "S’està duplicant el currículum..."
|
||||
msgid "Dutch"
|
||||
msgstr "Neerlandès"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Educació"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Recordes la contrasenya? <0><1>Inicia sessió ara <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Elimina la contrasenya"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "S’està desactivant la protecció amb contrasenya..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Compartició"
|
||||
msgid "Show"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Barra lateral"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "A continuació, introdueix el codi de 6 dígits que proporciona l’apli
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "S’ha produït un problema en generar el PDF, torna-ho a provar més tard."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Actualitza el currículum"
|
||||
msgid "Update your password"
|
||||
msgstr "Actualitza la contrasenya"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "S’està actualitzant la contrasenya..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: cs\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Přidat řádek za"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Přidat řádek před"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikánština"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albánština"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studijní obor"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Umělá inteligence"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Poměr stran"
|
||||
@@ -534,6 +546,10 @@ msgstr "Čínština (tradiční)"
|
||||
msgid "Circle"
|
||||
msgstr "Kruh"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Zrušit výběr"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplikování životopisu…"
|
||||
msgid "Dutch"
|
||||
msgstr "Nizozemština"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Vzdělání"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Pamatujete si heslo? <0><1>Přihlaste se nyní <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Odebrat heslo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Odstraňování ochrany heslem…"
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Sdílení"
|
||||
msgid "Show"
|
||||
msgstr "Zobrazit"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Postranní panel"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Poté zadejte šestimístný kód, který aplikace poskytne, abyste mohl
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Při generování PDF došlo k problému, zkuste to prosím znovu za chvíli."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Aktualizovat životopis"
|
||||
msgid "Update your password"
|
||||
msgstr "Aktualizujte své heslo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Aktualizace hesla…"
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: da\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Tilføj række efter"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Tilføj række før"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albansk"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studieområde"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstig intelligens"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Billedformat"
|
||||
@@ -534,6 +546,10 @@ msgstr "Kinesisk (traditionelt)"
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Ryd markering"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplikerer dit CV..."
|
||||
msgid "Dutch"
|
||||
msgstr "Hollandsk"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Uddannelse"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Kan du huske din adgangskode? <0><1>Log ind nu <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Fjern adgangskode"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Fjerner adgangskodebeskyttelse..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Deling"
|
||||
msgid "Show"
|
||||
msgstr "Vis"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sidebjælke"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Indtast derefter den 6-cifrede kode, som appen giver, for at fortsætte.
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Der opstod et problem under generering af PDF'en, prøv igen om lidt."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Opdater CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Opdater din adgangskode"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Opdaterer din adgangskode..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Zeile danach einfügen"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Zeile davor einfügen"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "KI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanisch"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studienfach"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Künstliche Intelligenz"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Seitenverhältnis"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinesisch (traditionell)"
|
||||
msgid "Circle"
|
||||
msgstr "Kreis"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Auswahl löschen"
|
||||
@@ -945,6 +961,10 @@ msgstr "Ihr Lebenslauf wird dupliziert..."
|
||||
msgid "Dutch"
|
||||
msgstr "Niederländisch"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Ausbildung"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Sie erinnern sich wieder an Ihr Passwort? <0><1>Jetzt anmelden <2/></1><
|
||||
msgid "Remove Password"
|
||||
msgstr "Passwort entfernen"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Passwortschutz wird entfernt..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Teilen"
|
||||
msgid "Show"
|
||||
msgstr "Einblenden"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Seitenleiste"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Geben Sie dann den 6-stelligen Code ein, den die App bereitstellt, um fo
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Beim Erzeugen des PDFs ist ein Problem aufgetreten, bitte versuche es in einiger Zeit erneut."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Lebenslauf aktualisieren"
|
||||
msgid "Update your password"
|
||||
msgstr "Aktualisieren Sie Ihr Passwort"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Ihr Passwort wird aktualisiert..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: el\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Προσθήκη γραμμής μετά"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Προσθήκη γραμμής πριν"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Αφρικάανς"
|
||||
msgid "AI"
|
||||
msgstr "ΤΝ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Αλβανικά"
|
||||
@@ -340,6 +348,10 @@ msgstr "Τομέας σπουδών"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Τεχνητή Νοημοσύνη"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Αναλογία διαστάσεων"
|
||||
@@ -534,6 +546,10 @@ msgstr "Κινέζικα (Παραδοσιακά)"
|
||||
msgid "Circle"
|
||||
msgstr "Κύκλος"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Απαλοιφή επιλογής"
|
||||
@@ -945,6 +961,10 @@ msgstr "Δημιουργία αντιγράφου του βιογραφικού
|
||||
msgid "Dutch"
|
||||
msgstr "Ολλανδικά"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Εκπαίδευση"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Θυμάστε τον κωδικό πρόσβασής σας; <0><1>Συ
|
||||
msgid "Remove Password"
|
||||
msgstr "Κατάργηση κωδικού πρόσβασης"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Κατάργηση προστασίας με κωδικό πρόσβασης..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Κοινοποίηση"
|
||||
msgid "Show"
|
||||
msgstr "Εμφάνιση"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Πλαϊνή μπάρα"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Στη συνέχεια, εισαγάγετε τον 6ψήφιο κωδ
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Παρουσιάστηκε πρόβλημα κατά τη δημιουργία του PDF, δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Ενημέρωση βιογραφικού σημειώματος"
|
||||
msgid "Update your password"
|
||||
msgstr "Ενημερώστε τον κωδικό πρόσβασής σας"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Ενημέρωση του κωδικού πρόσβασής σας..."
|
||||
|
||||
Generated
+44
@@ -202,6 +202,10 @@ msgstr "Add Row After"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Add Row Before"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr "Added"
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -220,6 +224,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr "AI Chat"
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -335,6 +343,10 @@ msgstr "Area of Study"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Artificial Intelligence"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr "Ask me to update your resume..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Aspect Ratio"
|
||||
@@ -529,6 +541,10 @@ msgstr "Chinese (Traditional)"
|
||||
msgid "Circle"
|
||||
msgstr "Circle"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr "Clear chat history"
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Clear selection"
|
||||
@@ -940,6 +956,10 @@ msgstr "Duplicating your resume..."
|
||||
msgid "Dutch"
|
||||
msgstr "Dutch"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr "e.g. Change my name to..."
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Education"
|
||||
@@ -1891,6 +1911,10 @@ msgstr "Remember your password? <0><1>Sign in now <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Remove Password"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr "Removed"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Removing password protection..."
|
||||
@@ -2076,6 +2100,18 @@ msgstr "Sharing"
|
||||
msgid "Show"
|
||||
msgstr "Show"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr "Show link in title"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sidebar"
|
||||
@@ -2340,6 +2376,10 @@ msgstr "Then, enter the 6 digit code that the app provides to continue."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "There was a problem while generating the PDF, please try again in some time."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr "Thinking..."
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2603,6 +2643,10 @@ msgstr "Update Resume"
|
||||
msgid "Update your password"
|
||||
msgstr "Update your password"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr "Updated"
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Updating your password..."
|
||||
|
||||
Generated
+58
-14
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 15:33\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Añadir fila después"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Añadir fila antes"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikáans"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanés"
|
||||
@@ -299,7 +307,7 @@ msgstr "Árabe"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Are you sure you want to close this dialog?"
|
||||
msgstr ""
|
||||
msgstr "¿Estás seguro de que deseas cerrar este diálogo?"
|
||||
|
||||
#: src/routes/dashboard/settings/api-keys.tsx
|
||||
msgid "Are you sure you want to delete this API key?"
|
||||
@@ -340,6 +348,10 @@ msgstr "Área de estudio"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligencia artificial"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Relación de aspecto"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chino (tradicional)"
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Borrar selección"
|
||||
@@ -577,7 +593,7 @@ msgstr "Conectar"
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
msgstr "Contenido"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
@@ -621,7 +637,7 @@ msgstr "Copiar URL"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Cover Letter"
|
||||
msgstr ""
|
||||
msgstr "Carta de presentación"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
#: src/dialogs/resume/index.tsx
|
||||
@@ -662,7 +678,7 @@ msgstr "Crear una nueva certificación"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Create a new cover letter"
|
||||
msgstr ""
|
||||
msgstr "Crear una nueva carta de presentación"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Create a new custom section"
|
||||
@@ -713,7 +729,7 @@ msgstr "Crear una nueva habilidad"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Create a new summary item"
|
||||
msgstr ""
|
||||
msgstr "Crear una nueva entrada del resumen"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Create a new volunteer experience"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplicando tu currículum..."
|
||||
msgid "Dutch"
|
||||
msgstr "Neerlandés"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Formación académica"
|
||||
@@ -1035,7 +1055,7 @@ msgstr "Todo lo que necesitas para crear, personalizar y compartir currículums
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Salir de pantalla completa"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Experience"
|
||||
@@ -1147,7 +1167,7 @@ msgstr "Ancho completo"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Pantalla completa"
|
||||
|
||||
#: src/dialogs/resume/index.tsx
|
||||
msgid "Generate a random name"
|
||||
@@ -1429,7 +1449,7 @@ msgstr "Obtén más información sobre cómo ajustar el contenido en una página
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Leave"
|
||||
msgstr ""
|
||||
msgstr "Salir"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "Leave empty to reset the title to the original."
|
||||
@@ -1861,7 +1881,7 @@ msgstr "Reactive Resume es de código abierto, centrado en la privacidad y compl
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
msgstr "Destinatario"
|
||||
|
||||
#: src/components/level/combobox.tsx
|
||||
msgid "Rectangle"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "¿Recuerdas tu contraseña? <0><1>Inicia sesión ahora <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Quitar contraseña"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Quitando la protección con contraseña..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Compartir"
|
||||
msgid "Show"
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr "Mostrar enlace en el título"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Barra lateral"
|
||||
@@ -2220,7 +2256,7 @@ msgstr "Estadísticas"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Stay"
|
||||
msgstr ""
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Strike"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Luego, introduce el código de 6 dígitos que te proporciona la aplicaci
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Ha habido un problema al generar el PDF, inténtalo de nuevo dentro de un rato."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2545,7 +2585,7 @@ msgstr "Actualizar una certificación existente"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Update an existing cover letter"
|
||||
msgstr ""
|
||||
msgstr "Actualizar la carta de presentación"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Update an existing custom section"
|
||||
@@ -2589,7 +2629,7 @@ msgstr "Actualizar una habilidad existente"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Update an existing summary item"
|
||||
msgstr ""
|
||||
msgstr "Actualizar una entrada del perfil"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Update an existing volunteer experience"
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Actualizar currículum"
|
||||
msgid "Update your password"
|
||||
msgstr "Actualiza tu contraseña"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Actualizando tu contraseña..."
|
||||
@@ -2754,7 +2798,7 @@ msgstr "Después de eliminarla, ya no podrás usar la clave de acceso \"{0}\" pa
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "You have unsaved changes that will be lost."
|
||||
msgstr ""
|
||||
msgstr "Tienes cambios sin guardar que se perderán."
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
#: src/routes/auth/register.tsx
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fa\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "افزودن ردیف بعد از این"
|
||||
msgid "Add Row Before"
|
||||
msgstr "افزودن ردیف قبل از این"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "آفریکانس"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "آلبانیایی"
|
||||
@@ -340,6 +348,10 @@ msgstr "حوزهٔ تحصیل"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "هوش مصنوعی"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "نسبت تصویر"
|
||||
@@ -534,6 +546,10 @@ msgstr "چینی (سنتی)"
|
||||
msgid "Circle"
|
||||
msgstr "دایره"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "پاک کردن انتخاب"
|
||||
@@ -945,6 +961,10 @@ msgstr "در حال تکثیر رزومه شما..."
|
||||
msgid "Dutch"
|
||||
msgstr "هلندی"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "تحصیلات"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "گذرواژهتان را به یاد آوردید؟ <0><1>همین
|
||||
msgid "Remove Password"
|
||||
msgstr "حذف گذرواژه"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "در حال حذف حفاظت با گذرواژه..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "اشتراکگذاری"
|
||||
msgid "Show"
|
||||
msgstr "نمایش"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "نوار کناری"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "سپس، کد ۶ رقمی که اپ در اختیار شما میگذ
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "هنگام تولید PDF مشکلی پیش آمد، لطفاً بعداً دوباره تلاش کنید."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "بهروزرسانی رزومه"
|
||||
msgid "Update your password"
|
||||
msgstr "گذرواژهٔ خود را بهروزرسانی کنید"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "در حال بهروزرسانی گذرواژه شما..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Lisää rivi jälkeen"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Lisää rivi ennen"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "albania"
|
||||
@@ -340,6 +348,10 @@ msgstr "Opintoala"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Tekoäly"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Kuvasuhde"
|
||||
@@ -534,6 +546,10 @@ msgstr "kiina (perinteinen)"
|
||||
msgid "Circle"
|
||||
msgstr "Ympyrä"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Tyhjennä valinta"
|
||||
@@ -945,6 +961,10 @@ msgstr "Monistetaan ansioluetteloasi..."
|
||||
msgid "Dutch"
|
||||
msgstr "hollanti"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Koulutus"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Muistatko salasanasi? <0><1>Kirjaudu sisään nyt <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Poista salasana"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Poistetaan salasanasuojausta..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Jakaminen"
|
||||
msgid "Show"
|
||||
msgstr "Näytä"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sivupalkki"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Syötä sitten sovelluksen antama kuusinumeroinen koodi jatkaaksesi."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF:n luonnissa ilmeni ongelma, yritä hetken kuluttua uudelleen."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Päivitä ansioluettelo"
|
||||
msgid "Update your password"
|
||||
msgstr "Päivitä salasanasi"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Päivitetään salasanaasi..."
|
||||
|
||||
Generated
+58
-14
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-02-05 12:19\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Ajouter une ligne après"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Ajouter une ligne avant"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanais"
|
||||
@@ -299,7 +307,7 @@ msgstr "Arabe"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Are you sure you want to close this dialog?"
|
||||
msgstr ""
|
||||
msgstr "Êtes-vous sûr de vouloir supprimer cet élément ?"
|
||||
|
||||
#: src/routes/dashboard/settings/api-keys.tsx
|
||||
msgid "Are you sure you want to delete this API key?"
|
||||
@@ -340,6 +348,10 @@ msgstr "Domaine d'étude"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intelligence artificielle"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Format d'image"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinois (traditionnel)"
|
||||
msgid "Circle"
|
||||
msgstr "Cercle"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Effacer la sélection"
|
||||
@@ -577,7 +593,7 @@ msgstr "Se connecter"
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
msgstr "Contenu"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
@@ -621,7 +637,7 @@ msgstr "Copier l'URL"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Cover Letter"
|
||||
msgstr ""
|
||||
msgstr "Lettre de motivation"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
#: src/dialogs/resume/index.tsx
|
||||
@@ -662,7 +678,7 @@ msgstr "Créer une nouvelle certification"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Create a new cover letter"
|
||||
msgstr ""
|
||||
msgstr "Créez une nouvelle lettre de motivation"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Create a new custom section"
|
||||
@@ -713,7 +729,7 @@ msgstr "Créer une nouvelle compétence"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Create a new summary item"
|
||||
msgstr ""
|
||||
msgstr "Créer un nouvel élément de synthèse"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Create a new volunteer experience"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplication de votre CV..."
|
||||
msgid "Dutch"
|
||||
msgstr "Néerlandais"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Formation"
|
||||
@@ -1035,7 +1055,7 @@ msgstr "Tout ce dont vous avez besoin pour créer, personnaliser et partager des
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Quitter le mode plein écran"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Experience"
|
||||
@@ -1147,7 +1167,7 @@ msgstr "Pleine largeur"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Plein écran"
|
||||
|
||||
#: src/dialogs/resume/index.tsx
|
||||
msgid "Generate a random name"
|
||||
@@ -1429,7 +1449,7 @@ msgstr "En savoir plus sur la manière d'adapter le contenu d'une page"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Leave"
|
||||
msgstr ""
|
||||
msgstr "Quitter"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "Leave empty to reset the title to the original."
|
||||
@@ -1861,7 +1881,7 @@ msgstr "Reactive Resume est un logiciel libre, respectueux de la vie privée et
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
msgstr "Destinataire"
|
||||
|
||||
#: src/components/level/combobox.tsx
|
||||
msgid "Rectangle"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Vous vous souvenez de votre mot de passe ? <0><1>Connectez-vous maintena
|
||||
msgid "Remove Password"
|
||||
msgstr "Supprimer le mot de passe"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Suppression de la protection par mot de passe..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Partage"
|
||||
msgid "Show"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr "Afficher le lien dans le titre"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Encart"
|
||||
@@ -2220,7 +2256,7 @@ msgstr "Statistiques"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Stay"
|
||||
msgstr ""
|
||||
msgstr "Rester"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Strike"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Ensuite, entrez le code à 6 chiffres fourni par l'application pour cont
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Un problème est survenu lors de la génération du PDF, veuillez réessayer dans quelque temps."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2545,7 +2585,7 @@ msgstr "Modifier une certification existante"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Update an existing cover letter"
|
||||
msgstr ""
|
||||
msgstr "Modifier une lettre de motivation existante"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Update an existing custom section"
|
||||
@@ -2589,7 +2629,7 @@ msgstr "Modifier une compétence existante"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Update an existing summary item"
|
||||
msgstr ""
|
||||
msgstr "Mise à jour d'un élément de synthèse existant"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Update an existing volunteer experience"
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Modifier le CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Modifier votre mot de passe"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Mise à jour de votre mot de passe..."
|
||||
@@ -2754,7 +2798,7 @@ msgstr "Vous ne pouvez plus utiliser la clé d'accès \"{0}\" pour vous connecte
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "You have unsaved changes that will be lost."
|
||||
msgstr ""
|
||||
msgstr "Vous avez des modifications non enregistrées qui seront perdues."
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
#: src/routes/auth/register.tsx
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: he\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "הוספת שורה אחרי"
|
||||
msgid "Add Row Before"
|
||||
msgstr "הוספת שורה לפני"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "אפריקאנס"
|
||||
msgid "AI"
|
||||
msgstr "בינה מלאכותית"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "אלבנית"
|
||||
@@ -340,6 +348,10 @@ msgstr "תחום לימודים"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "בינה מלאכותית"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "יחס גובה־רוחב"
|
||||
@@ -534,6 +546,10 @@ msgstr "סינית (מסורתית)"
|
||||
msgid "Circle"
|
||||
msgstr "עיגול"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ניקוי הבחירה"
|
||||
@@ -945,6 +961,10 @@ msgstr "משכפל את קורות החיים שלך..."
|
||||
msgid "Dutch"
|
||||
msgstr "הולנדית"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "השכלה"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "נזכרת בסיסמה? <0><1>התחברות עכשיו <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "הסרת סיסמה"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "מסיר את ההגנה באמצעות סיסמה..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "שיתוף"
|
||||
msgid "Show"
|
||||
msgstr "הצגה"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "סרגל צד"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "לאחר מכן, הזן את הקוד בן 6 הספרות שהאפליק
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "אירעה בעיה בעת יצירת קובץ ה־PDF, נא לנסות שוב מאוחר יותר."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "עדכון קורות חיים"
|
||||
msgid "Update your password"
|
||||
msgstr "עדכון הסיסמה שלך"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "מעדכן את הסיסמה שלך..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "इसके बाद पंक्ति जोड़ें"
|
||||
msgid "Add Row Before"
|
||||
msgstr "इसके पहले पंक्ति जोड़ें"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "अफ्रीकान्स"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बानियाई"
|
||||
@@ -340,6 +348,10 @@ msgstr "अध्ययन का क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बुद्धिमत्ता"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात"
|
||||
@@ -534,6 +546,10 @@ msgstr "चीनी (परंपरागत)"
|
||||
msgid "Circle"
|
||||
msgstr "गोला"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "चयन साफ़ करें"
|
||||
@@ -945,6 +961,10 @@ msgstr "आपका रेज़्यूमे डुप्लिकेट क
|
||||
msgid "Dutch"
|
||||
msgstr "डच"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "शिक्षा"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "पासवर्ड याद है? <0><1>अभी साइन इ
|
||||
msgid "Remove Password"
|
||||
msgstr "पासवर्ड हटाएँ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "पासवर्ड सुरक्षा हटाई जा रही है..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "साझा करना"
|
||||
msgid "Show"
|
||||
msgstr "दिखाएँ"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "साइडबार"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "फिर, जारी रखने के लिए ऐप द्व
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF जेनरेट करते समय कोई समस्या आई, कृपया कुछ समय बाद फिर से प्रयास करें।"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "रेज़्यूमे अपडेट करें"
|
||||
msgid "Update your password"
|
||||
msgstr "अपना पासवर्ड अपडेट करें"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "आपका पासवर्ड अपडेट किया जा रहा है..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hu\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Sor hozzáadása alá"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Sor hozzáadása fölé"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "albán"
|
||||
@@ -340,6 +348,10 @@ msgstr "Tanulmányok területe"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Mesterséges intelligencia"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Méretarány"
|
||||
@@ -534,6 +546,10 @@ msgstr "kínai (hagyományos)"
|
||||
msgid "Circle"
|
||||
msgstr "Kör"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Kijelölés törlése"
|
||||
@@ -945,6 +961,10 @@ msgstr "Önéletrajz duplikálása..."
|
||||
msgid "Dutch"
|
||||
msgstr "holland"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Tanulmányok"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Eszébe jutott a jelszó? <0><1>Jelentkezz be most <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Jelszó eltávolítása"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Jelszóvédelem eltávolítása..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Megosztás"
|
||||
msgid "Show"
|
||||
msgstr "Megjelenítés"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Oldalsáv"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Ezután írd be a folytatáshoz az alkalmazás által megadott 6 számje
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Hiba történt a PDF generálása közben, kérjük, próbáld meg később újra."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Önéletrajz frissítése"
|
||||
msgid "Update your password"
|
||||
msgstr "Jelszó frissítése"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Jelszó frissítése..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: id\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Tambah Baris Setelah"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Tambah Baris Sebelum"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albania"
|
||||
@@ -340,6 +348,10 @@ msgstr "Bidang Studi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Rasio Aspek"
|
||||
@@ -534,6 +546,10 @@ msgstr "Cina (Tradisional)"
|
||||
msgid "Circle"
|
||||
msgstr "Lingkaran"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Hapus pilihan"
|
||||
@@ -945,6 +961,10 @@ msgstr "Menduplikasi resume Anda..."
|
||||
msgid "Dutch"
|
||||
msgstr "Belanda"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Pendidikan"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Ingat kata sandi Anda? <0><1>Masuk sekarang <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Hapus Kata Sandi"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Menghapus perlindungan kata sandi..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Berbagi"
|
||||
msgid "Show"
|
||||
msgstr "Tampilkan"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Bilah Sisi"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Lalu, masukkan kode 6 digit yang diberikan aplikasi untuk melanjutkan."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Terjadi masalah saat membuat PDF, silakan coba lagi nanti."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Perbarui Resume"
|
||||
msgid "Update your password"
|
||||
msgstr "Perbarui kata sandi Anda"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Memperbarui kata sandi Anda..."
|
||||
|
||||
Generated
+58
-14
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 15:33\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Aggiungi riga dopo"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Aggiungi riga prima"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanese"
|
||||
@@ -299,7 +307,7 @@ msgstr "Arabo"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Are you sure you want to close this dialog?"
|
||||
msgstr ""
|
||||
msgstr "Sei sicuro di voler chiudere questa finestra di dialogo?"
|
||||
|
||||
#: src/routes/dashboard/settings/api-keys.tsx
|
||||
msgid "Are you sure you want to delete this API key?"
|
||||
@@ -340,6 +348,10 @@ msgstr "Area di studio"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Intelligenza artificiale"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporzioni"
|
||||
@@ -534,6 +546,10 @@ msgstr "Cinese (tradizionale)"
|
||||
msgid "Circle"
|
||||
msgstr "Cerchio"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Pulisci selezione"
|
||||
@@ -577,7 +593,7 @@ msgstr "Connetti"
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
msgstr "Contenuto"
|
||||
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
#: src/dialogs/auth/enable-two-factor.tsx
|
||||
@@ -621,7 +637,7 @@ msgstr "Copia URL"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Cover Letter"
|
||||
msgstr ""
|
||||
msgstr "Lettera di presentazione"
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
#: src/dialogs/resume/index.tsx
|
||||
@@ -662,7 +678,7 @@ msgstr "Crea una nuova certificazione"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Create a new cover letter"
|
||||
msgstr ""
|
||||
msgstr "Crea una nuova lettera di presentazione"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Create a new custom section"
|
||||
@@ -713,7 +729,7 @@ msgstr "Crea una nuova competenza"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Create a new summary item"
|
||||
msgstr ""
|
||||
msgstr "Crea un nuovo elemento di riepilogo"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Create a new volunteer experience"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplicazione del tuo curriculum in corso..."
|
||||
msgid "Dutch"
|
||||
msgstr "Olandese"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Formazione"
|
||||
@@ -1035,7 +1055,7 @@ msgstr "Tutto ciò di cui hai bisogno per creare, personalizzare e condividere c
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Esci dalla modalità a schermo intero"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Experience"
|
||||
@@ -1147,7 +1167,7 @@ msgstr "Larghezza completa"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Fullscreen"
|
||||
msgstr ""
|
||||
msgstr "A schermo intero"
|
||||
|
||||
#: src/dialogs/resume/index.tsx
|
||||
msgid "Generate a random name"
|
||||
@@ -1429,7 +1449,7 @@ msgstr "Scopri di più su come adattare il contenuto a una pagina"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Leave"
|
||||
msgstr ""
|
||||
msgstr "Abbandona"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
|
||||
msgid "Leave empty to reset the title to the original."
|
||||
@@ -1861,7 +1881,7 @@ msgstr "Reactive Resume è open source, incentrato sulla privacy e completamente
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
msgstr "Destinatario"
|
||||
|
||||
#: src/components/level/combobox.tsx
|
||||
msgid "Rectangle"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Ti ricordi la password? <0><1>Accedi ora <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Rimuovi password"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Rimozione della protezione tramite password..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Condivisione"
|
||||
msgid "Show"
|
||||
msgstr "Mostra"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr "Mostra il link nel titolo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Barra laterale"
|
||||
@@ -2220,7 +2256,7 @@ msgstr "Statistiche"
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "Stay"
|
||||
msgstr ""
|
||||
msgstr "Rimani"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Strike"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Quindi inserisci il codice a 6 cifre fornito dall'app per continuare."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Si è verificato un problema durante la generazione del PDF, riprova tra qualche istante."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2545,7 +2585,7 @@ msgstr "Aggiorna una certificazione esistente"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Update an existing cover letter"
|
||||
msgstr ""
|
||||
msgstr "Aggiorna una lettera di presentazione esistente"
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Update an existing custom section"
|
||||
@@ -2589,7 +2629,7 @@ msgstr "Aggiorna una competenza esistente"
|
||||
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Update an existing summary item"
|
||||
msgstr ""
|
||||
msgstr "Aggiorna una voce del profilo"
|
||||
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Update an existing volunteer experience"
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Aggiorna curriculum"
|
||||
msgid "Update your password"
|
||||
msgstr "Aggiorna la tua password"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Aggiornamento della tua password in corso..."
|
||||
@@ -2754,7 +2798,7 @@ msgstr "Dopo l'eliminazione non potrai più usare la passkey \"{0}\" per acceder
|
||||
|
||||
#: src/hooks/use-form-blocker.tsx
|
||||
msgid "You have unsaved changes that will be lost."
|
||||
msgstr ""
|
||||
msgstr "Hai modifiche non salvate che andranno perse."
|
||||
|
||||
#: src/routes/auth/forgot-password.tsx
|
||||
#: src/routes/auth/register.tsx
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ja\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "後に行を追加"
|
||||
msgid "Add Row Before"
|
||||
msgstr "前に行を追加"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "アフリカーンス語"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "アルバニア語"
|
||||
@@ -340,6 +348,10 @@ msgstr "研究分野"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工知能"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "アスペクト比"
|
||||
@@ -534,6 +546,10 @@ msgstr "中国語(繁体字)"
|
||||
msgid "Circle"
|
||||
msgstr "円"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "選択をクリア"
|
||||
@@ -945,6 +961,10 @@ msgstr "履歴書を複製しています..."
|
||||
msgid "Dutch"
|
||||
msgstr "オランダ語"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "学歴"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "パスワードを思い出しましたか?<0><1>今すぐサインイ
|
||||
msgid "Remove Password"
|
||||
msgstr "パスワードを削除"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "パスワード保護を解除しています..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "共有"
|
||||
msgid "Show"
|
||||
msgstr "表示"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "サイドバー"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "次に、続行するためにアプリが表示する 6 桁のコード
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF の生成中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "履歴書を更新"
|
||||
msgid "Update your password"
|
||||
msgstr "パスワードを更新してください。"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "パスワードを更新しています..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: km\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Khmer\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "បន្ថែមជួរដេកនៅក្រោយ"
|
||||
msgid "Add Row Before"
|
||||
msgstr "បន្ថែមជួរដេកនៅមុខ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -340,6 +348,10 @@ msgstr "ជំនាញរៀន"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "បញ្ញាសិប្បនិម្មិត"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "សមាមាត្រទ្រង់ទ្រាយ"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinese (Traditional)"
|
||||
msgid "Circle"
|
||||
msgstr "រង្វង់"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "សម្អាតការជ្រើសរើស"
|
||||
@@ -945,6 +961,10 @@ msgstr "កំពុងស្ទួនប្រវត្តិរូប
|
||||
msgid "Dutch"
|
||||
msgstr "Dutch"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "ការសិក្សា"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "ចង់ចាំពាក្យសម្ងាត់វិញ
|
||||
msgid "Remove Password"
|
||||
msgstr "ដកពាក្យសម្ងាត់"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "កំពុងដកការការពារដោយពាក្យសម្ងាត់..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "ការចែករំលែក"
|
||||
msgid "Show"
|
||||
msgstr "បង្ហាញ"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "របារបាត"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "បន្ទាប់មក បញ្ចូលកូដ ៦ ខ្ទ
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "មានបញ្ហាមួយកើតឡើង ខណៈពេលកំពុងបង្កើត PDF សូមព្យាយាមម្ដងទៀតក្រោយមក។"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "បច្ចុប្បន្នភាពប្រវត្តិរ
|
||||
msgid "Update your password"
|
||||
msgstr "បច្ចុប្បន្នភាពពាក្យសម្ងាត់របស់អ្នក"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "កំពុងបច្ចុប្បន្នភាពពាក្យសម្ងាត់របស់អ្នក..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: kn\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Kannada\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "ಸಾಲನ್ನು ನಂತರ ಸೇರಿಸಿ"
|
||||
msgid "Add Row Before"
|
||||
msgstr "ಸಾಲನ್ನು ಮೊದಲು ಸೇರಿಸಿ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "ಆಫ್ರಿಕಾನ್ಸ್"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "ಅಲ್ಬೇನಿಯನ್"
|
||||
@@ -340,6 +348,10 @@ msgstr "ಅಧ್ಯಯನದ ಕ್ಷೇತ್ರ"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ಕೃತಕ ಬುದ್ಧಿವಂತಿಕೆ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ಆಕಾರ ಅನುಪಾತ"
|
||||
@@ -534,6 +546,10 @@ msgstr "ಚೈನೀಸ್ (ಸಾಂಪ್ರದಾಯಿಕ)"
|
||||
msgid "Circle"
|
||||
msgstr "ವೃತ್ತ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ಆಯ್ಕೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ"
|
||||
@@ -945,6 +961,10 @@ msgstr "ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ನಕಲಿಸಲಾಗುತ
|
||||
msgid "Dutch"
|
||||
msgstr "ಡಚ್"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "ಶಿಕ್ಷಣ"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ನೆನಪಿದೆಯ
|
||||
msgid "Remove Password"
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ತೆಗೆದುಹಾಕಿ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "ಹಂಚಿಕೆ"
|
||||
msgid "Show"
|
||||
msgstr "ತೋರಿಸು"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "ಪಾರ್ಶ್ವಪಟ್ಟಿ"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "ನಂತರ, ಆ್ಯಪ್ ನೀಡುವ 6 ಅಂಕಿಯ ಕೋ
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF ರಚಿಸುವಾಗ ಒಂದು ಸಮಸ್ಯೆ ಉಂಟಾಯಿತು, ದಯವಿಟ್ಟು ಸ್ವಲ್ಪ ಸಮಯದ ಬಳಿಕ ಮರುಪ್ರಯತ್ನಿಸಿ."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "ರೆಸ್ಯೂಮ್ ನವೀಕರಿಸಿ"
|
||||
msgid "Update your password"
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನವೀಕರಿಸಿ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "뒤에 행 추가"
|
||||
msgid "Add Row Before"
|
||||
msgstr "앞에 행 추가"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "아프리칸스어"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "알바니아어"
|
||||
@@ -340,6 +348,10 @@ msgstr "연구 분야"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "인공지능"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "가로세로 비율"
|
||||
@@ -534,6 +546,10 @@ msgstr "중국어(번체)"
|
||||
msgid "Circle"
|
||||
msgstr "원"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "선택 해제"
|
||||
@@ -945,6 +961,10 @@ msgstr "이력서를 복제하는 중입니다..."
|
||||
msgid "Dutch"
|
||||
msgstr "네덜란드어"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "학력"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "비밀번호가 기억나시나요? <0><1>지금 로그인하기 <2/></1
|
||||
msgid "Remove Password"
|
||||
msgstr "비밀번호 제거"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "비밀번호 보호를 제거하는 중입니다..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "공유"
|
||||
msgid "Show"
|
||||
msgstr "표시"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "사이드바"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "그 다음, 앱에 표시된 6자리 코드를 입력해 계속 진행
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF를 생성하는 동안 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "이력서 업데이트"
|
||||
msgid "Update your password"
|
||||
msgstr "비밀번호 업데이트"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "비밀번호를 업데이트하는 중입니다..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Pridėti eilutę po"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Pridėti eilutę prieš"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikanso"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanų"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studijų sritis"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Dirbtinis intelektas"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Vaizdo santykis"
|
||||
@@ -534,6 +546,10 @@ msgstr "Kinų (tradicinė)"
|
||||
msgid "Circle"
|
||||
msgstr "Apskritimas"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Išvalyti pasirinkimą"
|
||||
@@ -945,6 +961,10 @@ msgstr "Dubliuojamas jūsų gyvenimo aprašymas..."
|
||||
msgid "Dutch"
|
||||
msgstr "Olandų"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Išsilavinimas"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Prisiminate slaptažodį? <0><1>Prisijunkite dabar <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Pašalinti slaptažodį"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Šalinama apsauga slaptažodžiu..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Dalijimasis"
|
||||
msgid "Show"
|
||||
msgstr "Rodyti"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Šoninė juosta"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Tada įveskite programos sugeneruotą 6 skaitmenų kodą, kad tęstumėt
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Kilo problema generuojant PDF. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Atnaujinti gyvenimo aprašymą"
|
||||
msgid "Update your password"
|
||||
msgstr "Atnaujinkite savo slaptažodį"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Atnaujinamas jūsų slaptažodis..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: lv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Pievienot rindu pēc"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Pievienot rindu pirms"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikandu"
|
||||
msgid "AI"
|
||||
msgstr "MI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albāņu"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studiju joma"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Mākslīgais intelekts"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcijas"
|
||||
@@ -534,6 +546,10 @@ msgstr "Ķīniešu (tradicionālā)"
|
||||
msgid "Circle"
|
||||
msgstr "Aplis"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Notīrīt izvēli"
|
||||
@@ -945,6 +961,10 @@ msgstr "Tiek dublēts jūsu CV..."
|
||||
msgid "Dutch"
|
||||
msgstr "Holandiešu"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Izglītība"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Atceraties savu paroli? <0><1>Piesakieties tagad <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Noņemt paroli"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Tiek noņemta paroles aizsardzība..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Kopīgošana"
|
||||
msgid "Show"
|
||||
msgstr "Rādīt"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sānu josla"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Pēc tam ievadiet 6 ciparu kodu, ko nodrošina lietotne, lai turpinātu.
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Radās problēma, ģenerējot PDF, lūdzu, mēģiniet vēlreiz pēc kāda laika."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Atjaunināt CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Atjauniniet savu paroli"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Tiek atjaunināta jūsu parole..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ml\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malayalam\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "വരി പിന്നീട് ചേർക്കുക"
|
||||
msgid "Add Row Before"
|
||||
msgstr "വരി മുമ്പ് ചേർക്കുക"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "ആഫ്രിക്കാൻസ്"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "അൽബേനിയൻ"
|
||||
@@ -340,6 +348,10 @@ msgstr "പഠന മേഖല"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ്"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ആസ്പെക്ട് റേഷ്യോ"
|
||||
@@ -534,6 +546,10 @@ msgstr "ചൈനീസ് (ട്രഡീഷണൽ)"
|
||||
msgid "Circle"
|
||||
msgstr "വൃത്തം"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "തിരഞ്ഞെടുപ്പ് ക്ലിയർ ചെയ്യുക"
|
||||
@@ -945,6 +961,10 @@ msgstr "നിങ്ങളുടെ റിസ്യൂം ഡൂപ്ലിക
|
||||
msgid "Dutch"
|
||||
msgstr "ഡച്ച്"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "വിദ്യാഭ്യാസം"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "നിങ്ങളുടെ പാസ്വേഡ് ഓർമ്മ
|
||||
msgid "Remove Password"
|
||||
msgstr "പാസ്വേഡ് നീക്കുക"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "പാസ്വേഡ് സംരക്ഷണം നീക്കം ചെയ്യുന്നു..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "ഷെയറിംഗ്"
|
||||
msgid "Show"
|
||||
msgstr "കാണിക്കുക"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "സൈഡ്ബാർ"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "ശേഷം, ആപ്പ് നൽകുന്ന 6 അക്ക ക
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF നിർമ്മിക്കുന്നതിനിടെ ഒരു പ്രശ്നം ഉണ്ടായി, ദയവായി കുറച്ചുസമയം കഴിഞ്ഞ് വീണ്ടും ശ്രമിക്കുക."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "റിസ്യൂം അപ്ഡേറ്റ് ചെയ്യു
|
||||
msgid "Update your password"
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് അപ്ഡേറ്റ് ചെയ്യുക"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് അപ്ഡേറ്റ് ചെയ്യുന്നു..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: mr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Marathi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "नंतर ओळ जोडा"
|
||||
msgid "Add Row Before"
|
||||
msgstr "आधी ओळ जोडा"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "आफ्रिकान्स"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बेनियन"
|
||||
@@ -340,6 +348,10 @@ msgstr "अभ्यासाचे क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बुद्धिमत्ता"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "प्रसर गुणोत्तर"
|
||||
@@ -534,6 +546,10 @@ msgstr "चीनी (परंपरागत)"
|
||||
msgid "Circle"
|
||||
msgstr "गोलाकार"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "निवड साफ करा"
|
||||
@@ -945,6 +961,10 @@ msgstr "तुमचा रेझ्युमे डुप्लिकेट क
|
||||
msgid "Dutch"
|
||||
msgstr "डच"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "शिक्षण"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "पासवर्ड आठवला? <0><1>आता साइन इ
|
||||
msgid "Remove Password"
|
||||
msgstr "पासवर्ड काढा"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "पासवर्ड संरक्षण काढून टाकले जात आहे..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "शेअर करणे"
|
||||
msgid "Show"
|
||||
msgstr "दाखवा"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "बाजूची पट्टी"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "त्यानंतर, पुढे जाण्यासाठी
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF तयार करताना समस्या आली, कृपया थोड्या वेळाने पुन्हा प्रयत्न करा."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "रेझ्युमे अपडेट करा"
|
||||
msgid "Update your password"
|
||||
msgstr "तुमचा पासवर्ड अपडेट करा"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "तुमचा पासवर्ड अपडेट केला जात आहे..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ms\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Malay\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Tambah Baris Selepas"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Tambah Baris Sebelum"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanian"
|
||||
@@ -340,6 +348,10 @@ msgstr "Bidang Pengajian"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kecerdasan Buatan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Nisbah Aspek"
|
||||
@@ -534,6 +546,10 @@ msgstr "Cina (Tradisional)"
|
||||
msgid "Circle"
|
||||
msgstr "Bulatan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Kosongkan pilihan"
|
||||
@@ -945,6 +961,10 @@ msgstr "Menduplikasi resume anda..."
|
||||
msgid "Dutch"
|
||||
msgstr "Belanda"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Pendidikan"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Masih ingat kata laluan anda? <0><1>Log masuk sekarang <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Buang Kata Laluan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Membuang perlindungan kata laluan..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Berkongsi"
|
||||
msgid "Show"
|
||||
msgstr "Paparkan"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Panel Sisi"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Kemudian, masukkan kod 6 digit yang diberikan oleh apl untuk meneruskan.
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Terdapat masalah semasa menjana PDF, sila cuba lagi selepas beberapa ketika."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Kemas Kini Resume"
|
||||
msgid "Update your password"
|
||||
msgstr "Kemas kini kata laluan anda"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Mengemas kini kata laluan anda..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ne\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Nepali\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "पछि पङ्क्ति थप्नुहोस्"
|
||||
msgid "Add Row Before"
|
||||
msgstr "अघिल्लो पङ्क्ति थप्नुहोस्"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "अफ्रिकान्स"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "अल्बानियन"
|
||||
@@ -340,6 +348,10 @@ msgstr "अध्ययन क्षेत्र"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "कृत्रिम बौद्धिकता"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "आकार अनुपात (Aspect Ratio)"
|
||||
@@ -534,6 +546,10 @@ msgstr "चिनियाँ (परम्परागत)"
|
||||
msgid "Circle"
|
||||
msgstr "वृत्त"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "चयन खाली गर्नुहोस्"
|
||||
@@ -945,6 +961,10 @@ msgstr "तपाईंको बायोडाटा नक्कल हुँ
|
||||
msgid "Dutch"
|
||||
msgstr "डच"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "शिक्षा"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "पासवर्ड सम्झनुभयो? <0><1>अहिले
|
||||
msgid "Remove Password"
|
||||
msgstr "पासवर्ड हटाउनुहोस्"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "पासवर्ड सुरक्षा हटाइँदैछ..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "सेयरिङ"
|
||||
msgid "Show"
|
||||
msgstr "देखाउनुहोस्"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sidebar"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "त्यसपछि, जारी राख्न एपले दि
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF बनाउने क्रममा समस्या आयो, कृपया केही समयपछि पुनः प्रयास गर्नुहोस्।"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "बायोडाटा अद्यावधिक गर्नुह
|
||||
msgid "Update your password"
|
||||
msgstr "तपाईंको पासवर्ड अद्यावधिक गर्नुहोस्"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "तपाईंको पासवर्ड अद्यावधिक हुँदैछ..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Rij erna toevoegen"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Rij ervoor toevoegen"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanees"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studierichting"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstmatige intelligentie"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Beeldverhouding"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinees (traditioneel)"
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Selectie wissen"
|
||||
@@ -945,6 +961,10 @@ msgstr "Uw cv wordt gedupliceerd..."
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlands"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Opleiding"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Herinnert u zich uw wachtwoord? <0><1>Meld u nu aan <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Wachtwoord verwijderen"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Wachtwoordbeveiliging wordt verwijderd..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Delen"
|
||||
msgid "Show"
|
||||
msgstr "Weergeven"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Zijbalk"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Voer vervolgens de 6-cijferige code in die de app geeft om door te gaan.
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Er is een probleem opgetreden bij het genereren van de PDF, probeer het over enige tijd opnieuw."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Cv bijwerken"
|
||||
msgid "Update your password"
|
||||
msgstr "Werk uw wachtwoord bij"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Uw wachtwoord wordt bijgewerkt..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: no\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Legg til rad etter"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Legg til rad før"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "KI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albansk"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studiefelt"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Kunstig intelligens"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Størrelsesforhold"
|
||||
@@ -534,6 +546,10 @@ msgstr "Kinesisk (tradisjonell)"
|
||||
msgid "Circle"
|
||||
msgstr "Sirkel"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Fjern valg"
|
||||
@@ -945,6 +961,10 @@ msgstr "Dupliserer CV-en din..."
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlandsk"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Utdanning"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Husker du passordet ditt? <0><1>Logg inn nå <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Fjern passord"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Fjerner passordbeskyttelse..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Deling"
|
||||
msgid "Show"
|
||||
msgstr "Vis"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sidepanel"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Skriv deretter inn den 6-sifrede koden som appen gir deg for å fortsett
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Det oppstod et problem under generering av PDF-en, prøv igjen om en stund."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Oppdater CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Oppdater passordet ditt"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Oppdaterer passordet ditt..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: or\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Odia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "ପରେ ପଙ୍କ୍ତି ଯୋଡନ୍ତୁ"
|
||||
msgid "Add Row Before"
|
||||
msgstr "ପୂର୍ବେ ପଙ୍କ୍ତି ଯୋଡନ୍ତୁ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "ଆଫ୍ରିକାନ୍ସ"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "ଆଲବାନିଆନ୍"
|
||||
@@ -340,6 +348,10 @@ msgstr "ଅଧ୍ୟୟନ କ୍ଷେତ୍ର"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "କୃତ୍ରିମ ବୁଦ୍ଧିମତ୍ତା"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ଆସ୍ପେକ୍ଟ ଅନୁପାତ"
|
||||
@@ -534,6 +546,10 @@ msgstr "ଚାଇନିଜ୍ (ପାରମ୍ପରିକ)"
|
||||
msgid "Circle"
|
||||
msgstr "ବୃତ୍ତ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ଚୟନ ସଫା କରନ୍ତୁ"
|
||||
@@ -945,6 +961,10 @@ msgstr "ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ନକଲ ହେଉଛି...
|
||||
msgid "Dutch"
|
||||
msgstr "ଡଚ୍"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "ଶିକ୍ଷା"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "ପାସୱାର୍ଡ ମନେ ପକାଇଲେ କି? <0><1>ଏ
|
||||
msgid "Remove Password"
|
||||
msgstr "ପାସୱାର୍ଡ ଅପସାରଣ କରନ୍ତୁ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "ପାସୱାର୍ଡ ସୁରକ୍ଷା ଅପସାରଣ ହେଉଛି..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "ସେୟାର କରିବା"
|
||||
msgid "Show"
|
||||
msgstr "ଦେଖାନ୍ତୁ"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "ସାଇଡବାର୍"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "ତାପରେ, ଆଗକୁ ବଢ଼ିବା ପାଇଁ ଆପ୍
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF ସୃଷ୍ଟି କରୁଥିବା ସମୟରେ ସମସ୍ୟା ହୋଇଛି, ଦୟାକରି କିଛି ସମୟ ପରେ ପୁନଃ ଚେଷ୍ଟା କରନ୍ତୁ।"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "ରେଜ୍ୟୁମେ ଅଦ୍ୟତନ କରନ୍ତୁ"
|
||||
msgid "Update your password"
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ଅଦ୍ୟତନ କରନ୍ତୁ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ଅଦ୍ୟତନ ହେଉଛି..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Dodaj wiersz po"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Dodaj wiersz przed"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albański"
|
||||
@@ -340,6 +348,10 @@ msgstr "Kierunek studiów"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Sztuczna inteligencja"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcje obrazu"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chiński (tradycyjny)"
|
||||
msgid "Circle"
|
||||
msgstr "Koło"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Wyczyść wybór"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplikowanie CV..."
|
||||
msgid "Dutch"
|
||||
msgstr "Holenderski"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Wykształcenie"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Pamiętasz hasło? <0><1>Zaloguj się teraz <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Usuń hasło"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Wyłączanie ochrony hasłem..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Udostępnianie"
|
||||
msgid "Show"
|
||||
msgstr "Pokaż"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Pasek boczny"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Następnie wpisz 6-cyfrowy kod podany przez aplikację, aby kontynuować
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Wystąpił problem podczas generowania pliku PDF, spróbuj ponownie za chwilę."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Zaktualizuj CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Zaktualizuj swoje hasło"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Aktualizowanie hasła..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Adicionar linha depois"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Adicionar linha antes"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Africâner"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanês"
|
||||
@@ -340,6 +348,10 @@ msgstr "Área de estudo"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligência Artificial"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção da imagem"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinês (Tradicional)"
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Limpar seleção"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplicando seu currículo..."
|
||||
msgid "Dutch"
|
||||
msgstr "Holandês"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Formação"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Lembrou da sua senha? <0><1>Entre agora <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Remover senha"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Removendo proteção por senha..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Compartilhamento"
|
||||
msgid "Show"
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Barra lateral"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Em seguida, insira o código de 6 dígitos fornecido pelo aplicativo par
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Houve um problema ao gerar o PDF, tente novamente em alguns instantes."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Atualizar currículo"
|
||||
msgid "Update your password"
|
||||
msgstr "Atualize sua senha"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Atualizando sua senha..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Adicionar linha após"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Adicionar linha antes"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Africâner"
|
||||
msgid "AI"
|
||||
msgstr "IA"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanês"
|
||||
@@ -340,6 +348,10 @@ msgstr "Área de estudo"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligência Artificial"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporção"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chinês (tradicional)"
|
||||
msgid "Circle"
|
||||
msgstr "Círculo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Limpar seleção"
|
||||
@@ -945,6 +961,10 @@ msgstr "A duplicar o seu currículo..."
|
||||
msgid "Dutch"
|
||||
msgstr "Neerlandês"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Formação"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Lembra-se da sua senha? <0><1>Inicie sessão agora <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Remover senha"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "A remover a proteção por senha..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Partilhar"
|
||||
msgid "Show"
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Barra lateral"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Em seguida, introduza o código de 6 dígitos fornecido pela aplicação
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Houve um problema ao gerar o PDF, tente novamente dentro de algum tempo."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Atualizar currículo"
|
||||
msgid "Update your password"
|
||||
msgstr "Atualize a sua senha"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "A atualizar a sua senha..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ro\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:18\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Adăugați rând după"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Adăugați rând înainte"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albaneză"
|
||||
@@ -340,6 +348,10 @@ msgstr "Domeniu de studiu"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligență artificială"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Raport de aspect"
|
||||
@@ -534,6 +546,10 @@ msgstr "Chineză (tradițională)"
|
||||
msgid "Circle"
|
||||
msgstr "Cerc"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Ștergeți selecția"
|
||||
@@ -945,6 +961,10 @@ msgstr "Se duplică CV-ul..."
|
||||
msgid "Dutch"
|
||||
msgstr "Olandeză"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Educație"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Vă amintiți parola? <0><1>Autentificați-vă acum <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Elimină parola"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Se elimină protecția prin parolă..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Partajarea"
|
||||
msgid "Show"
|
||||
msgstr "Arată"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Bară laterală"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Apoi introduceți codul din 6 cifre oferit de aplicație pentru a contin
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "A apărut o problemă la generarea PDF-ului, vă rugăm să încercați din nou peste câteva momente."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Actualizați CV-ul"
|
||||
msgid "Update your password"
|
||||
msgstr "Actualizați-vă parola"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Se actualizează parola..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Добавить строку после"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Добавить строку до"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Африкаанс"
|
||||
msgid "AI"
|
||||
msgstr "ИИ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албанский"
|
||||
@@ -340,6 +348,10 @@ msgstr "Область обучения"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Искусственный интеллект"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Соотношение сторон"
|
||||
@@ -534,6 +546,10 @@ msgstr "Китайский (традиционный)"
|
||||
msgid "Circle"
|
||||
msgstr "Круг"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Очистить выбор"
|
||||
@@ -945,6 +961,10 @@ msgstr "Дублирование вашего резюме..."
|
||||
msgid "Dutch"
|
||||
msgstr "Нидерландский"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Образование"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Вспомнили пароль? <0><1>Войдите сейчас <2/><
|
||||
msgid "Remove Password"
|
||||
msgstr "Удалить пароль"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Отключение защиты паролем..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Общий доступ"
|
||||
msgid "Show"
|
||||
msgstr "Показать"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Боковая панель"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Затем введите шестизначный код, предос
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Возникла проблема при генерации PDF, пожалуйста, попробуйте еще раз через некоторое время."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Обновить резюме"
|
||||
msgid "Update your password"
|
||||
msgstr "Обновите пароль"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Обновление пароля..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Pridať riadok za"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Pridať riadok pred"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikánčina"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albánčina"
|
||||
@@ -340,6 +348,10 @@ msgstr "Študijný odbor"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Umelá inteligencia"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Pomer strán"
|
||||
@@ -534,6 +546,10 @@ msgstr "Čínština (tradičná)"
|
||||
msgid "Circle"
|
||||
msgstr "Kruh"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Zrušiť výber"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplikujem tvoj životopis..."
|
||||
msgid "Dutch"
|
||||
msgstr "Holandčina"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Vzdelanie"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Spomínaš si na heslo? <0><1>Prihlás sa teraz <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Odstrániť heslo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Odstraňujem ochranu heslom..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Zdieľanie"
|
||||
msgid "Show"
|
||||
msgstr "Zobraziť"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Bočný panel"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Potom zadaj 6‑ciferný kód, ktorý ti aplikácia vygeneruje, aby si p
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Pri generovaní PDF sa vyskytol problém, skús to prosím znova o chvíľu."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Aktualizovať životopis"
|
||||
msgid "Update your password"
|
||||
msgstr "Aktualizuj svoje heslo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Aktualizujem tvoje heslo..."
|
||||
|
||||
Generated
+42
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sl\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\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"
|
||||
@@ -444,6 +444,8 @@ msgstr "Ali lahko izvozite svoj življenjepis v PDF?"
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
@@ -572,6 +574,7 @@ msgstr "Potrdi"
|
||||
msgid "Connect"
|
||||
msgstr "Poveži"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/summary-item.tsx
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
@@ -616,10 +619,15 @@ msgstr "Kopirajte to skrivno kodo in jo uporabite v svojih aplikacijah za dostop
|
||||
msgid "Copy URL"
|
||||
msgstr "Kopiraj URL"
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Cover Letter"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/api-key/create.tsx
|
||||
#: src/dialogs/resume/index.tsx
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
@@ -652,6 +660,10 @@ msgstr "Ustvari novo priznanje"
|
||||
msgid "Create a new certification"
|
||||
msgstr "Ustvari novo potrdilo"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Create a new cover letter"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Create a new custom section"
|
||||
msgstr "Ustvari novo poljubno sekcijo"
|
||||
@@ -1021,6 +1033,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/components/input/rich-input.tsx
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Experience"
|
||||
msgstr "Izkušnje"
|
||||
@@ -1129,6 +1145,10 @@ msgstr "Francoščina"
|
||||
msgid "Full Width"
|
||||
msgstr "Polna širina"
|
||||
|
||||
#: src/components/input/rich-input.tsx
|
||||
msgid "Fullscreen"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/index.tsx
|
||||
msgid "Generate a random name"
|
||||
msgstr "Ustvari naključno ime"
|
||||
@@ -1839,6 +1859,10 @@ msgstr "Reactive Resume danes začenja na Product Huntu, obiščite nas in poka
|
||||
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
|
||||
msgstr "Reactive Resume je odprtokoden, osredotočen na zasebnost in popolnoma brezplačen. Za razliko od drugih graditeljev življenjepisov ne prikazuje oglasov, ne sledi vašim podatkom in ne omejuje funkcij z zidovi plačila."
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/level/combobox.tsx
|
||||
msgid "Rectangle"
|
||||
msgstr "Pravokotnik"
|
||||
@@ -1946,6 +1970,7 @@ msgstr "ruščina"
|
||||
#: src/dialogs/resume/index.tsx
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
@@ -2056,6 +2081,18 @@ msgstr "Deljenje"
|
||||
msgid "Show"
|
||||
msgstr "Prikaži"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Stranska vrstica"
|
||||
@@ -2518,6 +2555,10 @@ msgstr "Posodobi obstoječo nagrado"
|
||||
msgid "Update an existing certification"
|
||||
msgstr "Posodobi obstoječo certifikacijo"
|
||||
|
||||
#: src/dialogs/resume/sections/cover-letter.tsx
|
||||
msgid "Update an existing cover letter"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/custom.tsx
|
||||
msgid "Update an existing custom section"
|
||||
msgstr "Posodobi obstoječi razdelek po meri"
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sq\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Albanian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Shto rresht pas"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Shto rresht para"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikanisht"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Shqip"
|
||||
@@ -340,6 +348,10 @@ msgstr "Fusha e studimit"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Inteligjenca Artificiale"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Proporcioni"
|
||||
@@ -534,6 +546,10 @@ msgstr "Kinezçe (Tradicionale)"
|
||||
msgid "Circle"
|
||||
msgstr "Rreth"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Pastro përzgjedhjen"
|
||||
@@ -945,6 +961,10 @@ msgstr "Po dyfishohet CV-ja juaj..."
|
||||
msgid "Dutch"
|
||||
msgstr "Holandisht"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Arsimimi"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "E kujtuat fjalëkalimin? <0><1>Hyni tani <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Hiq fjalëkalimin"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Po hiqet mbrojtja me fjalëkalim..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Shpërndarja"
|
||||
msgid "Show"
|
||||
msgstr "Shfaq"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Shiriti anësor"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Më pas, futni kodin 6-shifror që jep aplikacioni për të vazhduar."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Pati një problem gjatë gjenerimit të PDF-së, ju lutemi provoni përsëri pas pak."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Përditëso CV-në"
|
||||
msgid "Update your password"
|
||||
msgstr "Përditësoni fjalëkalimin tuaj"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Po përditësohet fjalëkalimi juaj..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Додај ред после"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Додај ред пре"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Африканс"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албански"
|
||||
@@ -340,6 +348,10 @@ msgstr "Област студија"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Вештачка интелигенција"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Однос стране"
|
||||
@@ -534,6 +546,10 @@ msgstr "Кинески (традиционални)"
|
||||
msgid "Circle"
|
||||
msgstr "Круг"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Обриши избор"
|
||||
@@ -945,6 +961,10 @@ msgstr "Дуплирање вашег резимеа..."
|
||||
msgid "Dutch"
|
||||
msgstr "Холандски"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Образовање"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Сећате се лозинке? <0><1>Пријавите се сада
|
||||
msgid "Remove Password"
|
||||
msgstr "Уклони лозинку"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Уклањање заштите лозинком..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Дељење"
|
||||
msgid "Show"
|
||||
msgstr "Прикажи"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Бочна трака"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Затим унесите шестоцифрени кôд који ап
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Дошло је до проблема током генерисања PDF-а, покушајте поново након неког времена."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Ажурирај резиме"
|
||||
msgid "Update your password"
|
||||
msgstr "Ажурирајте своју лозинку"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Ажурирање ваше лозинке..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: sv\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Lägg till rad efter"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Lägg till rad före"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikanska"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Albanska"
|
||||
@@ -340,6 +348,10 @@ msgstr "Studieområde"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Artificiell intelligens"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Bildförhållande"
|
||||
@@ -534,6 +546,10 @@ msgstr "Kinesiska (traditionell)"
|
||||
msgid "Circle"
|
||||
msgstr "Cirkel"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Rensa markering"
|
||||
@@ -945,6 +961,10 @@ msgstr "Duplicerar ditt CV..."
|
||||
msgid "Dutch"
|
||||
msgstr "Nederländska"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Utbildning"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Kommer du ihåg ditt lösenord? <0><1>Logga in nu <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Ta bort lösenord"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Tar bort lösenordsskydd..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Delning"
|
||||
msgid "Show"
|
||||
msgstr "Visa"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "Sidofält"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Ange sedan den sexsiffriga kod som appen ger för att fortsätta."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Det uppstod ett problem när PDF-filen skulle genereras, försök igen om en stund."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Uppdatera CV"
|
||||
msgid "Update your password"
|
||||
msgstr "Uppdatera ditt lösenord"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Uppdaterar ditt lösenord..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ta\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Tamil\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "பின் வரியைச் சேர்க்கவும்"
|
||||
msgid "Add Row Before"
|
||||
msgstr "முன் வரியைச் சேர்க்கவும்"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "ஆஃப்ரிகான்ஸ்"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "அல்பேனியன்"
|
||||
@@ -340,6 +348,10 @@ msgstr "கற்றல் துறை"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "செயற்கை நுண்ணறிவு"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "ஒப்புத்திணைவு விகிதம்"
|
||||
@@ -534,6 +546,10 @@ msgstr "சீனம் (சம்பிரதாய)"
|
||||
msgid "Circle"
|
||||
msgstr "வட்டம்"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "தேர்வை அழிக்கவும்"
|
||||
@@ -945,6 +961,10 @@ msgstr "உங்கள் ரெஸ்யூமியின் நகலை உ
|
||||
msgid "Dutch"
|
||||
msgstr "டச்சு"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "கல்வி"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "உங்கள் கடவுச்சொல் நினைவில
|
||||
msgid "Remove Password"
|
||||
msgstr "கடவுச்சொல்லை நீக்கு"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "கடவுச்சொல் பாதுகாப்பை நீக்கிக் கொண்டிருக்கிறது..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "பகிர்வு"
|
||||
msgid "Show"
|
||||
msgstr "காட்டு"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "சைட்பார்"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "பின்னர், செயலி வழங்கும் 6 இல
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF உருவாக்கும் போது ஒரு பிரச்சனை ஏற்பட்டது, தயவுசெய்து சில நேரம் கழித்து மீண்டும் முயற்சிக்கவும்."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "ரெஸ்யூமியை புதுப்பிக்கவு
|
||||
msgid "Update your password"
|
||||
msgstr "உங்கள் கடவுச்சொல்லை புதுப்பிக்கவும்"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "உங்கள் கடவுச்சொல்லை புதுப்பித்து கொண்டிருக்கிறது..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: te\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "తరువాత వరుస చేర్చండి"
|
||||
msgid "Add Row Before"
|
||||
msgstr "ముందు వరుస చేర్చండి"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "ఆఫ్రికాన్స్"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "అల్బేనియన్"
|
||||
@@ -340,6 +348,10 @@ msgstr "అధ్యయన విభాగం"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ఆర్టిఫిషియల్ ఇంటెలిజెన్స్"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "కారక నిష్పత్తి"
|
||||
@@ -534,6 +546,10 @@ msgstr "చైనీస్ (సాంప్రదాయ)"
|
||||
msgid "Circle"
|
||||
msgstr "వృత్తం"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ఎంపికను క్లియర్ చేయండి"
|
||||
@@ -945,6 +961,10 @@ msgstr "మీ రిజ్యూమ్ను నకిలీ చేస్త
|
||||
msgid "Dutch"
|
||||
msgstr "డచ్"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "విద్య"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "మీకు పాస్వర్డ్ గుర్తుంది?
|
||||
msgid "Remove Password"
|
||||
msgstr "పాస్వర్డ్ను తీసివేయండి"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "పాస్వర్డ్ రక్షణను తీసివేస్తున్నాము..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "షేరింగ్"
|
||||
msgid "Show"
|
||||
msgstr "చూపించండి"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "తర్వాత, యాప్ ఇచ్చిన 6 అంకెల
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF రూపొందించడంలో సమస్య ఏర్పడింది, దయచేసి కొద్దిసేపటి తరువాత మళ్లీ ప్రయత్నించండి."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "రిజ్యూమ్ను నవీకరించండి"
|
||||
msgid "Update your password"
|
||||
msgstr "మీ పాస్వర్డ్ను నవీకరించండి"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "మీ పాస్వర్డ్ను నవీకరిస్తోంది..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: th\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "เพิ่มแถวหลัง"
|
||||
msgid "Add Row Before"
|
||||
msgstr "เพิ่มแวก่อน"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "อาฟรีกานส์"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "แอลเบเนีย"
|
||||
@@ -340,6 +348,10 @@ msgstr "สาขาวิชา"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "ปัญญาประดิษฐ์"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "อัตราส่วนภาพ"
|
||||
@@ -534,6 +546,10 @@ msgstr "จีน (ตัวเต็ม)"
|
||||
msgid "Circle"
|
||||
msgstr "วงกลม"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "ล้างการเลือก"
|
||||
@@ -945,6 +961,10 @@ msgstr "กำลังคัดลอกเรซูเม่ของคุณ
|
||||
msgid "Dutch"
|
||||
msgstr "ดัตช์"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "การศึกษา"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "จำรหัสผ่านของคุณได้หรือไ
|
||||
msgid "Remove Password"
|
||||
msgstr "ลบรหัสผ่าน"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "กำลังลบการป้องกันด้วยรหัสผ่าน..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "การแชร์"
|
||||
msgid "Show"
|
||||
msgstr "แสดง"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "จากนั้น กรอกรหัส 6 หลักที่
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "เกิดปัญหาในการสร้าง PDF โปรดลองใหม่อีกครั้งในภายหลัง"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "อัปเดตประวัติย่อ"
|
||||
msgid "Update your password"
|
||||
msgstr "อัปเดตรหัสผ่านของคุณ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "กำลังอัปเดตรหัสผ่านของคุณ..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Sonra Satır Ekle"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Önce Satır Ekle"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "Yapay Zeka"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Arnavutça"
|
||||
@@ -340,6 +348,10 @@ msgstr "Çalışma alanı"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Yapay Zekâ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "En/Boy Oranı"
|
||||
@@ -534,6 +546,10 @@ msgstr "Çince (Geleneksel)"
|
||||
msgid "Circle"
|
||||
msgstr "Daire"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Seçimi temizle"
|
||||
@@ -945,6 +961,10 @@ msgstr "Özgeçmişiniz çoğaltılıyor..."
|
||||
msgid "Dutch"
|
||||
msgstr "Felemenkçe"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Eğitim"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Şifrenizi hatırlıyor musunuz? <0><1>Şimdi giriş yapın <2/></1></0>
|
||||
msgid "Remove Password"
|
||||
msgstr "Şifreyi Kaldır"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Şifre koruması kaldırılıyor..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Paylaşım"
|
||||
msgid "Show"
|
||||
msgstr "Göster"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Daha sonra, devam etmek için uygulamanın verdiği 6 haneli kodu girin.
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF oluşturulurken bir sorun oluştu, lütfen daha sonra tekrar deneyin."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Özgeçmişi Güncelle"
|
||||
msgid "Update your password"
|
||||
msgstr "Şifrenizi güncelleyin"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Şifreniz güncelleniyor..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\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"
|
||||
@@ -207,6 +207,10 @@ msgstr "Додати Рядок Знизу"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Додати Рядок Згори"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Африканська"
|
||||
msgid "AI"
|
||||
msgstr "ШІ"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Албанська"
|
||||
@@ -340,6 +348,10 @@ msgstr "Освітня програма"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Штучний інтелект"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Пропорції"
|
||||
@@ -534,6 +546,10 @@ msgstr "Китайська (традиційна)"
|
||||
msgid "Circle"
|
||||
msgstr "Кругле"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Очистити вибір"
|
||||
@@ -945,6 +961,10 @@ msgstr "Дублювання резюме..."
|
||||
msgid "Dutch"
|
||||
msgstr "Голландська"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Освіта"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Пам’ятаєте свій пароль? <0><1>Увійдіть за
|
||||
msgid "Remove Password"
|
||||
msgstr "Видалити пароль"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Видалення захисту паролем..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Поширити"
|
||||
msgid "Show"
|
||||
msgstr "Показати"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Далі введіть шестизначний код, який над
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Сталася проблема під час створення PDF, будь ласка, спробуйте ще раз пізніше."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Оновити резюме"
|
||||
msgid "Update your password"
|
||||
msgstr "Оновіть свій пароль"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Оновлення пароля..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uz\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:14\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Uzbek\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Qatordan keyin qator qo‘shish"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Qatordan oldin qator qo‘shish"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "SO"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Alban tili"
|
||||
@@ -340,6 +348,10 @@ msgstr "Ta'lim sohasi"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Sun'iy intellekt"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tomonlar nisbati"
|
||||
@@ -534,6 +546,10 @@ msgstr "Xitoy (An’anaviy)"
|
||||
msgid "Circle"
|
||||
msgstr "Doira"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Tanlovni tozalash"
|
||||
@@ -945,6 +961,10 @@ msgstr "Rezyume nusxalanmoqda..."
|
||||
msgid "Dutch"
|
||||
msgstr "Golland tili"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Ta'lim"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Parolingiz esingizdami? <0><1>Hozir kiring <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Parolni olib tashlash"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Parol himoyasi olib tashlanmoqda..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Ulashish"
|
||||
msgid "Show"
|
||||
msgstr "Ko‘rsatish"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Keyin, davom etish uchun ilova taqdim etgan 6 xonali kodni kiriting."
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "PDF yaratishda muammo yuzaga keldi, iltimos, birozdan so'ng qaytadan urinib ko'ring."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Rezyumeni yangilash"
|
||||
msgid "Update your password"
|
||||
msgstr "Parolingizni yangilash"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Parolingiz yangilanmoqda..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "Thêm dòng sau"
|
||||
msgid "Add Row Before"
|
||||
msgstr "Thêm dòng trước"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "Tiếng Afrikaans"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "Tiếng Albania"
|
||||
@@ -340,6 +348,10 @@ msgstr "Lĩnh vực học tập"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "Trí tuệ nhân tạo"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "Tỷ lệ khung hình"
|
||||
@@ -534,6 +546,10 @@ msgstr "Tiếng Trung (Phồn thể)"
|
||||
msgid "Circle"
|
||||
msgstr "Vòng tròn"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "Xóa lựa chọn"
|
||||
@@ -945,6 +961,10 @@ msgstr "Đang tạo bản sao bản lý lịch của bạn..."
|
||||
msgid "Dutch"
|
||||
msgstr "Tiếng Hà Lan"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "Giáo dục"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "Bạn nhớ mật khẩu? <0><1>Đăng nhập ngay <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "Xóa mật khẩu"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "Đang xóa bảo vệ mật khẩu..."
|
||||
@@ -2081,6 +2105,18 @@ msgstr "Chia sẻ"
|
||||
msgid "Show"
|
||||
msgstr "Hiện"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "<<<<<<< HEAD"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "Sau đó, nhập mã 6 chữ số mà ứng dụng cung cấp để ti
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "Đã xảy ra sự cố khi tạo PDF, hãy thử lại sau."
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "Cập nhật resume"
|
||||
msgid "Update your password"
|
||||
msgstr "Cập nhật mật khẩu của bạn"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "Đang cập nhật mật khẩu của bạn..."
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "在后面添加行"
|
||||
msgid "Add Row Before"
|
||||
msgstr "在前面添加行"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "南非语"
|
||||
msgid "AI"
|
||||
msgstr "AI(人工智能)"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "阿尔巴尼亚语"
|
||||
@@ -340,6 +348,10 @@ msgstr "学习领域"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工智能"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "宽高比"
|
||||
@@ -534,6 +546,10 @@ msgstr "中文(繁体)"
|
||||
msgid "Circle"
|
||||
msgstr "圆形"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "清除选择"
|
||||
@@ -945,6 +961,10 @@ msgstr "正在复制你的简历…"
|
||||
msgid "Dutch"
|
||||
msgstr "荷兰语"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "教育经历"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "想起你的密码了?<0><1>立即登录 <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "移除密码"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "正在移除密码保护…"
|
||||
@@ -2081,6 +2105,18 @@ msgstr "发布与分享"
|
||||
msgid "Show"
|
||||
msgstr "显示"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "侧边栏"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "然后,输入应用提供的 6 位验证码以继续。"
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "生成 PDF 时出现问题,请稍后重试。"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "更新简历"
|
||||
msgid "Update your password"
|
||||
msgstr "更新你的密码"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "正在更新你的密码…"
|
||||
|
||||
Generated
+45
-1
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: reactive-resume\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2026-01-31 01:19\n"
|
||||
"PO-Revision-Date: 2026-01-31 12:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -207,6 +207,10 @@ msgstr "在後方新增列"
|
||||
msgid "Add Row Before"
|
||||
msgstr "在前方新增列"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -225,6 +229,10 @@ msgstr "南非荷蘭語"
|
||||
msgid "AI"
|
||||
msgstr "AI"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr "阿爾巴尼亞語"
|
||||
@@ -340,6 +348,10 @@ msgstr "學習領域"
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr "人工智慧"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr "顯示比例"
|
||||
@@ -534,6 +546,10 @@ msgstr "中文(繁體)"
|
||||
msgid "Circle"
|
||||
msgstr "圓形"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr "清除選取"
|
||||
@@ -945,6 +961,10 @@ msgstr "正在複製您的履歷…"
|
||||
msgid "Dutch"
|
||||
msgstr "荷蘭語"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr "學歷"
|
||||
@@ -1896,6 +1916,10 @@ msgstr "想起密碼了嗎?<0><1>立即登入 <2/></1></0>"
|
||||
msgid "Remove Password"
|
||||
msgstr "移除密碼"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr "正在移除密碼保護…"
|
||||
@@ -2081,6 +2105,18 @@ msgstr "分享"
|
||||
msgid "Show"
|
||||
msgstr "顯示"
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr "側邊欄"
|
||||
@@ -2345,6 +2381,10 @@ msgstr "接著,請輸入應用程式提供的 6 位數驗證碼以繼續。"
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr "產生 PDF 時發生問題,請稍後再試一次。"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2608,6 +2648,10 @@ msgstr "更新履歷"
|
||||
msgid "Update your password"
|
||||
msgstr "更新您的密碼"
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr "正在更新您的密碼…"
|
||||
|
||||
Generated
+44
@@ -202,6 +202,10 @@ msgstr ""
|
||||
msgid "Add Row Before"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Added"
|
||||
msgstr ""
|
||||
|
||||
#. placeholder {0}: passkey.createdAt.toLocaleDateString()
|
||||
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
|
||||
msgid "Added on {0}"
|
||||
@@ -220,6 +224,10 @@ msgstr ""
|
||||
msgid "AI"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "AI Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/locale.ts
|
||||
msgid "Albanian"
|
||||
msgstr ""
|
||||
@@ -335,6 +343,10 @@ msgstr ""
|
||||
msgid "Artificial Intelligence"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Ask me to update your resume..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
|
||||
msgid "Aspect Ratio"
|
||||
msgstr ""
|
||||
@@ -529,6 +541,10 @@ msgstr ""
|
||||
msgid "Circle"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Clear chat history"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ui/multiple-combobox.tsx
|
||||
msgid "Clear selection"
|
||||
msgstr ""
|
||||
@@ -940,6 +956,10 @@ msgstr ""
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "e.g. Change my name to..."
|
||||
msgstr ""
|
||||
|
||||
#: src/utils/resume/section.tsx
|
||||
msgid "Education"
|
||||
msgstr ""
|
||||
@@ -1891,6 +1911,10 @@ msgstr ""
|
||||
msgid "Remove Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
|
||||
msgid "Removing password protection..."
|
||||
msgstr ""
|
||||
@@ -2076,6 +2100,18 @@ msgstr ""
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/resume/sections/award.tsx
|
||||
#: src/dialogs/resume/sections/certification.tsx
|
||||
#: src/dialogs/resume/sections/education.tsx
|
||||
#: src/dialogs/resume/sections/experience.tsx
|
||||
#: src/dialogs/resume/sections/profile.tsx
|
||||
#: src/dialogs/resume/sections/project.tsx
|
||||
#: src/dialogs/resume/sections/publication.tsx
|
||||
#: src/dialogs/resume/sections/reference.tsx
|
||||
#: src/dialogs/resume/sections/volunteer.tsx
|
||||
msgid "Show link in title"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
|
||||
msgid "Sidebar"
|
||||
msgstr ""
|
||||
@@ -2340,6 +2376,10 @@ msgstr ""
|
||||
msgid "There was a problem while generating the PDF, please try again in some time."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Thinking..."
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-components/header.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
|
||||
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
|
||||
@@ -2603,6 +2643,10 @@ msgstr ""
|
||||
msgid "Update your password"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/ai/chat.tsx
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs/auth/change-password.tsx
|
||||
msgid "Updating your password..."
|
||||
msgstr ""
|
||||
|
||||
+434
@@ -0,0 +1,434 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Reactive Resume MCP server — single entry point. Run with:
|
||||
* npx tsx /path/to/reactive-resume/mcp
|
||||
*
|
||||
* Env: REACTIVE_RESUME_API_KEY (required), REACTIVE_RESUME_URL (default https://rxresu.me),
|
||||
* TRANSPORT (stdio | http), PORT (default 3100).
|
||||
*/
|
||||
|
||||
import * as http from "node:http";
|
||||
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
||||
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
||||
import type { Operation } from "fast-json-patch";
|
||||
import { z } from "zod";
|
||||
import type { RouterInput, RouterOutput } from "@/integrations/orpc/client";
|
||||
import { jsonPatchOperationSchema } from "@/utils/resume/patch";
|
||||
import schemaJSON from "../src/schema/schema.json";
|
||||
|
||||
// --- Env ---
|
||||
const API_KEY = process.env.REACTIVE_RESUME_API_KEY;
|
||||
const BASE_URL = (process.env.REACTIVE_RESUME_URL ?? "https://rxresu.me").replace(/\/$/, "");
|
||||
const TRANSPORT = process.env.TRANSPORT ?? "stdio";
|
||||
const PORT = Number.parseInt(process.env.PORT ?? "3100", 10);
|
||||
|
||||
if (!API_KEY) {
|
||||
console.error("ERROR: REACTIVE_RESUME_API_KEY is required. Create one in Settings > API Keys.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const apiKey = API_KEY;
|
||||
|
||||
// --- API client ---
|
||||
async function apiRequest<T>(method: string, path: string, body?: unknown): Promise<T> {
|
||||
const url = `${BASE_URL}${path}`;
|
||||
|
||||
const res = await fetch(url, {
|
||||
method,
|
||||
headers: {
|
||||
"x-api-key": apiKey,
|
||||
Accept: "application/json",
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: body ? JSON.stringify(body) : undefined,
|
||||
});
|
||||
|
||||
if (!res.ok) {
|
||||
const text = await res.text().catch(() => "Unknown error");
|
||||
throw new Error(`Reactive Resume API error (${res.status}): ${text}`);
|
||||
}
|
||||
|
||||
return res.json() as Promise<T>;
|
||||
}
|
||||
|
||||
async function listResumes(): Promise<RouterOutput["resume"]["list"]> {
|
||||
return apiRequest("GET", "/api/openapi/resumes");
|
||||
}
|
||||
|
||||
async function getResume(id: string): Promise<RouterOutput["resume"]["getById"]> {
|
||||
return apiRequest("GET", `/api/openapi/resumes/${encodeURIComponent(id)}`);
|
||||
}
|
||||
|
||||
async function patchResume(id: string, operations: Operation[]): Promise<RouterOutput["resume"]["patch"]> {
|
||||
return apiRequest("PATCH", `/api/openapi/resumes/${encodeURIComponent(id)}`, { operations });
|
||||
}
|
||||
|
||||
async function createResume(input: RouterInput["resume"]["create"]): Promise<RouterOutput["resume"]["create"]> {
|
||||
return apiRequest("POST", "/api/openapi/resumes", input);
|
||||
}
|
||||
|
||||
async function deleteResume(id: string): Promise<RouterOutput["resume"]["delete"]> {
|
||||
return apiRequest("DELETE", `/api/openapi/resumes/${encodeURIComponent(id)}`);
|
||||
}
|
||||
|
||||
async function setResumeLocked(id: string, isLocked: boolean): Promise<RouterOutput["resume"]["setLocked"]> {
|
||||
return apiRequest("POST", `/api/openapi/resumes/${encodeURIComponent(id)}/lock`, { isLocked });
|
||||
}
|
||||
|
||||
// --- MCP server ---
|
||||
const server = new McpServer({ name: "reactive-resume-mcp-server", version: "1.0.0" });
|
||||
|
||||
// Tool: list_resumes
|
||||
server.registerTool(
|
||||
"list_resumes",
|
||||
{
|
||||
title: "List Resumes",
|
||||
description:
|
||||
"List all resumes for the authenticated user. Returns id, name, slug, tags, visibility, lock status, timestamps.",
|
||||
inputSchema: z.object({}).strict(),
|
||||
},
|
||||
async () => {
|
||||
try {
|
||||
const resumes = await listResumes();
|
||||
if (resumes.length === 0)
|
||||
return {
|
||||
content: [{ type: "text", text: "No resumes found. Use create_resume to create one." }],
|
||||
};
|
||||
const lines = [`# Your Resumes (${resumes.length})`, ""];
|
||||
for (const r of resumes) {
|
||||
const tags = r.tags.length > 0 ? ` [${r.tags.join(", ")}]` : "";
|
||||
const flags = [r.isPublic ? "public" : "private", r.isLocked ? "locked" : ""].filter(Boolean).join(", ");
|
||||
lines.push(`- **${r.name}** (${r.id})${tags}`);
|
||||
lines.push(` Status: ${flags} | Updated: ${r.updatedAt}`);
|
||||
}
|
||||
return { content: [{ type: "text", text: lines.join("\n") }] };
|
||||
} catch (error) {
|
||||
return {
|
||||
isError: true,
|
||||
content: [
|
||||
{ type: "text", text: `Error listing resumes: ${error instanceof Error ? error.message : String(error)}` },
|
||||
],
|
||||
};
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: get_resume
|
||||
server.registerTool(
|
||||
"get_resume",
|
||||
{
|
||||
title: "Get Resume",
|
||||
description: "Get the full data of a specific resume by ID. Use list_resumes to find IDs.",
|
||||
inputSchema: z.object({ id: z.string().min(1).describe("Resume ID") }).strict(),
|
||||
},
|
||||
async ({ id }: { id: string }) => {
|
||||
try {
|
||||
const resume = await getResume(id);
|
||||
return { content: [{ type: "text", text: JSON.stringify(resume.data, null, 2) }] };
|
||||
} catch (error) {
|
||||
return {
|
||||
isError: true,
|
||||
content: [
|
||||
{
|
||||
type: "text",
|
||||
text: `Error getting resume: ${error instanceof Error ? error.message : String(error)}. Use list_resumes to find valid IDs.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: patch_resume
|
||||
server.registerTool(
|
||||
"patch_resume",
|
||||
{
|
||||
title: "Patch Resume",
|
||||
description:
|
||||
"Apply JSON Patch (RFC 6902) operations. Use get_resume first to inspect structure. Paths like /basics/name, /sections/skills/items/-.",
|
||||
inputSchema: z
|
||||
.object({
|
||||
id: z.string().min(1).describe("Resume ID"),
|
||||
operations: z.array(jsonPatchOperationSchema).min(1).describe("JSON Patch operations"),
|
||||
})
|
||||
.strict(),
|
||||
},
|
||||
async ({ id, operations }: { id: string; operations: Operation[] }) => {
|
||||
try {
|
||||
const resume = await patchResume(id, operations);
|
||||
const summary = operations.map((op) => `${op.op} ${op.path}`).join(", ");
|
||||
|
||||
return {
|
||||
content: [{ type: "text", text: `Applied ${operations.length} operation(s) to "${resume.name}": ${summary}` }],
|
||||
};
|
||||
} catch (error) {
|
||||
const msg = error instanceof Error ? error.message : String(error);
|
||||
let hint = "";
|
||||
if (msg.includes("400")) hint = " Use get_resume to check structure and paths.";
|
||||
if (msg.includes("403")) hint = " Resume is locked. Use unlock_resume first.";
|
||||
if (msg.includes("404")) hint = " Use list_resumes to find valid IDs.";
|
||||
return { isError: true, content: [{ type: "text", text: `Error patching resume: ${msg}${hint}` }] };
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: create_resume
|
||||
server.registerTool(
|
||||
"create_resume",
|
||||
{
|
||||
title: "Create Resume",
|
||||
description:
|
||||
"Create a new resume with a name, slug, and optional tags. Set withSampleData to true to pre-fill with example content.",
|
||||
inputSchema: z
|
||||
.object({
|
||||
name: z.string().min(1).max(64).describe("Name for the new resume"),
|
||||
slug: z.string().min(1).max(64).describe("URL-friendly slug (must be unique across your resumes)"),
|
||||
tags: z.array(z.string()).optional().default([]).describe("Optional tags to categorize the resume"),
|
||||
withSampleData: z.boolean().optional().default(false).describe("If true, pre-fill the resume with sample data"),
|
||||
})
|
||||
.strict(),
|
||||
},
|
||||
async ({
|
||||
name,
|
||||
slug,
|
||||
tags,
|
||||
withSampleData,
|
||||
}: {
|
||||
name: string;
|
||||
slug: string;
|
||||
tags: string[];
|
||||
withSampleData: boolean;
|
||||
}) => {
|
||||
try {
|
||||
const id = await createResume({ name, slug, tags, withSampleData });
|
||||
|
||||
return {
|
||||
content: [
|
||||
{
|
||||
type: "text",
|
||||
text: `Created resume "${name}" (${id}) with slug "${slug}".${withSampleData ? " Pre-filled with sample data." : ""} Use get_resume to view or patch_resume to edit it.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
} catch (error) {
|
||||
const msg = error instanceof Error ? error.message : String(error);
|
||||
let hint = "";
|
||||
if (msg.includes("400")) hint = " The slug may already be in use — try a different one.";
|
||||
return { isError: true, content: [{ type: "text", text: `Error creating resume: ${msg}${hint}` }] };
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: delete_resume
|
||||
server.registerTool(
|
||||
"delete_resume",
|
||||
{
|
||||
title: "Delete Resume",
|
||||
description:
|
||||
"Permanently delete a resume and its associated files (screenshots, PDFs). Locked resumes cannot be deleted — unlock first. This action is irreversible.",
|
||||
inputSchema: z
|
||||
.object({
|
||||
id: z.string().min(1).describe("Resume ID to delete. Use list_resumes to find IDs."),
|
||||
})
|
||||
.strict(),
|
||||
},
|
||||
async ({ id }: { id: string }) => {
|
||||
try {
|
||||
await deleteResume(id);
|
||||
|
||||
return { content: [{ type: "text", text: `Successfully deleted resume (${id}) and its associated files.` }] };
|
||||
} catch (error) {
|
||||
const msg = error instanceof Error ? error.message : String(error);
|
||||
let hint = "";
|
||||
if (msg.includes("403")) hint = " The resume may be locked. Use unlock_resume first.";
|
||||
if (msg.includes("404")) hint = " Use list_resumes to find valid IDs.";
|
||||
return { isError: true, content: [{ type: "text", text: `Error deleting resume: ${msg}${hint}` }] };
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: lock_resume
|
||||
server.registerTool(
|
||||
"lock_resume",
|
||||
{
|
||||
title: "Lock Resume",
|
||||
description:
|
||||
"Lock a resume to prevent edits, patches, or deletion. Useful for protecting finalized resumes from accidental changes.",
|
||||
inputSchema: z
|
||||
.object({
|
||||
id: z.string().min(1).describe("Resume ID to lock. Use list_resumes to find IDs."),
|
||||
})
|
||||
.strict(),
|
||||
},
|
||||
async ({ id }: { id: string }) => {
|
||||
try {
|
||||
await setResumeLocked(id, true);
|
||||
|
||||
return {
|
||||
content: [
|
||||
{
|
||||
type: "text",
|
||||
text: `Resume (${id}) is now locked. It cannot be edited, patched, or deleted until unlocked.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
} catch (error) {
|
||||
const msg = error instanceof Error ? error.message : String(error);
|
||||
let hint = "";
|
||||
if (msg.includes("404")) hint = " Use list_resumes to find valid IDs.";
|
||||
return { isError: true, content: [{ type: "text", text: `Error locking resume: ${msg}${hint}` }] };
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Tool: unlock_resume
|
||||
server.registerTool(
|
||||
"unlock_resume",
|
||||
{
|
||||
title: "Unlock Resume",
|
||||
description: "Unlock a previously locked resume, allowing edits, patches, and deletion again.",
|
||||
inputSchema: z
|
||||
.object({
|
||||
id: z.string().min(1).describe("Resume ID to unlock. Use list_resumes to find IDs."),
|
||||
})
|
||||
.strict(),
|
||||
},
|
||||
async ({ id }: { id: string }) => {
|
||||
try {
|
||||
await setResumeLocked(id, false);
|
||||
|
||||
return {
|
||||
content: [{ type: "text", text: `Resume (${id}) is now unlocked. It can be edited, patched, and deleted.` }],
|
||||
};
|
||||
} catch (error) {
|
||||
const msg = error instanceof Error ? error.message : String(error);
|
||||
let hint = "";
|
||||
if (msg.includes("404")) hint = " Use list_resumes to find valid IDs.";
|
||||
return { isError: true, content: [{ type: "text", text: `Error unlocking resume: ${msg}${hint}` }] };
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// Resource: resume://{id}
|
||||
const resumeTemplate = new ResourceTemplate("resume://{id}", {
|
||||
list: async () => {
|
||||
const resumes = await listResumes();
|
||||
|
||||
return {
|
||||
resources: resumes.map((r) => ({
|
||||
uri: `resume://${r.id}`,
|
||||
name: r.name,
|
||||
mimeType: "application/json" as const,
|
||||
description: `Resume: ${r.name}`,
|
||||
})),
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
server.registerResource(
|
||||
"resume",
|
||||
resumeTemplate,
|
||||
{
|
||||
description: "Full resume data as JSON. Use resume://{id} with ID from list_resumes.",
|
||||
mimeType: "application/json",
|
||||
},
|
||||
async (uri: URL) => {
|
||||
const id = uri.href.replace(/^resume:\/\//, "");
|
||||
if (!id) throw new Error("Invalid resume URI: resume://{id}");
|
||||
const resume = await getResume(id);
|
||||
return {
|
||||
contents: [{ uri: uri.href, mimeType: "application/json" as const, text: JSON.stringify(resume.data, null, 2) }],
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
// Resource: resume://schema
|
||||
server.registerResource(
|
||||
"resume-schema",
|
||||
"resume://schema",
|
||||
{
|
||||
description: "Resume Data JSON Schema for generating correct JSON Patch operations.",
|
||||
mimeType: "application/json",
|
||||
},
|
||||
async (uri: URL) => ({
|
||||
contents: [{ uri: uri.href, mimeType: "application/json" as const, text: JSON.stringify(schemaJSON, null, 2) }],
|
||||
}),
|
||||
);
|
||||
|
||||
// --- Transport: stdio (default) ---
|
||||
async function runStdio(): Promise<void> {
|
||||
const transport = new StdioServerTransport();
|
||||
await server.connect(transport);
|
||||
console.error("Reactive Resume MCP server running via stdio");
|
||||
}
|
||||
|
||||
// --- Transport: HTTP (Node http server) ---
|
||||
function readBody(req: http.IncomingMessage): Promise<unknown> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const chunks: Buffer[] = [];
|
||||
|
||||
req.on("data", (chunk) => chunks.push(chunk));
|
||||
|
||||
req.on("end", () => {
|
||||
const raw = Buffer.concat(chunks).toString("utf8");
|
||||
if (!raw.trim()) return resolve(undefined);
|
||||
|
||||
try {
|
||||
resolve(JSON.parse(raw));
|
||||
} catch {
|
||||
reject(new Error("Invalid JSON body"));
|
||||
}
|
||||
});
|
||||
|
||||
req.on("error", reject);
|
||||
});
|
||||
}
|
||||
|
||||
async function runHttp(): Promise<void> {
|
||||
const { StreamableHTTPServerTransport } = await import("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
||||
|
||||
const httpServer = http.createServer(async (req, res) => {
|
||||
if (req.method !== "POST" || req.url !== "/mcp") {
|
||||
res.writeHead(404, { "Content-Type": "text/plain" });
|
||||
res.end("Not Found");
|
||||
return;
|
||||
}
|
||||
|
||||
let body: unknown;
|
||||
|
||||
try {
|
||||
body = await readBody(req);
|
||||
} catch {
|
||||
res.writeHead(400, { "Content-Type": "application/json" });
|
||||
res.end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32700, message: "Parse error" }, id: null }));
|
||||
return;
|
||||
}
|
||||
|
||||
const transport = new StreamableHTTPServerTransport({
|
||||
sessionIdGenerator: undefined,
|
||||
enableJsonResponse: true,
|
||||
});
|
||||
|
||||
res.on("close", () => transport.close());
|
||||
|
||||
await server.connect(transport);
|
||||
await transport.handleRequest(req as never, res as never, body);
|
||||
});
|
||||
|
||||
httpServer.listen(PORT, "127.0.0.1", () => {
|
||||
console.error(`Reactive Resume MCP server running on http://127.0.0.1:${PORT}/mcp`);
|
||||
});
|
||||
}
|
||||
|
||||
if (TRANSPORT === "http") {
|
||||
runHttp().catch((err) => {
|
||||
console.error("Server error:", err);
|
||||
process.exit(1);
|
||||
});
|
||||
} else {
|
||||
runStdio().catch((err) => {
|
||||
console.error("Server error:", err);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
+45
-41
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"name": "reactive-resume",
|
||||
"description": "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.",
|
||||
"version": "5.0.5",
|
||||
"version": "5.0.7",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264",
|
||||
"packageManager": "pnpm@10.29.1+sha512.48dae233635a645768a3028d19545cacc1688639eeb1f3734e42d6d6b971afbf22aa1ac9af52a173d9c3a20c15857cfa400f19994d79a2f626fcc73fccda9bbc",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/amruthpillai/reactive-resume.git"
|
||||
@@ -26,17 +26,18 @@
|
||||
"docs:dev": "cd docs && npx mint dev",
|
||||
"knip": "knip",
|
||||
"lingui:extract": "lingui extract --clean --overwrite",
|
||||
"lint": "biome check --write .",
|
||||
"lint": "biome check --write",
|
||||
"start": "node .output/server/index.mjs",
|
||||
"typecheck": "tsc --noEmit"
|
||||
"typecheck": "tsgo --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^3.0.33",
|
||||
"@ai-sdk/google": "^3.0.18",
|
||||
"@ai-sdk/openai": "^3.0.23",
|
||||
"@aws-sdk/client-s3": "^3.980.0",
|
||||
"@better-auth/core": "1.5.0-beta.10",
|
||||
"@better-auth/passkey": "1.5.0-beta.10",
|
||||
"@ai-sdk/anthropic": "^3.0.39",
|
||||
"@ai-sdk/google": "^3.0.22",
|
||||
"@ai-sdk/openai": "^3.0.26",
|
||||
"@ai-sdk/react": "^3.0.79",
|
||||
"@aws-sdk/client-s3": "^3.985.0",
|
||||
"@better-auth/core": "1.5.0-beta.13",
|
||||
"@better-auth/passkey": "1.5.0-beta.13",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@dnd-kit/utilities": "^3.2.2",
|
||||
@@ -56,47 +57,50 @@
|
||||
"@sindresorhus/slugify": "^3.0.0",
|
||||
"@t3-oss/env-core": "^0.13.10",
|
||||
"@tanstack/react-query": "5.90.20",
|
||||
"@tanstack/react-router": "^1.157.17",
|
||||
"@tanstack/react-router-ssr-query": "^1.157.17",
|
||||
"@tanstack/react-start": "^1.157.17",
|
||||
"@tanstack/zod-adapter": "^1.157.17",
|
||||
"@tiptap/extension-highlight": "^3.18.0",
|
||||
"@tiptap/extension-table": "^3.18.0",
|
||||
"@tiptap/extension-text-align": "^3.18.0",
|
||||
"@tiptap/pm": "^3.18.0",
|
||||
"@tiptap/react": "^3.18.0",
|
||||
"@tiptap/starter-kit": "^3.18.0",
|
||||
"ai": "^6.0.63",
|
||||
"ai-sdk-ollama": "^3.3.0",
|
||||
"@tanstack/react-router": "^1.159.3",
|
||||
"@tanstack/react-router-ssr-query": "^1.159.3",
|
||||
"@tanstack/react-start": "^1.159.3",
|
||||
"@tanstack/zod-adapter": "^1.159.3",
|
||||
"@tiptap/extension-highlight": "^3.19.0",
|
||||
"@tiptap/extension-table": "^3.19.0",
|
||||
"@tiptap/extension-text-align": "^3.19.0",
|
||||
"@tiptap/pm": "^3.19.0",
|
||||
"@tiptap/react": "^3.19.0",
|
||||
"@tiptap/starter-kit": "^3.19.0",
|
||||
"ai": "^6.0.77",
|
||||
"ai-sdk-ollama": "^3.5.0",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.5.0-beta.10",
|
||||
"better-auth": "1.5.0-beta.13",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
"cmdk": "^1.1.1",
|
||||
"dompurify": "^3.3.1",
|
||||
"drizzle-orm": "^1.0.0-beta.12-a5629fb",
|
||||
"drizzle-orm": "^1.0.0-beta.15-859cf75",
|
||||
"drizzle-zod": "^0.8.3",
|
||||
"@modelcontextprotocol/sdk": "^1.26.0",
|
||||
"es-toolkit": "^1.44.0",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-json-patch": "^3.1.1",
|
||||
"fuse.js": "^7.1.0",
|
||||
"immer": "^11.1.3",
|
||||
"input-otp": "^1.4.2",
|
||||
"js-cookie": "^3.0.5",
|
||||
"monaco-editor": "^0.55.1",
|
||||
"motion": "^12.29.2",
|
||||
"nodemailer": "^7.0.13",
|
||||
"motion": "^12.33.0",
|
||||
"nodemailer": "^8.0.1",
|
||||
"pg": "^8.18.0",
|
||||
"puppeteer-core": "^24.36.1",
|
||||
"puppeteer-core": "^24.37.2",
|
||||
"qrcode.react": "^4.2.0",
|
||||
"radix-ui": "^1.4.3",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react-hook-form": "^7.71.1",
|
||||
"react-hotkeys-hook": "^5.2.3",
|
||||
"react-resizable-panels": "^4.5.6",
|
||||
"react-window": "^2.2.5",
|
||||
"react-hotkeys-hook": "^5.2.4",
|
||||
"react-resizable-panels": "^4.6.2",
|
||||
"react-window": "^2.2.6",
|
||||
"react-zoom-pan-pinch": "^3.7.0",
|
||||
"reflect-metadata": "^0.2.2",
|
||||
"shadcn": "^3.8.0",
|
||||
"shadcn": "^3.8.4",
|
||||
"sharp": "^0.34.5",
|
||||
"sonner": "^2.0.7",
|
||||
"tailwind-merge": "^3.4.0",
|
||||
@@ -110,37 +114,37 @@
|
||||
"workbox-window": "^7.4.0",
|
||||
"zod": "^4.3.6",
|
||||
"zundo": "^2.3.0",
|
||||
"zustand": "^5.0.10"
|
||||
"zustand": "^5.0.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.3.13",
|
||||
"@biomejs/biome": "^2.3.14",
|
||||
"@lingui/babel-plugin-lingui-macro": "^5.9.0",
|
||||
"@lingui/cli": "^5.9.0",
|
||||
"@lingui/vite-plugin": "^5.9.0",
|
||||
"@tailwindcss/vite": "^4.1.18",
|
||||
"@types/bcrypt": "^6.0.0",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/node": "^25.1.0",
|
||||
"@types/node": "^25.2.2",
|
||||
"@types/nodemailer": "^7.0.9",
|
||||
"@types/pg": "^8.16.0",
|
||||
"@types/react": "^19.2.10",
|
||||
"@types/react": "^19.2.13",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@vitejs/plugin-react": "^5.1.2",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260208.1",
|
||||
"@vitejs/plugin-react": "^5.1.3",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
"drizzle-kit": "^1.0.0-beta.12-a5629fb",
|
||||
"knip": "^5.82.1",
|
||||
"drizzle-kit": "^1.0.0-beta.15-859cf75",
|
||||
"knip": "^5.83.1",
|
||||
"nitro": "npm:nitro-nightly@latest",
|
||||
"node-addon-api": "^8.5.0",
|
||||
"node-gyp": "^12.2.0",
|
||||
"npm-check-updates": "^19.3.2",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "npm:rolldown-vite@latest",
|
||||
"vite": "^8.0.0-beta.13",
|
||||
"vite-plugin-pwa": "^1.2.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"vite": "npm:rolldown-vite@latest"
|
||||
"vite": "^8.0.0-beta.13"
|
||||
},
|
||||
"onlyBuiltDependencies": [
|
||||
"@prisma/engines",
|
||||
|
||||
Generated
+2047
-1776
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,408 @@
|
||||
import { useChat } from "@ai-sdk/react";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { Trans } from "@lingui/react/macro";
|
||||
import { eventIteratorToUnproxiedDataStream } from "@orpc/client";
|
||||
import {
|
||||
CheckCircleIcon,
|
||||
CircleNotchIcon,
|
||||
PaperPlaneRightIcon,
|
||||
SparkleIcon,
|
||||
StopIcon,
|
||||
TrashSimpleIcon,
|
||||
} from "@phosphor-icons/react";
|
||||
import type { UIMessage } from "ai";
|
||||
import type { Operation } from "fast-json-patch";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { toast } from "sonner";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
|
||||
import { ScrollArea } from "@/components/ui/scroll-area";
|
||||
import { useAIStore } from "@/integrations/ai/store";
|
||||
import { client } from "@/integrations/orpc/client";
|
||||
import { applyResumePatches } from "@/utils/resume/patch";
|
||||
import { cn } from "@/utils/style";
|
||||
import { useResumeStore } from "../resume/store/resume";
|
||||
|
||||
/**
|
||||
* Extract patch operations from the latest assistant messages' tool call parts.
|
||||
* Returns operations that haven't been applied yet (tracked by processedToolCallIds).
|
||||
*/
|
||||
function extractNewPatchOperations(
|
||||
messages: UIMessage[],
|
||||
processedIds: Set<string>,
|
||||
): { operations: Operation[]; newIds: string[] } {
|
||||
const operations: Operation[] = [];
|
||||
const newIds: string[] = [];
|
||||
|
||||
for (const message of messages) {
|
||||
if (message.role !== "assistant") continue;
|
||||
for (const part of message.parts) {
|
||||
if (part.type !== "tool-patch_resume") continue;
|
||||
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK tool parts have dynamic shapes
|
||||
const toolPart = part as any;
|
||||
if (toolPart.state !== "output-available") continue;
|
||||
|
||||
const callId = toolPart.toolCallId as string;
|
||||
if (processedIds.has(callId)) continue;
|
||||
|
||||
const result = toolPart.output as { success: boolean; appliedOperations?: Operation[] } | undefined;
|
||||
if (result?.success && result.appliedOperations) {
|
||||
operations.push(...result.appliedOperations);
|
||||
newIds.push(callId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return { operations, newIds };
|
||||
}
|
||||
|
||||
/**
|
||||
* LocalStorage helpers for persisting chat messages per resume.
|
||||
*/
|
||||
const STORAGE_KEY_PREFIX = "ai-chat-messages";
|
||||
|
||||
function getStorageKey(resumeId: string): string {
|
||||
return `${STORAGE_KEY_PREFIX}:${resumeId}`;
|
||||
}
|
||||
|
||||
function loadStoredMessages(resumeId: string): UIMessage[] {
|
||||
try {
|
||||
const stored = localStorage.getItem(getStorageKey(resumeId));
|
||||
if (!stored) return [];
|
||||
return JSON.parse(stored) as UIMessage[];
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
function saveStoredMessages(resumeId: string, messages: UIMessage[]): void {
|
||||
try {
|
||||
localStorage.setItem(getStorageKey(resumeId), JSON.stringify(messages));
|
||||
} catch {
|
||||
// Silently fail if localStorage is full or unavailable
|
||||
}
|
||||
}
|
||||
|
||||
function clearStoredMessages(resumeId: string): void {
|
||||
localStorage.removeItem(getStorageKey(resumeId));
|
||||
}
|
||||
|
||||
function formatPath(path: string): string {
|
||||
return path.replace(/^\//, "").replace(/\//g, " › ");
|
||||
}
|
||||
|
||||
function formatOperationLabel(op: string): string {
|
||||
switch (op) {
|
||||
case "replace":
|
||||
return t`Updated`;
|
||||
case "add":
|
||||
return t`Added`;
|
||||
case "remove":
|
||||
return t`Removed`;
|
||||
default:
|
||||
return op;
|
||||
}
|
||||
}
|
||||
|
||||
function ToolBadge({ state, operations }: { state: string; operations?: { op: string; path: string }[] }) {
|
||||
const isDone = state === "output-available";
|
||||
|
||||
return (
|
||||
<div className="my-0.5 flex flex-col gap-1.5">
|
||||
<span
|
||||
data-state={state}
|
||||
className={cn(
|
||||
"inline-flex w-fit items-center gap-1.5 rounded-full border px-2.5 py-1 font-medium text-[11px]",
|
||||
"data-[state=output-available]:border-emerald-500/30 data-[state=output-available]:bg-emerald-500/10 data-[state=output-available]:text-emerald-600 dark:data-[state=output-available]:text-emerald-400",
|
||||
)}
|
||||
>
|
||||
{isDone ? (
|
||||
<CheckCircleIcon weight="fill" className="size-3" />
|
||||
) : (
|
||||
<CircleNotchIcon className="size-3 animate-spin" />
|
||||
)}
|
||||
{isDone ? "Changes applied" : "Applying changes..."}
|
||||
</span>
|
||||
|
||||
{isDone && operations && operations.length > 0 && (
|
||||
<div className="flex flex-col gap-0.5 pl-1 text-[11px] text-muted-foreground">
|
||||
{operations.map((op, i) => (
|
||||
<span key={i} className="flex items-center gap-1">
|
||||
<span className="opacity-40">•</span>
|
||||
{formatOperationLabel(op.op)} {formatPath(op.path)}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function MessageParts({ message }: { message: UIMessage }) {
|
||||
const parts = message.parts;
|
||||
|
||||
if (parts.length === 0) return null;
|
||||
|
||||
return (
|
||||
<div className="flex flex-col gap-2">
|
||||
{parts.map((part, i) => {
|
||||
if (part.type === "step-start") {
|
||||
if (i === 0) return null;
|
||||
return <hr key={i} className="my-0.5 border-border/40" />;
|
||||
}
|
||||
|
||||
if (part.type === "text" && part.text.trim()) {
|
||||
return (
|
||||
<p key={i} className="whitespace-pre-wrap text-[13px] leading-relaxed">
|
||||
{part.text}
|
||||
</p>
|
||||
);
|
||||
}
|
||||
|
||||
if (part.type === "reasoning" && part.text.trim()) {
|
||||
return (
|
||||
<p key={i} className="whitespace-pre-wrap text-[11px] text-muted-foreground italic leading-relaxed">
|
||||
{part.text}
|
||||
</p>
|
||||
);
|
||||
}
|
||||
|
||||
if (part.type === "tool-patch_resume") {
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK tool parts have dynamic shapes
|
||||
const toolPart = part as any;
|
||||
const state = toolPart.state as string;
|
||||
const operations = toolPart.input?.operations as { op: string; path: string }[] | undefined;
|
||||
return <ToolBadge key={i} state={state} operations={operations} />;
|
||||
}
|
||||
|
||||
return null;
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export function AIChat() {
|
||||
const enabled = useAIStore((s) => s.enabled);
|
||||
const provider = useAIStore((s) => s.provider);
|
||||
const model = useAIStore((s) => s.model);
|
||||
const apiKey = useAIStore((s) => s.apiKey);
|
||||
const baseURL = useAIStore((s) => s.baseURL);
|
||||
|
||||
const resumeId = useResumeStore((s) => s.resume.id);
|
||||
const resumeData = useResumeStore((s) => s.resume.data);
|
||||
const updateResumeData = useResumeStore((s) => s.updateResumeData);
|
||||
|
||||
const [input, setInput] = useState("");
|
||||
const [open, setOpen] = useState(false);
|
||||
const bottomRef = useRef<HTMLDivElement>(null);
|
||||
const inputRef = useRef<HTMLInputElement>(null);
|
||||
const processedToolCallIds = useRef(new Set<string>());
|
||||
|
||||
// Load stored messages once on mount and pre-populate processedToolCallIds
|
||||
// so that already-applied patches are not re-applied.
|
||||
const [initialMessages] = useState(() => {
|
||||
const stored = loadStoredMessages(resumeId);
|
||||
|
||||
for (const msg of stored) {
|
||||
if (msg.role !== "assistant") continue;
|
||||
for (const part of msg.parts) {
|
||||
if (part.type !== "tool-patch_resume") continue;
|
||||
// biome-ignore lint/suspicious/noExplicitAny: AI SDK tool parts have dynamic shapes
|
||||
const toolPart = part as any;
|
||||
if (toolPart.state === "output-available") {
|
||||
processedToolCallIds.current.add(toolPart.toolCallId as string);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return stored;
|
||||
});
|
||||
|
||||
const { messages, sendMessage, status, stop, setMessages } = useChat({
|
||||
messages: initialMessages,
|
||||
transport: {
|
||||
async sendMessages(options) {
|
||||
return eventIteratorToUnproxiedDataStream(
|
||||
await client.ai.chat(
|
||||
{
|
||||
provider,
|
||||
model,
|
||||
apiKey,
|
||||
baseURL,
|
||||
messages: options.messages,
|
||||
resumeData,
|
||||
},
|
||||
{ signal: options.abortSignal },
|
||||
),
|
||||
);
|
||||
},
|
||||
reconnectToStream() {
|
||||
throw new Error("Unsupported");
|
||||
},
|
||||
},
|
||||
onError(error) {
|
||||
toast.error("AI chat error", { description: error.message });
|
||||
},
|
||||
});
|
||||
|
||||
// Apply patches when new tool results arrive
|
||||
useEffect(() => {
|
||||
const { operations, newIds } = extractNewPatchOperations(messages, processedToolCallIds.current);
|
||||
if (operations.length === 0) return;
|
||||
|
||||
try {
|
||||
const patched = applyResumePatches(resumeData, operations);
|
||||
updateResumeData((draft) => {
|
||||
Object.assign(draft, patched);
|
||||
});
|
||||
for (const id of newIds) processedToolCallIds.current.add(id);
|
||||
} catch (error) {
|
||||
toast.error("Failed to apply resume changes", {
|
||||
description: error instanceof Error ? error.message : "Unknown error",
|
||||
});
|
||||
}
|
||||
}, [messages, resumeData, updateResumeData]);
|
||||
|
||||
// Persist messages to localStorage whenever they change
|
||||
useEffect(() => {
|
||||
saveStoredMessages(resumeId, messages);
|
||||
}, [resumeId, messages]);
|
||||
|
||||
// Auto-scroll to bottom (sentinel so it works with ScrollArea viewport)
|
||||
useEffect(() => {
|
||||
bottomRef.current?.scrollIntoView({ behavior: "smooth" });
|
||||
}, [messages]);
|
||||
|
||||
// Refocus the input when the AI finishes responding
|
||||
useEffect(() => {
|
||||
if (status === "ready") inputRef.current?.focus();
|
||||
}, [status]);
|
||||
|
||||
const handleOpenChange = useCallback((nextOpen: boolean) => {
|
||||
setOpen(nextOpen);
|
||||
}, []);
|
||||
|
||||
const handleClearMessages = useCallback(() => {
|
||||
setMessages([]);
|
||||
clearStoredMessages(resumeId);
|
||||
processedToolCallIds.current.clear();
|
||||
}, [resumeId, setMessages]);
|
||||
|
||||
const handleSubmit = useCallback(
|
||||
(e: React.SubmitEvent) => {
|
||||
e.preventDefault();
|
||||
if (!input.trim() || status !== "ready") return;
|
||||
sendMessage({ text: input });
|
||||
setInput("");
|
||||
},
|
||||
[input, status, sendMessage],
|
||||
);
|
||||
|
||||
if (!enabled) return null;
|
||||
|
||||
const isLoading = status === "submitted" || status === "streaming";
|
||||
|
||||
return (
|
||||
<Popover open={open} onOpenChange={handleOpenChange}>
|
||||
<PopoverTrigger asChild>
|
||||
<Button size="icon" variant="ghost">
|
||||
<SparkleIcon />
|
||||
</Button>
|
||||
</PopoverTrigger>
|
||||
|
||||
<PopoverContent className="flex h-128 w-md flex-col gap-y-0 overflow-hidden p-0" side="top" align="center">
|
||||
{/* Header with clear button */}
|
||||
<div className="flex shrink-0 items-center justify-between border-b px-3 py-1.5">
|
||||
<p className="font-medium text-muted-foreground text-xs">
|
||||
<Trans>AI Chat</Trans>
|
||||
</p>
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="ghost"
|
||||
className="size-7"
|
||||
title={t`Clear chat history`}
|
||||
onClick={handleClearMessages}
|
||||
disabled={messages.length === 0 || isLoading}
|
||||
>
|
||||
<TrashSimpleIcon className="size-3" />
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
{/* Message list — min-h-0 so flex constrains height and viewport scrolls */}
|
||||
<ScrollArea className="min-h-0 flex-1 px-4">
|
||||
<div className="flex flex-col gap-y-4 pt-4">
|
||||
{messages.length === 0 && (
|
||||
<div className="flex h-full items-center justify-center py-6">
|
||||
<p className="text-center text-muted-foreground text-xs">
|
||||
<Trans>Ask me to update your resume...</Trans>
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="flex flex-col gap-4">
|
||||
{messages.map((message) => (
|
||||
<div key={message.id} className={cn("flex", message.role === "user" ? "justify-end" : "justify-start")}>
|
||||
<div
|
||||
data-role={message.role}
|
||||
className={cn(
|
||||
"max-w-[85%] rounded-xl px-3.5 py-2.5",
|
||||
"data-[role=user]:rounded-br-sm data-[role=user]:bg-primary data-[role=user]:text-primary-foreground",
|
||||
"data-[role=assistant]:rounded-bl-sm data-[role=assistant]:bg-muted data-[role=assistant]:text-foreground",
|
||||
)}
|
||||
>
|
||||
{message.role === "user" ? (
|
||||
<p className="text-[13px] leading-relaxed">
|
||||
{message.parts.map((part, i) =>
|
||||
part.type === "text" ? <span key={i}>{part.text}</span> : null,
|
||||
)}
|
||||
</p>
|
||||
) : (
|
||||
<MessageParts message={message} />
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
||||
{status === "submitted" && (
|
||||
<div className="flex justify-start">
|
||||
<div className="rounded-xl rounded-bl-sm bg-muted px-3.5 py-2.5">
|
||||
<div className="flex items-center gap-2 text-[13px] text-muted-foreground">
|
||||
<CircleNotchIcon className="size-3 animate-spin" />
|
||||
<span>
|
||||
<Trans>Thinking...</Trans>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div ref={bottomRef} aria-hidden />
|
||||
</div>
|
||||
</div>
|
||||
</ScrollArea>
|
||||
|
||||
{/* Input form — shrink-0 so it stays visible when content scrolls */}
|
||||
<form onSubmit={handleSubmit} className="flex shrink-0 items-center gap-1.5 border-t px-3 py-2">
|
||||
<input
|
||||
ref={inputRef}
|
||||
value={input}
|
||||
disabled={!enabled || isLoading}
|
||||
onChange={(e) => setInput(e.target.value)}
|
||||
placeholder={t`e.g. Change my name to...`}
|
||||
className="flex-1 bg-transparent text-[13px] outline-none placeholder:text-muted-foreground"
|
||||
/>
|
||||
{isLoading ? (
|
||||
<Button type="button" size="icon" variant="ghost" onClick={stop} className="size-7 shrink-0">
|
||||
<StopIcon className="size-3.5" />
|
||||
</Button>
|
||||
) : (
|
||||
<Button type="submit" size="icon" variant="ghost" disabled={!input.trim()} className="size-7 shrink-0">
|
||||
<PaperPlaneRightIcon className="size-3.5" />
|
||||
</Button>
|
||||
)}
|
||||
</form>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
);
|
||||
}
|
||||
@@ -24,9 +24,10 @@ function ensurePrefix(url: string) {
|
||||
type Props = Omit<React.ComponentProps<"input">, "value" | "onChange"> & {
|
||||
value: z.infer<typeof urlSchema>;
|
||||
onChange: (value: z.infer<typeof urlSchema>) => void;
|
||||
hideLabelButton?: boolean;
|
||||
};
|
||||
|
||||
export function URLInput({ value, onChange, ...props }: Props) {
|
||||
export function URLInput({ value, onChange, hideLabelButton, ...props }: Props) {
|
||||
const handleUrlChange = useCallback(
|
||||
(e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
onChange({
|
||||
@@ -59,24 +60,26 @@ export function URLInput({ value, onChange, ...props }: Props) {
|
||||
{...props}
|
||||
/>
|
||||
|
||||
<InputGroupAddon align="inline-end">
|
||||
<Popover>
|
||||
<PopoverTrigger asChild>
|
||||
<InputGroupButton size="icon-sm" title={t`Add a label to the URL`}>
|
||||
<TagIcon />
|
||||
</InputGroupButton>
|
||||
</PopoverTrigger>
|
||||
{!hideLabelButton && (
|
||||
<InputGroupAddon align="inline-end">
|
||||
<Popover>
|
||||
<PopoverTrigger asChild>
|
||||
<InputGroupButton size="icon-sm" title={t`Add a label to the URL`}>
|
||||
<TagIcon />
|
||||
</InputGroupButton>
|
||||
</PopoverTrigger>
|
||||
|
||||
<PopoverContent className="pt-3">
|
||||
<div className="grid gap-2" onClick={(e) => e.stopPropagation()}>
|
||||
<Label htmlFor="url-label">
|
||||
<Trans>Label</Trans>
|
||||
</Label>
|
||||
<Input id="url-label" name="url-label" value={value.label} onChange={handleLabelChange} />
|
||||
</div>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
</InputGroupAddon>
|
||||
<PopoverContent className="pt-3">
|
||||
<div className="grid gap-2" onClick={(e) => e.stopPropagation()}>
|
||||
<Label htmlFor="url-label">
|
||||
<Trans>Label</Trans>
|
||||
</Label>
|
||||
<Input id="url-label" name="url-label" value={value.label} onChange={handleLabelChange} />
|
||||
</div>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
</InputGroupAddon>
|
||||
)}
|
||||
</InputGroup>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ export function LevelDisplay({ icon, type, level, className, ...props }: Props)
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
data-active={isActive}
|
||||
className={cn(
|
||||
"h-2.5 flex-1 border border-(--page-primary-color) border-x-0 first:border-l last:border-r",
|
||||
isActive && "bg-(--page-primary-color)",
|
||||
@@ -50,6 +51,7 @@ export function LevelDisplay({ icon, type, level, className, ...props }: Props)
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
data-active={isActive}
|
||||
className={cn(
|
||||
"size-2.5 border border-(--page-primary-color)",
|
||||
isActive && "bg-(--page-primary-color)",
|
||||
|
||||
@@ -53,10 +53,9 @@
|
||||
text-underline-offset: 0.15rem;
|
||||
}
|
||||
|
||||
@media print {
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
hr {
|
||||
margin: 1rem 0;
|
||||
border-color: var(--page-text-color);
|
||||
}
|
||||
|
||||
strong {
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type AwardsItemProps = SectionItem<"awards"> & {
|
||||
@@ -15,7 +16,12 @@ export function AwardsItem({ className, ...item }: AwardsItemProps) {
|
||||
<div className="section-item-header awards-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title awards-item-title">{item.title}</strong>
|
||||
<LinkedTitle
|
||||
title={item.title}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title awards-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata awards-item-date shrink-0 text-end">{item.date}</span>
|
||||
</div>
|
||||
|
||||
@@ -31,9 +37,11 @@ export function AwardsItem({ className, ...item }: AwardsItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website awards-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website awards-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type CertificationsItemProps = SectionItem<"certifications"> & {
|
||||
@@ -15,7 +16,12 @@ export function CertificationsItem({ className, ...item }: CertificationsItemPro
|
||||
<div className="section-item-header certifications-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title certifications-item-title">{item.title}</strong>
|
||||
<LinkedTitle
|
||||
title={item.title}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title certifications-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata certifications-item-date shrink-0 text-end">{item.date}</span>
|
||||
</div>
|
||||
|
||||
@@ -36,9 +42,11 @@ export function CertificationsItem({ className, ...item }: CertificationsItemPro
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website certifications-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website certifications-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,17 +12,13 @@ export function CoverLetterItem({ className, ...item }: CoverLetterItemProps) {
|
||||
|
||||
return (
|
||||
<div className={cn("cover-letter-item", className)}>
|
||||
{stripHtml(item.recipient) && (
|
||||
<div className="cover-letter-item-recipient mb-4">
|
||||
<TiptapContent content={item.recipient} />
|
||||
</div>
|
||||
)}
|
||||
<div className={cn("cover-letter-item-recipient mb-4", !stripHtml(item.recipient) && "hidden")}>
|
||||
<TiptapContent content={item.recipient} />
|
||||
</div>
|
||||
|
||||
{stripHtml(item.content) && (
|
||||
<div className="cover-letter-item-content">
|
||||
<TiptapContent content={item.content} />
|
||||
</div>
|
||||
)}
|
||||
<div className={cn("cover-letter-item-content", !stripHtml(item.content) && "hidden")}>
|
||||
<TiptapContent content={item.content} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type EducationItemProps = SectionItem<"education"> & {
|
||||
@@ -15,7 +16,12 @@ export function EducationItem({ className, ...item }: EducationItemProps) {
|
||||
<div className="section-item-header education-item-header mb-2">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title education-item-title">{item.school}</strong>
|
||||
<LinkedTitle
|
||||
title={item.school}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title education-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata education-item-degree-grade shrink-0 text-end">
|
||||
{[item.degree, item.grade].filter(Boolean).join(" • ")}
|
||||
</span>
|
||||
@@ -38,9 +44,11 @@ export function EducationItem({ className, ...item }: EducationItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website education-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website education-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type ExperienceItemProps = SectionItem<"experience"> & {
|
||||
@@ -15,7 +16,12 @@ export function ExperienceItem({ className, ...item }: ExperienceItemProps) {
|
||||
<div className="section-item-header experience-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title experience-item-title">{item.company}</strong>
|
||||
<LinkedTitle
|
||||
title={item.company}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title experience-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata experience-item-location shrink-0 text-end">{item.location}</span>
|
||||
</div>
|
||||
|
||||
@@ -34,9 +40,11 @@ export function ExperienceItem({ className, ...item }: ExperienceItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website experience-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website experience-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageIcon } from "../page-icon";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
@@ -13,15 +14,22 @@ export function ProfilesItem({ className, ...item }: ProfilesItemProps) {
|
||||
{/* Header */}
|
||||
<div className="section-item-header profiles-item-header flex items-center gap-x-1.5">
|
||||
<PageIcon icon={item.icon} className="section-item-icon profiles-item-icon" />
|
||||
<strong className="section-item-title profiles-item-network">{item.network}</strong>
|
||||
<LinkedTitle
|
||||
title={item.network}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title profiles-item-network"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<PageLink
|
||||
{...item.website}
|
||||
label={item.website.label || item.username}
|
||||
className="section-item-website profiles-item-website"
|
||||
/>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<PageLink
|
||||
{...item.website}
|
||||
label={item.website.label || item.username}
|
||||
className="section-item-website profiles-item-website"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type ProjectsItemProps = SectionItem<"projects"> & {
|
||||
@@ -15,7 +16,12 @@ export function ProjectsItem({ className, ...item }: ProjectsItemProps) {
|
||||
<div className="section-item-header projects-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title projects-item-title">{item.name}</strong>
|
||||
<LinkedTitle
|
||||
title={item.name}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title projects-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata projects-item-period shrink-0 text-end">{item.period}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -28,9 +34,11 @@ export function ProjectsItem({ className, ...item }: ProjectsItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website projects-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website projects-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type PublicationsItemProps = SectionItem<"publications"> & {
|
||||
@@ -15,7 +16,12 @@ export function PublicationsItem({ className, ...item }: PublicationsItemProps)
|
||||
<div className="section-item-header publications-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title publications-item-title">{item.title}</strong>
|
||||
<LinkedTitle
|
||||
title={item.title}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title publications-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata publications-item-date shrink-0 text-end">{item.date}</span>
|
||||
</div>
|
||||
|
||||
@@ -36,9 +42,11 @@ export function PublicationsItem({ className, ...item }: PublicationsItemProps)
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website publications-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website publications-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type ReferencesItemProps = SectionItem<"references"> & {
|
||||
@@ -15,7 +16,12 @@ export function ReferencesItem({ className, ...item }: ReferencesItemProps) {
|
||||
<div className="section-item-header references-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title references-item-name">{item.name}</strong>
|
||||
<LinkedTitle
|
||||
title={item.name}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title references-item-name"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Row 2 */}
|
||||
@@ -37,11 +43,13 @@ export function ReferencesItem({ className, ...item }: ReferencesItemProps) {
|
||||
<span className="section-item-metadata references-item-phone inline-block">{item.phone}</span>
|
||||
|
||||
{/* Row 2 */}
|
||||
<PageLink
|
||||
{...item.website}
|
||||
label={item.website.label}
|
||||
className="section-item-website references-item-website"
|
||||
/>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<PageLink
|
||||
{...item.website}
|
||||
label={item.website.label}
|
||||
className="section-item-website references-item-website"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -17,15 +17,11 @@ export function SkillsItem({ className, ...item }: SkillsItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Proficiency */}
|
||||
{item.proficiency && (
|
||||
<span className="section-item-metadata skills-item-proficiency inline-block">{item.proficiency}</span>
|
||||
)}
|
||||
{item.proficiency && <div className="section-item-metadata skills-item-proficiency">{item.proficiency}</div>}
|
||||
|
||||
{/* Keywords */}
|
||||
{item.keywords.length > 0 && (
|
||||
<span className="section-item-keywords skills-item-keywords inline-block opacity-80">
|
||||
{item.keywords.join(", ")}
|
||||
</span>
|
||||
<div className="section-item-keywords skills-item-keywords opacity-80">{item.keywords.join(", ")}</div>
|
||||
)}
|
||||
|
||||
{/* Level */}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { TiptapContent } from "@/components/input/rich-input";
|
||||
import type { SectionItem } from "@/schema/resume/data";
|
||||
import { stripHtml } from "@/utils/string";
|
||||
import { cn } from "@/utils/style";
|
||||
import { LinkedTitle } from "../linked-title";
|
||||
import { PageLink } from "../page-link";
|
||||
|
||||
type VolunteerItemProps = SectionItem<"volunteer"> & {
|
||||
@@ -15,7 +16,12 @@ export function VolunteerItem({ className, ...item }: VolunteerItemProps) {
|
||||
<div className="section-item-header volunteer-item-header">
|
||||
{/* Row 1 */}
|
||||
<div className="flex items-start justify-between gap-x-2">
|
||||
<strong className="section-item-title volunteer-item-title">{item.organization}</strong>
|
||||
<LinkedTitle
|
||||
title={item.organization}
|
||||
website={item.website}
|
||||
showLinkInTitle={item.options?.showLinkInTitle}
|
||||
className="section-item-title volunteer-item-title"
|
||||
/>
|
||||
<span className="section-item-metadata volunteer-item-period shrink-0 text-end">{item.period}</span>
|
||||
</div>
|
||||
|
||||
@@ -33,9 +39,11 @@ export function VolunteerItem({ className, ...item }: VolunteerItemProps) {
|
||||
</div>
|
||||
|
||||
{/* Website */}
|
||||
<div className="section-item-website volunteer-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
{!item.options?.showLinkInTitle && (
|
||||
<div className="section-item-website volunteer-item-website">
|
||||
<PageLink {...item.website} label={item.website.label} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { cn } from "@/utils/style";
|
||||
|
||||
type LinkedTitleProps = {
|
||||
title: string;
|
||||
website?: { url: string; label: string };
|
||||
showLinkInTitle?: boolean;
|
||||
className?: string;
|
||||
};
|
||||
|
||||
export function LinkedTitle({ title, website, showLinkInTitle, className }: LinkedTitleProps) {
|
||||
if (showLinkInTitle && website?.url) {
|
||||
return (
|
||||
<a href={website.url} target="_blank" rel="noopener" className={cn("inline-block", className)}>
|
||||
<strong>{title}</strong>
|
||||
</a>
|
||||
);
|
||||
}
|
||||
|
||||
return <strong className={className}>{title}</strong>;
|
||||
}
|
||||
@@ -19,8 +19,8 @@ const sectionClassName = cn(
|
||||
"group-data-[layout=sidebar]:[&_.section-item_i]:text-(--page-background-color)!",
|
||||
|
||||
// Level Display in Sidebar Layout
|
||||
"group-data-[layout=sidebar]:[&_.section-item-level>div]:bg-(--page-background-color)",
|
||||
"group-data-[layout=sidebar]:[&_.section-item-level>div]:text-(--page-background-color)",
|
||||
"group-data-[layout=sidebar]:[&_.section-item-level>div]:border-(--page-background-color)",
|
||||
"group-data-[layout=sidebar]:[&_.section-item-level>div]:data-[active=true]:bg-(--page-background-color)",
|
||||
|
||||
// Section Item Header in Sidebar Layout
|
||||
"group-data-[layout=sidebar]:[&_.section-item-header>div]:flex-col",
|
||||
@@ -38,16 +38,16 @@ export function ChikoritaTemplate({ pageIndex, pageLayout }: TemplateProps) {
|
||||
<div className="template-chikorita page-content">
|
||||
{/* Sidebar Background */}
|
||||
{!fullWidth && (
|
||||
<div className="page-sidebar-background absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color) ltr:end-0 rtl:start-0" />
|
||||
<div className="page-sidebar-background pointer-events-none absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color) ltr:end-0 rtl:start-0" />
|
||||
)}
|
||||
|
||||
{isFirstPage && <Header />}
|
||||
|
||||
<div className="flex">
|
||||
<main
|
||||
data-layout="main"
|
||||
className="group page-main z-10 flex-1 space-y-4 px-(--page-margin-x) pt-(--page-margin-y)"
|
||||
>
|
||||
{isFirstPage && <Header />}
|
||||
|
||||
{main.map((section) => {
|
||||
const Component = getSectionComponent(section, { sectionClassName });
|
||||
return <Component key={section} id={section} />;
|
||||
@@ -75,10 +75,10 @@ function Header() {
|
||||
|
||||
return (
|
||||
<div className="page-header relative flex">
|
||||
<div className="flex flex-1 items-center ps-(--page-margin-x) pt-(--page-margin-y)">
|
||||
<div className="flex flex-1 items-center gap-x-(--page-margin-x)">
|
||||
<PagePicture />
|
||||
|
||||
<div className="page-basics space-y-2 px-(--page-margin-x)">
|
||||
<div className="page-basics space-y-2">
|
||||
<div>
|
||||
<h2 className="basics-name">{basics.name}</h2>
|
||||
<p className="basics-headline">{basics.headline}</p>
|
||||
@@ -122,8 +122,6 @@ function Header() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-(--page-sidebar-width) shrink-0" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ export function DitgarTemplate({ pageIndex, pageLayout }: TemplateProps) {
|
||||
<div className="template-ditgar page-content">
|
||||
{/* Sidebar Background */}
|
||||
{(!fullWidth || isFirstPage) && (
|
||||
<div className="page-sidebar-background absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
<div className="page-sidebar-background pointer-events-none absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
)}
|
||||
|
||||
<div className="flex">
|
||||
|
||||
@@ -27,7 +27,7 @@ export function GengarTemplate({ pageIndex, pageLayout }: TemplateProps) {
|
||||
<div className="template-gengar page-content">
|
||||
{/* Sidebar Background */}
|
||||
{(!fullWidth || isFirstPage) && (
|
||||
<div className="page-sidebar-background absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
<div className="page-sidebar-background pointer-events-none absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
)}
|
||||
|
||||
<div className="flex">
|
||||
|
||||
@@ -27,14 +27,14 @@ export function GlalieTemplate({ pageIndex, pageLayout }: TemplateProps) {
|
||||
<div className="template-glalie page-content">
|
||||
{/* Sidebar Background */}
|
||||
{(!fullWidth || isFirstPage) && (
|
||||
<div className="page-sidebar-background absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
<div className="page-sidebar-background pointer-events-none absolute inset-y-0 z-0 w-(--page-sidebar-width) shrink-0 bg-(--page-primary-color)/20 ltr:start-0 rtl:end-0" />
|
||||
)}
|
||||
|
||||
<div className="flex">
|
||||
{(!fullWidth || isFirstPage) && (
|
||||
<aside
|
||||
data-layout="sidebar"
|
||||
className="group page-sidebar flex w-(--page-sidebar-width) shrink-0 flex-col space-y-4 px-(--page-margin-x) pt-(--page-margin-y)"
|
||||
className="group page-sidebar z-10 flex w-(--page-sidebar-width) shrink-0 flex-col space-y-4 px-(--page-margin-x) pt-(--page-margin-y)"
|
||||
>
|
||||
{isFirstPage && <Header />}
|
||||
|
||||
@@ -49,7 +49,7 @@ export function GlalieTemplate({ pageIndex, pageLayout }: TemplateProps) {
|
||||
</aside>
|
||||
)}
|
||||
|
||||
<main data-layout="main" className="group page-main">
|
||||
<main data-layout="main" className="group page-main z-10">
|
||||
<div className="space-y-4 px-(--page-margin-x) pt-(--page-margin-y)">
|
||||
{main.map((section) => {
|
||||
const Component = getSectionComponent(section, { sectionClassName });
|
||||
|
||||
@@ -65,7 +65,7 @@ function Header() {
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
"page-header flex items-center gap-x-(--page-gap-x)",
|
||||
"page-header flex items-center gap-x-(--page-margin-x)",
|
||||
"rounded-(--picture-border-radius) border border-(--page-text-color)/10 bg-(--page-background-color) p-4",
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -43,7 +43,7 @@ function Header() {
|
||||
const basics = useResumeStore((state) => state.resume.data.basics);
|
||||
|
||||
return (
|
||||
<div className="page-header flex items-center gap-x-(--page-gap-x) border-(--page-primary-color) border-b pb-(--page-margin-y)">
|
||||
<div className="page-header flex items-center gap-x-(--page-margin-x) border-(--page-primary-color) border-b pb-(--page-margin-y)">
|
||||
<PagePicture />
|
||||
|
||||
<div className="page-basics space-y-(--page-gap-y)">
|
||||
|
||||
@@ -37,11 +37,28 @@ function buildWebFontMap() {
|
||||
|
||||
const webFontMap: Map<string, WebFont> = buildWebFontMap();
|
||||
|
||||
export function getNextWeight(fontFamily: string): Weight | null {
|
||||
export function getNextWeights(fontFamily: string): Weight[] | null {
|
||||
const fontData = webFontMap.get(fontFamily);
|
||||
if (!fontData || !Array.isArray(fontData.weights) || fontData.weights.length === 0) return null;
|
||||
if (fontData.weights.includes("400")) return "400";
|
||||
return fontData.weights[0] as Weight;
|
||||
|
||||
const uniqueWeights = Array.from(new Set(fontData.weights)) as Weight[];
|
||||
|
||||
// Try to pick 400 and 600 if available
|
||||
const weights: Weight[] = [];
|
||||
|
||||
if (uniqueWeights.includes("400")) weights.push("400");
|
||||
if (uniqueWeights.includes("600")) weights.push("600");
|
||||
|
||||
// If we didn't find both, fill in with first/last, ensuring uniqueness
|
||||
while (weights.length < 2 && uniqueWeights.length > 0) {
|
||||
// candidateIndex: 0 (first), 1 (last)
|
||||
const lastIndex = uniqueWeights.length - 1;
|
||||
const candidate = weights.length === 0 ? uniqueWeights[0] : uniqueWeights[lastIndex];
|
||||
if (!weights.includes(candidate)) weights.push(candidate);
|
||||
else break;
|
||||
}
|
||||
|
||||
return weights.length > 0 ? weights : null;
|
||||
}
|
||||
|
||||
type FontFamilyComboboxProps = Omit<ComboboxProps, "options">;
|
||||
|
||||
@@ -129,7 +129,7 @@ function Combobox<TValue extends string | number = string>({
|
||||
<CommandGroup>
|
||||
{options.map((option) => {
|
||||
const isSelected = selectedValue === option.value;
|
||||
const isDisabled = option.disabled ?? (false || disabled);
|
||||
const isDisabled = option.disabled ?? disabled;
|
||||
|
||||
return (
|
||||
<CommandItem
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user