mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-10 12:32:28 +10:00
Compare commits
152 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7d188622a8 | |||
| 97e9432d6b | |||
| b2f1fb3a55 | |||
| 4743828e6b | |||
| 519fbbd1b2 | |||
| ebc084ad52 | |||
| 26fdd72610 | |||
| ea704c6d99 | |||
| ea88044d25 | |||
| a461cc147b | |||
| 5aefcae2ac | |||
| ba1e968510 | |||
| ba12abe506 | |||
| 29fb1dcca3 | |||
| 4be6c48aab | |||
| ee1017aa25 | |||
| bf806c5ecf | |||
| bf9709ed8e | |||
| 6c74ecfef7 | |||
| fb8c925037 | |||
| c8c154c2f4 | |||
| 92b2c4b757 | |||
| 260a354c22 | |||
| c67a969353 | |||
| 8d61703250 | |||
| 28df783bba | |||
| 51575a340b | |||
| 8068d34bf3 | |||
| b154fae0fa | |||
| c5ba1730c3 | |||
| a7d90da30e | |||
| 0bbc54a97f | |||
| 2081f1344f | |||
| d029607e16 | |||
| 5fe0c02cec | |||
| 70b45b3686 | |||
| ff098d5df1 | |||
| 95d7d70caa | |||
| 107ba6e525 | |||
| f72e0556e5 | |||
| 0ef975a177 | |||
| eb9f5450df | |||
| c7fffff495 | |||
| 42408ce8c5 | |||
| 7c49b50979 | |||
| 59b2fc9fd6 | |||
| f93ac987ac | |||
| fb32f9b523 | |||
| ed78f8fc4e | |||
| 318145f007 | |||
| c2a35a1066 | |||
| 541cfa784d | |||
| de53d8dfe7 | |||
| c28afbc75d | |||
| 40e6227aa9 | |||
| 02e396bfdb | |||
| 4dc83c1d7f | |||
| 143a123212 | |||
| c64b96619f | |||
| ff35a2a95c | |||
| 549363bbe5 | |||
| e6bda688ac | |||
| 64b0c5e7cf | |||
| 57f7edc134 | |||
| c62a3c2dfd | |||
| b7f024913c | |||
| 488631e6b0 | |||
| ca5a866249 | |||
| 3a0cd4e150 | |||
| e82e714e41 | |||
| 21931bc324 | |||
| ed75a85827 | |||
| fbb0285d0d | |||
| b056b002b7 | |||
| 8b32bfb9f4 | |||
| cf3696c976 | |||
| aa0dc1d7fb | |||
| f5bf77cfd0 | |||
| 9ddbc7cab2 | |||
| f7d11c5fd2 | |||
| bede07656b | |||
| 49b56f7a76 | |||
| 1421fc5183 | |||
| b3da226d24 | |||
| 3d7a5b9313 | |||
| 86ca4602fd | |||
| 3dde7e5772 | |||
| 0782c616ea | |||
| d1d3f240b4 | |||
| b18120b3f7 | |||
| b5809ea449 | |||
| 01acec4a51 | |||
| 9d076d384c | |||
| e7a8596456 | |||
| ab4df6193c | |||
| e4a9f269d2 | |||
| 189cc702c2 | |||
| c348b6449b | |||
| 708920df44 | |||
| 81733e5855 | |||
| 794c7df374 | |||
| 267f593ec2 | |||
| 048927a163 | |||
| f4a65122c6 | |||
| 6587c76397 | |||
| 80223a240c | |||
| 50faa5dff3 | |||
| 6a4521b057 | |||
| 81a4d7291a | |||
| 381cfcc220 | |||
| 0f555e4f88 | |||
| ebd9253038 | |||
| cf670af403 | |||
| dfccb3130f | |||
| ef06240935 | |||
| 55e57353a4 | |||
| f0144cc6e7 | |||
| e5150ab128 | |||
| d61905db10 | |||
| 6d55f917ea | |||
| 4371f3b693 | |||
| c8c5916d02 | |||
| 3ca27f2326 | |||
| f78f24c972 | |||
| 11cb066573 | |||
| 528ac84d3b | |||
| b515fc36e7 | |||
| d7268423df | |||
| bf167f81a3 | |||
| 9e2f22d878 | |||
| 084b909152 | |||
| 3955afee8d | |||
| f2dd2b5fcf | |||
| 305561955a | |||
| cadbd3dfe8 | |||
| b5cd6c412b | |||
| 799f20823e | |||
| dda42b4c6b | |||
| f1c260736a | |||
| b5a9b26f34 | |||
| 918bd555c1 | |||
| 9ea2775790 | |||
| 9d83b997f5 | |||
| 228fb42ba5 | |||
| 01da1a06b8 | |||
| 82bf44daa2 | |||
| 2cbc582a12 | |||
| 2b9f016b95 | |||
| 358c97eb71 | |||
| 76ef513b46 | |||
| 497c6e01f1 | |||
| e78c4a9adb |
@ -3,15 +3,15 @@ TZ=UTC
|
||||
SECRET_KEY=change-me
|
||||
|
||||
# URLs
|
||||
PUBLIC_URL=http://localhost:3000
|
||||
PUBLIC_SERVER_URL=http://localhost:3100
|
||||
PUBLIC_URL=http://<SERVER-IP>
|
||||
PUBLIC_SERVER_URL=http://<SERVER-IP>/api
|
||||
|
||||
# Database
|
||||
POSTGRES_HOST=localhost
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_USERNAME=postgres
|
||||
POSTGRES_PASSWORD=postgres
|
||||
POSTGRES_DATABASE=reactive_resume
|
||||
POSTGRES_DATABASE=postgres
|
||||
POSTGRES_SSL_CERT=
|
||||
|
||||
# Auth
|
||||
|
||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1 @@
|
||||
custom: https://paypal.me/RajaRajanA
|
||||
100
CHANGELOG.md
100
CHANGELOG.md
@ -2,6 +2,106 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
### [3.2.5](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.2.4...v3.2.5) (2022-03-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **i18n:** add danish, polish and turkish locales to i18n ([97e9432](https://github.com/AmruthPillai/Reactive-Resume/commit/97e9432d6bd887e666a3443fbfde9a92cef53965))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **client/templates:** fix text veering off of artboard in most templates ([b2f1fb3](https://github.com/AmruthPillai/Reactive-Resume/commit/b2f1fb3a5502988a49c5cd3e496d9d165f5c1792)), closes [#702](https://github.com/AmruthPillai/Reactive-Resume/issues/702)
|
||||
|
||||
### [3.2.4](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.2.3...v3.2.4) (2022-03-14)
|
||||
|
||||
### [3.2.3](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.2.2...v3.2.3) (2022-03-14)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **client/import:** implement import json from reactive resume v2 ([42408ce](https://github.com/AmruthPillai/Reactive-Resume/commit/42408ce8c5ce55904854f9f6e0481889a01edfb8))
|
||||
|
||||
### [3.2.2](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.2.1...v3.2.2) (2022-03-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **client/skills:** make skill level optional ([02e396b](https://github.com/AmruthPillai/Reactive-Resume/commit/02e396bfdbf07ae75661f1e7e4e55060cacee7d0))
|
||||
|
||||
### [3.2.1](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.2.0...v3.2.1) (2022-03-14)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **i18n:** add Chinese (Simplified) language to locales ([549363b](https://github.com/AmruthPillai/Reactive-Resume/commit/549363bbe5bdd781699dea9506bd4baedf5740d1))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **client/basics:** fix issue with overlapping photo filters on safari/webkit/iOS ([e6bda68](https://github.com/AmruthPillai/Reactive-Resume/commit/e6bda688ac3ba1c04e82721add92e755ea5386c3))
|
||||
* **docker:** fix docker-compose for production grade deployments ([57f7edc](https://github.com/AmruthPillai/Reactive-Resume/commit/57f7edc13432a038c907afc6cb74b5182a9b2333))
|
||||
|
||||
## [3.2.0](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.1.4...v3.2.0) (2022-03-14)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **i18n:** add Bengali, Italian and other languages ([21931bc](https://github.com/AmruthPillai/Reactive-Resume/commit/21931bc324b5e2440baaaaa2e52a93b4f2c766f8))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **app:** fix issue with external link redirection in android app ([b18120b](https://github.com/AmruthPillai/Reactive-Resume/commit/b18120b3f7223981e28c0441a6b7725787186edb))
|
||||
* **client:** fix issue with react-query cache ([ed75a85](https://github.com/AmruthPillai/Reactive-Resume/commit/ed75a858279047dfd43152e041c1a09a625417f5))
|
||||
|
||||
### [3.1.4](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.1.3...v3.1.4) (2022-03-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **client:** exported pdf did not contain "Present" keyword with translations ([cf670af](https://github.com/AmruthPillai/Reactive-Resume/commit/cf670af4035dc9b462cf5b1aad06ca089cf1d40c))
|
||||
* **client:** fix issues raised through lgtm alerts ([dfccb31](https://github.com/AmruthPillai/Reactive-Resume/commit/dfccb3130f889934d31196226be3d33e772f323b))
|
||||
|
||||
### [3.1.3](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.1.2...v3.1.3) (2022-03-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **server:** reform url for pdf generation and download ([6d55f91](https://github.com/AmruthPillai/Reactive-Resume/commit/6d55f917eab3cb2f5f3a90c5a18f03b625d60021)), closes [#661](https://github.com/AmruthPillai/Reactive-Resume/issues/661)
|
||||
|
||||
### [3.1.2](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.1.1...v3.1.2) (2022-03-12)
|
||||
|
||||
|
||||
### CI
|
||||
|
||||
* **docker:**: include traefik routing and proxy to ensure server connections pass in local ([11cb066](https://github.com/AmruthPillai/Reactive-Resume/commit/11cb066573c6917857b79c028b97fcda1acaf90a))
|
||||
|
||||
### [3.1.1](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.1.0...v3.1.1) (2022-03-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **client:** add product hunt announcement banner ([b515fc3](https://github.com/AmruthPillai/Reactive-Resume/commit/b515fc36e7f282db92e8eb509b6c5004a944fa95))
|
||||
|
||||
## [3.1.0](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.0.0...v3.1.0) (2022-03-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **client:** add "spanish (es)" language to i18n locales ([bf167f8](https://github.com/AmruthPillai/Reactive-Resume/commit/bf167f81a3659677dada55856f5eaf0fc469e697))
|
||||
* **client:** add mm/yyyy date option to date format options ([82bf44d](https://github.com/AmruthPillai/Reactive-Resume/commit/82bf44daa24422156779e9b38d3dc695176eaa09)), closes [#656](https://github.com/AmruthPillai/Reactive-Resume/issues/656)
|
||||
* **client:** add sitemap generation to next app ([2cbc582](https://github.com/AmruthPillai/Reactive-Resume/commit/2cbc582a12b72b3012246022d4b518ed657d4c08))
|
||||
* **client:** disable "Toggle Page Orientation" when there's only one page on the artboard ([01da1a0](https://github.com/AmruthPillai/Reactive-Resume/commit/01da1a06b802f1063a41d7a9a682e76b1daf9461)), closes [#655](https://github.com/AmruthPillai/Reactive-Resume/issues/655)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **client:** remove hard-coded "keywords:" in certain templates ([dda42b4](https://github.com/AmruthPillai/Reactive-Resume/commit/dda42b4c6b3bc359ac4f2bb91ca8118ddc84ec07)), closes [#650](https://github.com/AmruthPillai/Reactive-Resume/issues/650)
|
||||
* **client:** show "present" string if end date is not entered, also add to i18n locales ([b5cd6c4](https://github.com/AmruthPillai/Reactive-Resume/commit/b5cd6c412b5b6b6ca7bb43c3801762de451f06b4)), closes [#653](https://github.com/AmruthPillai/Reactive-Resume/issues/653)
|
||||
* **server:** photo uploads not working, fix save location and returned url ([799f208](https://github.com/AmruthPillai/Reactive-Resume/commit/799f20823e6d97a1ff0ba2c45c61d56304d0fa58)), closes [#658](https://github.com/AmruthPillai/Reactive-Resume/issues/658)
|
||||
|
||||
## [3.0.0](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.0.0-beta.6...v3.0.0) (2022-03-11)
|
||||
|
||||
|
||||
|
||||
128
CODE_OF_CONDUCT.md
Normal file
128
CODE_OF_CONDUCT.md
Normal file
@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
im.amruth@gmail.com.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
15
README.md
15
README.md
@ -4,6 +4,7 @@
|
||||
|
||||

|
||||

|
||||
[](https://translate.rxresu.me)
|
||||
[](https://hub.docker.com/r/amruthpillai/reactive-resume)
|
||||
[](https://app.fossa.com/projects/git%2Bgithub.com%2FAmruthPillai%2FReactive-Resume?ref=badge_shield)
|
||||
|
||||
@ -35,11 +36,19 @@ You have complete control over what goes into your resume, how it looks, what co
|
||||
|
||||
## Languages
|
||||
|
||||
- Bengali (বাংলা)
|
||||
- Chinese (中文)
|
||||
- Danish (Dansk)
|
||||
- English
|
||||
- French (Français)
|
||||
- German (Deutsch)
|
||||
- Hindi (हिन्दी)
|
||||
- Kannada (ಕನ್ನಡ) (@aksh1251)
|
||||
- Italian (Italiano)
|
||||
- Kannada (ಕನ್ನಡ)
|
||||
- Polish (Polski)
|
||||
- Spanish (Español)
|
||||
- Tamil (தமிழ்)
|
||||
- Turkish (Türkçe)
|
||||
|
||||
Help by [translating Reactive Resume](https://translate.rxresu.me) to your language!
|
||||
|
||||
@ -69,9 +78,9 @@ Use the [GitHub Issues](https://github.com/AmruthPillai/Reactive-Resume/issues/n
|
||||
|
||||
## Donations
|
||||
|
||||
Reactive Resume would be nothing without the folks who supported me and kept the project alive in the beginning, and your cotinued support is what keeps me going. If you found Reactive Resume to be useful, helpful or just insightful and appreciate the effort I took to make the project, please consider donating as little or as much as your can.
|
||||
Reactive Resume would be nothing without the folks who supported me and kept the project alive in the beginning, and your continued support is what keeps me going. If you found Reactive Resume to be useful, helpful or just insightful and appreciate the effort I took to make the project, please consider donating as little or as much as you can.
|
||||
|
||||
### [☕️ Buy me a coffee](https://www.buymeacoffee.com/AmruthPillai) | [💸 PayPal](https://paypal.me/RajaRajanA)
|
||||
### [💸 PayPal](https://paypal.me/RajaRajanA)
|
||||
|
||||
## Infrastructure
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ android {
|
||||
applicationId "me.rxresu.app"
|
||||
minSdk 21
|
||||
targetSdk 32
|
||||
versionCode 2
|
||||
versionCode 3
|
||||
versionName "1.0"
|
||||
|
||||
resConfigs "en"
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="me.rxresu.app">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
@ -10,11 +11,11 @@
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.ReactiveResume.NoActionBar">
|
||||
android:theme="@style/AppTheme">
|
||||
<activity
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.ReactiveResume.NoActionBar">
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
|
||||
21
app/app/src/main/java/me/rxresu/app/CustomWebViewClient.kt
Normal file
21
app/app/src/main/java/me/rxresu/app/CustomWebViewClient.kt
Normal file
@ -0,0 +1,21 @@
|
||||
package me.rxresu.app
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
|
||||
internal class CustomWebViewClient : WebViewClient() {
|
||||
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
|
||||
val hostname = "rxresu.me"
|
||||
val uri = Uri.parse(url)
|
||||
|
||||
if (uri.host != null && uri.host!!.endsWith(hostname)) {
|
||||
return false
|
||||
}
|
||||
|
||||
view.context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
@ -1,21 +1,15 @@
|
||||
package me.rxresu.app
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Bitmap
|
||||
import android.os.Bundle
|
||||
import android.view.KeyEvent
|
||||
import android.webkit.WebResourceError
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var webView: WebView
|
||||
|
||||
private var isLoaded: Boolean = false
|
||||
private var webURL = "https://rxresu.me"
|
||||
private var url = "https://rxresu.me"
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -24,53 +18,18 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
webView = findViewById(R.id.webview)
|
||||
|
||||
webView.webViewClient = CustomWebViewClient()
|
||||
webView.settings.javaScriptEnabled = true
|
||||
webView.settings.userAgentString = "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36"
|
||||
|
||||
webView.loadUrl(url)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
if (!isLoaded) loadWebView()
|
||||
|
||||
super.onResume()
|
||||
}
|
||||
|
||||
private fun loadWebView() {
|
||||
webView.loadUrl(webURL)
|
||||
|
||||
webView.webViewClient = object : WebViewClient() {
|
||||
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
|
||||
val url = request?.url.toString()
|
||||
view?.loadUrl(url)
|
||||
return super.shouldOverrideUrlLoading(view, request)
|
||||
}
|
||||
|
||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||
super.onPageStarted(view, url, favicon)
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView?, url: String?) {
|
||||
isLoaded = true
|
||||
super.onPageFinished(view, url)
|
||||
}
|
||||
|
||||
override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) {
|
||||
isLoaded = false
|
||||
super.onReceivedError(view, request, error)
|
||||
}
|
||||
override fun onBackPressed() {
|
||||
if (webView.canGoBack()) {
|
||||
webView.goBack()
|
||||
} else {
|
||||
super.onBackPressed()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
|
||||
if (event.action == KeyEvent.ACTION_DOWN) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
||||
if (webView.canGoBack()) {
|
||||
webView.goBack()
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return super.onKeyDown(keyCode, event)
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
||||
@ -1,12 +1,6 @@
|
||||
<resources>
|
||||
<style name="Theme.ReactiveResume" parent="Theme.MaterialComponents.DayNight.DarkActionBar" />
|
||||
|
||||
<style name="Theme.ReactiveResume.NoActionBar">
|
||||
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
||||
<item name="windowActionBar">false</item>
|
||||
<item name="windowNoTitle">true</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.ReactiveResume.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||
|
||||
<style name="Theme.ReactiveResume.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
||||
</resources>
|
||||
|
||||
@ -33,6 +33,7 @@ const ArtboardController: React.FC<ReactZoomPanPinchRef> = ({ zoomIn, zoomOut, c
|
||||
|
||||
const resume = useAppSelector((state) => state.resume);
|
||||
const isDesktop = useMediaQuery(theme.breakpoints.up('sm'));
|
||||
const pages = useAppSelector((state) => state.resume.metadata.layout);
|
||||
const { left, right } = useAppSelector((state) => state.build.sidebar);
|
||||
const orientation = useAppSelector((state) => state.build.page.orientation);
|
||||
|
||||
@ -96,15 +97,17 @@ const ArtboardController: React.FC<ReactZoomPanPinchRef> = ({ zoomIn, zoomOut, c
|
||||
|
||||
{isDesktop && (
|
||||
<>
|
||||
<Tooltip arrow placement="top" title={t('builder.controller.tooltip.toggle-orientation') as string}>
|
||||
<ButtonBase onClick={handleTogglePageOrientation}>
|
||||
{orientation === 'vertical' ? (
|
||||
<AlignHorizontalCenter fontSize="medium" />
|
||||
) : (
|
||||
<AlignVerticalCenter fontSize="medium" />
|
||||
)}
|
||||
</ButtonBase>
|
||||
</Tooltip>
|
||||
{pages.length > 1 && (
|
||||
<Tooltip arrow placement="top" title={t('builder.controller.tooltip.toggle-orientation') as string}>
|
||||
<ButtonBase onClick={handleTogglePageOrientation}>
|
||||
{orientation === 'vertical' ? (
|
||||
<AlignHorizontalCenter fontSize="medium" />
|
||||
) : (
|
||||
<AlignVerticalCenter fontSize="medium" />
|
||||
)}
|
||||
</ButtonBase>
|
||||
</Tooltip>
|
||||
)}
|
||||
|
||||
<Tooltip arrow placement="top" title={t('builder.controller.tooltip.toggle-page-break-line') as string}>
|
||||
<ButtonBase onClick={handleTogglePageBreakLine}>
|
||||
|
||||
@ -27,10 +27,12 @@ const Basics = () => {
|
||||
<Heading path="sections.basics" name={t('builder.leftSidebar.sections.basics.heading')} />
|
||||
|
||||
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
|
||||
<div className="flex flex-col items-center gap-4 sm:col-span-2 sm:flex-row">
|
||||
<PhotoUpload />
|
||||
<div className="grid items-center gap-4 sm:col-span-2 sm:grid-cols-3">
|
||||
<div className="mx-auto">
|
||||
<PhotoUpload />
|
||||
</div>
|
||||
|
||||
<div className="flex w-full flex-col-reverse gap-4 sm:flex-col sm:gap-2">
|
||||
<div className="grid gap-2 w-full sm:col-span-2">
|
||||
<ResumeInput label={t('builder.leftSidebar.sections.basics.name.label')} path="basics.name" />
|
||||
|
||||
<Button variant="outlined" startIcon={<PhotoFilter />} onClick={handleClick}>
|
||||
|
||||
@ -38,6 +38,7 @@ const Settings = () => {
|
||||
|
||||
const resume = useAppSelector((state) => state.resume);
|
||||
const theme = useAppSelector((state) => state.build.theme);
|
||||
const pages = useAppSelector((state) => state.resume.metadata.layout);
|
||||
const breakLine = useAppSelector((state) => state.build.page.breakLine);
|
||||
const orientation = useAppSelector((state) => state.build.page.orientation);
|
||||
|
||||
@ -65,6 +66,7 @@ const Settings = () => {
|
||||
const code = value?.code || 'en';
|
||||
|
||||
document.cookie = `NEXT_LOCALE=${code}; path=/; expires=2147483647`;
|
||||
dispatch(setResumeState({ path: 'metadata.locale', value: code }));
|
||||
|
||||
push({ pathname, query }, asPath, { locale: code });
|
||||
};
|
||||
@ -151,10 +153,15 @@ const Settings = () => {
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={t('builder.rightSidebar.sections.settings.page.orientation.primary')}
|
||||
secondary={t('builder.rightSidebar.sections.settings.page.orientation.secondary')}
|
||||
secondary={
|
||||
pages.length === 1
|
||||
? t('builder.rightSidebar.sections.settings.page.orientation.disabled')
|
||||
: t('builder.rightSidebar.sections.settings.page.orientation.secondary')
|
||||
}
|
||||
/>
|
||||
<Switch
|
||||
color="secondary"
|
||||
disabled={pages.length === 1}
|
||||
checked={orientation === 'horizontal'}
|
||||
onChange={() => dispatch(togglePageOrientation())}
|
||||
/>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Theme } from '@reactive-resume/schema';
|
||||
import { Theme as ThemeType } from '@reactive-resume/schema';
|
||||
import get from 'lodash/get';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
@ -16,7 +16,7 @@ const Theme = () => {
|
||||
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const { background, text, primary } = useAppSelector<Theme>((state) => get(state.resume, 'metadata.theme'));
|
||||
const { background, text, primary } = useAppSelector<ThemeType>((state) => get(state.resume, 'metadata.theme'));
|
||||
|
||||
const handleChange = (property: string, color: string) => {
|
||||
dispatch(setResumeState({ path: `metadata.theme.${property}`, value: color }));
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Testimony } from '@/data/testimonials';
|
||||
import { Testimony as TestimonyType } from '@/data/testimonials';
|
||||
|
||||
import styles from './Testimony.module.scss';
|
||||
|
||||
type Props = Testimony;
|
||||
type Props = TestimonyType;
|
||||
|
||||
const Testimony: React.FC<Props> = ({ name, message }) => {
|
||||
return (
|
||||
|
||||
@ -5,6 +5,8 @@ import { useTranslation } from 'next-i18next';
|
||||
import { MouseEvent, useState } from 'react';
|
||||
|
||||
import { languages } from '@/config/languages';
|
||||
import { useAppDispatch } from '@/store/hooks';
|
||||
import { setResumeState } from '@/store/resume/resumeSlice';
|
||||
|
||||
import styles from './LanguageSwitcher.module.scss';
|
||||
|
||||
@ -13,6 +15,8 @@ const LanguageSwitcher = () => {
|
||||
|
||||
const { t } = useTranslation();
|
||||
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);
|
||||
|
||||
const handleClick = (event: MouseEvent<HTMLButtonElement>) => setAnchorEl(event.currentTarget);
|
||||
@ -23,6 +27,8 @@ const LanguageSwitcher = () => {
|
||||
const { pathname, asPath, query } = router;
|
||||
|
||||
document.cookie = `NEXT_LOCALE=${locale}; path=/; expires=2147483647`;
|
||||
dispatch(setResumeState({ path: 'metadata.locale', value: locale }));
|
||||
|
||||
router.push({ pathname, query }, asPath, { locale });
|
||||
};
|
||||
|
||||
|
||||
@ -5,30 +5,19 @@ export type Language = {
|
||||
};
|
||||
|
||||
export const languages: Language[] = [
|
||||
{
|
||||
code: 'en',
|
||||
name: 'English',
|
||||
},
|
||||
{
|
||||
code: 'de',
|
||||
name: 'German',
|
||||
localName: 'Deutsch',
|
||||
},
|
||||
{
|
||||
code: 'hi',
|
||||
name: 'Hindi',
|
||||
localName: 'हिन्दी',
|
||||
},
|
||||
{
|
||||
code: 'kn',
|
||||
name: 'Kannada',
|
||||
localName: 'ಕನ್ನಡ',
|
||||
},
|
||||
{
|
||||
code: 'ta',
|
||||
name: 'Tamil',
|
||||
localName: 'தமிழ்',
|
||||
},
|
||||
{ code: 'bn', name: 'Bengali', localName: 'বাংলা' },
|
||||
{ code: 'da', name: 'Danish', localName: 'Dansk' },
|
||||
{ code: 'de', name: 'German', localName: 'Deutsch' },
|
||||
{ code: 'en', name: 'English' },
|
||||
{ code: 'es', name: 'Spanish', localName: 'Español' },
|
||||
{ code: 'fr', name: 'French', localName: 'Français' },
|
||||
{ code: 'hi', name: 'Hindi', localName: 'हिन्दी' },
|
||||
{ code: 'it', name: 'Italian', localName: 'Italiano' },
|
||||
{ code: 'kn', name: 'Kannada', localName: 'ಕನ್ನಡ' },
|
||||
{ code: 'pl', name: 'Polish', localName: 'Polski' },
|
||||
{ code: 'ta', name: 'Tamil', localName: 'தமிழ்' },
|
||||
{ code: 'tr', name: 'Turkish', localName: 'Türkçe' },
|
||||
{ code: 'zh', name: 'Chinese', localName: '中文' },
|
||||
].sort((a, b) => a.name.localeCompare(b.name));
|
||||
|
||||
export const languageMap: Record<string, Language> = languages.reduce(
|
||||
|
||||
@ -3,12 +3,13 @@ export const FONTS_QUERY = 'fonts';
|
||||
export const RESUMES_QUERY = 'resumes';
|
||||
|
||||
// Regular Expressions
|
||||
export const VALID_URL_REGEX = /[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;
|
||||
export const VALID_URL_REGEX = /[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)/;
|
||||
|
||||
// Date Formats
|
||||
export const FILENAME_TIMESTAMP = 'DDMMYYYYHHmmss';
|
||||
|
||||
// Links
|
||||
export const DONATION_URL = 'https://www.buymeacoffee.com/AmruthPillai';
|
||||
export const DONATION_URL = 'https://paypal.me/RajaRajanA';
|
||||
export const GITHUB_URL = 'https://github.com/AmruthPillai/Reactive-Resume';
|
||||
export const PRODUCT_HUNT_URL = 'https://www.producthunt.com/posts/reactive-resume-v3';
|
||||
export const GITHUB_ISSUES_URL = 'https://github.com/AmruthPillai/Reactive-Resume/issues/new/choose';
|
||||
|
||||
@ -29,7 +29,7 @@ const defaultState: FormData = {
|
||||
const schema = Joi.object<FormData>().keys({
|
||||
id: Joi.string(),
|
||||
name: Joi.string().required(),
|
||||
level: Joi.string().required(),
|
||||
level: Joi.string().allow(''),
|
||||
levelNum: Joi.number().min(0).max(10).required(),
|
||||
keywords: Joi.array().items(Joi.string().optional()),
|
||||
});
|
||||
@ -109,7 +109,6 @@ const SkillModal: React.FC = () => {
|
||||
control={control}
|
||||
render={({ field, fieldState }) => (
|
||||
<TextField
|
||||
required
|
||||
label={t('builder.common.form.level.label')}
|
||||
error={!!fieldState.error}
|
||||
helperText={fieldState.error?.message}
|
||||
@ -125,7 +124,7 @@ const SkillModal: React.FC = () => {
|
||||
<div className="col-span-2">
|
||||
<h4 className="mb-3 font-semibold">{t('builder.common.form.levelNum.label')}</h4>
|
||||
|
||||
<div className="px-10">
|
||||
<div className="px-3">
|
||||
<Slider
|
||||
{...field}
|
||||
marks={[
|
||||
|
||||
@ -24,6 +24,7 @@ const ImportExternalModal: React.FC = () => {
|
||||
const linkedinInputRef = useRef<HTMLInputElement>(null);
|
||||
const jsonResumeInputRef = useRef<HTMLInputElement>(null);
|
||||
const reactiveResumeInputRef = useRef<HTMLInputElement>(null);
|
||||
const reactiveResumeV2InputRef = useRef<HTMLInputElement>(null);
|
||||
|
||||
const { open: isOpen } = useAppSelector((state) => state.modal['dashboard.import-external']);
|
||||
|
||||
@ -49,6 +50,11 @@ const ImportExternalModal: React.FC = () => {
|
||||
reactiveResumeInputRef.current.click();
|
||||
reactiveResumeInputRef.current.value = '';
|
||||
}
|
||||
} else if (integration === 'reactive-resume-v2') {
|
||||
if (reactiveResumeV2InputRef.current) {
|
||||
reactiveResumeV2InputRef.current.click();
|
||||
reactiveResumeV2InputRef.current.value = '';
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -171,7 +177,7 @@ const ImportExternalModal: React.FC = () => {
|
||||
|
||||
<p className="mb-2">{t('modals.dashboard.import-external.reactive-resume.body')}</p>
|
||||
|
||||
<div>
|
||||
<div className="flex gap-4">
|
||||
<Button
|
||||
variant="contained"
|
||||
disabled={isLoading}
|
||||
@ -181,6 +187,15 @@ const ImportExternalModal: React.FC = () => {
|
||||
{t('modals.dashboard.import-external.reactive-resume.actions.upload-json')}
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
variant="contained"
|
||||
disabled={isLoading}
|
||||
startIcon={<UploadFile />}
|
||||
onClick={() => handleClick('reactive-resume-v2')}
|
||||
>
|
||||
{t('modals.dashboard.import-external.reactive-resume.actions.upload-json-v2')}
|
||||
</Button>
|
||||
|
||||
<input
|
||||
hidden
|
||||
type="file"
|
||||
@ -188,6 +203,14 @@ const ImportExternalModal: React.FC = () => {
|
||||
onChange={(event) => handleChange(event, 'reactive-resume')}
|
||||
accept="application/json"
|
||||
/>
|
||||
|
||||
<input
|
||||
hidden
|
||||
type="file"
|
||||
ref={reactiveResumeV2InputRef}
|
||||
onChange={(event) => handleChange(event, 'reactive-resume-v2')}
|
||||
accept="application/json"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</BaseModal>
|
||||
|
||||
@ -3,7 +3,7 @@ const path = require('path');
|
||||
const i18nConfig = {
|
||||
i18n: {
|
||||
defaultLocale: 'en',
|
||||
locales: ['de', 'en', 'kn', 'ta', 'hi'],
|
||||
locales: ['bn', 'da', 'de', 'en', 'es', 'fr', 'hi', 'it', 'kn', 'pl', 'ta', 'tr', 'zh'],
|
||||
},
|
||||
nsSeparator: '.',
|
||||
localePath: path.resolve('./public/locales'),
|
||||
|
||||
6
client/next-sitemap.config.js
Normal file
6
client/next-sitemap.config.js
Normal file
@ -0,0 +1,6 @@
|
||||
/** @type {import('next-sitemap').IConfig} */
|
||||
module.exports = {
|
||||
siteUrl: 'https://rxresu.me',
|
||||
changefreq: 'monthly',
|
||||
generateRobotsTxt: true,
|
||||
};
|
||||
@ -2,29 +2,30 @@
|
||||
"name": "@reactive-resume/client",
|
||||
"scripts": {
|
||||
"dev": "react-env --prefix PUBLIC -- next dev",
|
||||
"build": "next build",
|
||||
"build": "next build && npm run sitemap",
|
||||
"start": "react-env --prefix PUBLIC -- next start",
|
||||
"lint": "next lint --fix"
|
||||
"lint": "next lint --fix",
|
||||
"sitemap": "next-sitemap --config next-sitemap.config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@beam-australia/react-env": "^3.1.1",
|
||||
"@emotion/css": "^11.7.1",
|
||||
"@emotion/react": "^11.8.1",
|
||||
"@emotion/react": "^11.8.2",
|
||||
"@emotion/styled": "^11.8.1",
|
||||
"@hookform/resolvers": "2.8.8",
|
||||
"@monaco-editor/react": "^4.3.1",
|
||||
"@mui/icons-material": "^5.5.0",
|
||||
"@mui/lab": "^5.0.0-alpha.72",
|
||||
"@mui/material": "^5.5.0",
|
||||
"@mui/icons-material": "^5.5.1",
|
||||
"@mui/lab": "^5.0.0-alpha.73",
|
||||
"@mui/material": "^5.5.1",
|
||||
"@reduxjs/toolkit": "^1.8.0",
|
||||
"axios": "^0.26.1",
|
||||
"clsx": "^1.1.1",
|
||||
"dayjs": "^1.10.8",
|
||||
"dayjs": "^1.11.0",
|
||||
"downloadjs": "^1.4.7",
|
||||
"joi": "^17.6.0",
|
||||
"lodash": "^4.17.21",
|
||||
"md5-hex": "^4.0.0",
|
||||
"monaco-editor": "^0.32.1",
|
||||
"monaco-editor": "^0.33.0",
|
||||
"nanoid": "^3.3.1",
|
||||
"next": "12.1.0",
|
||||
"next-i18next": "^10.5.0",
|
||||
@ -35,11 +36,11 @@
|
||||
"react-dnd-html5-backend": "^15.1.2",
|
||||
"react-dom": ">=17",
|
||||
"react-google-login": "^5.2.2",
|
||||
"react-hook-form": "^7.27.1",
|
||||
"react-hook-form": "^7.28.0",
|
||||
"react-hot-toast": "2.2.0",
|
||||
"react-hotkeys-hook": "^3.4.4",
|
||||
"react-icons": "^4.3.1",
|
||||
"react-markdown": "^8.0.0",
|
||||
"react-markdown": "^8.0.1",
|
||||
"react-query": "^3.34.16",
|
||||
"react-redux": "^7.2.6",
|
||||
"react-zoom-pan-pinch": "^2.1.3",
|
||||
@ -47,28 +48,29 @@
|
||||
"redux-persist": "^6.0.0",
|
||||
"redux-saga": "^1.1.3",
|
||||
"remark-gfm": "^3.0.1",
|
||||
"sharp": "^0.30.2",
|
||||
"sharp": "^0.30.3",
|
||||
"uuid": "^8.3.2",
|
||||
"webfontloader": "^1.6.28"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.17.5",
|
||||
"@babel/core": "^7.17.7",
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@tailwindcss/typography": "^0.5.2",
|
||||
"@types/downloadjs": "^1.4.3",
|
||||
"@types/lodash": "^4.14.179",
|
||||
"@types/lodash": "^4.14.180",
|
||||
"@types/node": "17.0.21",
|
||||
"@types/react": "17.0.39",
|
||||
"@types/react": "17.0.40",
|
||||
"@types/react-beautiful-dnd": "^13.1.2",
|
||||
"@types/react-redux": "^7.1.23",
|
||||
"@types/tailwindcss": "^3.0.9",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"@types/webfontloader": "^1.6.34",
|
||||
"autoprefixer": "^10.4.2",
|
||||
"eslint": "^8.10.0",
|
||||
"autoprefixer": "^10.4.3",
|
||||
"eslint": "^8.11.0",
|
||||
"eslint-config-next": "12.1.0",
|
||||
"postcss": "^8.4.8",
|
||||
"prettier": "^2.5.1",
|
||||
"next-sitemap": "^2.5.10",
|
||||
"postcss": "^8.4.11",
|
||||
"prettier": "^2.6.0",
|
||||
"sass": "^1.49.9",
|
||||
"tailwindcss": "^3.0.23",
|
||||
"typescript": "<4.6.0"
|
||||
|
||||
@ -42,6 +42,7 @@ const Build: NextPage<Props> = ({ username, slug }) => {
|
||||
`resume/${username}/${slug}`,
|
||||
() => fetchResumeByIdentifier({ username, slug }),
|
||||
{
|
||||
cacheTime: 0,
|
||||
refetchOnMount: false,
|
||||
refetchOnReconnect: false,
|
||||
refetchOnWindowFocus: false,
|
||||
|
||||
@ -3,6 +3,7 @@ import clsx from 'clsx';
|
||||
import get from 'lodash/get';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
import { GetServerSideProps, NextPage } from 'next';
|
||||
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
import Page from '@/components/build/Center/Page';
|
||||
@ -22,15 +23,19 @@ type Props = {
|
||||
redirect?: any;
|
||||
};
|
||||
|
||||
export const getServerSideProps: GetServerSideProps<Props | Promise<Props>, QueryParams> = async ({ query }) => {
|
||||
export const getServerSideProps: GetServerSideProps<Props | Promise<Props>, QueryParams> = async ({
|
||||
query,
|
||||
locale,
|
||||
}) => {
|
||||
const { username, slug, secretKey } = query as QueryParams;
|
||||
|
||||
try {
|
||||
if (isEmpty(secretKey)) throw new Error('There is no secret key!');
|
||||
|
||||
const resume = await fetchResumeByIdentifier({ username, slug, options: { secretKey } });
|
||||
const displayLocale = resume.metadata.locale || locale || 'en';
|
||||
|
||||
return { props: { resume } };
|
||||
return { props: { resume, ...(await serverSideTranslations(displayLocale, ['common'])) } };
|
||||
} catch (error) {
|
||||
return {
|
||||
redirect: {
|
||||
|
||||
32
client/public/locales/ar/common.json
Normal file
32
client/public/locales/ar/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "مرحبا",
|
||||
"logout": "تسجيل خروج"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "مشروع عاطفي من تأليف <1> أمروث بيلاي</1>",
|
||||
"language": {
|
||||
"missing": "هل تفتقد لغتك؟"
|
||||
},
|
||||
"license": "من قبل المجتمع للمجتمع."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "يدعم هذا القسم تنسيق <1> تخفيض السعر </1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "الحاضر"
|
||||
},
|
||||
"subtitle": "سيرة ذاتية مجانية ومفتوحة المصدر.",
|
||||
"title": "سيرة ذاتية تفاعلية",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "الرجاء تحميل الملفات تحت 2 ميغابايت فقط.",
|
||||
"upload-photo-size": "الرجاء تحميل الصور التي تقل حجمها عن 2 ميغا ويفضل أن تكون مربعة."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "تم نسخ رابط السيرة الذاتية الخاصة بك إلى الحافظة."
|
||||
}
|
||||
}
|
||||
}
|
||||
358
client/public/locales/bn/builder.json
Normal file
358
client/public/locales/bn/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "নতুন {{token}} যোগ করুন",
|
||||
"delete": "{{token}} মুছুন৷",
|
||||
"edit": "{{token}} সম্পাদনা করুন"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "কলাম",
|
||||
"tooltip": "কলামের সংখ্যা পরিবর্তন করুন"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "তারিখ"
|
||||
},
|
||||
"description": {
|
||||
"label": "বর্ণনা"
|
||||
},
|
||||
"email": {
|
||||
"label": "ইমেইল ঠিকানা"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "এই ক্ষেত্রটি খালি রাখুন, যদি এখনও উপস্থিত থাকে",
|
||||
"label": "শেষ তারিখ"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "কীওয়ার্ড"
|
||||
},
|
||||
"level": {
|
||||
"label": "স্তর"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "স্তর (সংখ্যা)"
|
||||
},
|
||||
"name": {
|
||||
"label": "নাম"
|
||||
},
|
||||
"phone": {
|
||||
"label": "ফোন নম্বর"
|
||||
},
|
||||
"position": {
|
||||
"label": "অবস্থান"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "শুরুর তারিখ"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "সাবটাইটেল"
|
||||
},
|
||||
"summary": {
|
||||
"label": "সারসংক্ষেপ"
|
||||
},
|
||||
"title": {
|
||||
"label": "শিরোনাম"
|
||||
},
|
||||
"url": {
|
||||
"label": "ওয়েবসাইট"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "পাতা"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "মুছুন",
|
||||
"duplicate": "প্রতিলিপি",
|
||||
"edit": "সম্পাদনা করুন"
|
||||
},
|
||||
"empty-text": "এই তালিকাটি খালি।"
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "আপনি এই আইটেমটি মুছে ফেলতে চান আপনি কি নিশ্চিত? এটি একটি অপরিবর্তনীয় ক্রিয়া।",
|
||||
"delete-section": "সেকশন মুছে ফেলুন",
|
||||
"rename-section": "সেকশনের নাম পরিবর্তন করুন",
|
||||
"toggle-visibility": "দৃশ্যমানতা টগল করুন"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "কেন্দ্র আর্টবোর্ড",
|
||||
"copy-link": "রিজিউমে লিঙ্ক কপি করুন",
|
||||
"export-pdf": "পিডিএফ আকারে পাঠান",
|
||||
"toggle-orientation": "পৃষ্ঠা ওরিয়েন্টেশন টগল করুন",
|
||||
"toggle-page-break-line": "পৃষ্ঠা বিরতি লাইন টগল করুন",
|
||||
"toggle-sidebars": "সাইডবার টগল করুন",
|
||||
"zoom-in": "বড় কর",
|
||||
"zoom-out": "ছোট করা"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "মুছুন",
|
||||
"duplicate": "প্রতিলিপি",
|
||||
"rename": "নাম পরিবর্তন করুন",
|
||||
"share-link": "লিঙ্ক শেয়ার করুন",
|
||||
"tooltips": {
|
||||
"delete": "আপনি কি এই জীবনবৃত্তান্ত মুছতে চান? এটি একটি অপরিবর্তনীয় ক্রিয়া।",
|
||||
"share-link": "অন্যদের কাছে দৃশ্যমান করার জন্য আপনাকে আপনার জীবনবৃত্তান্তের দৃশ্যমানতা সর্বজনীনভাবে পরিবর্তন করতে হবে।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "পুরস্কারদাতা"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "ফটো ফিল্টার"
|
||||
},
|
||||
"heading": "মৌলিক",
|
||||
"headline": {
|
||||
"label": "শিরোনাম"
|
||||
},
|
||||
"name": {
|
||||
"label": "পূর্ণ নাম"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "বর্ডার"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "গ্রেস্কেল"
|
||||
},
|
||||
"heading": "প্রভাব"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "আকৃতি"
|
||||
},
|
||||
"size": {
|
||||
"heading": "আকার (px এ)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "ছবি মুছে ফেলুন",
|
||||
"upload": "ছবি আপলোড করুন"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "প্রদানকারী"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "শিক্ষার বিষয়বস্তু"
|
||||
},
|
||||
"courses": {
|
||||
"label": "কোর্স"
|
||||
},
|
||||
"degree": {
|
||||
"label": "ডিগ্রী"
|
||||
},
|
||||
"grade": {
|
||||
"label": "গ্রেড"
|
||||
},
|
||||
"institution": {
|
||||
"label": "প্রতিষ্ঠান"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "ঠিকানা"
|
||||
},
|
||||
"city": {
|
||||
"label": "শহর"
|
||||
},
|
||||
"country": {
|
||||
"label": "দেশ"
|
||||
},
|
||||
"heading": "অবস্থান",
|
||||
"postal-code": {
|
||||
"label": "পোস্ট অফিসের নাম্বার"
|
||||
},
|
||||
"region": {
|
||||
"label": "অঞ্চল"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "নেটওয়ার্ক"
|
||||
},
|
||||
"username": {
|
||||
"label": "ইউজারনেম"
|
||||
}
|
||||
},
|
||||
"heading": "প্রোফাইল",
|
||||
"heading_one": "প্রোফাইল"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "প্রকাশক"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "সম্পর্ক"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "অনুচ্ছেদ"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "সংগঠন"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "কাস্টম সিএসএস"
|
||||
},
|
||||
"export": {
|
||||
"heading": "এক্সপোর্ট",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "আপনার জীবনবৃত্তান্তের একটি JSON সংস্করণ ডাউনলোড করুন যা পুনরায় প্রতিক্রিয়াশীল জীবনবৃত্তান্তে আমদানি করা যেতে পারে।"
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "পিডিএফ তৈরি করা হচ্ছে",
|
||||
"secondary": "আপনার পিডিএফ তৈরি হওয়ার জন্য অনুগ্রহ করে অপেক্ষা করুন, এতে 15 সেকেন্ড পর্যন্ত সময় লাগতে পারে।"
|
||||
},
|
||||
"normal": {
|
||||
"primary": "পিডিএফ",
|
||||
"secondary": "আপনার জীবনবৃত্তান্তের একটি পিডিএফ ডাউনলোড করুন যা আপনি প্রিন্ট করে আপনার স্বপ্নের চাকরিতে পাঠাতে পারেন। এই ফাইলটি আরও সম্পাদনার জন্য আবার আমদানি করা যাবে না৷"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "লেআউট",
|
||||
"tooltip": {
|
||||
"reset-layout": "লেআউট রিসেট করুন"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "জীবনবৃত্তান্ত তৈরি করা থেকে কিছু আপনাকে বাধা দিচ্ছে? অথবা আপনি যোগ করার জন্য একটি আশ্চর্যজনক ধারণা আছে? শুরু করতে GitHub-এ একটি সমস্যা উত্থাপন করুন।",
|
||||
"button": "Github ইস্যু তালিকা",
|
||||
"heading": "বাগ? বৈশিষ্ট্য অনুরোধ?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "আপনি যদি প্রতিক্রিয়াশীল জীবনবৃত্তান্ত ব্যবহার করতে পছন্দ করেন, অনুগ্রহ করে বিজ্ঞাপন ছাড়া এবং চিরতরে বিনামূল্যে অ্যাপটিকে চালু ও চালু রাখার জন্য যতটা সম্ভব দান করার কথা বিবেচনা করুন।",
|
||||
"button": "আমাকে একটা কফি কিনে দাও",
|
||||
"heading": "Reactive Resume -তে দান করুন"
|
||||
},
|
||||
"github": "সোর্স কোড",
|
||||
"heading": "লিঙ্ক"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "তারিখ",
|
||||
"secondary": "অ্যাপ জুড়ে ব্যবহার করার জন্য তারিখ বিন্যাস"
|
||||
},
|
||||
"heading": "বিশ্বব্যাপী",
|
||||
"language": {
|
||||
"primary": "ভাষা",
|
||||
"secondary": "অ্যাপ জুড়ে ব্যবহার করার জন্য ভাষা প্রদর্শন করুন"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "থিম"
|
||||
}
|
||||
},
|
||||
"heading": "সেটিংস",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "লাইন ভেঙ্গে ফেলুন",
|
||||
"secondary": "একটি A4 পৃষ্ঠার উচ্চতা চিহ্নিত করতে সমস্ত পৃষ্ঠায় একটি লাইন দেখান৷"
|
||||
},
|
||||
"heading": "পাতা",
|
||||
"orientation": {
|
||||
"disabled": "শুধুমাত্র একটি পৃষ্ঠা থাকলে কোন প্রভাব নেই",
|
||||
"primary": "ওরিয়েন্টেশন",
|
||||
"secondary": "পৃষ্ঠাগুলি অনুভূমিকভাবে বা উল্লম্বভাবে প্রদর্শন করতে হবে কিনা"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "জীবনবৃত্তান্ত",
|
||||
"reset": {
|
||||
"primary": "সবকিছু রিসেট করুন",
|
||||
"secondary": "অনেক ভুল করেছেন? সমস্ত পরিবর্তন পুনরায় সেট করতে এবং স্ক্র্যাচ থেকে শুরু করতে এখানে ক্লিক করুন। সতর্ক থাকুন, এই ক্রিয়াটি উল্টানো যাবে না।"
|
||||
},
|
||||
"sample": {
|
||||
"primary": "নমুনা ডেটা লোড করুন",
|
||||
"secondary": "কোথায় শুরু করবেন তা নিশ্চিত নন? একটি সম্পূর্ণ জীবনবৃত্তান্ত দেখতে কেমন তা দেখতে কিছু নমুনা ডেটা লোড করতে এখানে ক্লিক করুন৷"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "শেয়ারিং",
|
||||
"short-url": {
|
||||
"label": "সংক্ষিপ্ত URL পছন্দ করুন"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "লিঙ্ক সহ যে কাউকে আপনার জীবনবৃত্তান্ত দেখার অনুমতি দিন",
|
||||
"title": "সর্বজনীন"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "টেমপ্লেট"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "ব্যাকগ্রাউন্ড"
|
||||
},
|
||||
"primary": {
|
||||
"label": "প্রাথমিক"
|
||||
},
|
||||
"text": {
|
||||
"label": "লেখা"
|
||||
}
|
||||
},
|
||||
"heading": "থিম"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "ফন্ট পরিবার"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "অক্ষরের আকার"
|
||||
}
|
||||
},
|
||||
"heading": "টাইপোগ্রাফি",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "বডি"
|
||||
},
|
||||
"headings": {
|
||||
"label": "শিরোনাম"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/bn/common.json
Normal file
32
client/public/locales/bn/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "হ্যালো",
|
||||
"logout": "লগআউট"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "<1>অমরুথ পিল্লাই</1>-এর একটি প্যাশন প্রোজেক্ট",
|
||||
"language": {
|
||||
"missing": "আপনার ভাষা অনুপস্থিত?"
|
||||
},
|
||||
"license": "সম্প্রদায়ের দ্বারা, সম্প্রদায়ের জন্য।"
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "এই বিভাগটি <1>মার্কডাউন</1> ফর্ম্যাটিং সমর্থন করে।"
|
||||
},
|
||||
"date": {
|
||||
"present": "বর্তমান"
|
||||
},
|
||||
"subtitle": "একটি বিনামূল্যে এবং ওপেন সোর্স জীবনবৃত্তান্ত নির্মাতা।",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "অনুগ্রহ করে শুধুমাত্র 2 মেগাবাইটের নিচে ফাইল আপলোড করুন।",
|
||||
"upload-photo-size": "অনুগ্রহ করে শুধুমাত্র 2 মেগাবাইটের নিচের ছবি আপলোড করুন, বিশেষত বর্গাকার।"
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "আপনার জীবনবৃত্তান্তের একটি লিঙ্ক আপনার ক্লিপবোর্ডে অনুলিপি করা হয়েছে।"
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/bn/dashboard.json
Normal file
25
client/public/locales/bn/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "শুন্য থেকে শুরু করা",
|
||||
"title": "নতুন জীবনবৃত্তান্ত তৈরি করুন"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON জীবনবৃত্তান্ত, প্রতিক্রিয়াশীল জীবনবৃত্তান্ত",
|
||||
"title": "বহিরাগত উত্স থেকে আমদানি"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "মুছুন",
|
||||
"duplicate": "প্রতিলিপি",
|
||||
"open": "খুলুন",
|
||||
"rename": "নাম পরিবর্তন করুন",
|
||||
"share-link": "লিঙ্ক শেয়ার করুন",
|
||||
"tooltips": {
|
||||
"delete": "আপনি কি এই জীবনবৃত্তান্ত মুছতে চান? এটি একটি অপরিবর্তনীয় ক্রিয়া।",
|
||||
"share-link": "অন্যদের কাছে দৃশ্যমান করার জন্য আপনাকে আপনার জীবনবৃত্তান্তের দৃশ্যমানতা সর্বজনীনভাবে পরিবর্তন করতে হবে।"
|
||||
}
|
||||
},
|
||||
"timestamp": "সর্বশেষ আপডেট করা হয়েছে {{timestamp}} আগে"
|
||||
},
|
||||
"title": "ড্যাশবোর্ড"
|
||||
}
|
||||
41
client/public/locales/bn/landing.json
Normal file
41
client/public/locales/bn/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "অ্যাপ্লিকেশন এ যান",
|
||||
"login": "লগইন",
|
||||
"logout": "লগআউট",
|
||||
"register": "নিবন্ধন"
|
||||
},
|
||||
"features": {
|
||||
"heading": "বৈশিষ্ট্যসমূহ",
|
||||
"list": {
|
||||
"ads": "বিজ্ঞাপনবিহীন",
|
||||
"export": "JSON বা PDF ফরম্যাটে আপনার জীবনবৃত্তান্ত রপ্তানি করুন",
|
||||
"free": "সব সময়ের জন্য ফ্রি",
|
||||
"import": "LinkedIn, JSON Resume থেকে ডেটা আমদানি করুন",
|
||||
"languages": "একাধিক ভাষায় অ্যাক্সেসযোগ্য",
|
||||
"more": "এবং আরও অনেক উত্তেজনাপূর্ণ বৈশিষ্ট্য, <1>এটি সম্পর্কে সমস্ত এখানে পড়ুন</1>৷",
|
||||
"tracking": "ব্যবাহারকারী ট্রেকারবিহীন"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "লিঙ্ক",
|
||||
"links": {
|
||||
"donate": "দান করুন",
|
||||
"github": "সোর্স কোড",
|
||||
"privacy": "গোপনীয়তা নীতি",
|
||||
"service": "সেবা পাবার শর্ত"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "স্ক্রিনশট"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "প্রশংসাপত্র",
|
||||
"body": "ভাল বা খারাপ, আমি প্রতিক্রিয়াশীল জীবনবৃত্তান্ত সম্পর্কে আপনার মতামত এবং আপনার জন্য অভিজ্ঞতা কেমন হয়েছে তা জানতে চাই।<br/>এখানে বিশ্বজুড়ে ব্যবহারকারীদের পাঠানো কিছু বার্তা রয়েছে৷",
|
||||
"contact": "আপনি <1>আমার ইমেল</1> বা <3>আমার ওয়েবসাইট</3>-এ যোগাযোগ ফর্মের মাধ্যমে আমার সাথে যোগাযোগ করতে পারেন।"
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume হল একটি বিনামূল্যের এবং ওপেন সোর্স জীবনবৃত্তান্ত নির্মাতা যা আপনার জীবনবৃত্তান্ত তৈরি, আপডেট এবং শেয়ার করার জাগতিক কাজগুলিকে 1, 2, 3 এর মতো সহজ করে তুলতে তৈরি করা হয়েছে৷ এই অ্যাপটির মাধ্যমে, আপনি একাধিক জীবনবৃত্তান্ত তৈরি করতে পারেন, নিয়োগকারীদের বা বন্ধুদের সাথে শেয়ার করতে পারেন৷ একটি অনন্য লিঙ্কের মাধ্যমে এবং আপনার ডেটার অখণ্ডতা এবং গোপনীয়তা হারানো ছাড়াই বিনামূল্যে, কোনও বিজ্ঞাপন, কোনও ট্র্যাকিং ছাড়াই একটি পিডিএফ হিসাবে মুদ্রণ করুন।",
|
||||
"heading": "সারসংক্ষেপ"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/bn/modals.json
Normal file
136
client/public/locales/bn/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "পাসওয়ার্ড রিসেট ইমেল পাঠান"
|
||||
},
|
||||
"body": "আপনি যে অ্যাকাউন্টটি পুনরুদ্ধার করতে চান তার সাথে যুক্ত ইমেল ঠিকানাটি লিখুন।",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "ইমেইল ঠিকানা"
|
||||
}
|
||||
},
|
||||
"heading": "আপনি কি পাসওয়ার্ড ভুলে গেছেন?",
|
||||
"help-text": "অ্যাকাউন্টটি বিদ্যমান থাকলে, আপনি আপনার পাসওয়ার্ড রিসেট করার জন্য একটি লিঙ্ক সহ একটি ইমেল পাবেন।"
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "লগইন",
|
||||
"google": "গুগল দিয়ে লগইন করুন"
|
||||
},
|
||||
"body": "লগইন এবং অ্যাক্সেস, পরিচালনা এবং আপনার জীবনবৃত্তান্ত শেয়ার করতে আপনার অ্যাকাউন্টের সাথে যুক্ত আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন।",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "পাসওয়ার্ড"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "এছাড়াও আপনি আপনার ইমেল ঠিকানা লিখতে পারেন",
|
||||
"label": "ইউজারনেম"
|
||||
}
|
||||
},
|
||||
"heading": "আপনার অ্যাকাউন্টে লগ ইন করুন",
|
||||
"recover-text": "আপনি যদি আপনার পাসওয়ার্ড ভুলে গিয়ে থাকেন, আপনি এখানে <1>আপনার অ্যাকাউন্ট পুনরুদ্ধার</1> করতে পারেন৷",
|
||||
"register-text": "আপনার যদি একটি না থাকে, আপনি এখানে <1>একটি অ্যাকাউন্ট তৈরি করতে</1> পারেন৷"
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "নিবন্ধন",
|
||||
"google": "Google এর সাথে নিবন্ধন করুন"
|
||||
},
|
||||
"body": "একটি অ্যাকাউন্ট তৈরি করতে আপনার ব্যক্তিগত তথ্য লিখুন.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "পাসওয়ার্ড নিশ্চিত করুন"
|
||||
},
|
||||
"email": {
|
||||
"label": "ইমেইল ঠিকানা"
|
||||
},
|
||||
"name": {
|
||||
"label": "পূর্ণ নাম"
|
||||
},
|
||||
"password": {
|
||||
"label": "পাসওয়ার্ড"
|
||||
},
|
||||
"username": {
|
||||
"label": "ইউজারনেম"
|
||||
}
|
||||
},
|
||||
"heading": "একটি অ্যাকাউন্ট তৈরি করুন",
|
||||
"loginText": "আপনার যদি ইতিমধ্যেই একটি অ্যাকাউন্ট থাকে, আপনি <1>এখানে লগইন করতে পারেন</1>৷"
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "নতুন পাসওয়ার্ড সেট করুন"
|
||||
},
|
||||
"body": "আপনার অ্যাকাউন্টের জন্য একটি নতুন পাসওয়ার্ড লিখুন।",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "পাসওয়ার্ড নিশ্চিত করুন"
|
||||
},
|
||||
"password": {
|
||||
"label": "পাসওয়ার্ড"
|
||||
}
|
||||
},
|
||||
"heading": "আপনার পাসওয়ার্ডটি রিসেট করুন"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "জীবনবৃত্তান্ত তৈরি করুন"
|
||||
},
|
||||
"body": "এটি একটি নাম দিয়ে আপনার জীবনবৃত্তান্ত নির্মাণ শুরু করুন. এটা হতে পারে আপনি যে ভূমিকার জন্য আবেদন করছেন বা আপনার প্রিয় খাবারের জন্য।",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "নাম"
|
||||
},
|
||||
"public": {
|
||||
"label": "সর্বজনীনভাবে অ্যাক্সেসযোগ্য?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "স্লাগ"
|
||||
}
|
||||
},
|
||||
"heading": "একটি নতুন জীবনবৃত্তান্ত তৈরি করুন"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "বহিরাগত উত্স থেকে আমদানি",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON আপলোড করুন"
|
||||
},
|
||||
"body": "আপনার যদি একটি <1>প্রমাণিত JSON সারসংকলন</1> যাওয়ার জন্য প্রস্তুত থাকে, তাহলে আপনি এটি ব্যবহার করতে পারেন প্রতিক্রিয়াশীল জীবনবৃত্তান্তে আপনার বিকাশ দ্রুত-ট্র্যাক করতে। নীচের বোতামে ক্লিক করুন এবং শুরু করতে একটি বৈধ JSON ফাইল আপলোড করুন৷",
|
||||
"heading": "JSON রিজিউম থেকে আমদানি করুন"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "ZIP সংরক্ষণাগার আপলোড করুন"
|
||||
},
|
||||
"body": "আপনি LinkedIn থেকে আপনার ডেটা রপ্তানি করে এবং Reactive Resume-এ ক্ষেত্রগুলি স্বয়ংক্রিয়ভাবে পূরণ করতে ব্যবহার করে সময় বাঁচাতে পারেন। LinkedIn-এর <1>ডেটা গোপনীয়তা</1> বিভাগে যান এবং আপনার ডেটা সংরক্ষণের জন্য অনুরোধ করুন। একবার এটি উপলব্ধ হলে, নীচের জিপ ফাইলটি আপলোড করুন।",
|
||||
"heading": "LinkedIn থেকে আমদানি করুন"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON আপলোড করুন",
|
||||
"upload-json-v2": "v2 থেকে JSON আপলোড করুন"
|
||||
},
|
||||
"body": "আপনার যদি একটি JSON থাকে যা রিঅ্যাকটিভ রিজিউমের বর্তমান সংস্করণের সাথে রপ্তানি করা হয়েছিল, আপনি আবার সম্পাদনাযোগ্য সংস্করণ পেতে এটিকে এখানে আবার আমদানি করতে পারেন।",
|
||||
"heading": "প্রতিক্রিয়াশীল জীবনবৃত্তান্ত থেকে আমদানি করুন"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "রিজিউমের নাম পরিবর্তন করুন"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "নাম"
|
||||
},
|
||||
"slug": {
|
||||
"label": "স্লাগ"
|
||||
}
|
||||
},
|
||||
"heading": "আপনার জীবনবৃত্তান্তের নাম পরিবর্তন করুন"
|
||||
}
|
||||
}
|
||||
}
|
||||
358
client/public/locales/cs/builder.json
Normal file
358
client/public/locales/cs/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Přidat nový {{token}}",
|
||||
"delete": "Odstranit {{token}}",
|
||||
"edit": "Upravit {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Sloupce",
|
||||
"tooltip": "Změnit počet sloupců"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Datum"
|
||||
},
|
||||
"description": {
|
||||
"label": "Popis"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-mailová adresa"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Nechte toto pole prázdné, pokud stále trvá",
|
||||
"label": "Datum ukončení"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Klíčová slova"
|
||||
},
|
||||
"level": {
|
||||
"label": "Úroveň"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Úroveň (číslo)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Jméno"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Telefonní číslo"
|
||||
},
|
||||
"position": {
|
||||
"label": "Pozice"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Počáteční datum"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Podtitul"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Shrnutí"
|
||||
},
|
||||
"title": {
|
||||
"label": "Název"
|
||||
},
|
||||
"url": {
|
||||
"label": "Webová stránka"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Stránka"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Odstranit",
|
||||
"duplicate": "Duplikovat",
|
||||
"edit": "Upravit"
|
||||
},
|
||||
"empty-text": "Tento seznam je prázdný."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Opravdu chcete odstranit tuto položku? Tato akce je nevratná.",
|
||||
"delete-section": "Odstranit sekci",
|
||||
"rename-section": "Přejmenovat sekci",
|
||||
"toggle-visibility": "Přepnout viditelnost"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Vycentrovat Artboard",
|
||||
"copy-link": "Kopírovat odkaz na životopis",
|
||||
"export-pdf": "Exportovat PDF",
|
||||
"toggle-orientation": "Přepnout orientaci stránky",
|
||||
"toggle-page-break-line": "Přepnout řádek zalomení stránky",
|
||||
"toggle-sidebars": "Přepnout boční panely",
|
||||
"zoom-in": "Přiblížit",
|
||||
"zoom-out": "Oddálit"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Odstranit",
|
||||
"duplicate": "Duplikovat",
|
||||
"rename": "Přejmenovat",
|
||||
"share-link": "Sdílet odkaz",
|
||||
"tooltips": {
|
||||
"delete": "Opravdu chcete smazat tento životopis? Tato akce je nevratná.",
|
||||
"share-link": "Musíte změnit viditelnost svého životopisu na veřejnou, aby byl viditelný pro ostatní."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Udělovatel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Foto filtry"
|
||||
},
|
||||
"heading": "Základy",
|
||||
"headline": {
|
||||
"label": "Titulek"
|
||||
},
|
||||
"name": {
|
||||
"label": "Celé jméno"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Rám"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Odstíny šedi"
|
||||
},
|
||||
"heading": "Efekty"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Tvar"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Velikost (v px)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Odstranit fotku",
|
||||
"upload": "Nahrát fotografii"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Vydavatel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Studijní oblast"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Kurzy"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Titul"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Známka"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Instituce"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Adresa"
|
||||
},
|
||||
"city": {
|
||||
"label": "Město"
|
||||
},
|
||||
"country": {
|
||||
"label": "Stát"
|
||||
},
|
||||
"heading": "Lokace",
|
||||
"postal-code": {
|
||||
"label": "PSČ"
|
||||
},
|
||||
"region": {
|
||||
"label": "Region"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Síť"
|
||||
},
|
||||
"username": {
|
||||
"label": "Uživatelské jméno"
|
||||
}
|
||||
},
|
||||
"heading": "Profily",
|
||||
"heading_one": "Profil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Vydavatel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Vztah"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Sekce"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Firma"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "Vlastní CSS"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Exportovat",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Stáhněte si JSON verzi vašeho životopisu, kterou lze importovat zpět do Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Generování PDF",
|
||||
"secondary": "Počkejte prosím, než se váš PDF vygeneruje, může to trvat až 15 sekund."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Stáhněte si PDF se svým životopisem, který si můžete vytisknout a poslat do své vysněné práce. Tento soubor nelze importovat zpět pro další úpravy."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Rozvržení",
|
||||
"tooltip": {
|
||||
"reset-layout": "Reset rozvržení"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Brání vám něco ve vytvoření životopisu? Nebo máte úžasný nápad, který byste mohli přidat? Pro začátek, založte problém na GitHubu.",
|
||||
"button": "Hlášení chyb GitHub",
|
||||
"heading": "Chyby? Požadavky na funkce?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Pokud se vám líbilo používání Reactive Resume, zvažte prosím darování co největší částky na udržení aplikace v provozu, bez reklam a navždy zdarma.",
|
||||
"button": "Kupte mi kávu",
|
||||
"heading": "Přispějte na Reactive Resume"
|
||||
},
|
||||
"github": "Zdrojový kód",
|
||||
"heading": "Odkazy"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Datum",
|
||||
"secondary": "Formát datumu, který se má používat napříč aplikací"
|
||||
},
|
||||
"heading": "Globální",
|
||||
"language": {
|
||||
"primary": "Jazyk",
|
||||
"secondary": "Jazyk zobrazení pro použití v celé aplikaci"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Motiv"
|
||||
}
|
||||
},
|
||||
"heading": "Nastavení",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Nový řádek",
|
||||
"secondary": "Zobrazit čáru na všech stránkách pro označení výšky stránky A4"
|
||||
},
|
||||
"heading": "Stránka",
|
||||
"orientation": {
|
||||
"disabled": "Nemá žádný efekt, pokud existuje pouze jedna stránka",
|
||||
"primary": "Orientace",
|
||||
"secondary": "Zda se mají stránky zobrazovat vodorovně nebo svisle"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "Životopis",
|
||||
"reset": {
|
||||
"primary": "Resetovat vše",
|
||||
"secondary": "Udělali jste příliš mnoho chyb? Kliknutím sem můžete všechny změny resetovat a začít znovu. Buďte opatrní, tuto akci nelze vrátit zpět."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Načíst ukázková data",
|
||||
"secondary": "Nevíte, kde začít? Klikněte zde a načtěte si vzorové údaje, abyste viděli, jak vypadá kompletní životopis."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Sdílení",
|
||||
"short-url": {
|
||||
"label": "Preferovat krátkou adresu URL"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Umožnit komukoli pomocí odkazu zobrazit váš životopis",
|
||||
"title": "Veřejné"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Šablony"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Pozadí"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Hlavní"
|
||||
},
|
||||
"text": {
|
||||
"label": "Text"
|
||||
}
|
||||
},
|
||||
"heading": "Motiv"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Rodina písma"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Velikost písma"
|
||||
}
|
||||
},
|
||||
"heading": "Typografie",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Tělo"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Nadpisy"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
358
client/public/locales/da/builder.json
Normal file
358
client/public/locales/da/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Tilføj ny {{token}}",
|
||||
"delete": "Slet {{token}}",
|
||||
"edit": "Rediger {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Kolonner",
|
||||
"tooltip": "Skift antal kolonner"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Dato"
|
||||
},
|
||||
"description": {
|
||||
"label": "Beskriveslse"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email adresse"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Lad dette felt stå tomt, hvis det stadig er til stede",
|
||||
"label": "Slutdato"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Nøgleord"
|
||||
},
|
||||
"level": {
|
||||
"label": "Niveau"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Niveau (antal)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Navn"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Telefonnummer"
|
||||
},
|
||||
"position": {
|
||||
"label": "Stilling"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Startdato"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Undertitel"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Resumé"
|
||||
},
|
||||
"title": {
|
||||
"label": "Titel"
|
||||
},
|
||||
"url": {
|
||||
"label": "Hjemmeside"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Side"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Slet",
|
||||
"duplicate": "Duplikér",
|
||||
"edit": "Rediger"
|
||||
},
|
||||
"empty-text": "Denne liste er tom."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Er du sikker på at du ønsker at slette denne aktivitet? Det kan ikke fortrydes.",
|
||||
"delete-section": "Slet sektion",
|
||||
"rename-section": "Omdøb sektion",
|
||||
"toggle-visibility": "Slå synlighed til/fra"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Centrer tegnebræt",
|
||||
"copy-link": "Kopier link til CV",
|
||||
"export-pdf": "Eksporter PDF",
|
||||
"toggle-orientation": "Skift sideorientering",
|
||||
"toggle-page-break-line": "Skift sideskiftlinje",
|
||||
"toggle-sidebars": "Sidebjælke til/fra",
|
||||
"zoom-in": "Zoom ind",
|
||||
"zoom-out": "Zoom ud"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Slet",
|
||||
"duplicate": "Duplikér",
|
||||
"rename": "Omdøb",
|
||||
"share-link": "Del Link",
|
||||
"tooltips": {
|
||||
"delete": "Er du sikker på at du ønsker at slette dette CV? Det kan ikke fortrydes.",
|
||||
"share-link": "Du skal ændre synligheden af dit CV til offentligheden for at gøre det synligt for andre."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Udsteder"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Fotofiltre"
|
||||
},
|
||||
"heading": "Grundlæggende",
|
||||
"headline": {
|
||||
"label": "Overskrift"
|
||||
},
|
||||
"name": {
|
||||
"label": "Fulde navn"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Grænse"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Gråtoneskala"
|
||||
},
|
||||
"heading": "Effekter"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Facon"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Størrelse (i px)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Fjern Billede",
|
||||
"upload": "Upload billede"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Udsteder"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Studieretning"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Kurser"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Grad"
|
||||
},
|
||||
"grade": {
|
||||
"label": "karakter"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Institution"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Adresse"
|
||||
},
|
||||
"city": {
|
||||
"label": "By"
|
||||
},
|
||||
"country": {
|
||||
"label": "Land"
|
||||
},
|
||||
"heading": "Lokation",
|
||||
"postal-code": {
|
||||
"label": "Postnummer"
|
||||
},
|
||||
"region": {
|
||||
"label": "Region"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Netværk"
|
||||
},
|
||||
"username": {
|
||||
"label": "Brugernavn"
|
||||
}
|
||||
},
|
||||
"heading": "Profiler",
|
||||
"heading_one": "Profil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Udgiver"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Forbindelse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Sektion"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Organisation"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "Tilpasset CSS"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Eksportér",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Download en JSON-version af dit CV, der kan importeres tilbage til Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Generering af PDF",
|
||||
"secondary": "Vent venligst mens din PDF bliver genereret. Dette kan tage op til 15 sekunder."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Download en PDF af dit CV, som du kan printe og sende ud til dit drømmejob. Denne fil kan ikke importeres tilbage til yderligere redigering."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Layout",
|
||||
"tooltip": {
|
||||
"reset-layout": "Nulstil layout"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Er der noget, der forhindrer dig i at lave et CV? Eller har du en fantastisk idé at tilføje? Rejs et problem på GitHub for at komme i gang.",
|
||||
"button": "GitHub-problemer",
|
||||
"heading": "Fejl? Ønsker til en ny funktion?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Hvis du kunne lide at bruge Reactive Resume, bedes du overveje at donere så meget som muligt til formålet med at holde appen oppe og køre, uden annoncer og gratis for evigt.",
|
||||
"button": "Købe mig en kop kaffe",
|
||||
"heading": "Donér til Reactive Resume"
|
||||
},
|
||||
"github": "Kildekode",
|
||||
"heading": "Links"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Dato",
|
||||
"secondary": "Datoformat til brug på tværs af appen"
|
||||
},
|
||||
"heading": "Global",
|
||||
"language": {
|
||||
"primary": "Sprog",
|
||||
"secondary": "Vis sprog til brug på tværs af appen"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Tema"
|
||||
}
|
||||
},
|
||||
"heading": "Indstillinger",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Brudlinje",
|
||||
"secondary": "Vis en streg på alle sider for at markere højden på en A4-side"
|
||||
},
|
||||
"heading": "Side",
|
||||
"orientation": {
|
||||
"disabled": "Har ingen effekt, når der kun er én side",
|
||||
"primary": "Orientering",
|
||||
"secondary": "Om sider skal vises vandret eller lodret"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "Genoptag",
|
||||
"reset": {
|
||||
"primary": "Nulstil alt",
|
||||
"secondary": "lavet for mange fejl? Klik her for at nulstille alle ændringer og starte fra bunden. Vær forsigtig, denne handling kan ikke gøres om."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Indlæs prøvedata",
|
||||
"secondary": "Ikke sikker på, hvor du skal begynde? Klik her for at indlæse nogle eksempeldata for at se, hvordan et komplet CV ser ud."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Deling",
|
||||
"short-url": {
|
||||
"label": "Foretræk Kort URL"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Tillad alle med et link at se dit CV",
|
||||
"title": "Offentlig"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Skabeloner"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Baggrund"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Primær"
|
||||
},
|
||||
"text": {
|
||||
"label": "Tekst"
|
||||
}
|
||||
},
|
||||
"heading": "Tema"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Skrifttype"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Skriftstørrelse"
|
||||
}
|
||||
},
|
||||
"heading": "Typografi",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Krop"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Overskrifter"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/da/common.json
Normal file
32
client/public/locales/da/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Hej",
|
||||
"logout": "Log ud"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Et passionsprojekt af <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Mangler du dit sprog?"
|
||||
},
|
||||
"license": "Af fællesskabet, for fællesskabet."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Dette afsnit understøtter <1>markdown</1> formatering."
|
||||
},
|
||||
"date": {
|
||||
"present": "Nuværende"
|
||||
},
|
||||
"subtitle": "En gratis og open source CV-bygger.",
|
||||
"title": "Reaktivt CV",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Upload kun filer under 2 megabyte.",
|
||||
"upload-photo-size": "Upload kun billeder under 2 megabyte, helst kvadratiske."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Et link til dit CV er blevet kopieret til dit udklipsholder."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/da/dashboard.json
Normal file
25
client/public/locales/da/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Start fra begyndelsen",
|
||||
"title": "Opret nyt CV"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON CV, Reaktivt CV",
|
||||
"title": "Importer fra eksterne kilder"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Slet",
|
||||
"duplicate": "Duplikér",
|
||||
"open": "Åbn",
|
||||
"rename": "Omdøb",
|
||||
"share-link": "Del Link",
|
||||
"tooltips": {
|
||||
"delete": "Er du sikker på at du ønsker at slette dette CV? Det kan ikke fortrydes.",
|
||||
"share-link": "Du skal ændre synligheden af dit CV til offentligheden for at gøre det synligt for andre."
|
||||
}
|
||||
},
|
||||
"timestamp": "Sidst opdateret for {{timestamp}} siden"
|
||||
},
|
||||
"title": "Betjeningspanel"
|
||||
}
|
||||
41
client/public/locales/da/landing.json
Normal file
41
client/public/locales/da/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Gå til app",
|
||||
"login": "Log ind",
|
||||
"logout": "Log ud",
|
||||
"register": "Tilmeld"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Funktioner",
|
||||
"list": {
|
||||
"ads": "Ingen reklamer.",
|
||||
"export": "Eksporter dit CV til JSON- eller PDF-format",
|
||||
"free": "Gratis for evigt",
|
||||
"import": "Importer data fra LinkedIn, JSON CV",
|
||||
"languages": "Tilgængelig på flere sprog",
|
||||
"more": "Og meget flere spændende funktioner, <1>læs alt om det her</1>",
|
||||
"tracking": "Ingen brugersporing"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Links",
|
||||
"links": {
|
||||
"donate": "Donér",
|
||||
"github": "Kildekode",
|
||||
"privacy": "Fortrolighedspolitik",
|
||||
"service": "Servicevilkår"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Skærmbilleder"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Udtalelser",
|
||||
"body": "Godt eller dårligt, jeg ville elske at høre din mening om Reactive Resume og hvordan oplevelsen har været for dig.<br/>Her er nogle af de beskeder, der er sendt af brugere over hele verden.",
|
||||
"contact": "Du kan kontakte mig via <1>min e-mail</1> eller gennem kontaktformularen på <3>min hjemmeside</3> ."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume er en gratis og open source CV-bygger, der er bygget til at gøre de hverdagsagtige opgaver med at oprette, opdatere og dele dit CV så lette som 1, 2, 3. Med denne app kan du oprette flere CV'er, dele dem med rekrutterere eller venner gennem et unikt link og udskriv det som en PDF, helt gratis, ingen annoncer, ingen sporing, uden at miste integriteten og fortroligheden af dine data.",
|
||||
"heading": "Opsummering"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/da/modals.json
Normal file
136
client/public/locales/da/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Send e-mail med Nulstil adgangskode"
|
||||
},
|
||||
"body": "Indtast blot den e-mailadresse, der er knyttet til den konto, du gerne vil gendanne.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Email adresse"
|
||||
}
|
||||
},
|
||||
"heading": "Har du glemt din adgangskode?",
|
||||
"help-text": "Hvis der er en konto, der er knyttet til %1 vil du modtage en e-mail med et link for at nulstille din adgangskode."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Log ind",
|
||||
"google": "Log ind med Google"
|
||||
},
|
||||
"body": "Indtast venligst dit brugernavn og din adgangskode knyttet til din konto for at logge ind og få adgang til, administrere og dele dine CV'er.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Adgangskode"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "Du skal indtaste din e-mailadresse.",
|
||||
"label": "Brugernavn"
|
||||
}
|
||||
},
|
||||
"heading": "Log ind på din konto",
|
||||
"recover-text": "Hvis du har glemt din adgangskode, kan du <1>gendanne din konto</1> her.",
|
||||
"register-text": "Hvis du ikke har en, kan du <1>oprette en konto</1> her."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Tilmeld",
|
||||
"google": "Log på med Google"
|
||||
},
|
||||
"body": "Indtast e-mail adresse for at oprette en konto.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Bekræft adgangskode"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email adresse"
|
||||
},
|
||||
"name": {
|
||||
"label": "Fulde navn"
|
||||
},
|
||||
"password": {
|
||||
"label": "Adgangskode"
|
||||
},
|
||||
"username": {
|
||||
"label": "Brugernavn"
|
||||
}
|
||||
},
|
||||
"heading": "Opret en konto",
|
||||
"loginText": "Hvis du allerede har en konto, kan du <1>logge ind her</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Indstil ny adgangskode"
|
||||
},
|
||||
"body": "Indtast en ny adgangskode til din konto.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Bekræft adgangskode"
|
||||
},
|
||||
"password": {
|
||||
"label": "Adgangskode"
|
||||
}
|
||||
},
|
||||
"heading": "Nulstil din adgangskode"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Opret CV"
|
||||
},
|
||||
"body": "Begynd at bygge dit CV ved at give det et navn. Det kan være i forbindelse med den rolle, du søger, eller blot din yndlingssnack.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Navn"
|
||||
},
|
||||
"public": {
|
||||
"label": "Er offentligt tilgængeligt?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Slug"
|
||||
}
|
||||
},
|
||||
"heading": "Opret nyt CV"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Importer fra eksterne kilder",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Upload JSON"
|
||||
},
|
||||
"body": "Hvis du har et <1>valideret JSON-CV</1> klar, kan du bruge den til at fremskynde din udvikling på Reactive Resume. Klik på knappen nedenfor og upload en gyldig JSON-fil for at begynde.",
|
||||
"heading": "Importer fra JSON CV"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "Upload ZIP-arkiv"
|
||||
},
|
||||
"body": "Du kan spare tid ved at eksportere dine data fra LinkedIn og bruge dem til automatisk at udfylde felter på Reactive Resume. Gå over til <1>Databeskyttelse</1> sektion på LinkedIn og anmod om et arkiv af dine data. Når den er tilgængelig, skal du uploade ZIP-filen nedenfor.",
|
||||
"heading": "Importer fra LinkedIn"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Upload JSON",
|
||||
"upload-json-v2": "Upload JSON fra v2"
|
||||
},
|
||||
"body": "Hvis du har en JSON, der blev eksporteret med den aktuelle version af Reactive Resume, kan du importere den tilbage her for at få en redigerbar version igen.",
|
||||
"heading": "Importer fra JSON CV"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Omdøb CV"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Navn"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Slug"
|
||||
}
|
||||
},
|
||||
"heading": "Omdøb dit CV"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -61,18 +61,18 @@
|
||||
"page": "Seite"
|
||||
},
|
||||
"list": {
|
||||
"empty-text": "Diese Liste ist leer.",
|
||||
"actions": {
|
||||
"edit": "Bearbeiten",
|
||||
"delete": "Löschen",
|
||||
"duplicate": "Duplizieren",
|
||||
"delete": "Löschen"
|
||||
}
|
||||
"edit": "Bearbeiten"
|
||||
},
|
||||
"empty-text": "Diese Liste ist leer."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Sind Sie sicher, dass Sie dieses Element löschen möchten? Dies ist eine unumkehrbare Aktion.",
|
||||
"delete-section": "Abschnitt löschen",
|
||||
"rename-section": "Abschnitt umbenennen",
|
||||
"toggle-visibility": "Sichtbarkeit umschalten",
|
||||
"delete-item": "Sind Sie sicher, dass Sie dieses Element löschen möchten? Dies ist eine unumkehrbare Aktion."
|
||||
"toggle-visibility": "Sichtbarkeit umschalten"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
@ -290,6 +290,7 @@
|
||||
},
|
||||
"heading": "Seite",
|
||||
"orientation": {
|
||||
"disabled": "Hat keine Auswirkung, wenn nur eine Seite vorhanden ist",
|
||||
"primary": "Ausrichtung",
|
||||
"secondary": "Ob Seiten horizontal oder vertikal angezeigt werden sollen"
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@
|
||||
"markdown": {
|
||||
"help-text": "Dieser Abschnitt unterstützt <1>Markdown</1> Formatierung."
|
||||
},
|
||||
"date": {
|
||||
"present": "Gegenwärtig"
|
||||
},
|
||||
"subtitle": "Ein freier und Open-Source-Lebenslauf-Builder.",
|
||||
"title": "Reaktives Lebenslauf",
|
||||
"toast": {
|
||||
|
||||
@ -10,13 +10,13 @@
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Löschen",
|
||||
"duplicate": "Duplizieren",
|
||||
"duplicate": "Duplikat",
|
||||
"open": "Öffnen",
|
||||
"rename": "Umbenennen",
|
||||
"share-link": "Link teilen",
|
||||
"share-link": "Einen Link teilen",
|
||||
"tooltips": {
|
||||
"delete": "Sind Sie sicher, dass Sie diesen Lebenslauf löschen möchten? Dies ist eine unumkehrbare Aktion.",
|
||||
"share-link": "Du musst die Sichtbarkeit deines Lebenslaufs in die Öffentlichkeit ändern, um ihn für andere sichtbar zu machen."
|
||||
"delete": "Möchten Sie diesen Lebenslauf wirklich löschen? Dies ist eine irreversible Aktion.",
|
||||
"share-link": "Sie müssen die Sichtbarkeit Ihres Lebenslaufs auf öffentlich ändern, um ihn für andere sichtbar zu machen."
|
||||
}
|
||||
},
|
||||
"timestamp": "Zuletzt vor {{timestamp}} aktualisiert"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"actions": {
|
||||
"app": "Gehe zu App",
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"logout": "Ausloggen",
|
||||
"register": "Registrieren"
|
||||
},
|
||||
"features": {
|
||||
@ -18,7 +18,7 @@
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Links",
|
||||
"heading": "Verknüpfungen",
|
||||
"links": {
|
||||
"donate": "Spenden",
|
||||
"github": "Quellcode",
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"body": "Geben Sie einfach die E-Mail-Adresse ein, die mit dem Konto verknüpft ist, das Sie wiederherstellen möchten.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "E-Mail Adresse"
|
||||
"label": "E-Mail-Addresse"
|
||||
}
|
||||
},
|
||||
"heading": "Passwort vergessen?",
|
||||
@ -15,7 +15,7 @@
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Anmelden",
|
||||
"login": "Anmeldung",
|
||||
"google": "Mit Google anmelden"
|
||||
},
|
||||
"body": "Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden und zuzugreifen, Ihre Bewerbungen zu verwalten und weiterzugeben.",
|
||||
@ -25,7 +25,7 @@
|
||||
},
|
||||
"username": {
|
||||
"help-text": "Sie können auch Ihre E-Mail-Adresse eingeben",
|
||||
"label": "Benutzername"
|
||||
"label": "Nutzername"
|
||||
}
|
||||
},
|
||||
"heading": "Bei Ihrem Konto anmelden",
|
||||
@ -43,16 +43,16 @@
|
||||
"label": "Passwort bestätigen"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-Mail Adresse"
|
||||
"label": "E-Mail-Addresse"
|
||||
},
|
||||
"name": {
|
||||
"label": "Voller Name"
|
||||
"label": "Vollständiger Name"
|
||||
},
|
||||
"password": {
|
||||
"label": "Passwort"
|
||||
},
|
||||
"username": {
|
||||
"label": "Benutzername"
|
||||
"label": "Nutzername"
|
||||
}
|
||||
},
|
||||
"heading": "Ein Konto erstellen",
|
||||
@ -94,7 +94,7 @@
|
||||
"heading": "Neuen Lebenslauf erstellen"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Aus externen Quellen importieren",
|
||||
"heading": "Import aus externen Quellen",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON hochladen"
|
||||
@ -111,9 +111,10 @@
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON hochladen"
|
||||
"upload-json": "JSON hochladen",
|
||||
"upload-json-v2": "Laden Sie JSON von v2 hoch"
|
||||
},
|
||||
"body": "Wenn Sie ein JSON haben, das mit der aktuellen Version von Reactive Resume exportiert wurde, Sie können es hier wieder importieren um wieder eine editierbare Version zu erhalten. Vorherige Versionen von Reactive Resume werden derzeit leider nicht unterstützt.",
|
||||
"body": "Wenn Sie eine JSON haben, die mit der aktuellen Version von Reactive Resume exportiert wurde, können Sie sie hier wieder importieren, um wieder eine bearbeitbare Version zu erhalten.",
|
||||
"heading": "Import vom Reaktives Lebenslauf"
|
||||
}
|
||||
},
|
||||
|
||||
@ -61,18 +61,18 @@
|
||||
"page": "Page"
|
||||
},
|
||||
"list": {
|
||||
"empty-text": "This list is empty.",
|
||||
"actions": {
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"duplicate": "Duplicate",
|
||||
"delete": "Delete"
|
||||
}
|
||||
"edit": "Edit"
|
||||
},
|
||||
"empty-text": "This list is empty."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Are you sure you want to delete this item? This is an irreversible action.",
|
||||
"delete-section": "Delete Section",
|
||||
"rename-section": "Rename Section",
|
||||
"toggle-visibility": "Toggle Visibility",
|
||||
"delete-item": "Are you sure you want to delete this item? This is an irreversible action."
|
||||
"toggle-visibility": "Toggle Visibility"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
@ -290,6 +290,7 @@
|
||||
},
|
||||
"heading": "Page",
|
||||
"orientation": {
|
||||
"disabled": "Has no effect when there is only one page",
|
||||
"primary": "Orientation",
|
||||
"secondary": "Whether to display pages horizontally or vertically"
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@
|
||||
"markdown": {
|
||||
"help-text": "This section supports <1>markdown</1> formatting."
|
||||
},
|
||||
"date": {
|
||||
"present": "Present"
|
||||
},
|
||||
"subtitle": "A free and open source resume builder.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
|
||||
@ -111,9 +111,10 @@
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Upload JSON"
|
||||
"upload-json": "Upload JSON",
|
||||
"upload-json-v2": "Upload JSON from v2"
|
||||
},
|
||||
"body": "If you have a JSON that was exported with the current version of Reactive Resume, you can import it back here to get an editable version again. Previous versions of Reactive Resume are unfortunately not supported at the moment.",
|
||||
"body": "If you have a JSON that was exported with the current version of Reactive Resume, you can import it back here to get an editable version again.",
|
||||
"heading": "Import From Reactive Resume"
|
||||
}
|
||||
},
|
||||
|
||||
358
client/public/locales/es/builder.json
Normal file
358
client/public/locales/es/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Agregar nuevo {{token}}",
|
||||
"delete": "Eliminar {{token}}",
|
||||
"edit": "Editar {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Columnas",
|
||||
"tooltip": "Cambiar número de columnas"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Fecha"
|
||||
},
|
||||
"description": {
|
||||
"label": "Descripción"
|
||||
},
|
||||
"email": {
|
||||
"label": "Correo electrónico"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Deje este campo en blanco, si todavía está presente",
|
||||
"label": "Fecha de finalización"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Palabras claves"
|
||||
},
|
||||
"level": {
|
||||
"label": "Nivel"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Nivel (Número)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nombre"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Número de teléfono"
|
||||
},
|
||||
"position": {
|
||||
"label": "Puesto de trabajo"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Fecha de inicio"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtítulo"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Resumen"
|
||||
},
|
||||
"title": {
|
||||
"label": "Título"
|
||||
},
|
||||
"url": {
|
||||
"label": "Sitio Web"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Página"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Eliminar",
|
||||
"duplicate": "Duplicar",
|
||||
"edit": "Editar"
|
||||
},
|
||||
"empty-text": "Esta lista esta vacia."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "¿Estás seguro de que deseas eliminar este elemento? Esta acción es irreversible.",
|
||||
"delete-section": "Eliminar sección",
|
||||
"rename-section": "Renombrar sección",
|
||||
"toggle-visibility": "Cambiar Visibilidad"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Centrar Tablero",
|
||||
"copy-link": "Copiar enlace al currículum",
|
||||
"export-pdf": "Exportar PDF",
|
||||
"toggle-orientation": "Cambiar la orientación de la página",
|
||||
"toggle-page-break-line": "Alternar línea de salto de página",
|
||||
"toggle-sidebars": "Ocultar/mostrar barra lateral",
|
||||
"zoom-in": "Acercar",
|
||||
"zoom-out": "Alejar"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Eliminar",
|
||||
"duplicate": "Duplicar",
|
||||
"rename": "Renombrar",
|
||||
"share-link": "Compartir enlace",
|
||||
"tooltips": {
|
||||
"delete": "¿Estás seguro de que deseas eliminar este elemento? Esta acción es irreversible.",
|
||||
"share-link": "Debe cambiar la visibilidad de su currículum a público para que sea visible para los demás."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Otorgado por"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Filtro de fotos"
|
||||
},
|
||||
"heading": "Información básica",
|
||||
"headline": {
|
||||
"label": "Titular"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nombre Completo"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Borde"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Escala de grises"
|
||||
},
|
||||
"heading": "Efectos"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Forma"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Tamaño (en píxeles)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Eliminar foto",
|
||||
"upload": "Subir foto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Emisor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Área de estudio"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Cursos"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Grado"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Calificación"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Institución"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Dirección"
|
||||
},
|
||||
"city": {
|
||||
"label": "Ciudad"
|
||||
},
|
||||
"country": {
|
||||
"label": "País"
|
||||
},
|
||||
"heading": "Ubicación",
|
||||
"postal-code": {
|
||||
"label": "Código Postal"
|
||||
},
|
||||
"region": {
|
||||
"label": "Area"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Red"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nombre de usario"
|
||||
}
|
||||
},
|
||||
"heading": "Perfiles",
|
||||
"heading_one": "Perfil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Editor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Relación"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Sección"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Organización"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "CSS personalizado"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Exportar",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Descargar una versión JSON de su currículum que se puede volver a importar a Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Generando PDF",
|
||||
"secondary": "Por favor, espere mientras se genera su PDF, esto puede tardar hasta 15 segundos."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Descargar un PDF de su currículum que puede imprimir y enviar al trabajo de sus sueños. Este archivo no se puede volver a importar para su posterior edición."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Diseño",
|
||||
"tooltip": {
|
||||
"reset-layout": "Restablecer Diseño"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "¿Algo que te impide hacer un currículum? ¿O tienes una idea increíble para agregar? Plantea una Propuesta en GitHub para comenzar.",
|
||||
"button": "Propuesta de GitHub",
|
||||
"heading": "¿Errores? ¿Solicitud de características?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Si le gustó usar Reactive Resume, considere donar lo que pueda a la causa de mantener la aplicación en funcionamiento, sin anuncios y gratis para siempre.",
|
||||
"button": "Invítame a un café",
|
||||
"heading": "Donar a Reactive Resume"
|
||||
},
|
||||
"github": "Código Fuente",
|
||||
"heading": "Enlaces"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Fecha",
|
||||
"secondary": "Formato de fecha para usar en toda la aplicación"
|
||||
},
|
||||
"heading": "Global",
|
||||
"language": {
|
||||
"primary": "Idioma",
|
||||
"secondary": "Idioma que se utilizará en toda la aplicación"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Tema"
|
||||
}
|
||||
},
|
||||
"heading": "Preferencias",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Linea de separación",
|
||||
"secondary": "Mostrar una línea en todas las páginas para marcar la altura de una página A4"
|
||||
},
|
||||
"heading": "Página",
|
||||
"orientation": {
|
||||
"disabled": "No tiene efecto cuando solo hay una página",
|
||||
"primary": "Orientación",
|
||||
"secondary": "Visualización horizontal o vertical de las páginas"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "Currículum",
|
||||
"reset": {
|
||||
"primary": "Restablecer Todo",
|
||||
"secondary": "¿Has cometido demasiados errores? Haz clic aquí para restablecer todos los cambios y empezar de cero. Ten cuidado, esta acción no se puede revertir."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Cargar datos de muestra",
|
||||
"secondary": "¿No sabe por dónde empezar? Haz clic aquí para cargar algunos datos de muestra y ver cómo es un currículum completo."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Compartir",
|
||||
"short-url": {
|
||||
"label": "Preferir URL corta"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Permitir que cualquier persona con un enlace vea su currículum",
|
||||
"title": "Público"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Plantillas"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Fondo"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Principal"
|
||||
},
|
||||
"text": {
|
||||
"label": "Texto"
|
||||
}
|
||||
},
|
||||
"heading": "Tema"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Familia tipográfica"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Tamaño de fuente"
|
||||
}
|
||||
},
|
||||
"heading": "Tipografía",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Cuerpo"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Encabezados"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/es/common.json
Normal file
32
client/public/locales/es/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Hola",
|
||||
"logout": "Cerrar sesión"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Un proyecto apasionante de <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Idioma ausente?"
|
||||
},
|
||||
"license": "Por la comunidad, para la comunidad."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Esta sección soporta el formato <1>markdown</1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "Actualidad"
|
||||
},
|
||||
"subtitle": "Un generador de currículum gratuito y de código abierto.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Por favor, suba sólo archivos de menos de 2 megabytes.",
|
||||
"upload-photo-size": "Por favor, suba sólo fotos de menos de 2 megabytes, preferiblemente cuadradas."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Se ha copiado un enlace a su currículum en su portapapeles."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/es/dashboard.json
Normal file
25
client/public/locales/es/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Empezar desde cero",
|
||||
"title": "Crear currículum"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON Resume, Reactive Resume",
|
||||
"title": "Importar desde fuentes externas"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Borrar",
|
||||
"duplicate": "Duplicar",
|
||||
"open": "Abrir",
|
||||
"rename": "Rebautizar",
|
||||
"share-link": "Compartir enlace",
|
||||
"tooltips": {
|
||||
"delete": "¿Está seguro de que desea eliminar este currículum? Esta es una acción irreversible.",
|
||||
"share-link": "Debe cambiar la visibilidad de su currículum a público para que sea visible para los demás."
|
||||
}
|
||||
},
|
||||
"timestamp": "Última actualización {{timestamp}}"
|
||||
},
|
||||
"title": "Panel de Control"
|
||||
}
|
||||
41
client/public/locales/es/landing.json
Normal file
41
client/public/locales/es/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Ir a la aplicación",
|
||||
"login": "Iniciar sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"register": "Registrar"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Características",
|
||||
"list": {
|
||||
"ads": "Sin publicidad",
|
||||
"export": "Exporta tu currículum a formato JSON o PDF",
|
||||
"free": "Gratis para siempre",
|
||||
"import": "Importar datos de LinkedIn, JSON Resume",
|
||||
"languages": "Accesible en varios idiomas",
|
||||
"more": "Y funciones mucho más emocionantes, <1>lea todo sobre esto aquí</1>",
|
||||
"tracking": "Sin seguimiento de usuario"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Enlaces",
|
||||
"links": {
|
||||
"donate": "Donar",
|
||||
"github": "Código fuente",
|
||||
"privacy": "Política de Privacidad",
|
||||
"service": "Términos de Servicio"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Capturas de pantalla"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Opiniones",
|
||||
"body": "Bueno o malo, me encantaría saber tu opinión sobre Reactive Resume y cómo ha sido la experiencia para ti.<br/>Estos son algunos de los mensajes enviados por usuarios de todo el mundo.",
|
||||
"contact": "Puedes comunicarte conmigo a través de <1>mi correo electrónico</1> o a través del formulario de contacto en <3>mi sitio web</3>."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume es un generador de currículums gratuito y de código abierto que está diseñado para hacer que las tareas mundanas de crear, actualizar y compartir su currículum sean tan fáciles como 1, 2, 3. Con esta aplicación, puede crear múltiples currículums, compartirlos con reclutadores o amigos a través de un enlace único e imprímalo como PDF, todo gratis, sin anuncios, sin seguimiento, sin perder la integridad y privacidad de sus datos.",
|
||||
"heading": "Resumen"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/es/modals.json
Normal file
136
client/public/locales/es/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Enviar correo electrónico para restablecer la contraseña"
|
||||
},
|
||||
"body": "Simplemente ingrese la dirección de correo electrónico asociada con la cuenta que desea recuperar.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Dirección de correo electrónico"
|
||||
}
|
||||
},
|
||||
"heading": "¿Olvidó su contraseña?",
|
||||
"help-text": "Si la cuenta existe, recibirá un correo electrónico con un enlace para restablecer su contraseña."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Acceso",
|
||||
"google": "Iniciar sesión con Google"
|
||||
},
|
||||
"body": "Por favor, introduzca su nombre de usuario y contraseña asociados a su cuenta para iniciar sesión y acceder, gestionar y compartir sus currículos.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Contraseña"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "También puede ingresar su dirección de correo electrónico",
|
||||
"label": "Nombre de usuario"
|
||||
}
|
||||
},
|
||||
"heading": "Ingrese en su cuenta",
|
||||
"recover-text": "En caso de que hayas olvidado tu contraseña, puedes <1>recuperar tu cuenta</1> aquí.",
|
||||
"register-text": "Si no tiene una, puede <1>crear una cuenta</1> aquí."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Registrarse",
|
||||
"google": "Regístrese con Google"
|
||||
},
|
||||
"body": "Por favor ingrese su información personal para crear una cuenta.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Confirmar Contraseña"
|
||||
},
|
||||
"email": {
|
||||
"label": "Dirección de correo electrónico"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nombre completo"
|
||||
},
|
||||
"password": {
|
||||
"label": "Clave"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nombre de usuario"
|
||||
}
|
||||
},
|
||||
"heading": "Crear una cuenta",
|
||||
"loginText": "Si ya tiene una cuenta, puede <1>iniciar sesión aquí</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Establecer una nueva contraseña"
|
||||
},
|
||||
"body": "Introduzca una nueva contraseña para su cuenta.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Confirmar contraseña"
|
||||
},
|
||||
"password": {
|
||||
"label": "Clave"
|
||||
}
|
||||
},
|
||||
"heading": "Restablecer tu contraseña"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Crear currículum"
|
||||
},
|
||||
"body": "Comience a construir su currículum dándole un nombre. Podría ser en referencia al puesto que está solicitando, o simplemente a su refrigerio favorito.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nombre"
|
||||
},
|
||||
"public": {
|
||||
"label": "¿Es de acceso público?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Segmento"
|
||||
}
|
||||
},
|
||||
"heading": "Crear un nuevo currículum"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Importar desde fuentes externas",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Subir JSON"
|
||||
},
|
||||
"body": "Si tiene un <1>JSON Resume validado</1> listo para usar, puede usarlo para acelerar su desarrollo en Reactive Resume. Haga clic en el botón a continuación y cargue un archivo JSON válido para comenzar.",
|
||||
"heading": "Importar desde JSON Resume"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "Subir archivo ZIP"
|
||||
},
|
||||
"body": "Puede ahorrar tiempo exportando sus datos de LinkedIn y usándolos para autocompletar campos en Reactive Resume. Dirígete a <1>Privacidad de datos</1> en LinkedIn y solicita un archivo de tus datos. Una vez que esté disponible, cargue el archivo ZIP a continuación.",
|
||||
"heading": "Importar desde LinkedIn"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Subir JSON",
|
||||
"upload-json-v2": "Subir JSON desde v2"
|
||||
},
|
||||
"body": "Si tiene un JSON que se exportó con la versión actual de Reactive Resume, puede volver a importarlo aquí para obtener una versión editable nuevamente.",
|
||||
"heading": "Importar desde Reactive Resume"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Renombrar currículum"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nombre"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Babosa"
|
||||
}
|
||||
},
|
||||
"heading": "Renombrar tu currículum"
|
||||
}
|
||||
}
|
||||
}
|
||||
358
client/public/locales/fr/builder.json
Normal file
358
client/public/locales/fr/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Ajouter un/une {{token}}",
|
||||
"delete": "Supprimer {{token}}",
|
||||
"edit": "Éditer {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Colonnes",
|
||||
"tooltip": "Modifier le nombre de colonnes"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Date"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
"email": {
|
||||
"label": "Adresse email"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Si actuel, laisser ce champ vide",
|
||||
"label": "Date de fin"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Mots-clés"
|
||||
},
|
||||
"level": {
|
||||
"label": "Niveau"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Niveau (nombre)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nom"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Numéro de téléphone"
|
||||
},
|
||||
"position": {
|
||||
"label": "Poste"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Date de début"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sous-titre"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Résumé"
|
||||
},
|
||||
"title": {
|
||||
"label": "Titre"
|
||||
},
|
||||
"url": {
|
||||
"label": "Site web"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Page"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Supprimer",
|
||||
"duplicate": "Dédoubler",
|
||||
"edit": "Éditer"
|
||||
},
|
||||
"empty-text": "Cette liste est vide."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Êtes-vous sûr de vouloir supprimer cet objet ? Cette action est irréversible.",
|
||||
"delete-section": "Supprimer la section",
|
||||
"rename-section": "Renommer la section",
|
||||
"toggle-visibility": "Rendre visible/invisible"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Centrer l'affichage",
|
||||
"copy-link": "Copier le lien vers le CV",
|
||||
"export-pdf": "Exporter en PDF",
|
||||
"toggle-orientation": "Basculer l'orientation de la page",
|
||||
"toggle-page-break-line": "Afficher/cacher l'indicateur de saut de page",
|
||||
"toggle-sidebars": "Afficher/cacher les barres latérales",
|
||||
"zoom-in": "Zoomer",
|
||||
"zoom-out": "Dézoomer"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Supprimer",
|
||||
"duplicate": "Dédoubler",
|
||||
"rename": "Renommer",
|
||||
"share-link": "Partager un lien",
|
||||
"tooltips": {
|
||||
"delete": "Êtes-vous sûr(e) de vouloir supprimer ce CV ? Cette action est irréversible.",
|
||||
"share-link": "Vous devez changer la visibilité de votre CV en public pour le rendre visible aux autres."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Décerné par"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Filtres pour la photo"
|
||||
},
|
||||
"heading": "Informations de base",
|
||||
"headline": {
|
||||
"label": "Titre"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nom complet"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Bordure"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Noir et blanc"
|
||||
},
|
||||
"heading": "Effets"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Forme"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Taille (en pixels)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Supprimer la photo",
|
||||
"upload": "Importer une photo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Certifié par"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Domaine d'étude"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Cours"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Diplôme"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Note"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Établissement"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Adresse"
|
||||
},
|
||||
"city": {
|
||||
"label": "Commune"
|
||||
},
|
||||
"country": {
|
||||
"label": "Pays"
|
||||
},
|
||||
"heading": "Adresse",
|
||||
"postal-code": {
|
||||
"label": "Code postal"
|
||||
},
|
||||
"region": {
|
||||
"label": "Région"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Réseau social"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nom d'utilisateur"
|
||||
}
|
||||
},
|
||||
"heading": "Profils",
|
||||
"heading_one": "Profil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Éditeur"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Type de relation"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Section"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Association"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "CSS personnalisé"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Exporter",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Télécharger une version JSON de votre CV, qui pourra être réimportée dans Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Génération du PDF",
|
||||
"secondary": "Veuillez patienter pendant que votre PDF est généré, cela peut prendre jusqu'à 15 secondes."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Téléchargez un PDF de votre CV que vous pourrez imprimer et envoyer à l'emploi de vos rêves. Ce fichier ne peut pas être réimporté pour être modifié ultérieurement."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Disposition",
|
||||
"tooltip": {
|
||||
"reset-layout": "Réinitialiser la disposition"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Quelque chose vous a empêché de rédiger un CV ? Ou vous avez une idée géniale à ajouter ? Créez une issue sur GitHub pour commencer.",
|
||||
"button": "Issues GitHub",
|
||||
"heading": "Bogues ? Demandes de fonctionnalités ?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Si vous avez aimé utiliser Reactive Resume, pensez à donner comme vous le pouvez pour que l'application reste disponible, gratuite et sans publicité pour toujours.",
|
||||
"button": "Offrez-moi un café",
|
||||
"heading": "Faire un don à Reactive Resume"
|
||||
},
|
||||
"github": "Code source",
|
||||
"heading": "Liens"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Date",
|
||||
"secondary": "Format de date à utiliser dans l'application"
|
||||
},
|
||||
"heading": "Général",
|
||||
"language": {
|
||||
"primary": "Langue",
|
||||
"secondary": "Langue d'affichage à utiliser dans l'application"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Thème"
|
||||
}
|
||||
},
|
||||
"heading": "Paramètres",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Indicateur de changement de page",
|
||||
"secondary": "Afficher une ligne sur toutes les pages pour marquer la hauteur d'une feuille A4"
|
||||
},
|
||||
"heading": "Page",
|
||||
"orientation": {
|
||||
"disabled": "N'a aucun effet lorsqu'il n'y a qu'une seule page",
|
||||
"primary": "Orientation",
|
||||
"secondary": "Afficher les pages horizontalement ou verticalement"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "CV",
|
||||
"reset": {
|
||||
"primary": "Tout remettre à zéro",
|
||||
"secondary": "Vous avez fait trop d'erreurs ? Cliquez ici pour réinitialiser toutes les modifications et repartir de zéro. Attention, cette action ne peut pas être annulée."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Charger les données de démo",
|
||||
"secondary": "Vous ne savez pas par où commencer ? Cliquez ici pour charger quelques exemples de données afin de voir à quoi ressemble un CV complet."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Partage",
|
||||
"short-url": {
|
||||
"label": "Préférer une URL courte"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Permettre à toute personne ayant un lien de consulter votre CV",
|
||||
"title": "Public"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Modèles"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Couleur d'arrière plan"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Couleur principale"
|
||||
},
|
||||
"text": {
|
||||
"label": "Couleur de texte"
|
||||
}
|
||||
},
|
||||
"heading": "Thème"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Famille de police"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Taille de la police"
|
||||
}
|
||||
},
|
||||
"heading": "Typographie",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Contenu"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Titres"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/fr/common.json
Normal file
32
client/public/locales/fr/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Bonjour",
|
||||
"logout": "Déconnexion"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Un projet passionné de <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Il manque votre langue ?"
|
||||
},
|
||||
"license": "Par la communauté, pour la communauté."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Cette section prend en charge la mise en forme <1>markdown</1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "Présent"
|
||||
},
|
||||
"subtitle": "Un constructeur de CV gratuit et open source.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Veuillez télécharger uniquement des fichiers de moins de 2 Mo.",
|
||||
"upload-photo-size": "Veuillez télécharger uniquement des photos de moins de 2 Mo, de préférence carrées."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Un lien vers votre CV a été copié dans votre presse-papier."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/fr/dashboard.json
Normal file
25
client/public/locales/fr/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Partir de zéro",
|
||||
"title": "Créer un nouveau CV"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON Resume, Reactive Resume",
|
||||
"title": "Importer de sources externes"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Supprimer",
|
||||
"duplicate": "Dédoubler",
|
||||
"open": "Ouvrir",
|
||||
"rename": "Renommer",
|
||||
"share-link": "Partager un lien",
|
||||
"tooltips": {
|
||||
"delete": "Êtes-vous sûr(e) de vouloir supprimer ce CV ? Cette action est irréversible.",
|
||||
"share-link": "Vous devez changer la visibilité de votre CV en public pour le rendre visible aux autres."
|
||||
}
|
||||
},
|
||||
"timestamp": "Dernière mise à jour il y a {{timestamp}}"
|
||||
},
|
||||
"title": "Tableau de bord"
|
||||
}
|
||||
41
client/public/locales/fr/landing.json
Normal file
41
client/public/locales/fr/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Accéder à l'app",
|
||||
"login": "Connexion",
|
||||
"logout": "Déconnexion",
|
||||
"register": "Inscription"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Fonctionnalités",
|
||||
"list": {
|
||||
"ads": "Pas de publicité",
|
||||
"export": "Exporter votre CV au format JSON ou PDF",
|
||||
"free": "Gratuit, pour toujours",
|
||||
"import": "Importer des données depuis LinkedIn, JSON Resume",
|
||||
"languages": "Accessible en plusieurs langues",
|
||||
"more": "Et bien plus de fonctionnalités intéressantes, <1>tout lire ici</1>",
|
||||
"tracking": "Pas de pistage des utilisateurs"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Liens",
|
||||
"links": {
|
||||
"donate": "Faire un don",
|
||||
"github": "Code source",
|
||||
"privacy": "Politique de confidentialité",
|
||||
"service": "Conditions d'utilisation"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Captures d'écran"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Témoignages",
|
||||
"body": "Bonne ou mauvaiss, j'aimerais entendre votre opinion sur Reactive Resume et comment l'expérience a été pour vous.<br/>Voici quelques-uns des messages envoyés par des utilisateurs du monde entier.",
|
||||
"contact": "Vous pouvez me contacter via <1>mon e-mail</1> ou via le formulaire de contact de <3>mon site web</3>."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume est un générateur de CV gratuit et open source, conçu pour rendre les tâches banales de création, de mise à jour et de partage de votre CV aussi faciles que de compter jusqu'à 3. Avec cette application, vous pouvez créer plusieurs CVs, les partager avec des recruteurs ou des amis par le biais d'un lien unique et les imprimer au format PDF, le tout gratuitement, sans publicité, sans pistage, et sans perdre l'intégrité et la confidentialité de vos données.",
|
||||
"heading": "Résumé"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/fr/modals.json
Normal file
136
client/public/locales/fr/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Envoyer l'email de réinitialisation du mot de passe"
|
||||
},
|
||||
"body": "Il suffit de saisir l'adresse email associée au compte que vous souhaitez récupérer.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Adresse e-mail"
|
||||
}
|
||||
},
|
||||
"heading": "Mot de passe oublié ?",
|
||||
"help-text": "Si le compte existe, vous recevrez un courriel contenant un lien pour réinitialiser votre mot de passe."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Connexion",
|
||||
"google": "Connexion avec Google"
|
||||
},
|
||||
"body": "Veuillez entrer votre nom d'utilisateur et votre mot de passe associés à votre compte pour vous connecter et accéder, gérer et partager vos CVs.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Mot de passe"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "Vous pouvez également saisir votre adresse e-mail",
|
||||
"label": "Nom d'utilisateur"
|
||||
}
|
||||
},
|
||||
"heading": "Connexion à votre compte",
|
||||
"recover-text": "Si vous avez oublié votre mot de passe, vous pouvez <1>récupérer votre compte</1> ici.",
|
||||
"register-text": "Si vous n'en avez pas, vous pouvez <1>créer un compte</1> ici."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Inscription",
|
||||
"google": "Inscription avec Google"
|
||||
},
|
||||
"body": "Veuillez saisir vos informations personnelles pour créer un compte.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Confirmez le mot de passe"
|
||||
},
|
||||
"email": {
|
||||
"label": "Adresse e-mail"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nom complet"
|
||||
},
|
||||
"password": {
|
||||
"label": "Mot de passe"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nom d'utilisateur"
|
||||
}
|
||||
},
|
||||
"heading": "Créer un compte",
|
||||
"loginText": "Si vous avez déjà un compte, vous pouvez <1>vous connecter ici</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Définir un nouveau mot de passe"
|
||||
},
|
||||
"body": "Saisissez un nouveau mot de passe pour votre compte.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Confirmez le mot de passe"
|
||||
},
|
||||
"password": {
|
||||
"label": "Mot de passe"
|
||||
}
|
||||
},
|
||||
"heading": "Réinitialiser votre mot de passe"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Créer un CV"
|
||||
},
|
||||
"body": "Commencez à construire votre CV en lui donnant un nom. Il peut s'agir d'une référence au rôle auquel vous postulez ou simplement de votre repas préféré.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nom"
|
||||
},
|
||||
"public": {
|
||||
"label": "Est-il accessible au public ?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Alias"
|
||||
}
|
||||
},
|
||||
"heading": "Créer un nouveau CV"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Importer de sources externes",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Mettre en ligne un JSON"
|
||||
},
|
||||
"body": "Si vous avez un <1>JSON Resume valide</1> prêt à l'emploi, vous pouvez l'utiliser pour accélérer votre création sur Reactive Resume. Cliquez sur le bouton ci-dessous et mettez en ligne un fichier JSON valide pour commencer.",
|
||||
"heading": "Importer depuis JSON Resume"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "Mettre en ligne une archive ZIP"
|
||||
},
|
||||
"body": "Vous pouvez gagner du temps en exportant vos données depuis LinkedIn et en les utilisant pour remplir automatiquement les champs sur Reactive Resume. Rendez-vous dans la section <1>Confidentialité des données</1> sur LinkedIn et demandez une archive de vos données. Une fois disponible, chargez le fichier ZIP ci-dessous.",
|
||||
"heading": "Import depuis LinkedIn"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Mettre en ligne un JSON",
|
||||
"upload-json-v2": "Télécharger JSON à partir de la v2"
|
||||
},
|
||||
"body": "Si vous avez un JSON qui a été exporté avec la version actuelle de Reactive Resume, vous pouvez le réimporter ici pour obtenir à nouveau une version modifiable.",
|
||||
"heading": "Importer depuis Reactive Resume"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Renommer le CV"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nom"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Alias"
|
||||
}
|
||||
},
|
||||
"heading": "Renommer votre CV"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -61,18 +61,18 @@
|
||||
"page": "पृष्ठ"
|
||||
},
|
||||
"list": {
|
||||
"empty-text": "यह सूची खाली है।",
|
||||
"actions": {
|
||||
"edit": "संपादित करें",
|
||||
"delete": "हटाएं",
|
||||
"duplicate": "डुप्लिकेट",
|
||||
"delete": "हटाएं"
|
||||
}
|
||||
"edit": "संपादित करें"
|
||||
},
|
||||
"empty-text": "यह सूची खाली है।"
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "क्या आप सुनिश्चित रूप से इस आइटम को मिटाना चाहते हैं? यह एक अपरिवर्तनीय क्रिया है।",
|
||||
"delete-section": "अनुभाग हटाएं",
|
||||
"rename-section": "अनुभाग का नाम बदलें",
|
||||
"toggle-visibility": "दृश्यता टॉगल करें",
|
||||
"delete-item": "क्या आप सुनिश्चित रूप से इस आइटम को मिटाना चाहते हैं? यह एक अपरिवर्तनीय क्रिया है।"
|
||||
"toggle-visibility": "दृश्यता टॉगल करें"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
@ -290,6 +290,7 @@
|
||||
},
|
||||
"heading": "पृष्ठ",
|
||||
"orientation": {
|
||||
"disabled": "केवल एक पृष्ठ होने पर कोई प्रभाव नहीं पड़ता",
|
||||
"primary": "अभिविन्यास",
|
||||
"secondary": "पृष्ठों को क्षैतिज या लंबवत रूप से प्रदर्शित करना है या नहीं"
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@
|
||||
"markdown": {
|
||||
"help-text": "यह अनुभाग <1>मार्कडाउन</1> स्वरूपण का समर्थन करता है।"
|
||||
},
|
||||
"date": {
|
||||
"present": "वर्तमान"
|
||||
},
|
||||
"subtitle": "एक फ्री और ओपन सोर्स रिज्यूम बिल्डर।",
|
||||
"title": "रिएक्टिव रिज्यूमे",
|
||||
"toast": {
|
||||
|
||||
@ -111,9 +111,10 @@
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON अपलोड करें"
|
||||
"upload-json": "JSON अपलोड करें",
|
||||
"upload-json-v2": "v2 . से JSON अपलोड करें"
|
||||
},
|
||||
"body": "यदि आपके पास एक JSON है जिसे रिएक्टिव रिज्यूमे के वर्तमान संस्करण के साथ निर्यात किया गया था, तो आप इसे फिर से एक संपादन योग्य संस्करण प्राप्त करने के लिए यहां वापस आयात कर सकते हैं। रिएक्टिव रिज्यूमे के पिछले संस्करण दुर्भाग्य से इस समय समर्थित नहीं हैं।",
|
||||
"body": "यदि आपके पास एक JSON है जिसे रिएक्टिव रिज्यूमे के वर्तमान संस्करण के साथ निर्यात किया गया था, तो आप इसे फिर से एक संपादन योग्य संस्करण प्राप्त करने के लिए यहां वापस आयात कर सकते हैं।",
|
||||
"heading": "रिएक्टिव रिज्यूमे से आयात करें"
|
||||
}
|
||||
},
|
||||
|
||||
358
client/public/locales/it/builder.json
Normal file
358
client/public/locales/it/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Aggiungi {{token}}",
|
||||
"delete": "Elimina {{token}}",
|
||||
"edit": "Modifica {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Colonne",
|
||||
"tooltip": "Modifica numero di colonne"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Data"
|
||||
},
|
||||
"description": {
|
||||
"label": "Descrizione"
|
||||
},
|
||||
"email": {
|
||||
"label": "Indirizzo e-mail"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Se in corso, lascia questo campo vuoto",
|
||||
"label": "Data di fine"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Parole chiave"
|
||||
},
|
||||
"level": {
|
||||
"label": "Livello"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Livello (numero)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nome"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Numero di telefono"
|
||||
},
|
||||
"position": {
|
||||
"label": "Posizione"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Data di inizio"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Sottotitolo"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Sommario"
|
||||
},
|
||||
"title": {
|
||||
"label": "Titolo"
|
||||
},
|
||||
"url": {
|
||||
"label": "Sito web"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Pagina"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Elimina",
|
||||
"duplicate": "Duplica",
|
||||
"edit": "Modifica"
|
||||
},
|
||||
"empty-text": "Questo elenco è vuoto."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Vuoi davvero rimuovere questo elemento? Questa operazione è irreversibile.",
|
||||
"delete-section": "Elimina sezione",
|
||||
"rename-section": "Rinomina sezione",
|
||||
"toggle-visibility": "Mostra/Nascondi"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Centra tavola da disegno",
|
||||
"copy-link": "Copia link del curriculum",
|
||||
"export-pdf": "Esporta in PDF",
|
||||
"toggle-orientation": "Orientamento verticale/orizzontale",
|
||||
"toggle-page-break-line": "Mostra/Nascondi linea interruzione pagina",
|
||||
"toggle-sidebars": "Mostra/Nascondi barre laterali",
|
||||
"zoom-in": "Ingrandisci",
|
||||
"zoom-out": "Riduci"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Elimina",
|
||||
"duplicate": "Duplica",
|
||||
"rename": "Rinomina",
|
||||
"share-link": "Condividi link",
|
||||
"tooltips": {
|
||||
"delete": "Vuoi davvero eliminare questo curriculum? Questa operazione è irreversibile.",
|
||||
"share-link": "Per rendere il curriculum visibile agli altri, imposta la visibilità su \"Pubblico\"."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Conferito da"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Filtri per foto"
|
||||
},
|
||||
"heading": "Informazioni di base",
|
||||
"headline": {
|
||||
"label": "Intestazione"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nome e cognome"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Bordo"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Scala di grigi"
|
||||
},
|
||||
"heading": "Effetti"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Forma"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Dimensioni (pixel)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Rimuovi foto",
|
||||
"upload": "Carica foto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Rilasciata da"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Area di studio"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Corsi"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Laurea"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Voto"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Istituto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Indirizzo"
|
||||
},
|
||||
"city": {
|
||||
"label": "Città"
|
||||
},
|
||||
"country": {
|
||||
"label": "Paese"
|
||||
},
|
||||
"heading": "Posizione",
|
||||
"postal-code": {
|
||||
"label": "CAP"
|
||||
},
|
||||
"region": {
|
||||
"label": "Regione"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Rete"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nome utente"
|
||||
}
|
||||
},
|
||||
"heading": "Profili",
|
||||
"heading_one": "Profilo"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Pubblicato da"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Rapporto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Sezione"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Organizzazione"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "CSS personalizzato"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Esporta",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Scarica una versione JSON del tuo curriculum che puoi importare nuovamente in Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Generazione del PDF in corso...",
|
||||
"secondary": "Attendi che la generazione del PDF sia completata, l'operazione potrebbe richiedere fino a 15 secondi."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Scarica un PDF del tuo curriculum che puoi stampare e usare per il lavoro dei tuoi sogni. Questo file non può essere importato nuovamente per ulteriori modifiche."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Layout",
|
||||
"tooltip": {
|
||||
"reset-layout": "Ripristina layout"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Hai riscontrato un problema nella creazione del tuo curriculum? Hai un'idea fantastica da aggiungere? Usa gli Issue di GitHub per iniziare.",
|
||||
"button": "Issue di GitHub",
|
||||
"heading": "Bug? Richieste di funzionalità?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Se Reactive Resume ti è piaciuto, ti invitiamo a contribuire con una donazione. In questo modo l'applicazione potrà continuare ad essere attiva, gratuita e senza pubblicità.",
|
||||
"button": "Offrimi un caffè",
|
||||
"heading": "Dona a Reactive Resume"
|
||||
},
|
||||
"github": "Codice sorgente",
|
||||
"heading": "Link"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Data",
|
||||
"secondary": "Formato della data da usare nell'app"
|
||||
},
|
||||
"heading": "Globale",
|
||||
"language": {
|
||||
"primary": "Lingua",
|
||||
"secondary": "Lingua di visualizzazione dell'app"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Tema"
|
||||
}
|
||||
},
|
||||
"heading": "Impostazioni",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Linea di interruzione",
|
||||
"secondary": "Mostra su tutte le pagine una linea che indica l'altezza di un foglio A4"
|
||||
},
|
||||
"heading": "Pagina",
|
||||
"orientation": {
|
||||
"disabled": "Questa funzione non ha effetto se c'è solo una pagina",
|
||||
"primary": "Orientamento",
|
||||
"secondary": "Scegli se visualizzare le pagine in orizzontale o verticale"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "Curriculum",
|
||||
"reset": {
|
||||
"primary": "Ripristina tutto",
|
||||
"secondary": "Hai fatto un po' troppi errori? Clicca qui per ripristinare tutte le modifiche e iniziare da zero. Questa operazione non è reversibile."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Carica dati di esempio",
|
||||
"secondary": "Non sai da dove cominciare? Clicca qui per caricare alcuni dati di esempio per vedere che aspetto ha un curriculum completo."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Condividi",
|
||||
"short-url": {
|
||||
"label": "Preferisci URL breve"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Consenti a chiunque abbia il link di vedere il tuo curriculum",
|
||||
"title": "Pubblico"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Modelli"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Sfondo"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Principale"
|
||||
},
|
||||
"text": {
|
||||
"label": "Testo"
|
||||
}
|
||||
},
|
||||
"heading": "Tema"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Famiglia di caratteri"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Dimensioni carattere"
|
||||
}
|
||||
},
|
||||
"heading": "Tipografia",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Corpo"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Intestazioni"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/it/common.json
Normal file
32
client/public/locales/it/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Ciao",
|
||||
"logout": "Esci"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Un progetto nato dalla passione di <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Non trovi la tua lingua?"
|
||||
},
|
||||
"license": "Dalla community, per la community."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Questa sezione supporta la formattazione <1>Markdown</1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "In corso"
|
||||
},
|
||||
"subtitle": "Un'applicazione gratuita e open source per creare il tuo curriculum.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Carica solo file inferiori a 2 MB.",
|
||||
"upload-photo-size": "Carica solo foto inferiori a 2 MB, preferibilmente quadrate."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Il link del tuo curriculum è stato copiato negli appunti."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/it/dashboard.json
Normal file
25
client/public/locales/it/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Inizia da zero",
|
||||
"title": "Crea nuovo curriculum"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON Resume, Reactive Resume",
|
||||
"title": "Importa da fonti esterne"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Elimina",
|
||||
"duplicate": "Duplica",
|
||||
"open": "Apri",
|
||||
"rename": "Rinomina",
|
||||
"share-link": "Condividi link",
|
||||
"tooltips": {
|
||||
"delete": "Vuoi davvero eliminare questo curriculum? Questa operazione è irreversibile.",
|
||||
"share-link": "Per rendere il curriculum visibile agli altri, imposta la visibilità su \"Pubblico\"."
|
||||
}
|
||||
},
|
||||
"timestamp": "Ultimo aggiornamento {{timestamp}} fa"
|
||||
},
|
||||
"title": "Dashboard"
|
||||
}
|
||||
41
client/public/locales/it/landing.json
Normal file
41
client/public/locales/it/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Vai all'app",
|
||||
"login": "Accedi",
|
||||
"logout": "Esci",
|
||||
"register": "Registrati"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Funzioni",
|
||||
"list": {
|
||||
"ads": "Nessuna pubblicità",
|
||||
"export": "Esporta il tuo curriculum in formato JSON o PDF",
|
||||
"free": "Gratuita, per sempre",
|
||||
"import": "Importa dati da LinkedIn, JSON Resume",
|
||||
"languages": "Accessibile in varie lingue",
|
||||
"more": "Tante altre funzioni interessanti, scopri di più <1>qui</1>",
|
||||
"tracking": "Senza rilevamento delle azioni dell'utente"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Link",
|
||||
"links": {
|
||||
"donate": "Dona",
|
||||
"github": "Codice sorgente",
|
||||
"privacy": "Informativa sulla privacy",
|
||||
"service": "Condizioni d'uso"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Screenshot"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Cosa dicono i nostri utenti",
|
||||
"body": "Che la tua opinione sia positiva o negativa, mi piacerebbe sapere cosa ne pensi di Reactive Resume.<br/>Ecco alcuni dei messaggi che abbiamo ricevuto dai nostri utenti in tutto il mondo.",
|
||||
"contact": "Puoi contattarmi al <1>mio indirizzo e-mail</1> oppure usando l'apposito modulo sul <3>mio sito web</3>."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume è un'applicazione di creazione di curriculum gratuita e open source, ideata per semplificare le attività di creazione, aggiornamento e condivisione del tuo curriculum. Con questa applicazione puoi creare più curriculum, condividerli con recruiter o amici attraverso un link unico e stamparli in formato PDF, il tutto gratuitamente, senza pubblicità, senza tracciamento e soprattutto preservando l'integrità e la privacy dei tuoi dati.",
|
||||
"heading": "Sommario"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/it/modals.json
Normal file
136
client/public/locales/it/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Invia e-mail per reimpostare la password"
|
||||
},
|
||||
"body": "Inserisci l'indirizzo e-mail associato all'account da recuperare.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Indirizzo e-mail"
|
||||
}
|
||||
},
|
||||
"heading": "Hai dimenticato la password?",
|
||||
"help-text": "Se l'account esiste, riceverai un'e-mail con un link per reimpostare la password."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Accedi",
|
||||
"google": "Accedi con Google"
|
||||
},
|
||||
"body": "Per accedere e iniziare a lavorare sui tuoi curriculum, inserisci il nome utente e la password associati al tuo account.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Password"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "Puoi anche inserire il tuo indirizzo e-mail",
|
||||
"label": "Nome utente"
|
||||
}
|
||||
},
|
||||
"heading": "Accedi al tuo account",
|
||||
"recover-text": "Se hai dimenticato la password, puoi recuperare il tuo account <1>qui</1>.",
|
||||
"register-text": "Se non hai ancora un account, puoi crearne uno <1>qui</1>."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Registrati",
|
||||
"google": "Registrati con Google"
|
||||
},
|
||||
"body": "Inserisci i tuoi dati per creare un account.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Conferma password"
|
||||
},
|
||||
"email": {
|
||||
"label": "Indirizzo e-mail"
|
||||
},
|
||||
"name": {
|
||||
"label": "Nome e cognome"
|
||||
},
|
||||
"password": {
|
||||
"label": "Password"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nome utente"
|
||||
}
|
||||
},
|
||||
"heading": "Crea un account",
|
||||
"loginText": "Se hai già un account, puoi accedere <1>qui</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Imposta nuova password"
|
||||
},
|
||||
"body": "Inserisci una nuova password per l'account.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Conferma password"
|
||||
},
|
||||
"password": {
|
||||
"label": "Password"
|
||||
}
|
||||
},
|
||||
"heading": "Reimposta password"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Crea curriculum"
|
||||
},
|
||||
"body": "Inizia a creare un curriculum inserendo un nome, in riferimento alla posizione per cui vuoi candidarti o semplicemente il tuo snack preferito.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nome"
|
||||
},
|
||||
"public": {
|
||||
"label": "Vuoi renderlo accessibile pubblicamente?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "URL personalizzato"
|
||||
}
|
||||
},
|
||||
"heading": "Crea un nuovo curriculum"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Importa da fonti esterne",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Carica JSON"
|
||||
},
|
||||
"body": "Se hai un <1>JSON Resume</1> valido già pronto, puoi usarlo per velocizzare il lavoro su Reactive Resume. Usa il pulsante qui sotto e carica un file JSON valido per iniziare.",
|
||||
"heading": "Importa da JSON Resume"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "Carica archivio ZIP"
|
||||
},
|
||||
"body": "Puoi velocizzare il tuo lavoro esportando i tuoi dati da LinkedIn e usandoli per riempire automaticamente i campi su Reactive Resume. Vai alla sezione <1>Privacy dei dati</1> di LinkedIn, richiedi una copia dei tuoi dati e carica il file ZIP tramite il pulsante qui sotto.",
|
||||
"heading": "Importa da LinkedIn"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Carica JSON",
|
||||
"upload-json-v2": "Carica JSON dalla v2"
|
||||
},
|
||||
"body": "Se hai un JSON che è stato esportato con la versione corrente di Reactive Resume, puoi importarlo nuovamente qui per ottenere di nuovo una versione modificabile.",
|
||||
"heading": "Importa da Reactive Resume"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Rinomina curriculum"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Nome"
|
||||
},
|
||||
"slug": {
|
||||
"label": "URL personalizzato"
|
||||
}
|
||||
},
|
||||
"heading": "Rinomina il tuo curriculum"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -61,18 +61,18 @@
|
||||
"page": "ಪುಟ"
|
||||
},
|
||||
"list": {
|
||||
"empty-text": "ಈ ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ.",
|
||||
"actions": {
|
||||
"edit": "ತಿದ್ದು",
|
||||
"delete": "ಅಳಿಸಿ",
|
||||
"duplicate": "ನಕಲು ಮಾಡಿ",
|
||||
"delete": "ಅಳಿಸಿ"
|
||||
}
|
||||
"edit": "ತಿದ್ದು"
|
||||
},
|
||||
"empty-text": "ಈ ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "ಈ ಐಟಂ ಅನ್ನು ಅಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಇದು ಬದಲಾಯಿಸಲಾಗದ ಕ್ರಮ.",
|
||||
"delete-section": "ವಿಭಾಗವನ್ನು ಅಳಿಸಿ",
|
||||
"rename-section": "ವಿಭಾಗವನ್ನು ಮರುಹೆಸರಿಸಿ",
|
||||
"toggle-visibility": "ಗೋಚರತೆಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ",
|
||||
"delete-item": "ಈ ಐಟಂ ಅನ್ನು ಅಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ಇದು ಬದಲಾಯಿಸಲಾಗದ ಕ್ರಮ."
|
||||
"toggle-visibility": "ಗೋಚರತೆಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
@ -290,6 +290,7 @@
|
||||
},
|
||||
"heading": "ಪುಟ",
|
||||
"orientation": {
|
||||
"disabled": "ಒಂದು ಪುಟ ಮಾತ್ರ ಇರುವಾಗ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ",
|
||||
"primary": "ದೃಷ್ಟಿಕೋನ",
|
||||
"secondary": "ಪುಟಗಳನ್ನು ಅಡ್ಡಲಾಗಿ ಅಥವಾ ಲಂಬವಾಗಿ ಪ್ರದರ್ಶಿಸಬೇಕೆ"
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@
|
||||
"markdown": {
|
||||
"help-text": "ಈ ವಿಭಾಗವು <1>ಮಾರ್ಕ್ಡೌನ್</1> ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ."
|
||||
},
|
||||
"date": {
|
||||
"present": "ಪ್ರಸ್ತುತ"
|
||||
},
|
||||
"subtitle": "ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲ ರೇಸುಮೆ ಬಿಲ್ಡರ್.",
|
||||
"title": "ರಿಯಾಕ್ಟಿವ್ ರೇಸುಮೆ",
|
||||
"toast": {
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
}
|
||||
},
|
||||
"heading": "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಮರೆತಿರುವಿರಾ?",
|
||||
"help-text": "%1 ರ ಜೊತೆ ಜೋಡಣೆಯಾಗಿರುವ ಖಾತೆ ಇದ್ದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ಗುಪ್ತಪದ ಮರುಹೊಂದಿಕೆ ಕೊಂಡಿಯನ್ನು ಹೊಂದಿರುವ ಮಿಂಚೆಯನ್ನು ಪಡೆಯುವಿರಿ."
|
||||
"help-text": "ಖಾತೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಲು ಲಿಂಕ್ನೊಂದಿಗೆ ಇಮೇಲ್ ಅನ್ನು ನೀವು ಸ್ವೀಕರಿಸುತ್ತೀರಿ."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
@ -104,16 +104,17 @@
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "ಜಿಪ್ (ZIP) ಆರ್ಕೈವ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
"upload-archive": "ಜಿಪ್ ಆರ್ಕೈವ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
},
|
||||
"body": "ಲಿಂಕ್ಡ್ಇನ್ನಿಂದ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ರಫ್ತು ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ನಲ್ಲಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಸ್ವಯಂ ತುಂಬಲು ಅದನ್ನು ಬಳಸುವ ಮೂಲಕ ನೀವು ಸಮಯವನ್ನು ಉಳಿಸಬಹುದು. <1>ಡೇಟಾ ಗೌಪ್ಯತೆಗೆ ಹೋಗಿ</1> ಲಿಂಕ್ಡ್ಇನ್ನಲ್ಲಿ ವಿಭಾಗ ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾದ ಆರ್ಕೈವ್ ಅನ್ನು ವಿನಂತಿಸಿ. ಒಮ್ಮೆ ಅದು ಲಭ್ಯವಾದ ನಂತರ, ಕೆಳಗಿನ ZIP ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ.",
|
||||
"heading": "ಲಿಂಕ್ಡಿನ್(LinkedIn) ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ"
|
||||
"body": "ಲಿಂಕ್ಡ್ಇನ್ನಿಂದ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ರಫ್ತು ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ನಲ್ಲಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಸ್ವಯಂ ತುಂಬಲು ಅದನ್ನು ಬಳಸುವ ಮೂಲಕ ನೀವು ಸಮಯವನ್ನು ಉಳಿಸಬಹುದು. <1>ಡೇಟಾ ಗೌಪ್ಯತೆಗೆ ಹೋಗಿ</1> ಲಿಂಕ್ಡ್ಇನ್ನಲ್ಲಿ ವಿಭಾಗ ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾದ ಆರ್ಕೈವ್ ಅನ್ನು ವಿನಂತಿಸಿ. ಒಮ್ಮೆ ಅದು ಲಭ್ಯವಾದ ನಂತರ, ಕೆಳಗಿನ ಜಿಪ್ ಆರ್ಕೈವ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ.",
|
||||
"heading": "ಲಿಂಕ್ಡಿನ್ ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "ಜೆಸನ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
"upload-json": "ಜೆಸನ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ",
|
||||
"upload-json-v2": "V2 ನಿಂದ JSON ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ"
|
||||
},
|
||||
"body": "ನೀವು ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ನ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಯೊಂದಿಗೆ ರಫ್ತು ಮಾಡಲಾದ ಜೆಸನ್(JSON) ಅನ್ನು ಹೊಂದಿದ್ದರೆ, ಮತ್ತೆ ಸಂಪಾದಿಸಬಹುದಾದ ಆವೃತ್ತಿಯನ್ನು ಪಡೆಯಲು ನೀವು ಅದನ್ನು ಇಲ್ಲಿಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು. ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ನ ಹಿಂದಿನ ಆವೃತ್ತಿಗಳು ದುರದೃಷ್ಟವಶಾತ್ ಸದ್ಯಕ್ಕೆ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ.",
|
||||
"body": "ನೀವು ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ನ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಯೊಂದಿಗೆ ರಫ್ತು ಮಾಡಲಾದ JSON ಅನ್ನು ಹೊಂದಿದ್ದರೆ, ಮತ್ತೆ ಸಂಪಾದಿಸಬಹುದಾದ ಆವೃತ್ತಿಯನ್ನು ಪಡೆಯಲು ನೀವು ಅದನ್ನು ಇಲ್ಲಿಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದು.",
|
||||
"heading": "ಜೆಸನ್ ರೆಸ್ಯೂಮ್ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ"
|
||||
}
|
||||
},
|
||||
|
||||
358
client/public/locales/pl/builder.json
Normal file
358
client/public/locales/pl/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Dodaj nowy {{token}}",
|
||||
"delete": "Usuń {{token}}",
|
||||
"edit": "Edytuj {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Kolumny",
|
||||
"tooltip": "Zmień liczbę kolumn"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Data"
|
||||
},
|
||||
"description": {
|
||||
"label": "Opis"
|
||||
},
|
||||
"email": {
|
||||
"label": "Adres e-mail"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Pozostaw to pole puste, jeśli nadal występuje",
|
||||
"label": "Data zakończenia"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Słowa kluczowe"
|
||||
},
|
||||
"level": {
|
||||
"label": "Poziom"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Poziom (Liczba)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Imię i Nazwisko"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Numer telefonu"
|
||||
},
|
||||
"position": {
|
||||
"label": "Stanowisko"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Data rozpoczęcia"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Podtytuł"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Podsumowanie"
|
||||
},
|
||||
"title": {
|
||||
"label": "Stanowisko"
|
||||
},
|
||||
"url": {
|
||||
"label": "Strona internetowa"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Strona"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Usuń",
|
||||
"duplicate": "Duplikuj",
|
||||
"edit": "Edytuj"
|
||||
},
|
||||
"empty-text": "Lista jest pusta."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Czy na pewno chcesz usunąć ten element? To jest nieodwracalna czynność.",
|
||||
"delete-section": "Usuń sekcję",
|
||||
"rename-section": "Zmień Nazwę Sekcji",
|
||||
"toggle-visibility": "Pokaż / Ukryj"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Wyśrodkuj Artboard",
|
||||
"copy-link": "Skopiuj Link do CV",
|
||||
"export-pdf": "Eksportuj do PDF",
|
||||
"toggle-orientation": "Przełącz orientację strony",
|
||||
"toggle-page-break-line": "Przełącz linię podziału strony",
|
||||
"toggle-sidebars": "Przełącz paski boczne",
|
||||
"zoom-in": "Powiększ",
|
||||
"zoom-out": "Pomniejsz"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Usuń",
|
||||
"duplicate": "Duplikuj",
|
||||
"rename": "Zmień nazwę",
|
||||
"share-link": "Udostępnij link",
|
||||
"tooltips": {
|
||||
"delete": "Czy na pewno chcesz usunąć to CV? To jest nieodwracalne działanie.",
|
||||
"share-link": "Musisz zmienić widoczność swojego CV na publiczne, aby było widoczne dla innych."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Nagradzający"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Filtry zdjęcia"
|
||||
},
|
||||
"heading": "Podstawowe",
|
||||
"headline": {
|
||||
"label": "Nagłówek"
|
||||
},
|
||||
"name": {
|
||||
"label": "Imię i nazwisko"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Ramka"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Odcienie Szarości"
|
||||
},
|
||||
"heading": "Efekty"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Kształt"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Rozmiar (w pikselach)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Usuń Zdjęcie",
|
||||
"upload": "Prześlij zdjęcie"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Wystawiony przez"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Obszar badań"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Kursy"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Stopień naukowy"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Ocena"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Instytucja"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Adres"
|
||||
},
|
||||
"city": {
|
||||
"label": "Miasto"
|
||||
},
|
||||
"country": {
|
||||
"label": "Kraj"
|
||||
},
|
||||
"heading": "Lokalizacja",
|
||||
"postal-code": {
|
||||
"label": "Kod pocztowy"
|
||||
},
|
||||
"region": {
|
||||
"label": "Województwo"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Sieć"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nazwa użytkownika"
|
||||
}
|
||||
},
|
||||
"heading": "Profile",
|
||||
"heading_one": "Profil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Wydawca"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "Relacja"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Sekcja"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Organizacja"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "Niestandardowy CSS"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Eksportuj",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Pobierz wersję JSON, którą można zaimportować z powrotem do Reactive Resume."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "Generowanie pliku PDF",
|
||||
"secondary": "Poczekaj, aż Twój plik PDF zostanie wygenerowany, może to potrwać do 15 sekund."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Pobierz plik PDF ze swoim CV, który możesz wydrukować i wysłać do wymarzonej pracy. Tego pliku nie można zaimportować z powrotem do dalszej edycji."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Układ",
|
||||
"tooltip": {
|
||||
"reset-layout": "Zresetuj układ"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Coś powstrzymuje Cię przed zrobieniem CV? A może masz świetny pomysł do dodania? Aby rozpocząć, zgłoś problem w serwisie GitHub.",
|
||||
"button": "Błędy na GitHub",
|
||||
"heading": "Błąd? Prośba o nową funkcjonalność?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Jeśli podobało Ci się korzystanie z Reactive Resume, rozważ przekazanie jak największej kwoty na rzecz utrzymania aplikacji i działania, bez reklam i na zawsze za darmo.",
|
||||
"button": "Kup mi kawę",
|
||||
"heading": "Wesprzyj Reactive Resume"
|
||||
},
|
||||
"github": "Kod źródłowy",
|
||||
"heading": "Odnośniki"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Data",
|
||||
"secondary": "Format daty do użycia w całej aplikacji"
|
||||
},
|
||||
"heading": "Globalne",
|
||||
"language": {
|
||||
"primary": "Język",
|
||||
"secondary": "Wyświetlanie języka używanego w całej aplikacji"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Motyw"
|
||||
}
|
||||
},
|
||||
"heading": "Ustawienia",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Inteligentne dopasowanie linii",
|
||||
"secondary": "Pokaż linię na wszystkich stronach, aby oznaczyć wysokość strony A4"
|
||||
},
|
||||
"heading": "Strona",
|
||||
"orientation": {
|
||||
"disabled": "Nie ma efektu, gdy istnieje tylko jedna strona",
|
||||
"primary": "Kierunek",
|
||||
"secondary": "Czy wyświetlać strony poziomo czy pionowo"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "CV",
|
||||
"reset": {
|
||||
"primary": "Zresetuj wszystko",
|
||||
"secondary": "Popełniłeś zbyt wiele błędów? Kliknij tutaj, aby zresetować wszystkie zmiany i zacząć od zera. Uważaj, tej akcji nie można cofnąć."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Załaduj przykładowe dane",
|
||||
"secondary": "Nie wiesz, od czego zacząć? Kliknij tutaj, aby załadować przykładowe dane i zobaczyć, jak wygląda pełne CV."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Udostępnienie",
|
||||
"short-url": {
|
||||
"label": "Preferuj krótki adres URL"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Zezwalaj każdemu, kto ma link, na przeglądanie Twojego CV",
|
||||
"title": "Publiczny"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Szablony"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Tło"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Podstawowy"
|
||||
},
|
||||
"text": {
|
||||
"label": "Tekst"
|
||||
}
|
||||
},
|
||||
"heading": "Motyw"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Czcionka"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Rozmiar czcionki"
|
||||
}
|
||||
},
|
||||
"heading": "Typografia",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Treść"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Nagłówki"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/pl/common.json
Normal file
32
client/public/locales/pl/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Witaj",
|
||||
"logout": "Wyloguj"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Projekt pasji od <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Brakuje Twojego języka?"
|
||||
},
|
||||
"license": "Przez społeczność dla społeczności."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Ta sekcja obsługuje formatowanie <1>markdown</1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "Obecnie"
|
||||
},
|
||||
"subtitle": "Otwarte i darmowe narzędzie do tworzenia CV.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Proszę przesyłać tylko pliki o rozmiarze poniżej 2 megabajtów.",
|
||||
"upload-photo-size": "Proszę przesyłać tylko zdjęcia o rozmiarze poniżej 2 megabajtów, najlepiej kwadratowe."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Link do Twojego CV został skopiowany do schowka."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/pl/dashboard.json
Normal file
25
client/public/locales/pl/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Rozpocznij od początku",
|
||||
"title": "Utwórz nowe CV"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON Resume, Reactive Resume",
|
||||
"title": "Import z zewnętrznych źródeł"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Usuń",
|
||||
"duplicate": "Duplikuj",
|
||||
"open": "Otwórz",
|
||||
"rename": "Zmień nazwę",
|
||||
"share-link": "Udostępnij link",
|
||||
"tooltips": {
|
||||
"delete": "Czy na pewno chcesz usunąć to CV? To jest nieodwracalne działanie.",
|
||||
"share-link": "Musisz zmienić widoczność swojego CV na publiczne, aby było widoczne dla innych."
|
||||
}
|
||||
},
|
||||
"timestamp": "Ostatnia aktualizacja {{timestamp}} temu"
|
||||
},
|
||||
"title": "Panel"
|
||||
}
|
||||
41
client/public/locales/pl/landing.json
Normal file
41
client/public/locales/pl/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Przejdź do aplikacji",
|
||||
"login": "Zaloguj się",
|
||||
"logout": "Wyloguj",
|
||||
"register": "Zarejestruj się"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Funkcje",
|
||||
"list": {
|
||||
"ads": "Brak reklam",
|
||||
"export": "Eksportuj swoje CV do formatu JSON lub PDF",
|
||||
"free": "Za darmo, na zawsze!",
|
||||
"import": "Importuj dane z LinkedIn, CV JSON",
|
||||
"languages": "Dostępny w wielu językach",
|
||||
"more": "I dużo więcej ekscytujących funkcji, <1>przeczytaj o tym wszystkim tutaj</1>",
|
||||
"tracking": "Brak śledzenia użytkowników"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Odnośniki",
|
||||
"links": {
|
||||
"donate": "Wesprzyj nas",
|
||||
"github": "Kod źródłowy",
|
||||
"privacy": "Polityka prywatności",
|
||||
"service": "Regulamin"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Zrzuty ekranu"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Referencje",
|
||||
"body": "Dobra czy zła, chciałbym usłyszeć Twoją opinię na temat Reactive Resume i dowiedzieć się, jakie są Twoje doświadczenia.<br/>Oto niektóre z wiadomości nadesłanych przez użytkowników z całego świata.",
|
||||
"contact": "Możesz skontaktować się ze mną poprzez <1>mój e-mail</1> lub formularz kontaktowy na <3>mojej stronie internetowej</3>."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume jest darmową i otwartą aplikacją do tworzenia CV, która została stworzona, aby uczynić prozaiczne zadania związane z tworzeniem, aktualizacją i udostępnianiem CV tak łatwymi, jak 1, 2, 3. Dzięki tej aplikacji możesz tworzyć wiele CV, dzielić się nimi z rekruterami lub przyjaciółmi poprzez unikalny link i drukować je jako PDF, a wszystko to za darmo, bez reklam, bez śledzenia, bez utraty integralności i prywatności Twoich danych.",
|
||||
"heading": "Podsumowanie"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/pl/modals.json
Normal file
136
client/public/locales/pl/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Wyślij wiadomość e-mail z resetowaniem hasła"
|
||||
},
|
||||
"body": "Wystarczy wprowadzić adres e-mail powiązany z kontem, które chcesz odzyskać.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Adres e-mail"
|
||||
}
|
||||
},
|
||||
"heading": "Zapomniałeś hasła?",
|
||||
"help-text": "Na twój adres email wysłaliśmy link do zresetowania hasła."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Login",
|
||||
"google": "Zaloguj się za pomocą Google"
|
||||
},
|
||||
"body": "Podaj nazwę użytkownika i hasło przypisane do Twojego konta, aby zalogować się i uzyskać dostęp do swoich życiorysów, zarządzać nimi i udostępniać je.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Hasło"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "Możesz również wprowadzić swój adres e-mail",
|
||||
"label": "Nazwa użytkownika"
|
||||
}
|
||||
},
|
||||
"heading": "Zaloguj się na swoje konto",
|
||||
"recover-text": "Jeśli zapomniałeś hasła, możesz <1>odzyskać swoje konto</1> tutaj.",
|
||||
"register-text": "Jeśli go nie masz, możesz <1>założyć konto</1> tutaj."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Zarejestruj się",
|
||||
"google": "Zarejestruj się przez Google"
|
||||
},
|
||||
"body": "Aby utworzyć konto, wprowadź swoje dane osobowe.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Potwierdź hasło"
|
||||
},
|
||||
"email": {
|
||||
"label": "Adres e-mail"
|
||||
},
|
||||
"name": {
|
||||
"label": "Imię i nazwisko"
|
||||
},
|
||||
"password": {
|
||||
"label": "Hasło"
|
||||
},
|
||||
"username": {
|
||||
"label": "Nazwa użytkownika"
|
||||
}
|
||||
},
|
||||
"heading": "Utwórz konto",
|
||||
"loginText": "Jeśli masz już konto, możesz <1>zalogować się tutaj</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Ustaw nowe hasło"
|
||||
},
|
||||
"body": "Wprowadź nowe hasło dla swojego konta.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Potwierdź hasło"
|
||||
},
|
||||
"password": {
|
||||
"label": "Hasło"
|
||||
}
|
||||
},
|
||||
"heading": "Resetuj swoje hasło"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Utwórz CV"
|
||||
},
|
||||
"body": "Budowanie swojego CV zacznij od nadania mu nazwy. Może ona nawiązywać do roli, o którą się ubiegasz, lub po prostu do Twojej ulubionej przekąski.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Imię"
|
||||
},
|
||||
"public": {
|
||||
"label": "Czy jest publicznie dostępny?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Fragment URL"
|
||||
}
|
||||
},
|
||||
"heading": "Utwórz nowe CV"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Import z zewnętrznych źródeł",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Prześlij JSON"
|
||||
},
|
||||
"body": "Jeśli masz <1>walidowane CV JSON</1> gotowe do pracy, możesz go użyć, aby przyspieszyć swój rozwój w Reactive Resume. Kliknij poniższy przycisk i prześlij poprawny plik JSON, aby rozpocząć.",
|
||||
"heading": "Importuj z JSON Resume"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "Prześlij archiwum ZIP"
|
||||
},
|
||||
"body": "Możesz zaoszczędzić czas, eksportując swoje dane z LinkedIn i używając ich do automatycznego wypełniania pól w Reactive Resume. Przejdź do sekcji <1>Prywatność danych</1> na LinkedIn i poproś o archiwum swoich danych. Gdy tylko będzie ono dostępne, prześlij plik ZIP poniżej.",
|
||||
"heading": "Importuj z LinkedIn"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "Prześlij JSON",
|
||||
"upload-json-v2": "Prześlij JSON z wersji 2"
|
||||
},
|
||||
"body": "Jeśli masz plik JSON, który został wyeksportowany za pomocą bieżącej wersji Reactive Resume, możesz go zaimportować tutaj, aby ponownie uzyskać edytowalną wersję.",
|
||||
"heading": "Importuj z Reactive Resume"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Zmień nazwę CV"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Imię"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Fragment URL"
|
||||
}
|
||||
},
|
||||
"heading": "Zmień nazwę swojego CV"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/pt/common.json
Normal file
32
client/public/locales/pt/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Olá",
|
||||
"logout": "Sair"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Um projeto apaixonado de <1>Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Falta o seu idioma?"
|
||||
},
|
||||
"license": "Pela comunidade, para a comunidade."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Esta secção suporta formatação <1>markdown</1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "Presente"
|
||||
},
|
||||
"subtitle": "Gerador de currículos gratuito e de código aberto.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Carregue apenas arquivos com menos de 2 megabytes.",
|
||||
"upload-photo-size": "Carregue apenas fotos com menos de 2 megabytes, preferencialmente quadradas."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Um link para o seu currículo foi copiado para a área de transferência."
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -61,18 +61,18 @@
|
||||
"page": "பக்கம்"
|
||||
},
|
||||
"list": {
|
||||
"empty-text": "இந்த பட்டியல் காலியாக உள்ளது.",
|
||||
"actions": {
|
||||
"edit": "தொகு",
|
||||
"delete": "அழி",
|
||||
"duplicate": "நகல்",
|
||||
"delete": "அழி"
|
||||
}
|
||||
"edit": "தொகு"
|
||||
},
|
||||
"empty-text": "இந்த பட்டியல் காலியாக உள்ளது."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "இந்த உருப்படியை நிச்சயமாக நீக்க விரும்புகிறீர்களா? இது மீள முடியாத செயல்.",
|
||||
"delete-section": "பிரிவை அழிக்கவும்",
|
||||
"rename-section": "பிரிவின் பெயரை மாற்றவும்",
|
||||
"toggle-visibility": "தெரிவுநிலையை நிலைமாற்று",
|
||||
"delete-item": "இந்த உருப்படியை நிச்சயமாக நீக்க விரும்புகிறீர்களா? இது மீள முடியாத செயல்."
|
||||
"toggle-visibility": "தெரிவுநிலையை நிலைமாற்று"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
@ -290,6 +290,7 @@
|
||||
},
|
||||
"heading": "பக்கம்",
|
||||
"orientation": {
|
||||
"disabled": "ஒரே ஒரு பக்கம் இருக்கும் போது எந்த விளைவும் இல்லை",
|
||||
"primary": "நோக்குநிலை",
|
||||
"secondary": "பக்கங்களை கிடைமட்டமாகவோ அல்லது செங்குத்தாகவோ காட்ட வேண்டுமா"
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@
|
||||
"markdown": {
|
||||
"help-text": "இந்தப் பிரிவு <1>மார்க் டவுன்</1> வடிவமைப்பை ஆதரிக்கிறது."
|
||||
},
|
||||
"date": {
|
||||
"present": "தற்போது"
|
||||
},
|
||||
"subtitle": "இலவச மற்றும் ஓப்பன் சோர்ஸ் ரெஸ்யூம் பில்டர்.",
|
||||
"title": "ரியாக்டிவ் ரெசுமே",
|
||||
"toast": {
|
||||
|
||||
@ -111,9 +111,10 @@
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON ஐப் பதிவேற்றவும்"
|
||||
"upload-json": "JSON ஐப் பதிவேற்றவும்",
|
||||
"upload-json-v2": "V2 இலிருந்து JSON ஐப் பதிவேற்றவும்"
|
||||
},
|
||||
"body": "Reactive Resume இன் தற்போதைய பதிப்பில் ஏற்றுமதி செய்யப்பட்ட JSON உங்களிடம் இருந்தால், திருத்தக்கூடிய பதிப்பை மீண்டும் பெற, அதை மீண்டும் இங்கு இறக்குமதி செய்யலாம். Reactive Resume இன் முந்தைய பதிப்புகள் துரதிருஷ்டவசமாக தற்போது ஆதரிக்கப்படவில்லை.",
|
||||
"body": "Reactive Resume இன் தற்போதைய பதிப்பில் ஏற்றுமதி செய்யப்பட்ட JSON உங்களிடம் இருந்தால், திருத்தக்கூடிய பதிப்பை மீண்டும் பெற, அதை மீண்டும் இங்கு இறக்குமதி செய்யலாம்.",
|
||||
"heading": "Reactive Resume லிருந்து இறக்குமதி செய்யவும்"
|
||||
}
|
||||
},
|
||||
|
||||
358
client/public/locales/tr/builder.json
Normal file
358
client/public/locales/tr/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "Yeni {{token}} Ekle",
|
||||
"delete": "{{token}} sil",
|
||||
"edit": "{{token}}'i düzenle"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "Sütunlar",
|
||||
"tooltip": "Sütun sayısını değiştir"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "Tarih"
|
||||
},
|
||||
"description": {
|
||||
"label": "Açıklama"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-posta Adresi"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "Hâlâ mevcutsa bu alanı boş bırakın",
|
||||
"label": "Bitiş Tarihi"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "Anahtar Kelimeler"
|
||||
},
|
||||
"level": {
|
||||
"label": "Düzey"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "Seviye (Sayı)"
|
||||
},
|
||||
"name": {
|
||||
"label": "Ad"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Telefon Numarası"
|
||||
},
|
||||
"position": {
|
||||
"label": "Pozisyon"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "Başlama tarihi"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Altyazı"
|
||||
},
|
||||
"summary": {
|
||||
"label": "Özet"
|
||||
},
|
||||
"title": {
|
||||
"label": "Başlık"
|
||||
},
|
||||
"url": {
|
||||
"label": "Web Sitesi"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "Sayfa"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "Sil",
|
||||
"duplicate": "Çoğalt",
|
||||
"edit": "Düzenle"
|
||||
},
|
||||
"empty-text": "Bu liste boş."
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "Bu öğeyi silmek istediğinizden emin misiniz? Bu geri dönüşü olmayan bir eylemdir.",
|
||||
"delete-section": "Bölümü Sil",
|
||||
"rename-section": "Bölümü Yeniden Adlandır",
|
||||
"toggle-visibility": "Görünürlüğü Aç/Kapat"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "Çalışma Yüzeyini Ortala",
|
||||
"copy-link": "Özgeçmişe Bağlantıyı Kopyala",
|
||||
"export-pdf": "PDF dışa aktar",
|
||||
"toggle-orientation": "Sayfa Yönünü Değiştir",
|
||||
"toggle-page-break-line": "Sayfa Sonu Satırını Aç/Kapat",
|
||||
"toggle-sidebars": "Kenar Çubuklarını Aç/Kapat",
|
||||
"zoom-in": "Yakınlaştır",
|
||||
"zoom-out": "Uzaklaştır"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "Sil",
|
||||
"duplicate": "Çoğalt",
|
||||
"rename": "Yeniden Adlandır",
|
||||
"share-link": "Bağlantıyı Paylaş",
|
||||
"tooltips": {
|
||||
"delete": "Bu özgeçmişi silmek istediğinizden emin misiniz? Bu geri dönüşü olmayan bir eylemdir.",
|
||||
"share-link": "Başkalarına görünür kılmak için özgeçmişinizin görünürlüğünü herkese açık olarak değiştirmeniz gerekir."
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "Ödülü Veren"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "Fotoğraf Filtreleri"
|
||||
},
|
||||
"heading": "Temel Bilgiler",
|
||||
"headline": {
|
||||
"label": "Başlık"
|
||||
},
|
||||
"name": {
|
||||
"label": "Ad Soyad"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "Kenar"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "Gri Tonlama"
|
||||
},
|
||||
"heading": "Efektler"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "Şekil"
|
||||
},
|
||||
"size": {
|
||||
"heading": "Boyut (px cinsinden)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "Fotoğrafı kaldır",
|
||||
"upload": "Fotoğraf Yükle"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "Sağlayıcı"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "Çalışma alanı"
|
||||
},
|
||||
"courses": {
|
||||
"label": "Kurslar"
|
||||
},
|
||||
"degree": {
|
||||
"label": "Derece"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Not"
|
||||
},
|
||||
"institution": {
|
||||
"label": "Kurum"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "Adres"
|
||||
},
|
||||
"city": {
|
||||
"label": "Şehir"
|
||||
},
|
||||
"country": {
|
||||
"label": "Ülke"
|
||||
},
|
||||
"heading": "Konum",
|
||||
"postal-code": {
|
||||
"label": "Posta Kodu"
|
||||
},
|
||||
"region": {
|
||||
"label": "Bölge"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "Ağ"
|
||||
},
|
||||
"username": {
|
||||
"label": "Kullanıcı Adı"
|
||||
}
|
||||
},
|
||||
"heading": "Profiller",
|
||||
"heading_one": "Profil"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "Yayımcı"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "İlişki"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "Bölüm"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "Organizasyon"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "Özel CSS"
|
||||
},
|
||||
"export": {
|
||||
"heading": "Dışarı Aktar",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "Özgeçmişinizin, Reaktif Özgeçmiş'e aktarılabilecek bir JSON sürümünü indirin."
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "PDF Oluşturuluyor",
|
||||
"secondary": "Lütfen PDF'niz oluşturulurken bekleyin, bu işlem 15 saniye kadar sürebilir."
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "Yazdırabileceğiniz ve hayalinizdeki işe gönderebileceğiniz özgeçmişinizin bir PDF'sini indirin. Bu dosya daha fazla düzenleme için yeniden içeri aktarılamaz."
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "Düzen",
|
||||
"tooltip": {
|
||||
"reset-layout": "Düzeni Sıfırla"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "Sizi özgeçmişinizi yapmaktan alıkoyan bir şey mi var? Yoksa eklemek istediğiniz harika bir fikriniz mi var? Başlamak için GitHub'da bir issue yaratın.",
|
||||
"button": "GitHub Issues",
|
||||
"heading": "Hatalar? Özellik İstekleri?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "Reaktif Özgeçmiş'i kullanmayı sevdiyseniz, lütfen uygulamayı reklamsız ve sonsuza kadar ücretsiz olarak çalışır durumda tutmak için elinizden geldiğince bağışta bulunmayı düşünün.",
|
||||
"button": "Bana kahve ısmarlayın",
|
||||
"heading": "Reactive Resume'ye Bağış Yap"
|
||||
},
|
||||
"github": "Kaynak Kodu",
|
||||
"heading": "Bağlantılar"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "Tarih",
|
||||
"secondary": "Uygulama genelinde kullanılacak tarih formatı"
|
||||
},
|
||||
"heading": "Küresel",
|
||||
"language": {
|
||||
"primary": "Dil",
|
||||
"secondary": "Uygulama genelinde kullanılacak görüntüleme dili"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "Tema"
|
||||
}
|
||||
},
|
||||
"heading": "Ayarlar",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "Ara Hat",
|
||||
"secondary": "A4 sayfasının yüksekliğini işaretlemek için tüm sayfalarda bir çizgi göster"
|
||||
},
|
||||
"heading": "Sayfa",
|
||||
"orientation": {
|
||||
"disabled": "Sadece bir sayfa olduğunda etkisizdir",
|
||||
"primary": "Oryantasyon",
|
||||
"secondary": "Sayfaların yatay mı yoksa dikey mi görüntüleneceğini"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "Özgeçmiş",
|
||||
"reset": {
|
||||
"primary": "Her Şeyi Sıfırla",
|
||||
"secondary": "Çok fazla mı hata yaptınız? Tüm değişiklikleri sıfırlamak ve yeniden başlamak için burayı tıklayın. Dikkatli olun, çünkü bu eylem geri alınamaz."
|
||||
},
|
||||
"sample": {
|
||||
"primary": "Örnek Veriyi Yükle",
|
||||
"secondary": "Nereden başlayacağınızdan emin değil misiniz? Tamamlanmış bir özgeçmişin nasıl göründüğünü görebileceğiniz bazı örnek verileri yüklemek için buraya tıklayın."
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "Paylaşım",
|
||||
"short-url": {
|
||||
"label": "Kısa URL'yi Tercih Et"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "Bağlantısı olan herkesin özgeçmişinizi görüntülemesine izin verin",
|
||||
"title": "Herkese açık"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "Şablonlar"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "Arka plan"
|
||||
},
|
||||
"primary": {
|
||||
"label": "Birincil"
|
||||
},
|
||||
"text": {
|
||||
"label": "Yazı"
|
||||
}
|
||||
},
|
||||
"heading": "Tema"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "Yazı Tipi Ailesi"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "Yazı Tipi Boyutu"
|
||||
}
|
||||
},
|
||||
"heading": "Tipografi",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "Gövde"
|
||||
},
|
||||
"headings": {
|
||||
"label": "Başlıklar"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/tr/common.json
Normal file
32
client/public/locales/tr/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Merhaba",
|
||||
"logout": "Oturumu Kapat"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "<1>Amruth Pillai</1>'nin bir tutku projesidir",
|
||||
"language": {
|
||||
"missing": "Dilinizi bulamadınız mı?"
|
||||
},
|
||||
"license": "Topluluk tarafından, topluluk için."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Bu bölüm, <1>markdown</1> biçimlendirmesini destekler."
|
||||
},
|
||||
"date": {
|
||||
"present": "Günümüz"
|
||||
},
|
||||
"subtitle": "Ücretsiz ve açık kaynaklı bir özgeçmiş oluşturucusudur.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Lütfen yalnızca 2 megabaytın altındaki dosyaları yükleyin.",
|
||||
"upload-photo-size": "Lütfen yalnızca 2 megabayttan küçük, tercihen kare olan fotoğraflar yükleyin."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Özgeçmişinizin bir bağlantısı panonuza kopyalandı."
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/tr/dashboard.json
Normal file
25
client/public/locales/tr/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "Sıfırdan başlayın",
|
||||
"title": "Yeni Özgeçmiş Oluştur"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON Özgeçmiş, Reactive Resume",
|
||||
"title": "Harici Kaynaklardan İçeri Aktar"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "Sil",
|
||||
"duplicate": "Çoğalt",
|
||||
"open": "Aç",
|
||||
"rename": "Yeniden Adlandır",
|
||||
"share-link": "Bağlantıyı Paylaş",
|
||||
"tooltips": {
|
||||
"delete": "Bu özgeçmişi silmek istediğinizden emin misiniz? Bu geri dönüşü olmayan bir eylemdir.",
|
||||
"share-link": "Başkalarına görünür kılmak için özgeçmişinizin görünürlüğünü herkese açık olarak değiştirmeniz gerekir."
|
||||
}
|
||||
},
|
||||
"timestamp": "Son Güncelleme {{timestamp}}"
|
||||
},
|
||||
"title": "Kontrol Paneli"
|
||||
}
|
||||
41
client/public/locales/tr/landing.json
Normal file
41
client/public/locales/tr/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "Uygulamaya git",
|
||||
"login": "Oturum Aç",
|
||||
"logout": "Oturumu kapat",
|
||||
"register": "Kayıt Ol"
|
||||
},
|
||||
"features": {
|
||||
"heading": "Özellikler",
|
||||
"list": {
|
||||
"ads": "Reklam gösterilmez",
|
||||
"export": "Özgeçmişinizi JSON veya PDF formatında aktarın",
|
||||
"free": "Ömür boyu ücretsiz",
|
||||
"import": "LinkedIn'den verilerinizi, JSON olarak özgeçmişinize aktarın",
|
||||
"languages": "Birden çok dilde erişilebilir",
|
||||
"more": "Ve çok daha heyecan verici özellikler, <1>bununla ilgili her şeyi buradan okuyun</1>",
|
||||
"tracking": "Kullanıcı Takibi Yok"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "Bağlantılar",
|
||||
"links": {
|
||||
"donate": "Bağış Yap",
|
||||
"github": "Kaynak Kodu",
|
||||
"privacy": "Gizlilik İlkesi",
|
||||
"service": "Hizmet Koşulları"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "Ekran Görüntüleri"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "Referanslar",
|
||||
"body": "İyi ya da kötü, Reactive Resume hakkındaki düşüncelerinizi ve deneyiminizin sizin için nasıl olduğunu duymak isterim.<br/>İşte dünyanın her yerinden kullanıcılar tarafından gönderilen mesajlardan bazıları.",
|
||||
"contact": "<1>e-posta adresim</1> aracılığıyla veya <3>web sitemdeki</3> iletişim formu aracılığıyla bana ulaşabilirsiniz."
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume, özgeçmişinizi oluşturma, güncelleme ve paylaşma gibi sıradan görevleri çok kolay bir hale getirmek için oluşturulmuş, ücretsiz ve açık kaynaklı bir özgeçmiş oluşturucudur. Bu uygulama ile birden fazla özgeçmiş oluşturabilir, bunları işe alım görevlileri veya arkadaşlarınızla, benzersiz bir bağlantı aracılığıyla ve PDF olarak yazdırabilir; tümü ücretsiz, reklamsız, takipsiz, verilerinizin bütünlüğünü ve gizliliğini kaybetmeden paylaşabilirsiniz.",
|
||||
"heading": "Özet"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/tr/modals.json
Normal file
136
client/public/locales/tr/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "Şifre Sıfırlama E-postası Gönder"
|
||||
},
|
||||
"body": "Kurtarmak istediğiniz hesapla ilişkili e-posta adresini girmeniz yeterlidir.",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "E-posta Adresi"
|
||||
}
|
||||
},
|
||||
"heading": "Parolanızı mı unuttunuz?",
|
||||
"help-text": "Sizinle ilişkili bir hesap mevcutsa, şifrenizi sıfırlamak için bağlantı içeren bir e-posta alacaksınız."
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "Oturum Aç",
|
||||
"google": "Google ile Giriş yap"
|
||||
},
|
||||
"body": "Giriş yapmak ve özgeçmişlerinize erişmek, yönetmek ve paylaşmak için lütfen hesabınızla ilişkili kullanıcı adınızı ve şifrenizi girin.",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "Parola"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "E-posta adresinizi de girebilirsiniz",
|
||||
"label": "Kullanıcı Adı"
|
||||
}
|
||||
},
|
||||
"heading": "Hesabınıza giriş yapın",
|
||||
"recover-text": "Şifrenizi unutmanız durumunda buradan <1>hesabınızı kurtarabilirsiniz.</1>.",
|
||||
"register-text": "Eğer hesabınız yoksa buradan <1>bir hesap oluşturabilirsiniz</1>."
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "Kayıt Ol",
|
||||
"google": "Google ile Kayıt Ol"
|
||||
},
|
||||
"body": "Yeni hesap oluşturmak için lütfen kişisel bilginizi giriniz.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Şifreyi Doğrula"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-posta Adresi"
|
||||
},
|
||||
"name": {
|
||||
"label": "Ad Soyad"
|
||||
},
|
||||
"password": {
|
||||
"label": "Parola"
|
||||
},
|
||||
"username": {
|
||||
"label": "Kullanıcı Adı"
|
||||
}
|
||||
},
|
||||
"heading": "Yeni bir hesap oluşturun",
|
||||
"loginText": "Zaten bir hesabınız varsa, <1>buradan giriş yapabilirsiniz.</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "Yeni Şifre Oluştur"
|
||||
},
|
||||
"body": "Hesabınız için yeni bir şifre belirleyiniz.",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "Şifreyi Doğrula"
|
||||
},
|
||||
"password": {
|
||||
"label": "Parola"
|
||||
}
|
||||
},
|
||||
"heading": "Parolanızı sıfırlayın"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "Yeni Özgeçmiş Oluştur"
|
||||
},
|
||||
"body": "Özgeçmişinizi bir isim vererek oluşturmaya başlayın. Bu isim, başvurduğunuz rolle veya sadece en sevdiğiniz atıştırmalıkla ilgili olabilir.",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Ad"
|
||||
},
|
||||
"public": {
|
||||
"label": "Herkese Açık mı?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Kısa isim"
|
||||
}
|
||||
},
|
||||
"heading": "Yeni Özgeçmiş Oluştur"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "Harici Kaynaklardan İçeri Aktar",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON yükle"
|
||||
},
|
||||
"body": "Kullanıma hazır <1>doğrulanmış bir JSON Özgeçmişiniz</1> varsa, Reactive Resume üzerindeki gelişiminizi hızlı bir şekilde takip etmek için bunu kullanabilirsiniz. Başlamak için aşağıdaki düğmeyi tıklayın ve geçerli bir JSON dosyası yükleyin.",
|
||||
"heading": "JSON Özgeçmişinden İçe Aktarma"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "ZIP Arşivi Yükle"
|
||||
},
|
||||
"body": "Verilerinizi LinkedIn'den dışa aktararak ve bunları Reactive Resume'deki alanları otomatik olarak doldurmak için kullanarak zamandan tasarruf edebilirsiniz. LinkedIn'deki <1>Veri Gizliliği</1> bölümüne gidin ve verilerinizin arşivlenmesini isteyin. Kullanılabilir olduğunda, aşağıya ZIP dosyasını yükleyin.",
|
||||
"heading": "LinkedIn'den İçeri Aktar"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "JSON yükle",
|
||||
"upload-json-v2": "V2'den JSON Yükle"
|
||||
},
|
||||
"body": "Geçerli Reactive Resume sürümüyle dışa aktarılmış bir JSON formatında özgeçmişiniz varsa, yeniden düzenlenebilir bir sürüm elde etmek için onu tekrar buraya aktarabilirsiniz.",
|
||||
"heading": "Reactive Resume'den İçeri Aktar"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "Özgeçmişi Yeniden Adlandır"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "Ad"
|
||||
},
|
||||
"slug": {
|
||||
"label": "Kısa isim"
|
||||
}
|
||||
},
|
||||
"heading": "Özgeçmişinizi yeniden adlandırın"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/vi/common.json
Normal file
32
client/public/locales/vi/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "Xin chào",
|
||||
"logout": "Đăng xuất"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Một dự án làm với đam mê của <1> Amruth Pillai</1>",
|
||||
"language": {
|
||||
"missing": "Không có ngôn ngữ của bạn?"
|
||||
},
|
||||
"license": "Vì cộng đồng, cho cộng đồng."
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "Phần này hỗ trợ định dạng <1> markdown </1>."
|
||||
},
|
||||
"date": {
|
||||
"present": "Hiện tại"
|
||||
},
|
||||
"subtitle": "Một trình tạo sơ yếu lý lịch mã nguồn mở và miễn phí.",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "Vui lòng chỉ tải lên các tệp dưới 2 megabyte.",
|
||||
"upload-photo-size": "Vui lòng chỉ tải lên ảnh dưới 2 megabyte, ưu tiên hình vuông."
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "Một liên kết đến sơ yếu lý lịch của bạn đã được sao chép vào khay nhớ tạm của bạn."
|
||||
}
|
||||
}
|
||||
}
|
||||
358
client/public/locales/zh/builder.json
Normal file
358
client/public/locales/zh/builder.json
Normal file
@ -0,0 +1,358 @@
|
||||
{
|
||||
"common": {
|
||||
"actions": {
|
||||
"add": "添加新的 {{token}}",
|
||||
"delete": "删除 {{token}}",
|
||||
"edit": "编辑 {{token}}"
|
||||
},
|
||||
"columns": {
|
||||
"heading": "分栏",
|
||||
"tooltip": "更改栏数"
|
||||
},
|
||||
"form": {
|
||||
"date": {
|
||||
"label": "日期"
|
||||
},
|
||||
"description": {
|
||||
"label": "描述"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email 地址"
|
||||
},
|
||||
"end-date": {
|
||||
"help-text": "如果仍然存在,请将此栏留空",
|
||||
"label": "结束日期"
|
||||
},
|
||||
"keywords": {
|
||||
"label": "关键字"
|
||||
},
|
||||
"level": {
|
||||
"label": "等级"
|
||||
},
|
||||
"levelNum": {
|
||||
"label": "等级 (数字)"
|
||||
},
|
||||
"name": {
|
||||
"label": "名称"
|
||||
},
|
||||
"phone": {
|
||||
"label": "电话号码"
|
||||
},
|
||||
"position": {
|
||||
"label": "职务"
|
||||
},
|
||||
"start-date": {
|
||||
"label": "开始日期"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "副标题"
|
||||
},
|
||||
"summary": {
|
||||
"label": "概要"
|
||||
},
|
||||
"title": {
|
||||
"label": "标题"
|
||||
},
|
||||
"url": {
|
||||
"label": "网站"
|
||||
}
|
||||
},
|
||||
"glossary": {
|
||||
"page": "页"
|
||||
},
|
||||
"list": {
|
||||
"actions": {
|
||||
"delete": "删除",
|
||||
"duplicate": "创建副本",
|
||||
"edit": "编辑"
|
||||
},
|
||||
"empty-text": "列表为空"
|
||||
},
|
||||
"tooltip": {
|
||||
"delete-item": "您确定要删除此条数据吗? 此操作无法撤消。",
|
||||
"delete-section": "删除章节",
|
||||
"rename-section": "重命名章节",
|
||||
"toggle-visibility": "切换显示/隐藏"
|
||||
}
|
||||
},
|
||||
"controller": {
|
||||
"tooltip": {
|
||||
"center-artboard": "中心画板",
|
||||
"copy-link": "复制链接地址",
|
||||
"export-pdf": "输出为PDF",
|
||||
"toggle-orientation": "切换页面方向",
|
||||
"toggle-page-break-line": "切换分页线",
|
||||
"toggle-sidebars": "显示/隐藏侧边栏",
|
||||
"zoom-in": "放大",
|
||||
"zoom-out": "缩小"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"menu": {
|
||||
"delete": "删除",
|
||||
"duplicate": "创建副本",
|
||||
"rename": "重命名",
|
||||
"share-link": "分享链接",
|
||||
"tooltips": {
|
||||
"delete": "您确定要删除该简历吗?该操作不可撤销。",
|
||||
"share-link": "您需要将简历的可见性更改为公开,以使其对其他人可见。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"leftSidebar": {
|
||||
"sections": {
|
||||
"awards": {
|
||||
"form": {
|
||||
"awarder": {
|
||||
"label": "获奖纪录"
|
||||
}
|
||||
}
|
||||
},
|
||||
"basics": {
|
||||
"actions": {
|
||||
"photo-filters": "照片滤镜"
|
||||
},
|
||||
"heading": "概况",
|
||||
"headline": {
|
||||
"label": "标题"
|
||||
},
|
||||
"name": {
|
||||
"label": "全名"
|
||||
},
|
||||
"photo-filters": {
|
||||
"effects": {
|
||||
"border": {
|
||||
"label": "边框"
|
||||
},
|
||||
"grayscale": {
|
||||
"label": "灰度"
|
||||
},
|
||||
"heading": "特效"
|
||||
},
|
||||
"shape": {
|
||||
"heading": "形状"
|
||||
},
|
||||
"size": {
|
||||
"heading": "尺寸(单位:Px)"
|
||||
}
|
||||
},
|
||||
"photo-upload": {
|
||||
"tooltip": {
|
||||
"remove": "移除照片",
|
||||
"upload": "上传照片"
|
||||
}
|
||||
}
|
||||
},
|
||||
"certifications": {
|
||||
"form": {
|
||||
"issuer": {
|
||||
"label": "颁布方"
|
||||
}
|
||||
}
|
||||
},
|
||||
"education": {
|
||||
"form": {
|
||||
"area-study": {
|
||||
"label": "专业"
|
||||
},
|
||||
"courses": {
|
||||
"label": "课程"
|
||||
},
|
||||
"degree": {
|
||||
"label": "学位"
|
||||
},
|
||||
"grade": {
|
||||
"label": "年级"
|
||||
},
|
||||
"institution": {
|
||||
"label": "机构"
|
||||
}
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"address": {
|
||||
"label": "地址"
|
||||
},
|
||||
"city": {
|
||||
"label": "城市"
|
||||
},
|
||||
"country": {
|
||||
"label": "国家"
|
||||
},
|
||||
"heading": "地点",
|
||||
"postal-code": {
|
||||
"label": "邮编"
|
||||
},
|
||||
"region": {
|
||||
"label": "地区"
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"form": {
|
||||
"network": {
|
||||
"label": "网络"
|
||||
},
|
||||
"username": {
|
||||
"label": "用户名"
|
||||
}
|
||||
},
|
||||
"heading": "简介",
|
||||
"heading_one": "简介"
|
||||
},
|
||||
"publications": {
|
||||
"form": {
|
||||
"publisher": {
|
||||
"label": "发行机构"
|
||||
}
|
||||
}
|
||||
},
|
||||
"references": {
|
||||
"form": {
|
||||
"relationship": {
|
||||
"label": "关系"
|
||||
}
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
"heading": "分区"
|
||||
},
|
||||
"volunteer": {
|
||||
"form": {
|
||||
"organization": {
|
||||
"label": "组织"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rightSidebar": {
|
||||
"sections": {
|
||||
"css": {
|
||||
"heading": "自定义 CSS"
|
||||
},
|
||||
"export": {
|
||||
"heading": "导出",
|
||||
"json": {
|
||||
"primary": "JSON",
|
||||
"secondary": "下载一个JSON版本的简历,可以导入到Reactive Resume中。"
|
||||
},
|
||||
"pdf": {
|
||||
"loading": {
|
||||
"primary": "正在生成 PDF",
|
||||
"secondary": "请等待您的 PDF 生成,这可能需要 15 秒。"
|
||||
},
|
||||
"normal": {
|
||||
"primary": "PDF",
|
||||
"secondary": "下载您的简历 PDF,您可以将其打印并发送给您期待的职位。此文件无法重新导入以进行进一步编辑。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"heading": "布局",
|
||||
"tooltip": {
|
||||
"reset-layout": "重置布局"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"bugs-features": {
|
||||
"body": "是什么阻止了你制作简历?或者你有什么好主意要补充?在 GitHub 上提出问题以开始使用。",
|
||||
"button": "GitHub Issues",
|
||||
"heading": "发现了Bug? 想要新的功能?"
|
||||
},
|
||||
"donate": {
|
||||
"body": "如果你喜欢使用Reactive Resume, 请考虑捐款以便保持应用正常运行,没有广告和永远免费。",
|
||||
"button": "送我一杯咖啡",
|
||||
"heading": "捐赠给 Reactive Resume"
|
||||
},
|
||||
"github": "源码",
|
||||
"heading": "链接"
|
||||
},
|
||||
"settings": {
|
||||
"global": {
|
||||
"date": {
|
||||
"primary": "日期",
|
||||
"secondary": "整个应用程序使用的日期格式"
|
||||
},
|
||||
"heading": "全局",
|
||||
"language": {
|
||||
"primary": "语言",
|
||||
"secondary": "显示要在整个应用程序中使用的语言"
|
||||
},
|
||||
"theme": {
|
||||
"primary": "主题"
|
||||
}
|
||||
},
|
||||
"heading": "设置",
|
||||
"page": {
|
||||
"break-line": {
|
||||
"primary": "换行",
|
||||
"secondary": "在所有页面上显示一条线以标记 A4 页面的高度"
|
||||
},
|
||||
"heading": "页面",
|
||||
"orientation": {
|
||||
"disabled": "当只有一个页面时没有效果",
|
||||
"primary": "方向",
|
||||
"secondary": "水平或者垂直翻转图像"
|
||||
}
|
||||
},
|
||||
"resume": {
|
||||
"heading": "简历",
|
||||
"reset": {
|
||||
"primary": "全部重置",
|
||||
"secondary": "犯了太多错误?单击此处重置所有更改并从头开始。小心,这个动作不能逆转。"
|
||||
},
|
||||
"sample": {
|
||||
"primary": "加载样本数据",
|
||||
"secondary": "不知道从哪里开始?单击此处加载一些示例数据,以查看完整简历的外观。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
"heading": "分享",
|
||||
"short-url": {
|
||||
"label": "倾向于短网址"
|
||||
},
|
||||
"visibility": {
|
||||
"subtitle": "允许任何有链接的人查看你的简历",
|
||||
"title": "公开"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"heading": "模板"
|
||||
},
|
||||
"theme": {
|
||||
"form": {
|
||||
"background": {
|
||||
"label": "背景"
|
||||
},
|
||||
"primary": {
|
||||
"label": "主要"
|
||||
},
|
||||
"text": {
|
||||
"label": "文本"
|
||||
}
|
||||
},
|
||||
"heading": "主题"
|
||||
},
|
||||
"typography": {
|
||||
"form": {
|
||||
"font-family": {
|
||||
"label": "字体"
|
||||
},
|
||||
"font-size": {
|
||||
"label": "字号"
|
||||
}
|
||||
},
|
||||
"heading": "排版",
|
||||
"widgets": {
|
||||
"body": {
|
||||
"label": "正文内容"
|
||||
},
|
||||
"headings": {
|
||||
"label": "标题"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
32
client/public/locales/zh/common.json
Normal file
32
client/public/locales/zh/common.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"avatar": {
|
||||
"menu": {
|
||||
"greeting": "您好",
|
||||
"logout": "退出"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "一个由<1>Amruth Pillai</1>开发的项目",
|
||||
"language": {
|
||||
"missing": "缺少您的语言?"
|
||||
},
|
||||
"license": "由社区驱动。"
|
||||
},
|
||||
"markdown": {
|
||||
"help-text": "本节支持<1>markdown</1>格式化。"
|
||||
},
|
||||
"date": {
|
||||
"present": "至今"
|
||||
},
|
||||
"subtitle": "一个免费开源的简历生成器。",
|
||||
"title": "Reactive Resume",
|
||||
"toast": {
|
||||
"error": {
|
||||
"upload-file-size": "请上传 2M 以下的文件。",
|
||||
"upload-photo-size": "请上传 2MB 以下的照片,最好是正方形的。"
|
||||
},
|
||||
"success": {
|
||||
"resume-link-copied": "源码的链接已复制到你的剪贴板。"
|
||||
}
|
||||
}
|
||||
}
|
||||
25
client/public/locales/zh/dashboard.json
Normal file
25
client/public/locales/zh/dashboard.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"create-resume": {
|
||||
"subtitle": "从头创作",
|
||||
"title": "创建简历"
|
||||
},
|
||||
"import-external": {
|
||||
"subtitle": "LinkedIn, JSON 简历, Reactive Resume",
|
||||
"title": "从外部导入"
|
||||
},
|
||||
"resume": {
|
||||
"menu": {
|
||||
"delete": "删除",
|
||||
"duplicate": "创建副本",
|
||||
"open": "打开",
|
||||
"rename": "重命名",
|
||||
"share-link": "分享链接",
|
||||
"tooltips": {
|
||||
"delete": "您确定要删除该简历吗?该操作不可撤销。",
|
||||
"share-link": "您需要将简历的可见性更改为公开,以使其对其他人可见。"
|
||||
}
|
||||
},
|
||||
"timestamp": "最近更新于 {{timestamp}}"
|
||||
},
|
||||
"title": "仪表盘"
|
||||
}
|
||||
41
client/public/locales/zh/landing.json
Normal file
41
client/public/locales/zh/landing.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"actions": {
|
||||
"app": "前往应用",
|
||||
"login": "登录",
|
||||
"logout": "注销",
|
||||
"register": "注册"
|
||||
},
|
||||
"features": {
|
||||
"heading": "功能介绍",
|
||||
"list": {
|
||||
"ads": "无广告",
|
||||
"export": "将您的简历导出为 JSON 或 PDF 格式",
|
||||
"free": "永久免费",
|
||||
"import": "从 LinkedIn ,JSON 简历导入数据",
|
||||
"languages": "支持多种语言",
|
||||
"more": "还有更多令人兴奋的功能,<1>在此处阅读所有相关信息</1>",
|
||||
"tracking": "没有用户跟踪"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"heading": "链接",
|
||||
"links": {
|
||||
"donate": "捐赠",
|
||||
"github": "源码",
|
||||
"privacy": "隐私政策",
|
||||
"service": "服务条款"
|
||||
}
|
||||
},
|
||||
"screenshots": {
|
||||
"heading": "截屏"
|
||||
},
|
||||
"testimonials": {
|
||||
"heading": "用户评价",
|
||||
"body": "无论好坏,我很想听听您对 Reactive Resume 的看法以及您的体验如何。<br/>以下是世界各地用户发送的一些消息。",
|
||||
"contact": "你可以通过<1>我的电子邮件</1>或通过<3>我的网站</3>上的联系表格与我联系。"
|
||||
},
|
||||
"summary": {
|
||||
"body": "Reactive Resume 是一个免费和开源的简历生成器,旨在使创建、更新和共享简历的日常任务变得像 1、2、3 一样简单。使用此应用程序,您可以创建多份简历,与招聘人员或朋友分享通过一个独特的链接并将其打印为 PDF,全部免费,无广告,无跟踪,不会丢失您数据的完整性和隐私性。",
|
||||
"heading": "概要"
|
||||
}
|
||||
}
|
||||
136
client/public/locales/zh/modals.json
Normal file
136
client/public/locales/zh/modals.json
Normal file
@ -0,0 +1,136 @@
|
||||
{
|
||||
"auth": {
|
||||
"forgot-password": {
|
||||
"actions": {
|
||||
"send-email": "发送重置密码电子邮件"
|
||||
},
|
||||
"body": "只需输入与您要恢复的帐户关联的电子邮件地址。",
|
||||
"form": {
|
||||
"email": {
|
||||
"label": "Email 地址"
|
||||
}
|
||||
},
|
||||
"heading": "找回密码",
|
||||
"help-text": "请输入您的电子邮件地址。 您将收到一封电子邮件的链接重置您的密码。"
|
||||
},
|
||||
"login": {
|
||||
"actions": {
|
||||
"login": "登录",
|
||||
"google": "使用 Google 帐号登录"
|
||||
},
|
||||
"body": "请输入与您的帐户关联的用户名和密码,以登录和访问、管理和分享您的简历。",
|
||||
"form": {
|
||||
"password": {
|
||||
"label": "密码"
|
||||
},
|
||||
"username": {
|
||||
"help-text": "请输入您的电子邮箱地址",
|
||||
"label": "用户名"
|
||||
}
|
||||
},
|
||||
"heading": "登录您的账号",
|
||||
"recover-text": "如果您忘记了密码,您可以<1>恢复您的帐户</1>这里。",
|
||||
"register-text": "如果您没有,您可以<1>创建一个帐户</1>这里。"
|
||||
},
|
||||
"register": {
|
||||
"actions": {
|
||||
"register": "注册",
|
||||
"google": "用Google注册"
|
||||
},
|
||||
"body": "输入您的邮箱地址并创建一个帐户",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "确认密码"
|
||||
},
|
||||
"email": {
|
||||
"label": "邮箱"
|
||||
},
|
||||
"name": {
|
||||
"label": "全名"
|
||||
},
|
||||
"password": {
|
||||
"label": "密码"
|
||||
},
|
||||
"username": {
|
||||
"label": "用户名"
|
||||
}
|
||||
},
|
||||
"heading": "创建一个帐户",
|
||||
"loginText": "如果您已经有一个帐户,您可以<1>在此处登录</1>."
|
||||
},
|
||||
"reset-password": {
|
||||
"actions": {
|
||||
"set-password": "设置新的密码"
|
||||
},
|
||||
"body": "为账户设置新密码",
|
||||
"form": {
|
||||
"confirm-password": {
|
||||
"label": "确认密码"
|
||||
},
|
||||
"password": {
|
||||
"label": "密码"
|
||||
}
|
||||
},
|
||||
"heading": "重置密码"
|
||||
}
|
||||
},
|
||||
"dashboard": {
|
||||
"create-resume": {
|
||||
"actions": {
|
||||
"create-resume": "创建简历"
|
||||
},
|
||||
"body": "开始建立你的简历时,要给它起个名字。它可以是指你所申请的角色,或者只是你最喜欢的零食。",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "名称"
|
||||
},
|
||||
"public": {
|
||||
"label": "是否可以公开访问?"
|
||||
},
|
||||
"slug": {
|
||||
"label": "缩写"
|
||||
}
|
||||
},
|
||||
"heading": "创建简历"
|
||||
},
|
||||
"import-external": {
|
||||
"heading": "从外部导入",
|
||||
"json-resume": {
|
||||
"actions": {
|
||||
"upload-json": "上传 JSON"
|
||||
},
|
||||
"body": "如果您有 <1> 已验证的 JSON 简历</1>准备好了,您可以使用它来快速跟踪您在 Reactive Resume 上的开发。单击下面的按钮并上传有效的 JSON 文件以开始。",
|
||||
"heading": "从 JSON 简历导入"
|
||||
},
|
||||
"linkedin": {
|
||||
"actions": {
|
||||
"upload-archive": "上传ZIP压缩包"
|
||||
},
|
||||
"body": "您可以通过从 LinkedIn 导出数据并使用它来自动填写 Reactive Resume 上的字段来节省时间。前往<1>数据隐私</1>LinkedIn 上的部分并请求存档您的数据。一旦可用,请上传下面的 ZIP 文件。",
|
||||
"heading": "从 LinkedIn 导入"
|
||||
},
|
||||
"reactive-resume": {
|
||||
"actions": {
|
||||
"upload-json": "上传 JSON",
|
||||
"upload-json-v2": "从 v2 上传 JSON"
|
||||
},
|
||||
"body": "如果您有一个使用当前版本的 Reactive Resume 导出的 JSON,您可以在此处将其导入回来以再次获得可编辑的版本。",
|
||||
"heading": "从 Reactive Resume 导入"
|
||||
}
|
||||
},
|
||||
"rename-resume": {
|
||||
"actions": {
|
||||
"rename-resume": "重命名简历"
|
||||
},
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "名称"
|
||||
},
|
||||
"slug": {
|
||||
"label": "缩写"
|
||||
}
|
||||
},
|
||||
"heading": "重命名你的简历"
|
||||
}
|
||||
}
|
||||
}
|
||||
9
client/public/robots.txt
Normal file
9
client/public/robots.txt
Normal file
@ -0,0 +1,9 @@
|
||||
# *
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
# Host
|
||||
Host: https://rxresu.me
|
||||
|
||||
# Sitemaps
|
||||
Sitemap: https://rxresu.me/sitemap.xml
|
||||
23
client/public/sitemap-0.xml
Normal file
23
client/public/sitemap-0.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
|
||||
<url><loc>https://rxresu.me</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/meta/privacy</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/meta/service</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/bn/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/de/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/es/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/fr/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/hi/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/it/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/kn/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/ta/dashboard</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/bn</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/de</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/es</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/fr</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/hi</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/it</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/kn</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
<url><loc>https://rxresu.me/ta</loc><changefreq>monthly</changefreq><priority>0.7</priority><lastmod>2022-03-14T08:00:09.072Z</lastmod></url>
|
||||
</urlset>
|
||||
4
client/public/sitemap.xml
Normal file
4
client/public/sitemap.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<sitemap><loc>https://rxresu.me/sitemap-0.xml</loc></sitemap>
|
||||
</sitemapindex>
|
||||
@ -14,7 +14,7 @@ import {
|
||||
setResumeState,
|
||||
} from '../resume/resumeSlice';
|
||||
|
||||
const DEBOUNCE_WAIT = 2500;
|
||||
const DEBOUNCE_WAIT = 1000;
|
||||
|
||||
const debouncedSync = debounce((resume: Resume) => updateResume(resume), DEBOUNCE_WAIT);
|
||||
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
}
|
||||
|
||||
.container {
|
||||
word-break: break-word;
|
||||
|
||||
@apply grid h-full grid-cols-6;
|
||||
|
||||
.main {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Email, Link, Phone } from '@mui/icons-material';
|
||||
import { ListItem, Section } from '@reactive-resume/schema';
|
||||
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
||||
import get from 'lodash/get';
|
||||
import isArray from 'lodash/isArray';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
@ -9,7 +9,7 @@ import { useAppSelector } from '@/store/hooks';
|
||||
import { SectionProps } from '@/templates/sectionMap';
|
||||
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||
import { formatDateString } from '@/utils/date';
|
||||
import { parseListItemPath } from '@/utils/template';
|
||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
||||
|
||||
import Heading from './Heading';
|
||||
|
||||
@ -20,7 +20,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
headlinePath = 'headline',
|
||||
keywordsPath = 'keywords',
|
||||
}) => {
|
||||
const section: Section = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const section: SectionType = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const dateFormat: string = useAppSelector((state) => get(state.resume, 'metadata.date.format'));
|
||||
|
||||
if (!section.visible) return null;
|
||||
@ -86,18 +86,12 @@ const Section: React.FC<SectionProps> = ({
|
||||
{summary && <Markdown>{summary}</Markdown>}
|
||||
|
||||
{url && (
|
||||
<DataDisplay icon={<Link />} link={url}>
|
||||
<DataDisplay icon={<Link />} link={addHttp(url)}>
|
||||
{url}
|
||||
</DataDisplay>
|
||||
)}
|
||||
|
||||
{keywords && (
|
||||
<div className="leading-normal">
|
||||
<span className="font-semibold">Keywords:</span>
|
||||
|
||||
{keywords.join(', ')}
|
||||
</div>
|
||||
)}
|
||||
{keywords && <div>{keywords.join(', ')}</div>}
|
||||
|
||||
{(phone || email) && (
|
||||
<div className="grid gap-1">
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
}
|
||||
|
||||
.container {
|
||||
word-break: break-word;
|
||||
|
||||
@apply grid h-full grid-cols-6;
|
||||
|
||||
.main {
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { css } from '@emotion/css';
|
||||
import { alpha } from '@mui/material';
|
||||
import { Theme } from '@reactive-resume/schema';
|
||||
import clsx from 'clsx';
|
||||
import get from 'lodash/get';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
@ -19,12 +21,16 @@ const Gengar: React.FC<PageProps> = ({ page }) => {
|
||||
const theme: Theme = useAppSelector((state) => get(state.resume, 'metadata.theme', {}));
|
||||
const contrast = useMemo(() => getContrastColor(theme.primary), [theme.primary]);
|
||||
const backgroundColor: string = useMemo(() => alpha(theme.primary, 0.15), [theme.primary]);
|
||||
const color = useMemo(() => (contrast === 'dark' ? theme.text : theme.background), [theme, contrast]);
|
||||
|
||||
return (
|
||||
<div className={styles.page}>
|
||||
<div className={styles.container}>
|
||||
<div className={styles.sidebar}>
|
||||
<div style={{ color: contrast === 'dark' ? theme.text : theme.background, backgroundColor: theme.primary }}>
|
||||
<div
|
||||
className={clsx(css(`svg { color: ${color} } --primary-color: ${color}`))}
|
||||
style={{ color: contrast === 'dark' ? theme.text : theme.background, backgroundColor: theme.primary }}
|
||||
>
|
||||
{isFirstPage && <MastheadSidebar />}
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Email, Link, Phone } from '@mui/icons-material';
|
||||
import { ListItem, Section } from '@reactive-resume/schema';
|
||||
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
||||
import get from 'lodash/get';
|
||||
import isArray from 'lodash/isArray';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
@ -9,7 +9,7 @@ import { useAppSelector } from '@/store/hooks';
|
||||
import { SectionProps } from '@/templates/sectionMap';
|
||||
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||
import { formatDateString } from '@/utils/date';
|
||||
import { parseListItemPath } from '@/utils/template';
|
||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
||||
|
||||
import Heading from './Heading';
|
||||
|
||||
@ -20,7 +20,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
headlinePath = 'headline',
|
||||
keywordsPath = 'keywords',
|
||||
}) => {
|
||||
const section: Section = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const section: SectionType = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const dateFormat: string = useAppSelector((state) => get(state.resume, 'metadata.date.format'));
|
||||
const primaryColor: string = useAppSelector((state) => get(state.resume, 'metadata.theme.primary'));
|
||||
|
||||
@ -87,18 +87,12 @@ const Section: React.FC<SectionProps> = ({
|
||||
{summary && <Markdown>{summary}</Markdown>}
|
||||
|
||||
{url && (
|
||||
<DataDisplay icon={<Link />} link={url}>
|
||||
<DataDisplay icon={<Link />} link={addHttp(url)}>
|
||||
{url}
|
||||
</DataDisplay>
|
||||
)}
|
||||
|
||||
{keywords && (
|
||||
<div className="leading-normal">
|
||||
<span className="font-semibold">Keywords:</span>
|
||||
|
||||
{keywords.join(', ')}
|
||||
</div>
|
||||
)}
|
||||
{keywords && <div>{keywords.join(', ')}</div>}
|
||||
|
||||
{(phone || email) && (
|
||||
<div className="grid gap-1">
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
}
|
||||
|
||||
.container {
|
||||
word-break: break-word;
|
||||
|
||||
@apply grid h-full grid-cols-6;
|
||||
|
||||
.main {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Email, Link, Phone } from '@mui/icons-material';
|
||||
import { ListItem, Section } from '@reactive-resume/schema';
|
||||
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
||||
import get from 'lodash/get';
|
||||
import isArray from 'lodash/isArray';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
@ -9,7 +9,7 @@ import { useAppSelector } from '@/store/hooks';
|
||||
import { SectionProps } from '@/templates/sectionMap';
|
||||
import DataDisplay from '@/templates/shared/DataDisplay';
|
||||
import { formatDateString } from '@/utils/date';
|
||||
import { parseListItemPath } from '@/utils/template';
|
||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
||||
|
||||
import BadgeDisplay from './BadgeDisplay';
|
||||
import Heading from './Heading';
|
||||
@ -21,7 +21,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
headlinePath = 'headline',
|
||||
keywordsPath = 'keywords',
|
||||
}) => {
|
||||
const section: Section = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const section: SectionType = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const dateFormat: string = useAppSelector((state) => get(state.resume, 'metadata.date.format'));
|
||||
const primaryColor: string = useAppSelector((state) => get(state.resume, 'metadata.theme.primary'));
|
||||
|
||||
@ -80,7 +80,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
{summary && <Markdown>{summary}</Markdown>}
|
||||
|
||||
{url && (
|
||||
<DataDisplay icon={<Link />} link={url}>
|
||||
<DataDisplay icon={<Link />} link={addHttp(url)}>
|
||||
{url}
|
||||
</DataDisplay>
|
||||
)}
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
}
|
||||
|
||||
.container {
|
||||
word-break: break-word;
|
||||
|
||||
@apply grid gap-4 text-center;
|
||||
|
||||
.main {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Email, Phone } from '@mui/icons-material';
|
||||
import { ListItem, Section } from '@reactive-resume/schema';
|
||||
import { ListItem, Section as SectionType } from '@reactive-resume/schema';
|
||||
import get from 'lodash/get';
|
||||
import isArray from 'lodash/isArray';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
@ -8,7 +8,7 @@ import Markdown from '@/components/shared/Markdown';
|
||||
import { useAppSelector } from '@/store/hooks';
|
||||
import { SectionProps } from '@/templates/sectionMap';
|
||||
import { formatDateString } from '@/utils/date';
|
||||
import { parseListItemPath } from '@/utils/template';
|
||||
import { addHttp, parseListItemPath } from '@/utils/template';
|
||||
|
||||
import BadgeDisplay from './BadgeDisplay';
|
||||
import Heading from './Heading';
|
||||
@ -20,7 +20,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
headlinePath = 'headline',
|
||||
keywordsPath = 'keywords',
|
||||
}) => {
|
||||
const section: Section = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const section: SectionType = useAppSelector((state) => get(state.resume, path, {}));
|
||||
const dateFormat: string = useAppSelector((state) => get(state.resume, 'metadata.date.format'));
|
||||
const primaryColor: string = useAppSelector((state) => get(state.resume, 'metadata.theme.primary'));
|
||||
|
||||
@ -84,7 +84,7 @@ const Section: React.FC<SectionProps> = ({
|
||||
|
||||
{url && (
|
||||
<div className="inline-flex justify-center">
|
||||
<a href={url} target="_blank" rel="noreferrer">
|
||||
<a href={addHttp(url)} target="_blank" rel="noreferrer">
|
||||
{url}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user